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

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

@ -63,11 +63,11 @@
<span>{{ getInitialReviewStatusLabel(initialReviewInfo.gwf3) }}</span>
</div>
<div class="col col-24">
<label>初核工作开展情况</label>
<label style="text-align: left; line-height: 1.5; font-size: 12px">初核工作开展情况</label>
<span>{{ initialReviewInfo.initWorkDes || "/" }}</span>
</div>
<div class="col col-24">
<label>初核发现的问题及下一步工作计划</label>
<label style="text-align: left; line-height: 1.5; font-size: 12px">初核发现的问题及下一步工作计划</label>
<span>{{ initialReviewInfo.initProblemPlan || "/" }}</span>
</div>
<div class="col col-24">
@ -80,10 +80,11 @@
title="信访情况"
name="mail"
v-if="
negative.problemSourcesCode === ProblemSources.GJXFPT ||
showInitialReviewInfo ||
(negative.problemSourcesCode === ProblemSources.GJXFPT ||
negative.problemSourcesCode === ProblemSources.GABXF ||
negative.problemSourcesCode === ProblemSources.JZXX ||
negative.problemSourcesCode === ProblemSources.XF12337
negative.problemSourcesCode === ProblemSources.XF12337)
"
>
<div class="row" >
@ -124,6 +125,20 @@
<label>处分处理情况</label>
<span>{{ negative.disciplinaryActionDesc }}</span>
</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>
</el-collapse-item>
<el-collapse-item
@ -369,6 +384,8 @@ const dict = useCatchStore().getDicts([
"checkStatus",
"verifySituation",
"verifyFileSituation",
"completionStatus",
"publicRecognition"
]);
const activeNames = ref([
@ -382,6 +399,7 @@ let negative = inject("negative");
const COMPLAINT_REPORT_SOURCE_TYPE = "2";
const initialReviewInfo = computed(() => {
debugger
const currentRow = negative.value?.currentRow || {};
return {
gwf2: currentRow?.gwf2 || negative.value?.gwf2 || "",
@ -389,6 +407,8 @@ const initialReviewInfo = computed(() => {
initWorkDes: currentRow?.initWorkDes || negative.value?.initWorkDes || "",
initProblemPlan: currentRow?.initProblemPlan || negative.value?.initProblemPlan || "",
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
>
</h5>
<el-form-item label="初核剩余时限" style="margin-top: 8px">
<countdown :time="initialRemainingDuration" />
</el-form-item>
<el-form-item
label="初核工作开展情况"
prop="initWorkDes"
@ -79,7 +82,9 @@
:rules="[{ required: true, message: '请选择群众认可', trigger: 'change' }]"
><el-radio-group v-model="form.publicRecognition"
><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-col
>
@ -275,6 +280,13 @@ const createForm = (): VerifySfssForm => ({
const form = ref<VerifySfssForm>(createForm());
const currentRow = computed(() => sourceNegative?.value?.currentRow || {});
const isInitialStage = computed(() => form.value.processingStage === STAGE_INITIAL);
const initialRemainingDuration = computed(() =>
Number(
sourceNegative?.value?.remainingDuration ??
currentRow.value?.remainingDuration ??
0
)
);
const showPetitionFields = computed(() =>
[
ProblemSources.GJXFPT,

Loading…
Cancel
Save