|
|
|
|
@ -25,64 +25,62 @@ import warningDetail from './components/detail.vue'
|
|
|
|
|
import dayjs from "dayjs"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const warningCode = ref("warning") |
|
|
|
|
const dialog = ref(false) |
|
|
|
|
const endDialog =ref(false) |
|
|
|
|
const endDialog = ref(false) |
|
|
|
|
const finishDialog = ref(false) |
|
|
|
|
const catchStore = useCatchStore(); |
|
|
|
|
const dict = catchStore.getDicts(["procurementMethod"]); |
|
|
|
|
const userStore = useUserStore(); |
|
|
|
|
const reportFlowDialog= ref(false) |
|
|
|
|
const reportFlowLoading =ref(false) |
|
|
|
|
const reportFlowDialog = ref(false) |
|
|
|
|
const reportFlowLoading = ref(false) |
|
|
|
|
const isAudit = ref(false) |
|
|
|
|
const reportFlowTable = ref([]) |
|
|
|
|
const loading = ref(false) |
|
|
|
|
const rejectDialog = ref(false) |
|
|
|
|
const node =ref() |
|
|
|
|
const node = ref() |
|
|
|
|
const formData = ref({ |
|
|
|
|
reportProject:{ |
|
|
|
|
}, |
|
|
|
|
record:{ |
|
|
|
|
warningSupervision:null, |
|
|
|
|
supervisionTime:null, |
|
|
|
|
evidenceOffer:null |
|
|
|
|
reportProject: {}, |
|
|
|
|
record: { |
|
|
|
|
warningSupervision: null, |
|
|
|
|
supervisionTime: null, |
|
|
|
|
evidenceOffer: null |
|
|
|
|
}, |
|
|
|
|
contents:[] |
|
|
|
|
contents: [] |
|
|
|
|
}) |
|
|
|
|
const formDataRef = ref() |
|
|
|
|
|
|
|
|
|
const isDisabled =ref(true) |
|
|
|
|
const isEndData =ref(false) |
|
|
|
|
const isDisabled = ref(true) |
|
|
|
|
const isEndData = ref(false) |
|
|
|
|
const activeName = ref(false) |
|
|
|
|
const route = useRoute() |
|
|
|
|
const router =useRouter(); |
|
|
|
|
const rules =ref({ |
|
|
|
|
const router = useRouter(); |
|
|
|
|
const rules = ref({ |
|
|
|
|
// evidenceOffer:[ {required: true, message: '请选择证据提供者', trigger: 'blur'}], |
|
|
|
|
supervisionTime:[ {required: true, message: '请选择预警监督日期 ', trigger: 'blur'}], |
|
|
|
|
warningSupervision:[ {required: true, message: '请选择预警监督人员', trigger: 'blur'}], |
|
|
|
|
supervisionTime: [{required: true, message: '请选择预警监督日期 ', trigger: 'blur'}], |
|
|
|
|
warningSupervision: [{required: true, message: '请选择预警监督人员', trigger: 'blur'}], |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
const tableRowClassName = ({row}) =>{ |
|
|
|
|
const tableRowClassName = ({row}) => { |
|
|
|
|
if (row.remark) { |
|
|
|
|
return 'warning-row' |
|
|
|
|
} |
|
|
|
|
return '' |
|
|
|
|
} |
|
|
|
|
//获取用户信息 |
|
|
|
|
const getReportDetailFun =async (id)=>{ |
|
|
|
|
const res = await getDetail({id:id}) |
|
|
|
|
isEndData.value = res.project.reportType === '结算项目' |
|
|
|
|
formData.value.reportProject=res.project; |
|
|
|
|
const getReportDetailFun = async (id) => { |
|
|
|
|
const res = await getDetail({id: id}) |
|
|
|
|
isEndData.value = res.project.reportType === '结算项目' |
|
|
|
|
formData.value.reportProject = res.project; |
|
|
|
|
//获取最新审计 |
|
|
|
|
const data = await getWarningRecord(id); |
|
|
|
|
if(data){ |
|
|
|
|
const data = await getWarningRecord(id); |
|
|
|
|
if (data) { |
|
|
|
|
await getWarningDetailFun(data.id) |
|
|
|
|
}else{ |
|
|
|
|
} else { |
|
|
|
|
//获取历史记录 |
|
|
|
|
console.log("==============") |
|
|
|
|
console.log(res.project) |
|
|
|
|
res.project.warningState=="1"? recordDisplay.value=true: recordDisplay.value=false |
|
|
|
|
res.project.warningState == "1" ? recordDisplay.value = true : recordDisplay.value = false |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -106,56 +104,56 @@ function getPoliceList() {
|
|
|
|
|
|
|
|
|
|
getPoliceList() |
|
|
|
|
|
|
|
|
|
const detailProps=ref({}) |
|
|
|
|
const detailProps = ref({}) |
|
|
|
|
|
|
|
|
|
const DetailReport =()=>{ |
|
|
|
|
const DetailReport = () => { |
|
|
|
|
//判断是否为报审人 |
|
|
|
|
detailProps.value ={ |
|
|
|
|
detailProps.value = { |
|
|
|
|
isEnd: formData.value.reportProject.reportType === "项目控制价", |
|
|
|
|
id: formData.value.reportProject.id, |
|
|
|
|
backPath:'/entryWindow', |
|
|
|
|
node : formData.value.reportProject.node |
|
|
|
|
backPath: '/entryWindow', |
|
|
|
|
node: formData.value.reportProject.node |
|
|
|
|
} |
|
|
|
|
detailShow.value=true; |
|
|
|
|
detailShow.value = true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const closeDialogFun = ()=>{ |
|
|
|
|
dialog.value=false |
|
|
|
|
rejectDialog.value=false |
|
|
|
|
const closeDialogFun = () => { |
|
|
|
|
dialog.value = false |
|
|
|
|
rejectDialog.value = false |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const closeAuditDialogFun = ()=>{ |
|
|
|
|
dialog.value=false |
|
|
|
|
rejectDialog.value=false |
|
|
|
|
finishDialog.value=false |
|
|
|
|
const closeAuditDialogFun = () => { |
|
|
|
|
dialog.value = false |
|
|
|
|
rejectDialog.value = false |
|
|
|
|
finishDialog.value = false |
|
|
|
|
// isAudit.value=false |
|
|
|
|
endDialog.value=false; |
|
|
|
|
endDialog.value = false; |
|
|
|
|
} |
|
|
|
|
//通知报审人 |
|
|
|
|
const warningInformFun = async ()=>{ |
|
|
|
|
const warningInformFun = async () => { |
|
|
|
|
await formDataRef.value.validate(); |
|
|
|
|
loading.value=true; |
|
|
|
|
loading.value = true; |
|
|
|
|
formData.value.isSubmit = 1; |
|
|
|
|
formData.value.code ="inform"; |
|
|
|
|
formData.value.node= "inform"; |
|
|
|
|
node.value="inform"; |
|
|
|
|
formData.value.code = "inform"; |
|
|
|
|
formData.value.node = "inform"; |
|
|
|
|
node.value = "inform"; |
|
|
|
|
const res = await addOrUpData(formData.value) |
|
|
|
|
formData.value =res; |
|
|
|
|
warningCode.value="inform"; |
|
|
|
|
formData.value = res; |
|
|
|
|
warningCode.value = "inform"; |
|
|
|
|
feedback.msgSuccess("保存成功") |
|
|
|
|
delete formData.value.isSubmit; |
|
|
|
|
delete formData.value.code; |
|
|
|
|
loading.value=false; |
|
|
|
|
dialog.value=true |
|
|
|
|
delete formData.value.code; |
|
|
|
|
loading.value = false; |
|
|
|
|
dialog.value = true |
|
|
|
|
} |
|
|
|
|
//结束预警 |
|
|
|
|
const auditEndWarning = async ()=>{ |
|
|
|
|
const auditEndWarning = async () => { |
|
|
|
|
await formDataRef.value.validate(); |
|
|
|
|
loading.value=true; |
|
|
|
|
const body={ |
|
|
|
|
reportId:formData.value.reportProject.id |
|
|
|
|
loading.value = true; |
|
|
|
|
const body = { |
|
|
|
|
reportId: formData.value.reportProject.id |
|
|
|
|
} |
|
|
|
|
const res= await auditEndWarningApi(body) |
|
|
|
|
const res = await auditEndWarningApi(body) |
|
|
|
|
feedback.msgSuccess("操作成功") |
|
|
|
|
router.push({ |
|
|
|
|
path: "/warning", |
|
|
|
|
@ -163,29 +161,29 @@ const auditEndWarning = async ()=>{
|
|
|
|
|
refresh: Date.now() |
|
|
|
|
} |
|
|
|
|
}) |
|
|
|
|
loading.value=false; |
|
|
|
|
loading.value = false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const closePage = ()=>{ |
|
|
|
|
const closePage = () => { |
|
|
|
|
if (route.query.isEdit) { |
|
|
|
|
//回到列表页 |
|
|
|
|
router.push({path:route.query.backPath}) |
|
|
|
|
router.push({path: route.query.backPath}) |
|
|
|
|
} else { |
|
|
|
|
router.push({path:"/work", query:{"load": true}}) |
|
|
|
|
router.push({path: "/work", query: {"load": true}}) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
//保存 |
|
|
|
|
const addOrUpDataFun = async ()=>{ |
|
|
|
|
try{ |
|
|
|
|
await formDataRef.value.validate(); |
|
|
|
|
loading.value=true; |
|
|
|
|
formData.value.code ="warning"; |
|
|
|
|
const res = await addOrUpData(formData.value) |
|
|
|
|
formData.value =res; |
|
|
|
|
feedback.msgSuccess("保存成功") |
|
|
|
|
delete formData.value.code; |
|
|
|
|
loading.value=false; |
|
|
|
|
} catch (err){ |
|
|
|
|
const addOrUpDataFun = async () => { |
|
|
|
|
try { |
|
|
|
|
await formDataRef.value.validate(); |
|
|
|
|
loading.value = true; |
|
|
|
|
formData.value.code = "warning"; |
|
|
|
|
const res = await addOrUpData(formData.value) |
|
|
|
|
formData.value = res; |
|
|
|
|
feedback.msgSuccess("保存成功") |
|
|
|
|
delete formData.value.code; |
|
|
|
|
loading.value = false; |
|
|
|
|
} catch (err) { |
|
|
|
|
// ② 校验不通过的提示 |
|
|
|
|
feedback.msgError("请完善必填项后再提交"); |
|
|
|
|
|
|
|
|
|
@ -198,71 +196,71 @@ const addOrUpDataFun = async ()=>{
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//提交至领导 |
|
|
|
|
async function SubmitFun(){ |
|
|
|
|
async function SubmitFun() { |
|
|
|
|
await formDataRef.value.validate(); |
|
|
|
|
await feedback.confirm("是否提交审计数据?"); |
|
|
|
|
loading.value=true; |
|
|
|
|
loading.value = true; |
|
|
|
|
formData.value.isSubmit = 1; |
|
|
|
|
formData.value.code ="warning"; |
|
|
|
|
formData.value.node= "leader"; |
|
|
|
|
formData.value.code = "warning"; |
|
|
|
|
formData.value.node = "leader"; |
|
|
|
|
const res = await addOrUpData(formData.value) |
|
|
|
|
formData.value =res; |
|
|
|
|
formData.value = res; |
|
|
|
|
delete formData.value.isSubmit; |
|
|
|
|
delete formData.value.code; |
|
|
|
|
loading.value=false; |
|
|
|
|
dialog.value=true |
|
|
|
|
delete formData.value.code; |
|
|
|
|
loading.value = false; |
|
|
|
|
dialog.value = true |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//获取审计信息 |
|
|
|
|
const getWarningDetailFun = async (warningId)=>{ |
|
|
|
|
loading.value=true; |
|
|
|
|
const res = await getWarningDetail(warningId); |
|
|
|
|
formData.value.reportProject =res.reportProject |
|
|
|
|
formData.value.record= res.record; |
|
|
|
|
const getWarningDetailFun = async (warningId) => { |
|
|
|
|
loading.value = true; |
|
|
|
|
const res = await getWarningDetail(warningId); |
|
|
|
|
formData.value.reportProject = res.reportProject |
|
|
|
|
formData.value.record = res.record; |
|
|
|
|
formData.value.contents = res.contents; |
|
|
|
|
//已提交的数据 |
|
|
|
|
if((formData.value.record.node && formData.value.record.node != 'stat') |
|
|
|
|
||(formData.value.record.informNode && formData.value.record.informNode != 'state' && formData.value.record.informNode != 'end') |
|
|
|
|
){ |
|
|
|
|
recordDisplay.value=true |
|
|
|
|
if ((formData.value.record.node && formData.value.record.node != 'stat') |
|
|
|
|
|| (formData.value.record.informNode && formData.value.record.informNode != 'state' && formData.value.record.informNode != 'end') |
|
|
|
|
) { |
|
|
|
|
recordDisplay.value = true |
|
|
|
|
} |
|
|
|
|
console.log('recordDisplay',recordDisplay.value) |
|
|
|
|
console.log('recordDisplay', recordDisplay.value) |
|
|
|
|
//如果为审核页面 |
|
|
|
|
if(route.query.isAudit){ |
|
|
|
|
isAudit.value=true |
|
|
|
|
isDisabled.value=true |
|
|
|
|
switch (formData.value.record.node){ |
|
|
|
|
if (route.query.isAudit) { |
|
|
|
|
isAudit.value = true |
|
|
|
|
isDisabled.value = true |
|
|
|
|
switch (formData.value.record.node) { |
|
|
|
|
case "leader": |
|
|
|
|
node.value="end"; |
|
|
|
|
node.value = "end"; |
|
|
|
|
break; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
ensureSupervisionTime(); |
|
|
|
|
loading.value=false |
|
|
|
|
loading.value = false |
|
|
|
|
} |
|
|
|
|
const rejectFun = ()=>{ |
|
|
|
|
rejectDialog.value=true; |
|
|
|
|
const rejectFun = () => { |
|
|
|
|
rejectDialog.value = true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const passFun = () =>{ |
|
|
|
|
finishDialog.value=true; |
|
|
|
|
const passFun = () => { |
|
|
|
|
finishDialog.value = true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const passInformFun = ()=>{ |
|
|
|
|
endDialog.value=true; |
|
|
|
|
const passInformFun = () => { |
|
|
|
|
endDialog.value = true; |
|
|
|
|
} |
|
|
|
|
const FinishSubmitFeedback =()=>{ |
|
|
|
|
finishDialog.value=false |
|
|
|
|
const FinishSubmitFeedback = () => { |
|
|
|
|
finishDialog.value = false |
|
|
|
|
closePage() |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const endSubmitFeedback =()=>{ |
|
|
|
|
endDialog.value=false; |
|
|
|
|
const endSubmitFeedback = () => { |
|
|
|
|
endDialog.value = false; |
|
|
|
|
closePage() |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const FinishCloseAuditDialogFun=()=>{ |
|
|
|
|
finishDialog.value=false |
|
|
|
|
const FinishCloseAuditDialogFun = () => { |
|
|
|
|
finishDialog.value = false |
|
|
|
|
closePage() |
|
|
|
|
} |
|
|
|
|
//审批通过 |
|
|
|
|
@ -271,97 +269,96 @@ const submitFeedback = () => {
|
|
|
|
|
closePage() |
|
|
|
|
} |
|
|
|
|
//审批记录 |
|
|
|
|
async function getAuditTableFun(){ |
|
|
|
|
async function getAuditTableFun() { |
|
|
|
|
//打开审批记录 |
|
|
|
|
reportFlowDialog.value = true |
|
|
|
|
reportFlowLoading.value=true |
|
|
|
|
const res = await getReportFlow({id:formData.value.record.id,code:'warning'}); |
|
|
|
|
reportFlowLoading.value=false |
|
|
|
|
reportFlowLoading.value = true |
|
|
|
|
const res = await getReportFlow({id: formData.value.record.id, code: 'warning'}); |
|
|
|
|
reportFlowLoading.value = false |
|
|
|
|
reportFlowTable.value = res; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
async function getAuditTableInformFun(type){ |
|
|
|
|
async function getAuditTableInformFun(type) { |
|
|
|
|
//打开审批记录 |
|
|
|
|
reportFlowDialog.value = true |
|
|
|
|
reportFlowLoading.value=true |
|
|
|
|
reportFlowLoading.value = true |
|
|
|
|
let res; |
|
|
|
|
if (type){ |
|
|
|
|
res= await getReportFlow({id:formData.value.reportProject.id,code:type}); |
|
|
|
|
}else { |
|
|
|
|
res = await getReportFlow({id:formData.value.record.id,code:'inform'}); |
|
|
|
|
if (type) { |
|
|
|
|
res = await getReportFlow({id: formData.value.reportProject.id, code: type}); |
|
|
|
|
} else { |
|
|
|
|
res = await getReportFlow({id: formData.value.record.id, code: 'inform'}); |
|
|
|
|
} |
|
|
|
|
reportFlowLoading.value=false |
|
|
|
|
reportFlowLoading.value = false |
|
|
|
|
reportFlowTable.value = res; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//打开督审记录窗口 |
|
|
|
|
const warningDetailDiaglog = ref(false) |
|
|
|
|
const warningTable = ref() |
|
|
|
|
const getWarningRecordFun = async ()=>{ |
|
|
|
|
warningDetailDiaglog.value=true; |
|
|
|
|
const res = await getWarningAudit(formData.value.reportProject.id); |
|
|
|
|
warningTable.value=res; |
|
|
|
|
const warningTable = ref() |
|
|
|
|
const getWarningRecordFun = async () => { |
|
|
|
|
warningDetailDiaglog.value = true; |
|
|
|
|
const res = await getWarningAudit(formData.value.reportProject.id); |
|
|
|
|
warningTable.value = res; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const informDialog = ref(false) |
|
|
|
|
const getWarningInformDataFun = ()=>{ |
|
|
|
|
informDialog.value=true; |
|
|
|
|
const getWarningInformDataFun = () => { |
|
|
|
|
informDialog.value = true; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
//获取反馈内容 |
|
|
|
|
const informTable = ref([]) |
|
|
|
|
const informLoading =ref(false); |
|
|
|
|
const getWarningInformFun =async (id)=>{ |
|
|
|
|
informLoading.value=true; |
|
|
|
|
const informLoading = ref(false); |
|
|
|
|
const getWarningInformFun = async (id) => { |
|
|
|
|
informLoading.value = true; |
|
|
|
|
const res = await getWarningInformList(id); |
|
|
|
|
informTable.value=res; |
|
|
|
|
informLoading.value=false; |
|
|
|
|
informTable.value = res; |
|
|
|
|
informLoading.value = false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
const closeDetailShow =()=>{ |
|
|
|
|
detailShow.value=false |
|
|
|
|
const closeDetailShow = () => { |
|
|
|
|
detailShow.value = false |
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
const detailShow =ref(false) |
|
|
|
|
const detailShow = ref(false) |
|
|
|
|
const recordDisplay = ref(false); |
|
|
|
|
const codeData = ref(); |
|
|
|
|
getPoliceList(); |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
onMounted(()=>{ |
|
|
|
|
onMounted(() => { |
|
|
|
|
//获取项目信息 |
|
|
|
|
if(route.query.reportId){ |
|
|
|
|
if (route.query.reportId) { |
|
|
|
|
//判断是否为编辑状态 |
|
|
|
|
if(route.query.isEnd){ |
|
|
|
|
formData.value.contents = AuditRuleEnums |
|
|
|
|
if (route.query.isEnd) { |
|
|
|
|
formData.value.contents = AuditRuleEnums |
|
|
|
|
} |
|
|
|
|
if(route.query.warningCode && route.query.warningCode ==="inform"){ |
|
|
|
|
codeData.value="inform" |
|
|
|
|
warningCode.value="inform" |
|
|
|
|
if (route.query.warningCode && route.query.warningCode === "inform") { |
|
|
|
|
codeData.value = "inform" |
|
|
|
|
warningCode.value = "inform" |
|
|
|
|
} |
|
|
|
|
formData.value.record.warningSupervisionId = userStore.user.userName; |
|
|
|
|
formData.value.record.warningSupervision = userStore.user.nickName; |
|
|
|
|
query.value.name= formData.value.record.warningSupervision; |
|
|
|
|
query.value.name = formData.value.record.warningSupervision; |
|
|
|
|
ensureSupervisionTime(); |
|
|
|
|
getReportDetailFun(route.query.reportId) |
|
|
|
|
getWarningInformFun(route.query.reportId) |
|
|
|
|
}else{ |
|
|
|
|
} else { |
|
|
|
|
closePage(); |
|
|
|
|
} |
|
|
|
|
}) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
watch(()=>formData.value.record.warningSupervisionId,(val)=>{ |
|
|
|
|
watch(() => formData.value.record.warningSupervisionId, (val) => { |
|
|
|
|
|
|
|
|
|
if(val && polices.value.length > 0 && polices.value.filter(s=>s.idCode === val).length > 0){ |
|
|
|
|
formData.value.record.warningSupervision =polices.value.filter(s=>s.idCode === val)[0].name; |
|
|
|
|
if (val && polices.value.length > 0 && polices.value.filter(s => s.idCode === val).length > 0) { |
|
|
|
|
formData.value.record.warningSupervision = polices.value.filter(s => s.idCode === val)[0].name; |
|
|
|
|
} |
|
|
|
|
},{deep:true,immediate:true}) |
|
|
|
|
}, {deep: true, immediate: true}) |
|
|
|
|
//缺少项目id以后,关闭tab |
|
|
|
|
// watch(() => route.query.reportId, (val) => { |
|
|
|
|
// if(!val){ |
|
|
|
|
@ -369,8 +366,8 @@ watch(()=>formData.value.record.warningSupervisionId,(val)=>{
|
|
|
|
|
// } |
|
|
|
|
// }, {deep: true, immediate: true}) |
|
|
|
|
//结算项目情况下 todo |
|
|
|
|
const timeAlertFun=(rowName)=>{ |
|
|
|
|
const { reportProject } = formData.value; |
|
|
|
|
const timeAlertFun = (rowName) => { |
|
|
|
|
const {reportProject} = formData.value; |
|
|
|
|
if (!reportProject?.[rowName]) return false; |
|
|
|
|
// 时间校验逻辑 |
|
|
|
|
const timeChain = { |
|
|
|
|
@ -385,7 +382,7 @@ const timeAlertFun=(rowName)=>{
|
|
|
|
|
const nextTime = index === dependencies.length - 1 |
|
|
|
|
? reportProject[rowName] |
|
|
|
|
: reportProject[dependencies[index + 1]]; |
|
|
|
|
return prevTime && nextTime && prevTime< nextTime; |
|
|
|
|
return prevTime && nextTime && prevTime < nextTime; |
|
|
|
|
}); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@ -411,13 +408,25 @@ const ensureSupervisionTime = () => {
|
|
|
|
|
<div> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<el-form :loading="loading" :model="formData.record" :rules="rules" ref="formDataRef" label-width="140"> |
|
|
|
|
<el-form :loading="loading" :model="formData.record" :rules="rules" ref="formDataRef" label-width="140"> |
|
|
|
|
<el-row> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<el-form-item label="报审类型" prop="reportType"> |
|
|
|
|
<el-select :disabled="isDisabled" v-model="formData.reportProject.reportType"> |
|
|
|
|
<el-option value="项目控制价" label="项目控制价"></el-option> |
|
|
|
|
<el-option value="结算项目" label="结算项目"></el-option> |
|
|
|
|
<!-- 查看态:外观=禁用 el-select,但可复制 --> |
|
|
|
|
<el-input |
|
|
|
|
v-if="isDisabled" |
|
|
|
|
:model-value="formData.reportProject.reportType" |
|
|
|
|
readonly |
|
|
|
|
class="select-disabled-like" |
|
|
|
|
/> |
|
|
|
|
|
|
|
|
|
<!-- 编辑态:正常 el-select --> |
|
|
|
|
<el-select |
|
|
|
|
v-else |
|
|
|
|
v-model="formData.reportProject.reportType" |
|
|
|
|
> |
|
|
|
|
<el-option label="项目控制价" value="项目控制价"/> |
|
|
|
|
<el-option label="结算项目" value="结算项目"/> |
|
|
|
|
</el-select> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
@ -428,26 +437,47 @@ const ensureSupervisionTime = () => {
|
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<el-form-item label="项目类别"> |
|
|
|
|
<el-select :disabled="isDisabled" v-model="formData.reportProject.projectType"> |
|
|
|
|
<el-option value="服务类" label="服务类"></el-option> |
|
|
|
|
<el-option value="工程类" label="工程类"></el-option> |
|
|
|
|
<el-option value="货物类" label="货物类"></el-option> |
|
|
|
|
<el-option value="信息化类" label="信息化类"></el-option> |
|
|
|
|
<el-input |
|
|
|
|
v-if="isDisabled" |
|
|
|
|
:model-value="formData.reportProject.projectType" |
|
|
|
|
readonly |
|
|
|
|
class="select-disabled-like" |
|
|
|
|
/> |
|
|
|
|
<el-select |
|
|
|
|
v-else |
|
|
|
|
v-model="formData.reportProject.projectType" |
|
|
|
|
> |
|
|
|
|
<el-option label="服务类" value="服务类"/> |
|
|
|
|
<el-option label="工程类" value="工程类"/> |
|
|
|
|
<el-option label="货物类" value="货物类"/> |
|
|
|
|
<el-option label="信息化类" value="信息化类"/> |
|
|
|
|
</el-select> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<el-form-item label="审计单位" prop="auditUnitId"> |
|
|
|
|
<depart-tree-select :auth="false" :disabled="isDisabled" v-model="formData.reportProject.auditUnitId" |
|
|
|
|
:size="'default'" placeholder="" clearable/> |
|
|
|
|
<!-- 查看态:可复制 --> |
|
|
|
|
<el-input v-if="isDisabled" :model-value="formData.reportProject.auditUnit" readonly |
|
|
|
|
class="select-disabled-like"/> |
|
|
|
|
<depart-tree-select v-else :auth="false" v-model="formData.reportProject.auditUnitId" clearable/> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
</el-row> |
|
|
|
|
<el-row> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<el-form-item label="项目单位" prop="projectUnitId"> |
|
|
|
|
<depart-tree-select :auth="false" :disabled="isDisabled" v-model="formData.reportProject.projectUnitId" |
|
|
|
|
:size="'default'" placeholder="" clearable/> |
|
|
|
|
<el-input |
|
|
|
|
v-if="isDisabled" |
|
|
|
|
:model-value="formData.reportProject.projectUnit" |
|
|
|
|
readonly |
|
|
|
|
class="select-disabled-like" |
|
|
|
|
/> |
|
|
|
|
<depart-tree-select |
|
|
|
|
v-else |
|
|
|
|
:auth="false" |
|
|
|
|
v-model="formData.reportProject.projectUnitId" |
|
|
|
|
clearable |
|
|
|
|
/> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
@ -462,14 +492,23 @@ const ensureSupervisionTime = () => {
|
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<el-form-item v-if="isEndData" label="报审金额(元)" prop="reportMoney"> |
|
|
|
|
<el-input :disabled="isDisabled" type="number" v-model="formData.reportProject.reportMoney"></el-input> |
|
|
|
|
<el-input :disabled="isDisabled" type="number" |
|
|
|
|
v-model="formData.reportProject.reportMoney"></el-input> |
|
|
|
|
</el-form-item> |
|
|
|
|
<el-form-item v-else label="采购方式" prop="purchaseMethod"> |
|
|
|
|
<el-select :disabled="isDisabled" v-model="formData.reportProject.purchaseMethod"> |
|
|
|
|
<el-option v-for="(item,index) in dict.procurementMethod" :key="index" |
|
|
|
|
:label="item.dictLabel" |
|
|
|
|
:value="item.dictValue" |
|
|
|
|
></el-option> |
|
|
|
|
<el-input |
|
|
|
|
v-if="isDisabled" |
|
|
|
|
:model-value="dict.procurementMethod.find(d => d.dictValue === formData.reportProject.purchaseMethod)?.dictLabel" |
|
|
|
|
readonly |
|
|
|
|
class="select-disabled-like" |
|
|
|
|
/> |
|
|
|
|
<el-select v-else v-model="formData.reportProject.purchaseMethod"> |
|
|
|
|
<el-option |
|
|
|
|
v-for="item in dict.procurementMethod" |
|
|
|
|
:key="item.dictValue" |
|
|
|
|
:label="item.dictLabel" |
|
|
|
|
:value="item.dictValue" |
|
|
|
|
/> |
|
|
|
|
</el-select> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
@ -486,7 +525,8 @@ const ensureSupervisionTime = () => {
|
|
|
|
|
/> |
|
|
|
|
</el-form-item> |
|
|
|
|
<el-form-item v-else label="报审金额(元)" prop="reportMoney"> |
|
|
|
|
<el-input :disabled="isDisabled" type="number" v-model="formData.reportProject.reportMoney"></el-input> |
|
|
|
|
<el-input :disabled="isDisabled" type="number" |
|
|
|
|
v-model="formData.reportProject.reportMoney"></el-input> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
@ -502,7 +542,7 @@ const ensureSupervisionTime = () => {
|
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<el-form-item label="报审人" prop="applicant"> |
|
|
|
|
<el-input :disabled="isDisabled" v-model="formData.reportProject.applicant"></el-input> |
|
|
|
|
<el-input :disabled="isDisabled" v-model="formData.reportProject.applicant"></el-input> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
</el-row> |
|
|
|
|
@ -553,12 +593,12 @@ const ensureSupervisionTime = () => {
|
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<el-form-item label="文号" > |
|
|
|
|
<el-input :disabled="isDisabled" v-model="formData.reportProject.referenceNumber" /> |
|
|
|
|
<el-form-item label="文号"> |
|
|
|
|
<el-input :disabled="isDisabled" v-model="formData.reportProject.referenceNumber"/> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<el-form-item label="发文日期" > |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<el-form-item label="发文日期"> |
|
|
|
|
<el-date-picker |
|
|
|
|
:disabled="isDisabled" |
|
|
|
|
v-model="formData.reportProject.publicationDate" |
|
|
|
|
@ -584,7 +624,8 @@ const ensureSupervisionTime = () => {
|
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<el-form-item label="合同金额" prop="contractMount"> |
|
|
|
|
<el-input :disabled="isDisabled" type="number" v-model="formData.reportProject.contractMount"></el-input> |
|
|
|
|
<el-input :disabled="isDisabled" type="number" |
|
|
|
|
v-model="formData.reportProject.contractMount"></el-input> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
@ -617,22 +658,22 @@ const ensureSupervisionTime = () => {
|
|
|
|
|
<el-input :disabled="isDisabled" v-model="formData.reportProject.serviceUnitPhone"></el-input> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
<!-- <el-col :span="6" >--> |
|
|
|
|
<!-- <el-form-item label="文号" >--> |
|
|
|
|
<!-- <el-input :disabled="isDisabled" v-model="formData.reportProject.referenceNumber" />--> |
|
|
|
|
<!-- </el-form-item>--> |
|
|
|
|
<!-- </el-col>--> |
|
|
|
|
<!-- <el-col :span="6" >--> |
|
|
|
|
<!-- <el-form-item label="发文日期" >--> |
|
|
|
|
<!-- <el-date-picker--> |
|
|
|
|
<!-- :disabled="isDisabled"--> |
|
|
|
|
<!-- v-model="formData.reportProject.publicationDate"--> |
|
|
|
|
<!-- style="width: 100%"--> |
|
|
|
|
<!-- type="date"--> |
|
|
|
|
<!-- placeholder="选择发文日期"--> |
|
|
|
|
<!-- />--> |
|
|
|
|
<!-- </el-form-item>--> |
|
|
|
|
<!-- </el-col>--> |
|
|
|
|
<!-- <el-col :span="6" >--> |
|
|
|
|
<!-- <el-form-item label="文号" >--> |
|
|
|
|
<!-- <el-input :disabled="isDisabled" v-model="formData.reportProject.referenceNumber" />--> |
|
|
|
|
<!-- </el-form-item>--> |
|
|
|
|
<!-- </el-col>--> |
|
|
|
|
<!-- <el-col :span="6" >--> |
|
|
|
|
<!-- <el-form-item label="发文日期" >--> |
|
|
|
|
<!-- <el-date-picker--> |
|
|
|
|
<!-- :disabled="isDisabled"--> |
|
|
|
|
<!-- v-model="formData.reportProject.publicationDate"--> |
|
|
|
|
<!-- style="width: 100%"--> |
|
|
|
|
<!-- type="date"--> |
|
|
|
|
<!-- placeholder="选择发文日期"--> |
|
|
|
|
<!-- />--> |
|
|
|
|
<!-- </el-form-item>--> |
|
|
|
|
<!-- </el-col>--> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<el-form-item label="归档时间"> |
|
|
|
|
<el-date-picker |
|
|
|
|
@ -648,17 +689,19 @@ const ensureSupervisionTime = () => {
|
|
|
|
|
<el-row :gutter="20"> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<el-form-item label="审定金额(元)"> |
|
|
|
|
<el-input :disabled="isDisabled" type="number" v-model="formData.reportProject.archivingMoney"></el-input> |
|
|
|
|
<el-input :disabled="isDisabled" type="number" |
|
|
|
|
v-model="formData.reportProject.archivingMoney"></el-input> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<el-form-item label="审减金额(元)"> |
|
|
|
|
<el-input :disabled="isDisabled" type="number" v-model="formData.reportProject.archivingReduceMoney"></el-input> |
|
|
|
|
<el-input :disabled="isDisabled" type="number" |
|
|
|
|
v-model="formData.reportProject.archivingReduceMoney"></el-input> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<el-form-item label="预警监督状态"> |
|
|
|
|
<el-select :disabled="recordDisplay" v-model="formData.reportProject.warningState"> |
|
|
|
|
<el-select :disabled="recordDisplay" v-model="formData.reportProject.warningState"> |
|
|
|
|
<el-option label="已预警监督" value="1"></el-option> |
|
|
|
|
<el-option label="未预警监督" value="0"></el-option> |
|
|
|
|
</el-select> |
|
|
|
|
@ -666,7 +709,8 @@ const ensureSupervisionTime = () => {
|
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<el-form-item label="预警监督人员" prop="warningSupervision"> |
|
|
|
|
<el-select :disabled="recordDisplay" v-model="formData.record.warningSupervision" :remote-method="inputGetList" |
|
|
|
|
<el-select :disabled="recordDisplay" v-model="formData.record.warningSupervision" |
|
|
|
|
:remote-method="inputGetList" |
|
|
|
|
filterable> |
|
|
|
|
<el-option v-for="(item,index) in polices" :key="index" :value="item.idCode" |
|
|
|
|
:label="item.name"></el-option> |
|
|
|
|
@ -691,7 +735,8 @@ const ensureSupervisionTime = () => {
|
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
<el-form-item label="证据提供者" prop="evidenceOffer"> |
|
|
|
|
<el-input placeholder="请输入证据提供者" :disabled="recordDisplay" v-model="formData.record.evidenceOffer"></el-input> |
|
|
|
|
<el-input placeholder="请输入证据提供者" :disabled="recordDisplay" |
|
|
|
|
v-model="formData.record.evidenceOffer"></el-input> |
|
|
|
|
</el-form-item> |
|
|
|
|
</el-col> |
|
|
|
|
<el-col :span="6"> |
|
|
|
|
@ -711,11 +756,11 @@ const ensureSupervisionTime = () => {
|
|
|
|
|
<h5>审计信息</h5> |
|
|
|
|
</div> |
|
|
|
|
<div class="table-container"> |
|
|
|
|
<el-tabs v-model="activeName" > |
|
|
|
|
<el-tabs v-model="activeName"> |
|
|
|
|
<el-tab-pane label="预警监督情况" name="initial"></el-tab-pane> |
|
|
|
|
</el-tabs> |
|
|
|
|
<el-table :data=" formData.contents" > |
|
|
|
|
<el-table-column label="序号" type="index" :index="(index)=> index+1" ></el-table-column> |
|
|
|
|
<el-table :data=" formData.contents"> |
|
|
|
|
<el-table-column label="序号" type="index" :index="(index)=> index+1"></el-table-column> |
|
|
|
|
<el-table-column label="预警类型" prop="type"></el-table-column> |
|
|
|
|
<el-table-column label="预警类型" prop="title"></el-table-column> |
|
|
|
|
<el-table-column label="预警内容" prop="content"></el-table-column> |
|
|
|
|
@ -726,13 +771,13 @@ const ensureSupervisionTime = () => {
|
|
|
|
|
</el-table-column> |
|
|
|
|
</el-table> |
|
|
|
|
</div> |
|
|
|
|
<div class="flex end mt-20" v-if="route.query.isEdit && !recordDisplay "> |
|
|
|
|
<div class="flex end mt-20" v-if="route.query.isEdit && !recordDisplay "> |
|
|
|
|
<el-button type="primary" @click="addOrUpDataFun">保存</el-button> |
|
|
|
|
<!-- <el-button type="primary" @click="warningInformFun">通知报审单位</el-button>--> |
|
|
|
|
<!-- <el-button type="primary" @click="warningInformFun">通知报审单位</el-button>--> |
|
|
|
|
<el-button type="primary" @click="getAuditTableInformFun('end')">签收审批记录</el-button> |
|
|
|
|
<el-button type="warning" @click="auditEndWarning">结束</el-button> |
|
|
|
|
<el-button type="primary" @click="SubmitFun">提交至领导</el-button> |
|
|
|
|
<el-button @click="closePage" >取消</el-button> |
|
|
|
|
<el-button @click="closePage">取消</el-button> |
|
|
|
|
</div> |
|
|
|
|
<div class="flex end mt-20" v-else> |
|
|
|
|
<el-button type="primary" @click="getAuditTableFun">领导审批记录</el-button> |
|
|
|
|
@ -746,15 +791,15 @@ const ensureSupervisionTime = () => {
|
|
|
|
|
|
|
|
|
|
<el-dialog v-model="warningDetailDiaglog" title="督审记录" width="80vw"> |
|
|
|
|
<div class="table-container"> |
|
|
|
|
<el-table :data="warningTable" preserve-expanded-content> |
|
|
|
|
<el-table :data="warningTable" preserve-expanded-content> |
|
|
|
|
<el-table-column type="expand"> |
|
|
|
|
<template #default="props"> |
|
|
|
|
<el-table :data="JSON.parse(props.row.warning).contents" :row-class-name="tableRowClassName"> |
|
|
|
|
<el-table-column label="序号" type="index" :index="(index)=> index+1" ></el-table-column> |
|
|
|
|
<el-table-column label="序号" type="index" :index="(index)=> index+1"></el-table-column> |
|
|
|
|
<el-table-column label="预警类型" prop="type"></el-table-column> |
|
|
|
|
<el-table-column label="预警类型" prop="title"></el-table-column> |
|
|
|
|
<el-table-column label="预警内容" prop="content"></el-table-column> |
|
|
|
|
<el-table-column label="问题详情" prop="remark" > |
|
|
|
|
<el-table-column label="问题详情" prop="remark"> |
|
|
|
|
</el-table-column> |
|
|
|
|
</el-table> |
|
|
|
|
</template> |
|
|
|
|
@ -776,12 +821,12 @@ const ensureSupervisionTime = () => {
|
|
|
|
|
<el-table-column label="办理人" prop="approver"></el-table-column> |
|
|
|
|
<el-table-column label="提交时间" prop="areportTime"> |
|
|
|
|
<template #default="{row}"> |
|
|
|
|
{{ timeFormat(row.areportTime,'yyyy-mm-dd hh:MM:ss') }} |
|
|
|
|
{{ timeFormat(row.areportTime, 'yyyy-mm-dd hh:MM:ss') }} |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column label="完成时间" prop="approverTime"> |
|
|
|
|
<template #default="{row}"> |
|
|
|
|
{{ timeFormat(row.approverTime,'yyyy-mm-dd hh:MM:ss') }} |
|
|
|
|
{{ timeFormat(row.approverTime, 'yyyy-mm-dd hh:MM:ss') }} |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
<el-table-column label="办理结果" prop="approverState"> |
|
|
|
|
@ -804,9 +849,9 @@ const ensureSupervisionTime = () => {
|
|
|
|
|
<el-table-column width="50" type="index" label="序号" :index="(index)=> index+1"></el-table-column> |
|
|
|
|
<el-table-column width="150" label="报审单位" prop="unit"></el-table-column> |
|
|
|
|
<el-table-column label="办理人" prop="message" show-overflow-tooltip></el-table-column> |
|
|
|
|
<el-table-column width="150" label="反馈时间" prop="approverTime"> |
|
|
|
|
<el-table-column width="150" label="反馈时间" prop="approverTime"> |
|
|
|
|
<template #default="{row}"> |
|
|
|
|
{{ timeFormat(row.approverTime,'yyyy-mm-dd hh:MM:ss') }} |
|
|
|
|
{{ timeFormat(row.approverTime, 'yyyy-mm-dd hh:MM:ss') }} |
|
|
|
|
</template> |
|
|
|
|
</el-table-column> |
|
|
|
|
</el-table> |
|
|
|
|
@ -815,7 +860,8 @@ const ensureSupervisionTime = () => {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<el-dialog v-model="detailShow" width="90vw" @close="closeDetailShow"> |
|
|
|
|
<warningDetail @close-page-fun="closeDetailShow" :node="detailProps.node" :id="detailProps.id" :back-path="detailProps.backPath" :is-end="detailProps.isEnd"></warningDetail> |
|
|
|
|
<warningDetail @close-page-fun="closeDetailShow" :node="detailProps.node" :id="detailProps.id" |
|
|
|
|
:back-path="detailProps.backPath" :is-end="detailProps.isEnd"></warningDetail> |
|
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
|
|
<report-audit @submitFeedback="submitFeedback" @closeFun="closeAuditDialogFun" |
|
|
|
|
@ -842,23 +888,43 @@ const ensureSupervisionTime = () => {
|
|
|
|
|
></report-audit-end> |
|
|
|
|
|
|
|
|
|
<report-audit-reject @submitFeedback="submitFeedback" @closeFun="closeDialogFun" :node="formData.record.node" |
|
|
|
|
:isWarning="warningCode" :reportId="formData.record.id" :dialog="rejectDialog" :isAudit="false"></report-audit-reject> |
|
|
|
|
:isWarning="warningCode" :reportId="formData.record.id" :dialog="rejectDialog" |
|
|
|
|
:isAudit="false"></report-audit-reject> |
|
|
|
|
</el-main> |
|
|
|
|
</main> |
|
|
|
|
</div> |
|
|
|
|
</template> |
|
|
|
|
|
|
|
|
|
<style lang="scss"> |
|
|
|
|
.el-table .warning-row{ |
|
|
|
|
<style lang="scss"> |
|
|
|
|
.el-table .warning-row { |
|
|
|
|
--el-table-tr-bg-color: var(--el-color-warning-light-9); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.el-table .el-table__cell{ |
|
|
|
|
.el-table .el-table__cell { |
|
|
|
|
position: initial !important; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.border_red{ |
|
|
|
|
.border_red { |
|
|
|
|
border: red 2px solid; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
/* 让 el-input 看起来和 el-select 禁用态一模一样 */ |
|
|
|
|
.select-disabled-like { |
|
|
|
|
--el-input-bg-color: var(--el-disabled-bg-color); |
|
|
|
|
--el-input-border-color: var(--el-disabled-border-color); |
|
|
|
|
--el-input-text-color: var(--el-text-color-regular); |
|
|
|
|
|
|
|
|
|
.el-input__wrapper { |
|
|
|
|
background-color: var(--el-disabled-bg-color); |
|
|
|
|
box-shadow: 0 0 0 1px var(--el-disabled-border-color) inset; |
|
|
|
|
cursor: not-allowed; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
.el-input__inner { |
|
|
|
|
color: #a8abb2; |
|
|
|
|
cursor: text; /* 允许选中复制 */ |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
</style> |
|
|
|
|
|