| | |
| | | <el-form :model="queryParams" ref="queryForm" size="small" :inline="true"> |
| | | <el-form-item label="关键词" prop="keyword"> |
| | | <el-input |
| | | v-model="queryParams.menuName" |
| | | v-model="queryParams.keyword" |
| | | placeholder="关键词搜索" |
| | | clearable |
| | | @keyup.enter.native="page" |
| | | @clear="page" |
| | | /> |
| | | </el-form-item> |
| | | <el-form-item label="故障类型" prop="errorTypeList"> |
| | | <el-select v-model="queryParams.errorTypeList" multiple placeholder="故障类型" clearable @change="page" @clear="page"> |
| | | <el-option v-for="dict in dict.type.error_type" |
| | | :value="dict.value" |
| | | :label="dict.label"/> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="下发状态" prop="status"> |
| | | <el-select v-model="queryParams.status" @change="page" placeholder="下发状态" clearable> |
| | |
| | | <span style="font-weight: bold;font-size: 16px">快捷下发</span> |
| | | <el-form ref="fastDistributeForm" :model="fastDistributeForm" :rules="fastDistributeRules" label-width="80px"> |
| | | <el-form-item label="快捷方式" prop="fastWay"> |
| | | <el-radio v-model="fastDistributeForm.fastWay" label="LAST_HALF_HOUR">最近30分钟</el-radio> |
| | | <el-radio v-model="fastDistributeForm.fastWay" label="LAST_HOUR">最近1小时</el-radio> |
| | | <el-radio v-model="fastDistributeForm.fastWay" label="LAST_TWO_HOUR">最近2小时</el-radio> |
| | | <el-radio v-model="fastDistributeForm.fastWay" label="LAST_DAY">最近1天</el-radio> |
| | |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="故障类型" prop="errorType"> |
| | | <el-select v-model="fastDistributeForm.errorType"> |
| | | <el-option label="市政施工" value="市政施工"/> |
| | | <el-option label="设备故障" value="设备故障"/> |
| | | <el-option label="设备遗失" value="设备遗失"/> |
| | | <el-select v-model="fastDistributeForm.errorType" multiple> |
| | | <el-option v-for="dict in dict.type.error_type" |
| | | :value="dict.value" |
| | | :key="dict.value" |
| | | :label="dict.label"/> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="数量限制" prop="fastNumLimit"> |
| | |
| | | <el-table v-loading="loading" :data="workOrderList" @selection-change="handleSelectionChange"> |
| | | <el-table-column type="selection" width="55" align="center" /> |
| | | <el-table-column label="工单号" align="center" prop="workOrderNo"/> |
| | | <el-table-column label="运维单位" align="center" prop="unitName"/> |
| | | <el-table-column label="工单来源" align="center" prop="source"/> |
| | | <el-table-column label="国标码" align="center" prop="serialNumber"/> |
| | | <el-table-column label="故障点位" align="center" prop="source"> |
| | | <template slot-scope="scope"> |
| | | <el-popover |
| | | placement="right" |
| | | :title="scope.row.important ? '重点点位': '正常点位'" |
| | | width="200" |
| | | trigger="hover"> |
| | | <span :class="{important: scope.row.important}" slot="reference">{{ scope.row.source }}</span> |
| | | </el-popover> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="故障类型" align="center" prop="errorType"/> |
| | | <el-table-column label="运维单位" align="center" prop="unitName"/> |
| | | <el-table-column label="产生时间" align="center" prop="createTime"/> |
| | | <el-table-column v-if="queryParams.status === 'DISTRIBUTED'" label="下发人" align="center" prop="realName"/> |
| | | <el-table-column v-if="queryParams.status === 'DISTRIBUTED'" label="下发时间" align="center" prop="distributeTime"/> |
| | | </el-table> |
| | | |
| | | <pagination |
| | |
| | | </el-row> |
| | | |
| | | <!-- 添加或修改【请填写功能名称】对话框 --> |
| | | <el-dialog :title="detailName" :visible.sync="open" width="500px" append-to-body> |
| | | <el-dialog title="手动新增工单" :visible.sync="open" width="500px" append-to-body> |
| | | <el-form ref="form" :model="form" :rules="rules" label-width="80px"> |
| | | <el-form-item label="运维单位" prop="unitId"> |
| | | <el-select v-model="form.unitId" placeholder="请选择"> |
| | |
| | | </el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="工单来源" prop="source"> |
| | | <el-form-item label="故障点位" prop="source"> |
| | | <el-select |
| | | v-model="form.source" |
| | | filterable |
| | | remote |
| | | reserve-keyword |
| | | placeholder="请选择来源" |
| | | placeholder="国标码/点位名称搜索" |
| | | :remote-method="remoteGetPoints" |
| | | @change="setPointId" |
| | | :loading="selectLoading"> |
| | |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="故障类型" prop="errorType"> |
| | | <el-select v-model="form.errorType"> |
| | | <el-option label="市政施工" value="市政施工"/> |
| | | <el-option label="设备故障" value="设备故障"/> |
| | | <el-option label="设备遗失" value="设备遗失"/> |
| | | <el-select v-model="form.errorType" multiple> |
| | | <el-option v-for="dict in dict.type.error_type" |
| | | :value="dict.value" |
| | | :key="dict.value" |
| | | :label="dict.label"/> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-form> |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="submitForm">确 定</el-button> |
| | | <el-button @click="cancel">取 消</el-button> |
| | | <el-button type="primary" @click="submitForm">确 定</el-button> |
| | | </div> |
| | | </el-dialog> |
| | | |
| | |
| | | import {workList} from "@/api/platform/unit"; |
| | | import { pointSelectData } from "@/api/platform/point"; |
| | | export default { |
| | | dicts: ['error_type'], |
| | | name: 'index', |
| | | data() { |
| | | return { |
| | |
| | | methods: { |
| | | setPointId(selectedValue) { |
| | | const selectedItem = this.pointList.find(item => item.value === selectedValue); |
| | | this.form.pointId = selectedItem.id |
| | | this.form.serialNumber = selectedItem.id |
| | | }, |
| | | submitSetting() { |
| | | this.$refs['settingForm'].validate((valid) => { |
| | |
| | | }, |
| | | page() { |
| | | this.loading = true; |
| | | this.selectUnit(); |
| | | distributeWorkOrder(this.queryParams).then(res => { |
| | | this.workOrderList = res.data.records; |
| | | this.total = res.total; |
| | | this.loading = false; |
| | | distributeWorkOrder(this.queryParams).then(data => { |
| | | workList(this.queryParams).then(res => { |
| | | this.unitList = res.data; |
| | | this.workOrderList = data.data.records; |
| | | this.total = data.total; |
| | | this.loading = false; |
| | | }) |
| | | }) |
| | | }, |
| | | changeUnit(unitId, unitName) { |
| | |
| | | console.log(key, keyPath); |
| | | }, |
| | | getList() { |
| | | |
| | | this.page() |
| | | }, |
| | | // 多选框选中数据 |
| | | handleSelectionChange(selection) { |
| | | this.multipleSelection = selection.map(item => item.id) |
| | | this.multipleSelection = selection.map(item => item.workOrderNo) |
| | | }, |
| | | /** 新增按钮操作 */ |
| | | handleAdd() { |
| | |
| | | } else { |
| | | addWorkOrder(this.form).then(response => { |
| | | this.$modal.msgSuccess("新增成功"); |
| | | this.pointList = []; |
| | | this.open = false; |
| | | this.page(); |
| | | }); |
| | |
| | | }, |
| | | // 运维公司下拉数据 |
| | | selectUnit() { |
| | | workList().then(res => { |
| | | workList(this.queryParams).then(res => { |
| | | this.unitList = res.data; |
| | | }) |
| | | }, |
| | |
| | | </script> |
| | | |
| | | <style scoped> |
| | | .important { |
| | | color: red; |
| | | } |
| | | /deep/ .el-popover__title { |
| | | margin-bottom: 0px; |
| | | } |
| | | .row { |
| | | padding: 0 20px; |
| | | } |