Browse Source

feat: 完善涉访涉诉办理流程

feature/tsjb-1.0
wxc 4 weeks ago
parent
commit
019d99dafd
  1. 40
      src/components/negative/dialog.vue
  2. 28
      src/components/negative/verify-description.vue
  3. 14
      src/components/negative/verify-sfss.vue

40
src/components/negative/dialog.vue

@ -521,6 +521,7 @@ function getDetails() {
getNegativeDetails(props.id, work?.value.workId).then((data) => { getNegativeDetails(props.id, work?.value.workId).then((data) => {
negative.value = { negative.value = {
...data.negative, ...data.negative,
remainingDuration: data.remainingDuration,
complaintCollectionPageDTO: data.complaintCollectionPageDTO, complaintCollectionPageDTO: data.complaintCollectionPageDTO,
currentRow: data.complaintCollectionPageDTO || {}, currentRow: data.complaintCollectionPageDTO || {},
}; };
@ -683,12 +684,7 @@ async function handleExecute(action, data) {
try { try {
if (isComplaintReport.value && action.actionKey === FlowActionEnum.SAVE) { if (isComplaintReport.value && action.actionKey === FlowActionEnum.SAVE) {
const formData = componentRef.value.getData(); const formData = componentRef.value.getData();
const stage = componentRef.value?.getStage?.() || currentComplaintStage.value; await submitSaveInvolveJson(formData);
if (stage === STAGE_INITIAL) {
await submitComplaintInitialReview(formData);
} else {
await saveComplaintVerifyData(formData);
}
feedback.msgSuccess("操作成功"); feedback.msgSuccess("操作成功");
getDetails(); getDetails();
return; return;
@ -740,10 +736,6 @@ function handleFav() {
const spotCheckEditFlag = ref(false); const spotCheckEditFlag = ref(false);
function spotCheck() { function spotCheck() {
spotCheckEditFlag.value = true; spotCheckEditFlag.value = true;
} }
@ -779,31 +771,17 @@ async function handleUpdateVerify() {
verifyEditFlag.value = !verifyEditFlag.value; verifyEditFlag.value = !verifyEditFlag.value;
} }
async function saveComplaintVerifyData(data) { async function submitComplaintInitialReview(data) {
const payload = { await initialReview({
blames: data?.blames || [],
blameLeaders: data?.blameLeaders || [],
files: data?.files || [],
};
await saveInvolveJson({
complaintId: data?.complaintId, complaintId: data?.complaintId,
checkStatusCode: data?.checkStatusCode, initWorkDes: data?.initWorkDes,
checkStatusName: data?.checkStatusName, initProblemPlan: data?.initProblemPlan,
checkStatusDesc: data?.checkStatusDesc, initVerdict: data?.initVerdict,
accountabilityTarget: data?.accountabilityTarget,
involveDepartId: data?.involveDepartId,
involveDepartName: data?.involveDepartName,
completionStatus: data?.completionStatus,
publicRecognition: data?.publicRecognition,
caseNumber: data?.caseNumber,
involveJson: JSON.stringify(payload),
files: data?.files || [],
}); });
} }
async function submitComplaintInitialReview(data) { async function submitSaveInvolveJson(data) {
await initialReview({ await saveInvolveJson({
complaintId: data?.complaintId, complaintId: data?.complaintId,
initWorkDes: data?.initWorkDes, initWorkDes: data?.initWorkDes,
initProblemPlan: data?.initProblemPlan, initProblemPlan: data?.initProblemPlan,

28
src/components/negative/verify-description.vue

@ -63,11 +63,11 @@
<span>{{ getInitialReviewStatusLabel(initialReviewInfo.gwf3) }}</span> <span>{{ getInitialReviewStatusLabel(initialReviewInfo.gwf3) }}</span>
</div> </div>
<div class="col col-24"> <div class="col col-24">
<label>初核工作开展情况</label> <label style="text-align: left; line-height: 1.5; font-size: 12px">初核工作开展情况</label>
<span>{{ initialReviewInfo.initWorkDes || "/" }}</span> <span>{{ initialReviewInfo.initWorkDes || "/" }}</span>
</div> </div>
<div class="col col-24"> <div class="col col-24">
<label>初核发现的问题及下一步工作计划</label> <label style="text-align: left; line-height: 1.5; font-size: 12px">初核发现的问题及下一步工作计划</label>
<span>{{ initialReviewInfo.initProblemPlan || "/" }}</span> <span>{{ initialReviewInfo.initProblemPlan || "/" }}</span>
</div> </div>
<div class="col col-24"> <div class="col col-24">
@ -80,10 +80,11 @@
title="信访情况" title="信访情况"
name="mail" name="mail"
v-if=" v-if="
negative.problemSourcesCode === ProblemSources.GJXFPT || showInitialReviewInfo ||
(negative.problemSourcesCode === ProblemSources.GJXFPT ||
negative.problemSourcesCode === ProblemSources.GABXF || negative.problemSourcesCode === ProblemSources.GABXF ||
negative.problemSourcesCode === ProblemSources.JZXX || negative.problemSourcesCode === ProblemSources.JZXX ||
negative.problemSourcesCode === ProblemSources.XF12337 negative.problemSourcesCode === ProblemSources.XF12337)
" "
> >
<div class="row" > <div class="row" >
@ -124,6 +125,20 @@
<label>处分处理情况</label> <label>处分处理情况</label>
<span>{{ negative.disciplinaryActionDesc }}</span> <span>{{ negative.disciplinaryActionDesc }}</span>
</div> </div>
<div class="col col-6" v-if="initialReviewInfo.completionStatus">
<label>办结情况</label>
<span>{{ getDictLable(
dict.completionStatus,
negative.completionStatus
) }}</span>
</div>
<div class="col col-6" v-if="initialReviewInfo.publicRecognition">
<label>群众认可</label>
<span>{{ getDictLable(
dict.publicRecognition,
negative.publicRecognition
) }}</span>
</div>
</div> </div>
</el-collapse-item> </el-collapse-item>
<el-collapse-item <el-collapse-item
@ -369,6 +384,8 @@ const dict = useCatchStore().getDicts([
"checkStatus", "checkStatus",
"verifySituation", "verifySituation",
"verifyFileSituation", "verifyFileSituation",
"completionStatus",
"publicRecognition"
]); ]);
const activeNames = ref([ const activeNames = ref([
@ -382,6 +399,7 @@ let negative = inject("negative");
const COMPLAINT_REPORT_SOURCE_TYPE = "2"; const COMPLAINT_REPORT_SOURCE_TYPE = "2";
const initialReviewInfo = computed(() => { const initialReviewInfo = computed(() => {
debugger
const currentRow = negative.value?.currentRow || {}; const currentRow = negative.value?.currentRow || {};
return { return {
gwf2: currentRow?.gwf2 || negative.value?.gwf2 || "", gwf2: currentRow?.gwf2 || negative.value?.gwf2 || "",
@ -389,6 +407,8 @@ const initialReviewInfo = computed(() => {
initWorkDes: currentRow?.initWorkDes || negative.value?.initWorkDes || "", initWorkDes: currentRow?.initWorkDes || negative.value?.initWorkDes || "",
initProblemPlan: currentRow?.initProblemPlan || negative.value?.initProblemPlan || "", initProblemPlan: currentRow?.initProblemPlan || negative.value?.initProblemPlan || "",
initVerdict: currentRow?.initVerdict || negative.value?.initVerdict || "", initVerdict: currentRow?.initVerdict || negative.value?.initVerdict || "",
completionStatus: currentRow?.completionStatus,
publicRecognition: currentRow?.publicRecognition
}; };
}); });

14
src/components/negative/verify-sfss.vue

@ -19,6 +19,9 @@
>4个工作日内办结无需上传初核情况</span >4个工作日内办结无需上传初核情况</span
> >
</h5> </h5>
<el-form-item label="初核剩余时限" style="margin-top: 8px">
<countdown :time="initialRemainingDuration" />
</el-form-item>
<el-form-item <el-form-item
label="初核工作开展情况" label="初核工作开展情况"
prop="initWorkDes" prop="initWorkDes"
@ -79,7 +82,9 @@
:rules="[{ required: true, message: '请选择群众认可', trigger: 'change' }]" :rules="[{ required: true, message: '请选择群众认可', trigger: 'change' }]"
><el-radio-group v-model="form.publicRecognition" ><el-radio-group v-model="form.publicRecognition"
><el-radio value="1">认可</el-radio ><el-radio value="1">认可</el-radio
><el-radio value="2">不认可</el-radio></el-radio-group ><el-radio value="2">不认可</el-radio>
<el-radio value="3">不接电话</el-radio>
</el-radio-group
></el-form-item ></el-form-item
></el-col ></el-col
> >
@ -275,6 +280,13 @@ const createForm = (): VerifySfssForm => ({
const form = ref<VerifySfssForm>(createForm()); const form = ref<VerifySfssForm>(createForm());
const currentRow = computed(() => sourceNegative?.value?.currentRow || {}); const currentRow = computed(() => sourceNegative?.value?.currentRow || {});
const isInitialStage = computed(() => form.value.processingStage === STAGE_INITIAL); const isInitialStage = computed(() => form.value.processingStage === STAGE_INITIAL);
const initialRemainingDuration = computed(() =>
Number(
sourceNegative?.value?.remainingDuration ??
currentRow.value?.remainingDuration ??
0
)
);
const showPetitionFields = computed(() => const showPetitionFields = computed(() =>
[ [
ProblemSources.GJXFPT, ProblemSources.GJXFPT,

Loading…
Cancel
Save