| | |
| | | :name="tab.name" |
| | | > |
| | | <basic-main-content> |
| | | <!-- 查询条件筛选栏 --> |
| | | <!-- 查询条件筛选栏 --> |
| | | <div class="ztzf-form-search"> |
| | | <el-form :model="filters" inline> |
| | | <el-row :gutter="24"> |
| | |
| | | </el-button> |
| | | </div> |
| | | </div> |
| | | <div class="titketBox"> |
| | | <div class="dataTable"> |
| | | <el-table |
| | | class="ztzf-public-general-el-table custom-header" |
| | |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | <el-pagination |
| | | <div class="pagination"> |
| | | <el-pagination |
| | | class="table-pagination" |
| | | v-model:current-page="page.currentPage" |
| | | v-model:page-size="page.pageSize" |
| | |
| | | @size-change="sizeChange" |
| | | @current-change="handleCurrentChange" |
| | | /> |
| | | </div> |
| | | </div> |
| | | </basic-main-content> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | |
| | | @draft-success="handleDraftSuccess" |
| | | @create-error="handleCreateError" |
| | | /> |
| | | |
| | | <!-- 工单详情对话框 --> |
| | | <ticket-detail-dialog |
| | | v-model="detailVisible" |
| | |
| | | :recheck-data="reCheckData" |
| | | @recheck-success="handleRecheckSuccess" |
| | | /> |
| | | |
| | | </basic-container> |
| | | </template> |
| | | |
| | |
| | | import { getAdcodeObj } from '@/utils/disposeData'; |
| | | import elTooltipCopy from '@/components/ElTooltipCopy.vue'; |
| | | import getBaseConfig from '@/buildConfig/config'; |
| | | |
| | | import RecheckDialog from '@/views/tickets/ticketComponent/RecheckDialog.vue'; |
| | | import DispatchDialog from '@/views/tickets/ticketComponent/DispatchDialog.vue'; |
| | | import CreateTicketDialog from '@/views/tickets/ticketComponent/CreateTicketDialog.vue'; |
| | |
| | | |
| | | algorithms: [], |
| | | algorithms2: [], |
| | | |
| | | statuses: [ |
| | | { label: '待审核', value: '2' }, |
| | | { label: '待处理', value: '0' }, |
| | |
| | | calcHeight: 196, |
| | | |
| | | column: [ |
| | | // { label: "序号", prop: "id", width: 70 }, |
| | | { label: '工单编号', prop: 'orderNumber', width: 170 }, |
| | | { label: '工单名称', prop: 'orderName', width: 150, overHidden: true, tooltip: true }, |
| | | { label: '所属部门', prop: 'department', overHidden: true, tooltip: true }, |
| | |
| | | }, |
| | | dialogVisible: false, |
| | | editFormData: null, // 专门用于存储编辑数据的对象 |
| | | |
| | | detailVisible: false, |
| | | currentDetail: {}, |
| | | |
| | |
| | | zoom: 15, |
| | | center: null, // 初始设为 null,等待动态设置 |
| | | }, |
| | | dispatchDepartment: '', // 新增:派发部门 |
| | | dispatchHandler: '', // 新增:派发处理人 |
| | | dispatchDialogVisible: false, // 新增:派发对话框可见性 |
| | | |
| | | stepInfos: [], // 新增:存储步骤信息 |
| | |
| | | |
| | | mounted() { |
| | | this.getAlgorithmList(); |
| | | |
| | | const href = this.$route.href; |
| | | if (this.$route?.query?.status !== undefined && this.$route?.query?.status !== null) { |
| | | this.filters.status = this.$route?.query?.status + ''; |
| | |
| | | this.filters.type = ''; |
| | | this.fetchTableData(); |
| | | }, |
| | | |
| | | // 上一项 |
| | | handlePrevItem() { |
| | | this.currentIndex = Math.max(0, this.currentIndex - 1); |
| | | this.updateCurrentDetail(); |
| | | }, |
| | | |
| | | // 下一项 |
| | | handleNextItem() { |
| | | this.currentIndex = Math.min(this.tableData.length - 1, this.currentIndex + 1); |
| | | this.updateCurrentDetail(); |
| | | }, |
| | | |
| | | // 更新当前详情 |
| | | updateCurrentDetail() { |
| | | this.currentDetail = this.tableData[this.currentIndex]; |
| | |
| | | this.currentDetail.latAndLon = _.round(this.currentDetail.location[0], 6) + ',' + _.round(this.currentDetail.location[1], 6); |
| | | this.getStepInfoData(this.currentDetail.orderNumber); |
| | | }, |
| | | |
| | | // 更新当前详情数据 |
| | | handleCurrentDetailUpdate(updatedDetail) { |
| | | this.currentDetail = updatedDetail; |
| | |
| | | })) || []; |
| | | |
| | | this.algorithms2 = _.cloneDeep(this.algorithms); |
| | | |
| | | // 构建用户ID和名称的映射关系 |
| | | this.userNameToIdMap = {}; |
| | | dept_data.forEach(dept => { |
| | |
| | | this.$message.error('加载下拉框数据失败'); |
| | | } |
| | | }, |
| | | |
| | | // 获取表格数据 |
| | | async fetchTableData() { |
| | | if (this.isFetching) return; |
| | |
| | | job_create_time: item.job_create_time || '', |
| | | isReview: item.is_review, // 添加复核状态字段映射 |
| | | |
| | | |
| | | }; |
| | | }); |
| | | |
| | | // 更新总数显示 |
| | | this.page.total = total || 0; |
| | | |
| | | // 是否弹出详情页 |
| | | if (this.isShowInfo) { |
| | | this.handleViewDetail(this.firstRowData); |
| | |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | .el-card__body { |
| | | height: 100%;} |
| | | .titketBox { |
| | | |
| | | flex: 1; |
| | | display: flex; |
| | | flex-direction: column; |
| | | } |
| | | .dataTable { |
| | | height: 565px; |
| | | overflow: auto; |
| | | height: 0; |
| | | flex: 1; |
| | | overflow: auto; |
| | | } |
| | | .pagination { |
| | | display: flex; |
| | | justify-content: flex-end; |
| | | margin-top: 20px; |
| | | position: fixed; |
| | | bottom: 30px; |
| | | left: 0; |
| | | right: 0; |
| | | padding: 0 30px; |
| | | |
| | | z-index: 1000; |
| | | } |
| | | :deep(.custom-header th.el-table__cell) { |
| | | color: rgba(0, 0, 0, 0.85); |