| | |
| | | <el-col :span="8"><el-form-item label="故障编号"><el-input v-model="form.faultCode" readonly placeholder="保存后自动生成"></el-input></el-form-item></el-col> |
| | | <el-col :span="8"><el-form-item label="上报单位"><el-input v-model="form.reportUnit"></el-input></el-form-item></el-col> |
| | | <el-col :span="8"><el-form-item label="上报日期"><el-date-picker v-model="form.reportDate" type="date" value-format="yyyy-MM-dd" style="width:100%"></el-date-picker></el-form-item></el-col> |
| | | <el-col :span="8"><el-form-item label="X号"><el-select v-model="form.xNo" filterable placeholder="请选择X号" style="width:100%"><el-option v-for="item in xNumbers" :key="item" :label="item" :value="item"></el-option></el-select></el-form-item></el-col> |
| | | <el-col :span="8"><el-form-item label="rk_X号"><el-select v-model="form.xNo" filterable placeholder="请选择rk_X号" style="width:100%"><el-option v-for="item in xNumbers" :key="item" :label="item" :value="item"></el-option></el-select></el-form-item></el-col> |
| | | <el-col :span="8"><el-form-item label="负责人"><el-input v-model="form.owner"></el-input></el-form-item></el-col> |
| | | <el-col :span="8"><el-form-item label="T队专业"><el-select v-model="form.teamMajor" style="width:100%"><el-option v-for="item in teamMajors" :key="item.id" :label="item.name" :value="item.name"></el-option></el-select></el-form-item></el-col> |
| | | <el-col :span="8"><el-form-item label="rk_T队专业"><el-select v-model="form.teamMajor" style="width:100%"><el-option v-for="item in teamMajors" :key="item.id" :label="item.name" :value="item.name"></el-option></el-select></el-form-item></el-col> |
| | | <el-col :span="8"><el-form-item label="工程专业"><el-select v-model="form.engineeringMajor" style="width:100%"><el-option v-for="item in engineeringMajors" :key="item.id" :label="item.name" :value="item.name"></el-option></el-select></el-form-item></el-col> |
| | | <el-col :span="16"> |
| | | <el-form-item label="装备名称" prop="equipmentName"> |
| | | <el-form-item label="设备名称" prop="equipmentName"> |
| | | <el-input v-model="form.equipmentName" readonly :title="form.equipmentName" placeholder="点击右侧按钮从产品结构树选设备,可多选"> |
| | | <el-button slot="append" icon="el-icon-s-grid" @click="pickerVisible = true">选择装备</el-button> |
| | | <el-button slot="append" icon="el-icon-s-grid" @click="pickerVisible = true">选择设备</el-button> |
| | | </el-input> |
| | | <div v-if="selectedEquipmentIds.length" class="field-tip">已选 {{ selectedEquipmentIds.length }} 台设备</div> |
| | | </el-form-item> |
| | |
| | | <el-col :span="8"><el-form-item label="是否自修"><el-switch v-model="form.isSelfRepair" :active-value="1" :inactive-value="0"></el-switch></el-form-item></el-col> |
| | | </el-row> |
| | | <el-row :gutter="16"> |
| | | <el-col :span="8"><el-form-item label="是否涉H"><el-switch v-model="form.isHRelated" :active-value="1" :inactive-value="0"></el-switch></el-form-item></el-col> |
| | | <el-col :span="8"><el-form-item label="是否涉rk_H"><el-switch v-model="form.isHRelated" :active-value="1" :inactive-value="0"></el-switch></el-form-item></el-col> |
| | | <el-col :span="8"><el-form-item label="是否监测项目"><el-switch v-model="form.isMonitorItem" :active-value="1" :inactive-value="0"></el-switch></el-form-item></el-col> |
| | | <el-col :span="8"><el-form-item label="监测数值"><el-input v-model="form.monitorValue" :disabled="form.isMonitorItem !== 1"></el-input></el-form-item></el-col> |
| | | <el-col :span="24"><el-form-item label="重大故障描述"><el-input v-model="form.majorFaultDesc" type="textarea" :rows="2"></el-input></el-form-item></el-col> |
| | |
| | | natures: ['一般', '重大'], |
| | | form: {}, |
| | | rules: { |
| | | equipmentName: [{ required: true, message: '请选择装备名称', trigger: 'change' }], |
| | | equipmentName: [{ required: true, message: '请选择设备名称', trigger: 'change' }], |
| | | engineeringNameDesc: [{ required: true, message: '请填写工程名称及损坏情况', trigger: 'blur' }] |
| | | } |
| | | } |
| | |
| | | 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 || [] }) |
| | | }, |
| | | onEquipmentSelected(nodes) { |
| | | const selected = Array.isArray(nodes) ? nodes : [nodes] |