|
@@ -1,540 +1,51 @@
|
|
|
<template>
|
|
<template>
|
|
|
<div class="manage_content">
|
|
<div class="manage_content">
|
|
|
<div class="content_row" style="margin-bottom: 32px">
|
|
<div class="content_row" style="margin-bottom: 32px">
|
|
|
- <div class="content_panel" style="margin-right: 40px">
|
|
|
|
|
- <div class="panel_top">
|
|
|
|
|
- <div class="top_content">
|
|
|
|
|
- <div class="circle">1</div>
|
|
|
|
|
- <div class="title_name">问题审核阶段</div>
|
|
|
|
|
- <div class="title_explain">问题审核阶段</div>
|
|
|
|
|
- </div>
|
|
|
|
|
- <el-button
|
|
|
|
|
- v-show="toAuthEdit.openEdit === false"
|
|
|
|
|
- link
|
|
|
|
|
- type="primary"
|
|
|
|
|
- size="small"
|
|
|
|
|
- @click="openToAuth"
|
|
|
|
|
- style="height: 15px; margin-top: 4px; margin-left: auto"
|
|
|
|
|
- ><el-tooltip class="box-item" effect="dark" content="编辑" placement="top">
|
|
|
|
|
- <el-icon :size="16">
|
|
|
|
|
- <EditPen />
|
|
|
|
|
- </el-icon>
|
|
|
|
|
- </el-tooltip>
|
|
|
|
|
- </el-button>
|
|
|
|
|
- <el-button
|
|
|
|
|
- v-show="toAuthEdit.openEdit === true"
|
|
|
|
|
- type="primary"
|
|
|
|
|
- style="height: 24px; margin-left: auto; width: 48px"
|
|
|
|
|
- @click="saveToAuth"
|
|
|
|
|
- >保存</el-button
|
|
|
|
|
- >
|
|
|
|
|
- </div>
|
|
|
|
|
- <div class="subtitle"
|
|
|
|
|
- >问题审核时
|
|
|
|
|
- <el-switch
|
|
|
|
|
- :disabled="!toAuthEdit.openEdit"
|
|
|
|
|
- v-model="toAuthEdit.atProcessing"
|
|
|
|
|
- size="small"
|
|
|
|
|
- style="height: 16px; margin-left: 12px"
|
|
|
|
|
- />
|
|
|
|
|
- </div>
|
|
|
|
|
- <div class="subtitle_explain_disable">自动推送给问题发生地点的所有审核员</div>
|
|
|
|
|
- <div class="subtitle"
|
|
|
|
|
- >超期未审核
|
|
|
|
|
- <el-switch
|
|
|
|
|
- :disabled="!toAuthEdit.openEdit"
|
|
|
|
|
- v-model="toAuthEdit.atExpiry"
|
|
|
|
|
- size="small"
|
|
|
|
|
- style="height: 16px; margin-left: 12px"
|
|
|
|
|
- />
|
|
|
|
|
- </div>
|
|
|
|
|
- <div
|
|
|
|
|
- class="subtitle_explain_disable"
|
|
|
|
|
- :class="toAuthEdit.openEdit === true && toAuthEdit.atExpiry === true ? 'editable' : ''"
|
|
|
|
|
- style="margin-top: 10px"
|
|
|
|
|
- >超过<el-input-number
|
|
|
|
|
- v-model="toAuthEdit.expiryTime"
|
|
|
|
|
- :disabled="!toAuthEdit.openEdit || !toAuthEdit.atExpiry"
|
|
|
|
|
- :min="0"
|
|
|
|
|
- size="small"
|
|
|
|
|
- style="width: 70px"
|
|
|
|
|
- controls-position="right"
|
|
|
|
|
- />小时未审核继续推送给审核员</div
|
|
|
|
|
- >
|
|
|
|
|
- <div class="subtitle"
|
|
|
|
|
- >长期未审核
|
|
|
|
|
- <el-switch
|
|
|
|
|
- :disabled="!toAuthEdit.openEdit"
|
|
|
|
|
- v-model="toAuthEdit.atLongTimeExpiry"
|
|
|
|
|
- size="small"
|
|
|
|
|
- style="height: 16px; margin-left: 12px"
|
|
|
|
|
- />
|
|
|
|
|
- </div>
|
|
|
|
|
- <div
|
|
|
|
|
- class="subtitle_explain_disable"
|
|
|
|
|
- :class="
|
|
|
|
|
- toAuthEdit.openEdit === true && toAuthEdit.atLongTimeExpiry === true ? 'editable' : ''
|
|
|
|
|
- "
|
|
|
|
|
- style="margin-top: 10px"
|
|
|
|
|
- >超过<el-input-number
|
|
|
|
|
- v-model="toAuthEdit.longTimeValue"
|
|
|
|
|
- :disabled="!toAuthEdit.openEdit || !toAuthEdit.atLongTimeExpiry"
|
|
|
|
|
- :min="0"
|
|
|
|
|
- size="small"
|
|
|
|
|
- style="width: 70px"
|
|
|
|
|
- controls-position="right" />小时未审核再次推送给审核员并抄送给<el-select
|
|
|
|
|
- :disabled="!toAuthEdit.openEdit || !toAuthEdit.atLongTimeExpiry"
|
|
|
|
|
- v-model="toAuthEdit.copyTo"
|
|
|
|
|
- value-key="realname"
|
|
|
|
|
- @click="setCurrentProcess(QuestionStatus.toAuth)"
|
|
|
|
|
- placeholder="Select"
|
|
|
|
|
- size="small"
|
|
|
|
|
- style="width: 105px"
|
|
|
|
|
- multiple
|
|
|
|
|
- collapse-tags
|
|
|
|
|
- collapse-tags-tooltip
|
|
|
|
|
- >
|
|
|
|
|
- <el-option
|
|
|
|
|
- v-for="item in directors"
|
|
|
|
|
- :key="item.value"
|
|
|
|
|
- :label="item.label"
|
|
|
|
|
- :value="item.value"
|
|
|
|
|
- /> </el-select
|
|
|
|
|
- ></div>
|
|
|
|
|
- <div class="subtitle">推送文案 </div>
|
|
|
|
|
- <el-input
|
|
|
|
|
- :disabled="!toAuthEdit.openEdit"
|
|
|
|
|
- v-model="toAuthEdit.textToPush"
|
|
|
|
|
- style="width: 364px; margin-left: 30px; margin-top: 4px"
|
|
|
|
|
- />
|
|
|
|
|
- </div>
|
|
|
|
|
- <div class="content_panel">
|
|
|
|
|
- <div class="panel_top">
|
|
|
|
|
- <div class="top_content">
|
|
|
|
|
- <div class="circle">2</div>
|
|
|
|
|
- <div class="title_name">问题整改阶段</div>
|
|
|
|
|
- <div class="title_explain">问题整改阶段</div>
|
|
|
|
|
- </div>
|
|
|
|
|
- <el-button
|
|
|
|
|
- v-show="todoEdit.openEdit === false"
|
|
|
|
|
- link
|
|
|
|
|
- type="primary"
|
|
|
|
|
- size="small"
|
|
|
|
|
- @click="opentodo"
|
|
|
|
|
- style="height: 15px; margin-top: 4px; margin-left: auto"
|
|
|
|
|
- ><el-tooltip class="box-item" effect="dark" content="编辑" placement="top">
|
|
|
|
|
- <el-icon :size="16">
|
|
|
|
|
- <EditPen />
|
|
|
|
|
- </el-icon>
|
|
|
|
|
- </el-tooltip>
|
|
|
|
|
- </el-button>
|
|
|
|
|
- <el-button
|
|
|
|
|
- v-show="todoEdit.openEdit === true"
|
|
|
|
|
- type="primary"
|
|
|
|
|
- @click="savetodo"
|
|
|
|
|
- style="height: 24px; margin-left: auto; width: 48px"
|
|
|
|
|
- >保存</el-button
|
|
|
|
|
- >
|
|
|
|
|
- </div>
|
|
|
|
|
- <div class="subtitle"
|
|
|
|
|
- >问题整改时
|
|
|
|
|
- <el-switch
|
|
|
|
|
- :disabled="!todoEdit.openEdit"
|
|
|
|
|
- v-model="todoEdit.atProcessing"
|
|
|
|
|
- size="small"
|
|
|
|
|
- style="height: 16px; margin-left: 12px"
|
|
|
|
|
- />
|
|
|
|
|
- </div>
|
|
|
|
|
- <div class="subtitle_explain_disable">自动推送给问题发生地点的所有整改员</div>
|
|
|
|
|
- <div class="subtitle"
|
|
|
|
|
- >超期未整改
|
|
|
|
|
- <el-switch
|
|
|
|
|
- :disabled="!todoEdit.openEdit"
|
|
|
|
|
- v-model="todoEdit.atExpiry"
|
|
|
|
|
- size="small"
|
|
|
|
|
- style="height: 16px; margin-left: 12px"
|
|
|
|
|
- />
|
|
|
|
|
- </div>
|
|
|
|
|
- <div
|
|
|
|
|
- class="subtitle_explain_disable"
|
|
|
|
|
- :class="todoEdit.openEdit === true && todoEdit.atExpiry === true ? 'editable' : ''"
|
|
|
|
|
- style="margin-top: 10px"
|
|
|
|
|
- >超过<el-input-number
|
|
|
|
|
- v-model="todoEdit.expiryTime"
|
|
|
|
|
- :disabled="!todoEdit.openEdit || !todoEdit.atExpiry"
|
|
|
|
|
- :min="0"
|
|
|
|
|
- size="small"
|
|
|
|
|
- style="width: 70px"
|
|
|
|
|
- controls-position="right"
|
|
|
|
|
- />小时未整改继续推送给整改员</div
|
|
|
|
|
- >
|
|
|
|
|
- <div class="subtitle"
|
|
|
|
|
- >长期未整改
|
|
|
|
|
- <el-switch
|
|
|
|
|
- :disabled="!todoEdit.openEdit"
|
|
|
|
|
- v-model="todoEdit.atLongTimeExpiry"
|
|
|
|
|
- size="small"
|
|
|
|
|
- style="height: 16px; margin-left: 12px"
|
|
|
|
|
- />
|
|
|
|
|
- </div>
|
|
|
|
|
- <div
|
|
|
|
|
- class="subtitle_explain_disable"
|
|
|
|
|
- :class="
|
|
|
|
|
- todoEdit.openEdit === true && todoEdit.atLongTimeExpiry === true ? 'editable' : ''
|
|
|
|
|
- "
|
|
|
|
|
- style="margin-top: 10px"
|
|
|
|
|
- >超过<el-input-number
|
|
|
|
|
- v-model="todoEdit.longTimeValue"
|
|
|
|
|
- :disabled="!todoEdit.openEdit || !todoEdit.atLongTimeExpiry"
|
|
|
|
|
- :min="0"
|
|
|
|
|
- size="small"
|
|
|
|
|
- style="width: 70px"
|
|
|
|
|
- controls-position="right" />小时未整改再次推送给整改员并抄送给<el-select
|
|
|
|
|
- :disabled="!todoEdit.openEdit || !todoEdit.atLongTimeExpiry"
|
|
|
|
|
- v-model="todoEdit.copyTo"
|
|
|
|
|
- value-key="realname"
|
|
|
|
|
- @click="setCurrentProcess(QuestionStatus.todo)"
|
|
|
|
|
- placeholder="Select"
|
|
|
|
|
- size="small"
|
|
|
|
|
- style="width: 105px"
|
|
|
|
|
- multiple
|
|
|
|
|
- collapse-tags
|
|
|
|
|
- collapse-tags-tooltip
|
|
|
|
|
- >
|
|
|
|
|
- <el-option
|
|
|
|
|
- v-for="item in directors"
|
|
|
|
|
- :key="item.value"
|
|
|
|
|
- :label="item.label"
|
|
|
|
|
- :value="item.value"
|
|
|
|
|
- /> </el-select
|
|
|
|
|
- ></div>
|
|
|
|
|
- <div class="subtitle">推送文案 </div>
|
|
|
|
|
- <el-input
|
|
|
|
|
- :disabled="!todoEdit.openEdit"
|
|
|
|
|
- v-model="todoEdit.textToPush"
|
|
|
|
|
- style="width: 364px; margin-left: 30px; margin-top: 4px"
|
|
|
|
|
- />
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ <ContentPanel
|
|
|
|
|
+ :savedData="savedData"
|
|
|
|
|
+ :issue-type="QuestionStatus.toAuth"
|
|
|
|
|
+ :title="'审核'"
|
|
|
|
|
+ :save-update="saveUpdate"
|
|
|
|
|
+ />
|
|
|
|
|
+ <ContentPanel
|
|
|
|
|
+ :savedData="savedData"
|
|
|
|
|
+ :issue-type="QuestionStatus.todo"
|
|
|
|
|
+ :title="'整改'"
|
|
|
|
|
+ :save-update="saveUpdate"
|
|
|
|
|
+ />
|
|
|
</div>
|
|
</div>
|
|
|
<div class="content_row">
|
|
<div class="content_row">
|
|
|
- <div class="content_panel" style="margin-right: 40px">
|
|
|
|
|
- <div class="panel_top">
|
|
|
|
|
- <div class="top_content">
|
|
|
|
|
- <div class="circle">3</div>
|
|
|
|
|
- <div class="title_name">问题复核阶段</div>
|
|
|
|
|
- <div class="title_explain">问题复核阶段</div>
|
|
|
|
|
- </div>
|
|
|
|
|
- <el-button
|
|
|
|
|
- v-show="toReviewEdit.openEdit === false"
|
|
|
|
|
- link
|
|
|
|
|
- type="primary"
|
|
|
|
|
- size="small"
|
|
|
|
|
- @click="openToReview"
|
|
|
|
|
- style="height: 15px; margin-top: 4px; margin-left: auto"
|
|
|
|
|
- ><el-tooltip class="box-item" effect="dark" content="编辑" placement="top">
|
|
|
|
|
- <el-icon :size="16">
|
|
|
|
|
- <EditPen />
|
|
|
|
|
- </el-icon>
|
|
|
|
|
- </el-tooltip>
|
|
|
|
|
- </el-button>
|
|
|
|
|
- <el-button
|
|
|
|
|
- v-show="toReviewEdit.openEdit === true"
|
|
|
|
|
- type="primary"
|
|
|
|
|
- style="height: 24px; margin-left: auto; width: 48px"
|
|
|
|
|
- @click="saveToReview"
|
|
|
|
|
- >保存</el-button
|
|
|
|
|
- >
|
|
|
|
|
- </div>
|
|
|
|
|
- <div class="subtitle"
|
|
|
|
|
- >问题复核时
|
|
|
|
|
- <el-switch
|
|
|
|
|
- :disabled="!toReviewEdit.openEdit"
|
|
|
|
|
- v-model="toReviewEdit.atProcessing"
|
|
|
|
|
- size="small"
|
|
|
|
|
- style="height: 16px; margin-left: 12px"
|
|
|
|
|
- />
|
|
|
|
|
- </div>
|
|
|
|
|
- <div class="subtitle_explain_disable">自动推送给问题发生地点的所有复核员</div>
|
|
|
|
|
- <div class="subtitle"
|
|
|
|
|
- >超期未复核
|
|
|
|
|
- <el-switch
|
|
|
|
|
- :disabled="!toReviewEdit.openEdit"
|
|
|
|
|
- v-model="toReviewEdit.atExpiry"
|
|
|
|
|
- size="small"
|
|
|
|
|
- style="height: 16px; margin-left: 12px"
|
|
|
|
|
- />
|
|
|
|
|
- </div>
|
|
|
|
|
- <div
|
|
|
|
|
- class="subtitle_explain_disable"
|
|
|
|
|
- :class="
|
|
|
|
|
- toReviewEdit.openEdit === true && toReviewEdit.atExpiry === true ? 'editable' : ''
|
|
|
|
|
- "
|
|
|
|
|
- style="margin-top: 10px"
|
|
|
|
|
- >超过<el-input-number
|
|
|
|
|
- :disabled="!toReviewEdit.openEdit || !toReviewEdit.atExpiry"
|
|
|
|
|
- v-model="toReviewEdit.expiryTime"
|
|
|
|
|
- :min="0"
|
|
|
|
|
- size="small"
|
|
|
|
|
- style="width: 70px"
|
|
|
|
|
- controls-position="right"
|
|
|
|
|
- />小时未复核继续推送给复核员</div
|
|
|
|
|
- >
|
|
|
|
|
- <div class="subtitle"
|
|
|
|
|
- >长期未复核
|
|
|
|
|
- <el-switch
|
|
|
|
|
- :disabled="!toReviewEdit.openEdit"
|
|
|
|
|
- v-model="toReviewEdit.atLongTimeExpiry"
|
|
|
|
|
- size="small"
|
|
|
|
|
- style="height: 16px; margin-left: 12px"
|
|
|
|
|
- />
|
|
|
|
|
- </div>
|
|
|
|
|
- <div
|
|
|
|
|
- class="subtitle_explain_disable"
|
|
|
|
|
- :class="
|
|
|
|
|
- toReviewEdit.openEdit === true && toReviewEdit.atLongTimeExpiry === true
|
|
|
|
|
- ? 'editable'
|
|
|
|
|
- : ''
|
|
|
|
|
- "
|
|
|
|
|
- style="margin-top: 10px"
|
|
|
|
|
- >超过<el-input-number
|
|
|
|
|
- v-model="toReviewEdit.longTimeValue"
|
|
|
|
|
- :disabled="!toReviewEdit.openEdit || !toReviewEdit.atLongTimeExpiry"
|
|
|
|
|
- :min="0"
|
|
|
|
|
- size="small"
|
|
|
|
|
- style="width: 70px"
|
|
|
|
|
- controls-position="right" />小时未复核再次推送给复核员并抄送给<el-select
|
|
|
|
|
- :disabled="!toReviewEdit.openEdit || !toReviewEdit.atLongTimeExpiry"
|
|
|
|
|
- v-model="toReviewEdit.copyTo"
|
|
|
|
|
- value-key="realname"
|
|
|
|
|
- @click="setCurrentProcess(QuestionStatus.toReview)"
|
|
|
|
|
- placeholder="Select"
|
|
|
|
|
- size="small"
|
|
|
|
|
- style="width: 105px"
|
|
|
|
|
- multiple
|
|
|
|
|
- collapse-tags
|
|
|
|
|
- collapse-tags-tooltip
|
|
|
|
|
- >
|
|
|
|
|
- <el-option
|
|
|
|
|
- v-for="item in directors"
|
|
|
|
|
- :key="item.value"
|
|
|
|
|
- :label="item.label"
|
|
|
|
|
- :value="item.value"
|
|
|
|
|
- /> </el-select
|
|
|
|
|
- ></div>
|
|
|
|
|
- <div class="subtitle">推送文案 </div>
|
|
|
|
|
- <el-input
|
|
|
|
|
- :disabled="!toReviewEdit.openEdit"
|
|
|
|
|
- v-model="toReviewEdit.textToPush"
|
|
|
|
|
- style="width: 364px; margin-left: 30px; margin-top: 4px"
|
|
|
|
|
- />
|
|
|
|
|
- </div>
|
|
|
|
|
- <div class="content_panel">
|
|
|
|
|
- <div class="panel_top">
|
|
|
|
|
- <div class="top_content">
|
|
|
|
|
- <div class="circle">4</div>
|
|
|
|
|
- <div class="title_name">问题完结阶段</div>
|
|
|
|
|
- <div class="title_explain">问题完结阶段</div>
|
|
|
|
|
- </div>
|
|
|
|
|
- <el-button
|
|
|
|
|
- v-show="finisheEdit.openEdit === false"
|
|
|
|
|
- link
|
|
|
|
|
- type="primary"
|
|
|
|
|
- size="small"
|
|
|
|
|
- @click="openFinish"
|
|
|
|
|
- style="height: 15px; margin-top: 4px; margin-left: auto"
|
|
|
|
|
- ><el-tooltip class="box-item" effect="dark" content="编辑" placement="top">
|
|
|
|
|
- <el-icon :size="16">
|
|
|
|
|
- <EditPen />
|
|
|
|
|
- </el-icon>
|
|
|
|
|
- </el-tooltip>
|
|
|
|
|
- </el-button>
|
|
|
|
|
- <el-button
|
|
|
|
|
- v-show="finisheEdit.openEdit === true"
|
|
|
|
|
- type="primary"
|
|
|
|
|
- style="height: 24px; margin-left: auto; width: 48px"
|
|
|
|
|
- @click="saveFinish"
|
|
|
|
|
- >保存</el-button
|
|
|
|
|
- >
|
|
|
|
|
- </div>
|
|
|
|
|
- <div class="subtitle"
|
|
|
|
|
- >问题完结时
|
|
|
|
|
- <el-switch
|
|
|
|
|
- :disabled="!finisheEdit.openEdit"
|
|
|
|
|
- v-model="finisheEdit.atProcessing"
|
|
|
|
|
- size="small"
|
|
|
|
|
- style="height: 16px; margin-left: 12px"
|
|
|
|
|
- />
|
|
|
|
|
- </div>
|
|
|
|
|
- <div class="subtitle_explain_disable">自动推送给问题发生地点的所有当事人</div>
|
|
|
|
|
- <div class="subtitle">推送文案 </div>
|
|
|
|
|
- <el-input
|
|
|
|
|
- :disabled="!finisheEdit.openEdit"
|
|
|
|
|
- v-model="finisheEdit.textToPush"
|
|
|
|
|
- style="width: 364px; margin-left: 30px; margin-top: 4px"
|
|
|
|
|
- />
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ <ContentPanel
|
|
|
|
|
+ :savedData="savedData"
|
|
|
|
|
+ :issue-type="QuestionStatus.toReview"
|
|
|
|
|
+ :title="'复核'"
|
|
|
|
|
+ :save-update="saveUpdate"
|
|
|
|
|
+ />
|
|
|
|
|
+ <ContentPanel
|
|
|
|
|
+ :savedData="savedData"
|
|
|
|
|
+ :issue-type="QuestionStatus.finishe"
|
|
|
|
|
+ :title="'完结'"
|
|
|
|
|
+ :save-update="saveUpdate"
|
|
|
|
|
+ />
|
|
|
</div>
|
|
</div>
|
|
|
</div>
|
|
</div>
|
|
|
- <el-dialog
|
|
|
|
|
- v-model="dialogVisible"
|
|
|
|
|
- title="添加人员"
|
|
|
|
|
- align-center
|
|
|
|
|
- :close-on-click-modal="false"
|
|
|
|
|
- style="height: 583px"
|
|
|
|
|
- :width="731"
|
|
|
|
|
- :destroy-on-close="true"
|
|
|
|
|
- class="workShopDialog"
|
|
|
|
|
- >
|
|
|
|
|
- <!-- <SelectTree @cancel="handleCancle" @submit="handleSubmit" :selectedUser="selectedUser" /> -->
|
|
|
|
|
- <PersonFilterSelection
|
|
|
|
|
- @cancel="handleCancle"
|
|
|
|
|
- @submit="handleSubmit"
|
|
|
|
|
- :init-selected="selectedUser"
|
|
|
|
|
- />
|
|
|
|
|
- </el-dialog>
|
|
|
|
|
</template>
|
|
</template>
|
|
|
<script lang="ts" setup>
|
|
<script lang="ts" setup>
|
|
|
import { ref, onMounted } from 'vue';
|
|
import { ref, onMounted } from 'vue';
|
|
|
- import { EditPen } from '@element-plus/icons-vue';
|
|
|
|
|
|
|
+
|
|
|
import { ElMessage } from 'element-plus';
|
|
import { ElMessage } from 'element-plus';
|
|
|
import {
|
|
import {
|
|
|
getIssueProcessMessage,
|
|
getIssueProcessMessage,
|
|
|
updateIssueProcessMessage,
|
|
updateIssueProcessMessage,
|
|
|
} from '@/api/message/question-notifications';
|
|
} from '@/api/message/question-notifications';
|
|
|
- import { QuestionStatus, PushTypeStatus, issueDetilasType, issueProcessType } from '../type';
|
|
|
|
|
- import PersonFilterSelection from '@/views/message/components/PersonFilterSelection.vue';
|
|
|
|
|
- import { SelectedFilterPersonInfo } from '@/api/message/person-group';
|
|
|
|
|
-
|
|
|
|
|
- const dialogVisible = ref<boolean>(false);
|
|
|
|
|
- const selectedUser = ref<SelectedFilterPersonInfo[]>([]);
|
|
|
|
|
-
|
|
|
|
|
- const currentProcess = ref(1);
|
|
|
|
|
- const setCurrentProcess = (num: number) => {
|
|
|
|
|
- currentProcess.value = num;
|
|
|
|
|
- switch (currentProcess.value) {
|
|
|
|
|
- case QuestionStatus.toAuth:
|
|
|
|
|
- selectedUser.value = toAuthEdit.value.copyTo!;
|
|
|
|
|
- break;
|
|
|
|
|
- case QuestionStatus.todo:
|
|
|
|
|
- selectedUser.value = todoEdit.value.copyTo!;
|
|
|
|
|
- case QuestionStatus.toReview:
|
|
|
|
|
- selectedUser.value = toReviewEdit.value.copyTo!;
|
|
|
|
|
- break;
|
|
|
|
|
- }
|
|
|
|
|
- dialogVisible.value = true;
|
|
|
|
|
- };
|
|
|
|
|
-
|
|
|
|
|
- const handleSubmit = (selectedData: SelectedFilterPersonInfo[]) => {
|
|
|
|
|
- // selectedUser.value = selectedData;
|
|
|
|
|
- switch (currentProcess.value) {
|
|
|
|
|
- case QuestionStatus.toAuth:
|
|
|
|
|
- toAuthEdit.value.copyTo = selectedData;
|
|
|
|
|
- break;
|
|
|
|
|
- case QuestionStatus.todo:
|
|
|
|
|
- todoEdit.value.copyTo = selectedData;
|
|
|
|
|
- case QuestionStatus.toReview:
|
|
|
|
|
- toReviewEdit.value.copyTo = selectedData;
|
|
|
|
|
- break;
|
|
|
|
|
- }
|
|
|
|
|
- dialogVisible.value = false;
|
|
|
|
|
- };
|
|
|
|
|
- const handleCancle = () => {
|
|
|
|
|
- dialogVisible.value = false;
|
|
|
|
|
- };
|
|
|
|
|
-
|
|
|
|
|
- const openToAuth = () => {
|
|
|
|
|
- toAuthEdit.value.openEdit = true;
|
|
|
|
|
- };
|
|
|
|
|
- const saveToAuth = () => {
|
|
|
|
|
- saveUpdate(toAuthEdit.value, QuestionStatus.toAuth);
|
|
|
|
|
- toAuthEdit.value.openEdit = false;
|
|
|
|
|
- };
|
|
|
|
|
-
|
|
|
|
|
- interface panelDetails {
|
|
|
|
|
- openEdit: boolean;
|
|
|
|
|
- atProcessing: boolean;
|
|
|
|
|
- atExpiry?: boolean;
|
|
|
|
|
- expiryTime?: number;
|
|
|
|
|
- atLongTimeExpiry?: boolean;
|
|
|
|
|
- longTimeValue?: number;
|
|
|
|
|
- copyTo?: SelectedFilterPersonInfo[];
|
|
|
|
|
- textToPush: string;
|
|
|
|
|
- }
|
|
|
|
|
-
|
|
|
|
|
- const toAuthEdit = ref<panelDetails>({
|
|
|
|
|
- openEdit: false,
|
|
|
|
|
- atProcessing: true,
|
|
|
|
|
- atExpiry: true,
|
|
|
|
|
- expiryTime: 5,
|
|
|
|
|
- atLongTimeExpiry: true,
|
|
|
|
|
- longTimeValue: 5,
|
|
|
|
|
- copyTo: [],
|
|
|
|
|
- textToPush: '您有一条【待审核/超期未审核/长期未审核】的问题单,请及时关注并审核',
|
|
|
|
|
- });
|
|
|
|
|
- const directors = [
|
|
|
|
|
- {
|
|
|
|
|
- value: '陆顶',
|
|
|
|
|
- label: '陆顶',
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- value: '孙权',
|
|
|
|
|
- label: '孙权',
|
|
|
|
|
- },
|
|
|
|
|
- {
|
|
|
|
|
- value: '马如龙',
|
|
|
|
|
- label: '马如龙',
|
|
|
|
|
- },
|
|
|
|
|
- ];
|
|
|
|
|
- const opentodo = () => {
|
|
|
|
|
- todoEdit.value.openEdit = true;
|
|
|
|
|
- };
|
|
|
|
|
- const savetodo = () => {
|
|
|
|
|
- saveUpdate(todoEdit.value, QuestionStatus.todo);
|
|
|
|
|
- todoEdit.value.openEdit = false;
|
|
|
|
|
- };
|
|
|
|
|
-
|
|
|
|
|
- const todoEdit = ref<panelDetails>({
|
|
|
|
|
- openEdit: false,
|
|
|
|
|
- atProcessing: true,
|
|
|
|
|
- atExpiry: true,
|
|
|
|
|
- expiryTime: 5,
|
|
|
|
|
- atLongTimeExpiry: true,
|
|
|
|
|
- longTimeValue: 5,
|
|
|
|
|
- copyTo: [],
|
|
|
|
|
- textToPush: '您有一条【待复核/超期未复核/长期未复核】的问题单,请及时关注并整改',
|
|
|
|
|
- });
|
|
|
|
|
-
|
|
|
|
|
- const openToReview = () => {
|
|
|
|
|
- toReviewEdit.value.openEdit = true;
|
|
|
|
|
- };
|
|
|
|
|
- const saveToReview = () => {
|
|
|
|
|
- saveUpdate(toReviewEdit.value, QuestionStatus.toReview);
|
|
|
|
|
- toReviewEdit.value.openEdit = false;
|
|
|
|
|
- };
|
|
|
|
|
-
|
|
|
|
|
- const toReviewEdit = ref<panelDetails>({
|
|
|
|
|
- openEdit: false,
|
|
|
|
|
- atProcessing: true,
|
|
|
|
|
- atExpiry: true,
|
|
|
|
|
- expiryTime: 5,
|
|
|
|
|
- atLongTimeExpiry: true,
|
|
|
|
|
- longTimeValue: 5,
|
|
|
|
|
- copyTo: [],
|
|
|
|
|
- textToPush: '您有一条【待整改/超期未整改/长期未整改】的问题单,请及时关注并整改',
|
|
|
|
|
- });
|
|
|
|
|
-
|
|
|
|
|
- const openFinish = () => {
|
|
|
|
|
- finisheEdit.value.openEdit = true;
|
|
|
|
|
- };
|
|
|
|
|
- const saveFinish = () => {
|
|
|
|
|
- saveUpdate(finisheEdit.value, QuestionStatus.finishe);
|
|
|
|
|
- finisheEdit.value.openEdit = false;
|
|
|
|
|
- };
|
|
|
|
|
- const finisheEdit = ref<panelDetails>({
|
|
|
|
|
- openEdit: false,
|
|
|
|
|
- atProcessing: true,
|
|
|
|
|
- textToPush: '流程已完结',
|
|
|
|
|
- });
|
|
|
|
|
|
|
+ import {
|
|
|
|
|
+ QuestionStatus,
|
|
|
|
|
+ PushTypeStatus,
|
|
|
|
|
+ issueDetilasType,
|
|
|
|
|
+ issueProcessType,
|
|
|
|
|
+ panelDetails,
|
|
|
|
|
+ } from '../type';
|
|
|
|
|
+ import ContentPanel from './contentPanel.vue';
|
|
|
|
|
|
|
|
//根据流程的issuePhase值与pushType值去匹配id
|
|
//根据流程的issuePhase值与pushType值去匹配id
|
|
|
const idMatch = (issuePhase: number, pushType: number) => {
|
|
const idMatch = (issuePhase: number, pushType: number) => {
|
|
@@ -613,66 +124,6 @@
|
|
|
// savedData.value = [];
|
|
// savedData.value = [];
|
|
|
getIssueProcessMessage().then((res) => {
|
|
getIssueProcessMessage().then((res) => {
|
|
|
savedData.value = res;
|
|
savedData.value = res;
|
|
|
- console.log(res);
|
|
|
|
|
- console.log(savedData.value);
|
|
|
|
|
- // return;
|
|
|
|
|
- //问题审核阶段,后端拉取保存数据
|
|
|
|
|
- let subData = savedData.value.find((item) => item.issuePhase === QuestionStatus.toAuth);
|
|
|
|
|
- let atonceData = subData?.issueProcessMessageList.find(
|
|
|
|
|
- (item) => item.pushType === PushTypeStatus.atonce,
|
|
|
|
|
- );
|
|
|
|
|
- toAuthEdit.value.atProcessing = atonceData?.isEnabled === 1 ? true : false;
|
|
|
|
|
- let expireData = subData?.issueProcessMessageList.find(
|
|
|
|
|
- (item) => item.pushType === PushTypeStatus.expire,
|
|
|
|
|
- );
|
|
|
|
|
- toAuthEdit.value.atExpiry = expireData?.isEnabled === 1 ? true : false;
|
|
|
|
|
- toAuthEdit.value.expiryTime = expireData!.overtime;
|
|
|
|
|
- let longTimeData = subData?.issueProcessMessageList.find(
|
|
|
|
|
- (item) => item.pushType === PushTypeStatus.longtime,
|
|
|
|
|
- );
|
|
|
|
|
- toAuthEdit.value.atLongTimeExpiry = longTimeData?.isEnabled === 1 ? true : false;
|
|
|
|
|
- toAuthEdit.value.longTimeValue = longTimeData!.overtime;
|
|
|
|
|
- toAuthEdit.value.copyTo = longTimeData!.ccRecipients;
|
|
|
|
|
- //问题整改阶段,后端拉取保存数据
|
|
|
|
|
- subData = savedData.value.find((item) => item.issuePhase === QuestionStatus.todo);
|
|
|
|
|
- atonceData = subData?.issueProcessMessageList.find(
|
|
|
|
|
- (item) => item.pushType === PushTypeStatus.atonce,
|
|
|
|
|
- );
|
|
|
|
|
- todoEdit.value.atProcessing = atonceData?.isEnabled === 1 ? true : false;
|
|
|
|
|
- expireData = subData?.issueProcessMessageList.find(
|
|
|
|
|
- (item) => item.pushType === PushTypeStatus.expire,
|
|
|
|
|
- );
|
|
|
|
|
- todoEdit.value.atExpiry = expireData?.isEnabled === 1 ? true : false;
|
|
|
|
|
- todoEdit.value.expiryTime = expireData!.overtime;
|
|
|
|
|
- longTimeData = subData?.issueProcessMessageList.find(
|
|
|
|
|
- (item) => item.pushType === PushTypeStatus.longtime,
|
|
|
|
|
- );
|
|
|
|
|
- todoEdit.value.atLongTimeExpiry = longTimeData?.isEnabled === 1 ? true : false;
|
|
|
|
|
- todoEdit.value.longTimeValue = longTimeData!.overtime;
|
|
|
|
|
- todoEdit.value.copyTo = longTimeData!.ccRecipients;
|
|
|
|
|
- //问题复核阶段,后端拉取保存数据
|
|
|
|
|
- subData = savedData.value.find((item) => item.issuePhase === QuestionStatus.toReview);
|
|
|
|
|
- atonceData = subData?.issueProcessMessageList.find(
|
|
|
|
|
- (item) => item.pushType === PushTypeStatus.atonce,
|
|
|
|
|
- );
|
|
|
|
|
- toReviewEdit.value.atProcessing = atonceData?.isEnabled === 1 ? true : false;
|
|
|
|
|
- expireData = subData?.issueProcessMessageList.find(
|
|
|
|
|
- (item) => item.pushType === PushTypeStatus.expire,
|
|
|
|
|
- );
|
|
|
|
|
- toReviewEdit.value.atExpiry = expireData?.isEnabled === 1 ? true : false;
|
|
|
|
|
- toReviewEdit.value.expiryTime = expireData!.overtime;
|
|
|
|
|
- longTimeData = subData?.issueProcessMessageList.find(
|
|
|
|
|
- (item) => item.pushType === PushTypeStatus.longtime,
|
|
|
|
|
- );
|
|
|
|
|
- toReviewEdit.value.atLongTimeExpiry = longTimeData?.isEnabled === 1 ? true : false;
|
|
|
|
|
- toReviewEdit.value.longTimeValue = longTimeData!.overtime;
|
|
|
|
|
- toReviewEdit.value.copyTo = longTimeData!.ccRecipients;
|
|
|
|
|
- //问题完成阶段,后端拉取保存数据
|
|
|
|
|
- subData = savedData.value.find((item) => item.issuePhase === QuestionStatus.finishe);
|
|
|
|
|
- atonceData = subData?.issueProcessMessageList.find(
|
|
|
|
|
- (item) => item.pushType === PushTypeStatus.atonce,
|
|
|
|
|
- );
|
|
|
|
|
- finisheEdit.value.atProcessing = atonceData?.isEnabled === 1 ? true : false;
|
|
|
|
|
});
|
|
});
|
|
|
};
|
|
};
|
|
|
|
|
|
|
@@ -775,4 +226,3 @@
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
</style>
|
|
</style>
|
|
|
-@/api/message/question-notifications
|
|
|