| | |
| | | </el-table> |
| | | |
| | | <!-- 事件处理详情 --> |
| | | <div v-if="[3, 4, 5].includes(currentDetail.status)" class="form-section"> |
| | | <div v-if="[3, 4].includes(currentDetail.status)" class="form-section"> |
| | | <div class="section-title"> |
| | | <!-- 处理中状态显示必填星号 --> |
| | | <template v-if="currentDetail.status === 3"> |
| | |
| | | <!-- <el-button v-if="hasProcessedAndOverBtnPermission()" type="primary" :loading="finalizeLoading" |
| | | @click="finalizeTicket">完结工单</el-button> --> |
| | | <el-button @click="detailVisible = false">取消</el-button> |
| | | </template> |
| | | <template v-else-if="currentDetail.status === 5"> |
| | | <!-- 已完结 --> |
| | | <el-button @click="detailVisible = false">关闭</el-button> |
| | | </template> |
| | | </div> |
| | | </div> |
| | |
| | | handler: [{ required: true, message: '请选择处理人', trigger: 'change' }], |
| | | }, // 新增:派发表单验证规则 |
| | | stepInfos: [], // 新增:存储步骤信息 |
| | | fixedStatuses: ['2', '0', '3', '4', '5'], // 固定的五个状态 |
| | | fixedStatuses: ['2', '0', '3', '4'], // 固定的五个状态 |
| | | userNameToIdMap: {}, // 新增用户名到ID的映射 |
| | | workType: 0, // 新增:当前工单work_type |
| | | selections: [], // 添加选中行数据数组 |
| | |
| | | // “我发起的工单”tab用默认流程,其它tab用接口返回的stepInfos |
| | | if (this.activeTab === 'myTickets') { |
| | | if (this.workType === 1) { |
| | | return ['3', '4', '5'] |
| | | return ['3', '4'] |
| | | } |
| | | return this.fixedStatuses |
| | | } |
| | | |
| | | |
| | | // 其它tab直接用接口返回的stepInfos |
| | | return this.stepInfos.map(step => String(step.status)) |
| | | }, |
| | | |
| | | showIsReviewText () { |
| | | return row => { |
| | | if (['4', '5'].includes(String(row.status))) return row.isReview === 1 ? '是' : '否' |
| | | if (['4'].includes(String(row.status))) return row.isReview === 1 ? '是' : '否' |
| | | |
| | | return '/' |
| | | } |
| | |
| | | create_time: step.create_time, |
| | | })) |
| | | } else { |
| | | const statusArr = this.workType === 1 ? ['3', '4', '5'] : this.fixedStatuses |
| | | const statusArr = this.workType === 1 ? ['3', '4'] : this.fixedStatuses |
| | | this.stepInfos = statusArr.map(status => { |
| | | const step = steps.find(s => String(s.status) === String(status)) |
| | | return { |
| | |
| | | this.currentDetail.status = row.status |
| | | } catch (error) { |
| | | if (this.activeTab === 'myTickets') { |
| | | const statusArr = this.workType === 1 ? ['3', '4', '5'] : this.fixedStatuses |
| | | const statusArr = this.workType === 1 ? ['3', '4'] : this.fixedStatuses |
| | | this.stepInfos = statusArr.map(status => ({ |
| | | status, |
| | | name: status === row.status ? row.handler || '未分配' : '未处理', |