| | |
| | | <div class="page"> |
| | | <div class="page-title"> |
| | | <div> |
| | | <h2>XCB助理审核</h2> |
| | | <p>分配承修单位、跟踪技术队和要求完工日期,审核后进入CMB领导审批</p> |
| | | <h2>rk_XCB助理审核</h2> |
| | | <p>分配承修单位、跟踪技术队和要求完工日期,审核后进入rk_CMB领导审批</p> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="toolbar query-toolbar"> |
| | | <span class="filter-label">X号</span> |
| | | <span class="filter-label">rk_X号</span> |
| | | <el-select v-model="query.xNo" placeholder="全部" clearable style="width:100px"> |
| | | <el-option v-for="item in xNumbers" :key="item" :label="item" :value="item"></el-option> |
| | | </el-select> |
| | | <span class="filter-label">T队专业</span> |
| | | <span class="filter-label">rk_T队专业</span> |
| | | <el-select v-model="query.teamMajor" placeholder="全部" clearable style="width:130px"> |
| | | <el-option v-for="item in teamMajors" :key="item.id" :label="item.name" :value="item.name"></el-option> |
| | | </el-select> |
| | |
| | | <el-select v-model="query.status" placeholder="全部" clearable style="width:180px"> |
| | | <el-option v-for="(meta, key) in taskStatuses" :key="key" :label="meta.text" :value="key"></el-option> |
| | | </el-select> |
| | | <el-input v-model="query.keyword" placeholder="故障编号/装备名称/工程名称及损坏情况" clearable style="width:320px" @keyup.enter.native="load"></el-input> |
| | | <el-input v-model="query.keyword" placeholder="故障编号/设备名称/工程名称及损坏情况" clearable style="width:320px" @keyup.enter.native="load"></el-input> |
| | | <el-button type="primary" icon="el-icon-search" @click="load">查询</el-button> |
| | | <el-button icon="el-icon-refresh-left" @click="resetQuery">重置</el-button> |
| | | <el-button icon="el-icon-refresh" @click="load">刷新</el-button> |
| | |
| | | <template slot-scope="{ row }"><el-tag size="mini" :type="taskMeta(row.taskStatus).type">{{ taskMeta(row.taskStatus).text }}</el-tag></template> |
| | | </el-table-column> |
| | | <el-table-column prop="faultCode" label="故障编号" width="180" fixed></el-table-column> |
| | | <el-table-column prop="xNo" label="X号" width="64"></el-table-column> |
| | | <el-table-column prop="equipmentName" label="装备名称" min-width="210" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="xNo" label="rk_X号" width="64"></el-table-column> |
| | | <el-table-column prop="equipmentName" label="设备名称" min-width="210" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="parentSystem" label="所属上级系统" min-width="120"></el-table-column> |
| | | <el-table-column prop="engineeringNameDesc" label="工程名称及损坏情况" min-width="210" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="repairRequirement" label="修理技术要求" min-width="200" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="engineeringMajor" label="工程专业" width="100"></el-table-column> |
| | | <el-table-column prop="teamMajor" label="T队专业" width="100"></el-table-column> |
| | | <el-table-column prop="teamMajor" label="rk_T队专业" width="100"></el-table-column> |
| | | <el-table-column prop="owner" label="负责人" width="90"></el-table-column> |
| | | <el-table-column prop="reportUnit" label="上报单位" min-width="130"></el-table-column> |
| | | <el-table-column prop="reportDate" label="上报日期" width="110" align="center"></el-table-column> |
| | |
| | | <el-table-column label="是否自修" width="90" align="center"> |
| | | <template slot-scope="{ row }">{{ yesNo(row.isSelfRepair) }}</template> |
| | | </el-table-column> |
| | | <el-table-column label="是否涉H" width="90" align="center"> |
| | | <el-table-column label="是否涉rk_H" width="90" align="center"> |
| | | <template slot-scope="{ row }">{{ yesNo(row.isHRelated) }}</template> |
| | | </el-table-column> |
| | | <el-table-column label="监测项目" width="90" align="center"> |
| | |
| | | |
| | | <fault-edit-dialog :visible.sync="editVisible" :fault="editingFault" @saved="onFaultSaved"></fault-edit-dialog> |
| | | |
| | | <el-dialog title="XCB助理审核" :visible.sync="dialogVisible" width="820px" append-to-body> |
| | | <el-dialog title="rk_XCB助理审核" :visible.sync="dialogVisible" width="820px" append-to-body> |
| | | <el-alert :closable="false" type="info" show-icon title="承修单位可多选。排序前7个作为常用承修单位优先显示,失信单位标记提醒。" style="margin-bottom:14px"></el-alert> |
| | | <el-form :model="form" label-width="105px"> |
| | | <el-form-item label="已选故障"> |
| | |
| | | api.get('/system/engineering-majors').then(res => { this.engineeringMajors = res.data || [] }) |
| | | }, |
| | | loadXNumbers() { |
| | | api.get('/system/tree', { params: { type: 'product' } }).then(res => { |
| | | const values = [] |
| | | const walk = nodes => { |
| | | if (!nodes) return |
| | | nodes.forEach(node => { |
| | | if (node.nodeType === 'X_NO' || node.nodeLevel === 2) values.push(node.name) |
| | | walk(node.children) |
| | | }) |
| | | } |
| | | walk(res.data) |
| | | this.xNumbers = Array.from(new Set(values.filter(Boolean))).sort((a, b) => a.localeCompare(b, 'zh-CN')) |
| | | }) |
| | | api.get('/system/tree/product/x-numbers').then(res => { this.xNumbers = res.data || [] }) |
| | | }, |
| | | editSelected() { |
| | | if (this.selection.length !== 1) return |
| | |
| | | api.post('/faults/cancel', { |
| | | ids: this.selection.map(item => item.id), |
| | | reason: this.cancelReason.trim(), |
| | | cancelledBy: sessionStorage.getItem('realName') || 'XCB助理' |
| | | cancelledBy: sessionStorage.getItem('realName') || 'rk_XCB助理' |
| | | }).then(() => { |
| | | this.$message.success('销项完成') |
| | | this.cancelVisible = false |