| | |
| | | <el-row class="op-warp"> |
| | | <el-row v-show="showSearch"> |
| | | <el-form :model="queryParams" ref="queryForm" size="small" :inline="true"> |
| | | <el-form-item label="关键词" prop="keyword"> |
| | | <el-form-item label="关键字" prop="keyword"> |
| | | <el-input |
| | | v-model="queryParams.keyword" |
| | | placeholder="关键词搜索" |
| | | 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-cascader |
| | | v-model="queryParams.errorType" |
| | | :options="errorTypeList" |
| | | :props="{ expandTrigger: 'hover',emitPath: false }" |
| | | :show-all-levels="false" |
| | | @change="page" |
| | | placeholder="故障类型" |
| | | clearable |
| | | ></el-cascader> |
| | | </el-form-item> |
| | | <el-form-item label="下发状态" prop="status"> |
| | | <el-select v-model="queryParams.status" @change="page" placeholder="下发状态" clearable> |
| | | <el-option label="未下发" value="WAIT_DISTRIBUTE"/> |
| | | <el-option label="已下发" value="DISTRIBUTED"/> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item label="时间范围" prop="timeRange" > |
| | | <el-date-picker |
| | | v-model="timeRange" |
| | | type="daterange" |
| | | range-separator="至" |
| | | value-format="yyyy-MM-dd" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | @change="page" |
| | | clearable |
| | | > |
| | | </el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" icon="el-icon-search" size="small" @click="page">搜索</el-button> |
| | |
| | | <el-button slot="reference" type="primary" size="mini" plain>快捷下发</el-button> |
| | | </el-popover> |
| | | <el-button size="mini" plain type="success" @click="handleAdd">手动新增工单</el-button> |
| | | <el-popconfirm |
| | | @confirm="delDistribute" |
| | | title="确定要删除所选工单吗?" |
| | | > |
| | | <el-button size="mini" plain type="danger" class="op" slot="reference">批量删除</el-button> |
| | | </el-popconfirm> |
| | | <el-popconfirm |
| | | @confirm="allDistribute" |
| | | title="确定要下发所有工单吗?" |
| | | > |
| | | <el-button size="mini" plain type="danger" class="op" slot="reference">全部下发</el-button> |
| | | </el-popconfirm> |
| | | <right-toolbar :showSearch.sync="showSearch" @queryTable="page"></right-toolbar> |
| | | </el-row> |
| | | </el-row> |
| | |
| | | <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="serialNumber"/> |
| | | <el-table-column label="故障点位" align="center" prop="source"> |
| | | <template slot-scope="scope"> |
| | | <el-popover |
| | |
| | | <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-column v-if="queryParams.status === 'DISTRIBUTED'" label="下发时间" align="center" prop="distributeTime"/>0 |
| | | <el-table-column label="操作" align="center" v-if="queryParams.status === 'WAIT_DISTRIBUTE'"> |
| | | <template slot-scope="scope"> |
| | | <el-button size="mini" type="text" @click="delWorkOrderClick(scope.row)" v-show="scope.row.status === 'WAIT_DISTRIBUTE'"> |
| | | 删除 |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | |
| | | <pagination |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import {distributeWorkOrder, fastDistribute, addWorkOrder, updateWorkOrder, selectedIdsDistribute} from '@/api/platform/work-order' |
| | | import {distributeWorkOrder, fastDistribute, addWorkOrder, updateWorkOrder, selectedIdsDistribute, errorTypeAll} from '@/api/platform/work-order' |
| | | import {workList} from "@/api/platform/unit"; |
| | | import { pointSelectData } from "@/api/platform/point"; |
| | | import {delWorkOrder,delWorkOrderByIds} from "../../../../api/platform/work-order"; |
| | | export default { |
| | | dicts: ['error_type'], |
| | | name: 'index', |
| | | name: 'Work-order-distribute', |
| | | data() { |
| | | return { |
| | | showDel:false, |
| | | errorTypeList: [], // 用于存储选中的项目ID |
| | | showSearch: true, |
| | | selectedIdsDistributeForm: { |
| | | ids: [], |
| | |
| | | multipleSelection: [], |
| | | // 下发时间范围 |
| | | fastTimeRange: [], |
| | | timeRange : null, |
| | | // 下发 |
| | | fastDistributeForm: { |
| | | fastWay: null, |
| | |
| | | } |
| | | }, |
| | | mounted() { |
| | | const today = new Date(); |
| | | const start = today.toISOString().split('T')[0]; // 获取日期部分,格式为 yyyy-MM-dd |
| | | const end = start; // 结束日期也是当天 |
| | | this.timeRange = [start, end]; |
| | | this.getErrorList() |
| | | this.page(); |
| | | }, |
| | | computed: { |
| | |
| | | }, |
| | | }, |
| | | methods: { |
| | | delDistribute(){ |
| | | console.log(this.multipleSelection) |
| | | this.multipleSelection.forEach(item =>{ |
| | | console.log(item) |
| | | }) |
| | | delWorkOrderByIds(this.multipleSelection).then(res =>{ |
| | | if (res.code === 200){ |
| | | this.$message.success("删除成功!") |
| | | } |
| | | this.page(); |
| | | }) |
| | | }, |
| | | delWorkOrderClick(row){ |
| | | delWorkOrder(row.id) |
| | | this.page() |
| | | }, |
| | | getErrorList() { |
| | | errorTypeAll().then(errorRes => { |
| | | this.errorTypeList = errorRes.data; |
| | | }) |
| | | }, |
| | | setPointId(selectedValue) { |
| | | const selectedItem = this.pointList.find(item => item.value === selectedValue); |
| | | this.form.serialNumber = selectedItem.id |
| | |
| | | }, |
| | | page() { |
| | | this.loading = true; |
| | | if (this.timeRange && this.timeRange.length > 0) { |
| | | this.queryParams.start = this.timeRange[0] |
| | | this.queryParams.end = this.timeRange[1] |
| | | }else { |
| | | this.queryParams.start = null |
| | | this.queryParams.end = null |
| | | } |
| | | distributeWorkOrder(this.queryParams).then(data => { |
| | | workList(this.queryParams).then(res => { |
| | | this.unitList = res.data; |
| | |
| | | }, |
| | | // 多选框选中数据 |
| | | 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(); |
| | | }); |