Commit f7e67489 by zhaopanyu

zpy 7.31

parent d60c41a5
import request from "@/utils/request";
// 查看所有后勤报修信息
export function listRepairs(query) {
return request({
url: "/repairs/listAll",
method: "get",
params: query,
});
}
// 查询报修信息详情
export function getRepairs(id) {
return request({
url: "/repairs/" + id,
method: "get",
});
}
//反馈结果接口
export function submitRepairs(data) {
return request({
url: "/repairs",
method: "put",
data: data,
});
}
//派单接口
export function dispatchRepairs(data) {
return request({
url: "/repairs",
method: "put",
data: data,
});
}
<template>
<div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="报修单号">
<el-input v-model="queryParams.id" placeholder="请输入报修单号" clearable></el-input>
</el-form-item>
<el-form-item label="报修人">
<el-input v-model="queryParams.repairsName" placeholder="请输入人" clearable></el-input>
</el-form-item>
<el-form-item label="报修时间" prop="repairsTime">
<el-date-picker v-model="queryParams.repairsTime" type="datetime" placeholder="选择日期时间"
value-format="yyyy-MM-dd HH:mm:ss" clearable>
</el-date-picker>
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['system:application:add']">新增
</el-button>
</el-col>
</el-row>
<!-- 表格数据 -->
<el-tabs v-model="activeTab">
<el-tab-pane label="未完成" name="unfinished">
<el-table data="applyTablewjd" border style="width: 100%" :header-cell-style="{ background: '#f6f9fe' }">
<el-table-column align="center" type="index" label="序号" width="80px " />
<el-table-column align="center" prop="id" label="报修单号" />
<el-table-column align="center" prop="repairsName" label="报修人" />
<el-table-column align="center" prop="phone" label="联系方式" />
<el-table-column align="center" prop="repairsTime" label="报修时间" />
<el-table-column align="center" prop="failureEquipment" label="故障设备" />
<el-table-column align="center" prop="failureEquipmentArea" label="设备地点" />
<el-table-column align="center" prop="failureEquipmentDescribe" label="故障描述" />
<el-table-column align="center" prop="maintainResult" label="维修结果" />
<el-table-column align="center" prop="maintainState" label="维修状态">
<template slot-scope="{ row }">
{{ row.maintainState == 1 ? "未接单" : row.maintainState == 2 ? "维修中" : "已维修 " }}
</template>
</el-table-column>
<el-table-column label="操作" width="180px" align="center" fixed="right"
class-name="small-padding fixed-width">
<template slot-scope="{ row }">
<div v-if="row.maintainState === 3">
<el-button size="mini" type="text" icon="el-icon-search" @click="handleLook(row)">
查看
</el-button>
</div>
<div v-else-if="row.maintainState === 1">
<el-button size="mini" type="text" icon="el-icon-search" @click="handleLook(row)">
查看
</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(row)"
v-hasPermi="['system:application:remove']">
修改
</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(row)"
v-hasPermi="['system:application:remove']">
删除
</el-button>
</div>
<div v-else>
<el-button size="mini" type="text" icon="el-icon-s-promotion" @click="submitApply(row)"
v-hasPermi="['system:application:edit']">
反馈结果
</el-button>
<el-button size="mini" type="text" icon="el-icon-search" @click="handleLook(row)">
查看
</el-button>
</div>
</template>
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="不能维修" name="cannotRepair">
<el-table :data="applyTablewxz" border style="width: 100%" :header-cell-style="{ background: '#f6f9fe' }">
<el-table-column align="center" type="index" label="序号" width="80px " />
<el-table-column align="center" prop="id" label="报修单号" />
<el-table-column align="center" prop="repairsName" label="报修人" />
<el-table-column align="center" prop="phone" label="联系方式" />
<el-table-column align="center" prop="repairsTime" label="报修时间" />
<el-table-column align="center" prop="failureEquipment" label="故障设备" />
<el-table-column align="center" prop="failureEquipmentArea" label="设备地点" />
<el-table-column align="center" prop="failureEquipmentDescribe" label="故障描述" />
<el-table-column align="center" prop="maintainResult" label="维修结果" />
<el-table-column align="center" prop="maintainState" label="维修状态">
<template slot-scope="{ row }">
{{ row.maintainState == 1 ? "未接单" : row.maintainState == 2 ? "维修中" : "已维修 " }}
</template>
</el-table-column>
<el-table-column label="操作" width="180px" align="center" fixed="right"
class-name="small-padding fixed-width">
<template slot-scope="{ row }">
<div v-if="row.maintainState === 3">
<el-button size="mini" type="text" icon="el-icon-search" @click="handleLook(row)">
查看
</el-button>
</div>
<div v-else-if="row.maintainState === 1">
<el-button size="mini" type="text" icon="el-icon-search" @click="handleLook(row)">
查看
</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(row)"
v-hasPermi="['system:application:remove']">
修改
</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(row)"
v-hasPermi="['system:application:remove']">
删除
</el-button>
</div>
<div v-else>
<el-button size="mini" type="text" icon="el-icon-s-promotion" @click="submitApply(row)"
v-hasPermi="['system:application:edit']">
反馈结果
</el-button>
<el-button size="mini" type="text" icon="el-icon-search" @click="handleLook(row)">
查看
</el-button>
</div>
</template>
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="已维修" name="repaired">
<el-table :data="applyTableywc" border style="width: 100%" :header-cell-style="{ background: '#f6f9fe' }">
<el-table-column align="center" type="index" label="序号" width="80px " />
<el-table-column align="center" prop="id" label="报修单号" />
<el-table-column align="center" prop="repairsName" label="报修人" />
<el-table-column align="center" prop="phone" label="联系方式" />
<el-table-column align="center" prop="repairsTime" label="报修时间" />
<el-table-column align="center" prop="failureEquipment" label="故障设备" />
<el-table-column align="center" prop="failureEquipmentArea" label="设备地点" />
<el-table-column align="center" prop="failureEquipmentDescribe" label="故障描述" />
<el-table-column align="center" prop="maintainResult" label="维修结果" />
<el-table-column align="center" prop="maintainState" label="维修状态">
<template slot-scope="{ row }">
{{ row.maintainState == 1 ? "未接单" : row.maintainState == 2 ? "维修中" : "已维修 " }}
</template>
</el-table-column>
<el-table-column label="操作" width="180px" align="center" fixed="right"
class-name="small-padding fixed-width">
<template slot-scope="{ row }">
<div v-if="row.maintainState === 3">
<el-button size="mini" type="text" icon="el-icon-search" @click="handleLook(row)">
查看
</el-button>
</div>
<div v-else-if="row.maintainState === 1">
<el-button size="mini" type="text" icon="el-icon-search" @click="handleLook(row)">
查看
</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(row)"
v-hasPermi="['system:application:remove']">
修改
</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(row)"
v-hasPermi="['system:application:remove']">
删除
</el-button>
</div>
<div v-else>
<el-button size="mini" type="text" icon="el-icon-s-promotion" @click="submitApply(row)"
v-hasPermi="['system:application:edit']">
反馈结果
</el-button>
<el-button size="mini" type="text" icon="el-icon-search" @click="handleLook(row)">
查看
</el-button>
</div>
</template>
</el-table-column>
</el-table>
</el-tab-pane>
</el-tabs>
<!-- 新增/修改对话框 -->
<el-dialog :title="title" :visible.sync="open" width="1200px" append-to-body @close="cancel">
<el-form ref="postForm" :model="postForm" :rules="rules" label-width="110px">
<el-row>
<el-col :span="12">
<el-form-item label="报修单号" prop="id">
<el-input v-model="postForm.id" placeholder="报修单号"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="报修人" prop="repairsName">
<el-input v-model="postForm.repairsName" placeholder="报修人"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="联系方式" prop="phone">
<el-input v-model="postForm.phone" placeholder="联系方式"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="报修时间" prop="repairsTime">
<el-date-picker v-model="postForm.repairsTime" type="datetime" placeholder="选择日期时间"
value-format="yyyy-MM-dd HH:mm:ss" :style="{ width: '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="故障设备" prop="failureEquipment">
<el-input v-model="postForm.failureEquipment" placeholder="故障设备"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="故障设备地点" prop="failureEquipmentArea">
<el-input v-model="postForm.failureEquipmentArea" placeholder="故障设备地点"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="故障描述" prop="failureEquipmentDescribe">
<el-input type="textarea" v-model="postForm.failureEquipmentDescribe"
placeholder="故障描述"></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div style="text-align: center">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
<!-- 查看对话框 -->
<el-dialog :title="title" :visible.sync="openLook" width="1200px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="120px">
<el-row>
<el-col :span="12">
<el-form-item label="维修人" prop="maintainName">
<el-input v-model="form.maintainName" placeholder="维修人"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="维修人联系方式" prop="maintainPhone">
<el-input v-model="form.maintainPhone" placeholder="维修人联系方式"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="维修结果" prop="maintainResult">
<el-input v-model="form.maintainResult" placeholder="保修结果"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="评价" prop="phevaluateone">
<el-rate v-model="form.evaluate" :max="5"></el-rate>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="报修单号" prop="id">
<el-input v-model="form.id" placeholder="报修单号"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="报修人" prop="repairsName">
<el-input v-model="form.repairsName" placeholder="报修人"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="联系方式" prop="phone">
<el-input v-model="form.phone" placeholder="联系方式"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="报修时间" prop="repairsTime">
<el-date-picker v-model="form.repairsTime" type="datetime" placeholder="选择日期时间"
value-format="yyyy-MM-dd HH:mm:ss" :style="{ width: '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="故障设备" prop="failureEquipment">
<el-input v-model="form.failureEquipment" placeholder="故障设备"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="故障设备地点" prop="failureEquipmentArea">
<el-input v-model="form.failureEquipmentArea" placeholder="故障设备地点"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<el-form-item label="故障描述" prop="failureEquipmentDescribe">
<el-input type="textarea" v-model="form.failureEquipmentDescribe" placeholder="故障描述"></el-input>
</el-form-item>
</el-col>
</el-row>
<!-- </div> -->
</el-form>
<div style="text-align: center">
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
<!--反馈结果对话框 -->
<el-dialog :title="title" :visible.sync="openfk" width="1100px" append-to-body @close="cancel">
<el-form ref="formfk" :model="formfk" :rules="rules" label-width="100px">
<el-form-item label="报修单号" prop="id">
<el-input v-model="formfk.id" placeholder="报修单号"></el-input>
</el-form-item>
<el-form-item class="hidden-item" label="" prop="maintainState">
<el-input v-model="formfk.maintainState" placeholder="维修状态"></el-input>
</el-form-item>
<el-form-item label="报修结果" prop="maintainResult">
<el-input v-model="formfk.maintainResult" placeholder="报修结果"></el-input>
</el-form-item>
<el-form-item label="评价" prop="phevaluateone">
<el-rate v-model="formfk.evaluate" :max="5"></el-rate>
</el-form-item>
</el-form>
<div style="text-align: center">
<el-button type="primary" @click="submitFormfk">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div>
</template>
<script>
import {
listRepairs,// 查看所有后勤报修信息
getRepairs,// 查询报修信息详情
submitRepairs,//反馈结果接口
dispatchRepairs//派单
} from "@/api/smartSchool/logisticsManage/repairReport";
export default {
name: 'logisticsWarranty',
dicts: ['maintain_state'],
data() {
return {
activeTab: 'unfinished', // 默认显示未完成选项卡
applyTable: [],
applyTablewjd: [],
maintainState: '',
queryParams: {
id: "",
repairsTime: "",
maintainState: "",
},
// 表格数据
applyTable: [],
// 查询表单
queryForm: {
pageNum: 1,
pageSize: 10,
},
// 遮罩层
loading: false,
// 选中数组
ids: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 是否只读
readonly: false,
// 多个禁用
multi: false,
// 显示搜索条件
showSearch: true,
// 信息列表
infoList: [],
// 数据总数
total: 0,
// 新增/修改表单
postForm: {
},
// 反馈结果
formfk: {
id: "",
maintainResult: "",
maintainState: "3",
evaluate: "",
},
// 是否显示新增弹出层
open: false,
// 查看对话框
openLook: false,
// 反馈对话框
openfk: false,
// // 表单校验
rules: {
phone: [
{ required: true, message: "联系方式不能为空", trigger: "blur" }
],
repairsTime: [
{ required: true, message: "保修时间不能为空", trigger: "blur" }
],
failureEquipment: [
{ required: true, message: "故障设备不能为空", trigger: "blur" }
],
failureEquipmentArea: [
{ required: true, message: "故障设备地点不能为空", trigger: "blur" }
],
failureEquipmentDescribe: [
{ required: true, message: "故障设备描述", trigger: "blur" }
],
},
// 弹出层标题
title: '',
form: {
id: "",
maintainResult: "",
evaluate: "",
}
}
},
mounted() {
this.formfk.evaluate = 5;
this.$nextTick(() => {
this.getList();
});
},
created() {
this.getList();
},
methods: {
/** 获取列表数据 */
getList() {
this.loading = true;
listRepairs(this.queryParams)
.then(response => {
this.loading = false;
this.applyTable = response.rows;
console.log('this.applyTable', this.applyTable);
this.applyTablewjd = response.rows.filter(item => item.maintainState === 1);
console.log('this.applyTablewjd', this.applyTablewjd);
console.log('this.applyTable', this.applyTable);
this.total = response.total;
})
.catch(err => {
this.loading = false;
});
},
// 搜索按钮
handleQuery() {
this.throttle(() => {
this.queryForm.pageNum = 1;
this.getList();
})
},
/** 查看 */
handleLook(row) {
this.form = row;
const id = row.id || this.ids;
getRepairs(id).then(response => {
this.form = response.data;
console.log('this.form', this.form);
this.openLook = true;
}).catch(err => {
})
this.title = "查看报修情况";
},
// 重置按钮
resetQuery() {
this.queryParams = {
id: "",
repairsTime: null,
pageNum: 1,
pageSize: 10,
}
this.handleQuery(); // 重新发一次请求
},
// 新增按钮操作
handleAdd() {
this.reset();
numberRepairs().then((response) => {
this.postForm.id = response.data.id;
console.log('this.postForm.id', this.postForm.id);
this.postForm.repairsName = this.$store.state.user.name;
this.postForm.phone = this.$store.state.user.teacher.teacherTel;
console.log(123, this.postForm.repairsName);
console.log(123, this.postForm.phone);
// 设置 isNew 为 true,表示当前是新增操作
this.isNew = true;
this.open = true;
this.title = "添加申请";
});
},
// 修改按钮操作
handleUpdate(row) {
const id = row.id || this.ids;
this.title = "修改申请";
getRepairs(id).then(response => {
this.postForm = response.data;
this.open = true;
}).catch(err => {
})
},
/** 删除按钮操作 */
handleDelete(row) {
const ids = row.id || this.ids;
this.$modal.confirm('是否确认删除"' + ids + '"的数据项?').then(function () {
return delRepairs(ids);
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => { });
},
// 提交表单
submitForm() {
this.throttle(() => {
this.$refs["postForm"].validate(valid => {
if (valid) {
this.$modal.loading('正在上传数据,请稍等...');
if (this.isNew) {
// 新增操作
addRepairs(this.postForm).then(response => {
this.$modal.closeLoading();
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
}).catch(err => {
this.$modal.closeLoading();
});
} else {
// 修改操作
updateRepairs(this.postForm).then(response => {
this.$modal.closeLoading();
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
}).catch(err => {
this.$modal.closeLoading();
});
}
}
});
})
},
// 反馈结果按钮
submitFormfk() {
this.$refs.formfk.validate((valid) => {
if (valid) {
const newObj = {};
newObj.id = this.formfk.id;
newObj.maintainResult = this.formfk.maintainResult;
newObj.maintainState = this.formfk.maintainState;
newObj.evaluate = this.formfk.evaluate;
console.log('newObj', newObj);
console.log(newObj.maintainState);
submitRepairs(newObj)
.then((response) => {
this.$modal.msgSuccess("反馈成功");
this.openfk = false;
this.formfk.maintainResult = '';
this.getList();
})
.catch((error) => {
// 处理错误
});
} else {
return false;
}
});
},
// 取消按钮
cancel() {
this.open = false;
this.openLook = false;
this.openfk = false;
// this.resetQuery();
this.reset();
},
reset() {
// 这里需要重置对话框表单
this.postForm = {
};
this.resetForm('postForm');
},
// 反馈结果
submitApply(row) {
const id = row.id || this.ids;
getRepairs(id).then(response => {
this.formfk.id = response.data.id;
console.log('this.form', this.form);
this.openfk = true;
this.formfk.maintainResult = '';
this.title = "反馈结果";
})
},
}
}
</script>
<style>
.hidden-item {
display: none;
}
</style>
...@@ -20,15 +20,63 @@ ...@@ -20,15 +20,63 @@
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd"
v-hasPermi="['system:application:add']">新增
</el-button>
</el-col>
</el-row>
<!-- 表格数据 --> <!-- 表格数据 -->
<el-table :data="applyTable" border style="width: 100%" :header-cell-style="{ background: '#f6f9fe' }"> <el-tabs v-model="activeTab">
<el-tab-pane label="未接单" name="incomplete">
<el-table :data="applyTableinco" border style="width: 100%" :header-cell-style="{ background: '#f6f9fe' }">
<el-table-column align="center" type="index" label="序号" width="80px " />
<el-table-column align="center" prop="id" label="报修单号" />
<el-table-column align="center" prop="repairsName" label="报修人" />
<el-table-column align="center" prop="phone" label="联系方式" />
<el-table-column align="center" prop="repairsTime" label="报修时间" />
<el-table-column align="center" prop="failureEquipment" label="故障设备" />
<el-table-column align="center" prop="failureEquipmentArea" label="设备地点" />
<el-table-column align="center" prop="failureEquipmentDescribe" label="故障描述" />
<el-table-column align="center" prop="maintainResult" label="维修结果" />
<el-table-column align="center" prop="maintainState" label="维修状态">
<template slot-scope="{ row }">
{{ row.maintainState == 1 ? "未接单" : row.maintainState == 2 ? "维修中" : "已维修 " }}
</template>
</el-table-column>
<el-table-column label="操作" width="180px" align="center" fixed="right"
class-name="small-padding fixed-width">
<template slot-scope="{ row }">
<div v-if="row.maintainState === 3">
<el-button size="mini" type="text" icon="el-icon-search" @click="handleLook(row)">
查看
</el-button>
</div>
<div v-else-if="row.maintainState === 1">
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(row)"
v-hasPermi="['system:application:remove']">
派单
</el-button>
<el-button size="mini" type="text" icon="el-icon-search" @click="handleLook(row)">
查看
</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(row)"
v-hasPermi="['system:application:remove']">
删除
</el-button>
</div>
<div v-else>
<el-button size="mini" type="text" icon="el-icon-search" @click="handleLook(row)">
查看
</el-button>
</div>
</template>
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="维修中" name="notRepairable">
<el-table :data="applyTablenot" border style="width: 100%" :header-cell-style="{ background: '#f6f9fe' }">
<el-table-column align="center" type="index" label="序号" width="80px " /> <el-table-column align="center" type="index" label="序号" width="80px " />
<el-table-column align="center" prop="id" label="报修单号" /> <el-table-column align="center" prop="id" label="报修单号" />
<el-table-column align="center" prop="repairsName" label="报修人" /> <el-table-column align="center" prop="repairsName" label="报修人" />
...@@ -44,7 +92,8 @@ ...@@ -44,7 +92,8 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" width="180px" align="center" fixed="right" class-name="small-padding fixed-width"> <el-table-column label="操作" width="180px" align="center" fixed="right"
class-name="small-padding fixed-width">
<template slot-scope="{ row }"> <template slot-scope="{ row }">
<div v-if="row.maintainState === 3"> <div v-if="row.maintainState === 3">
<el-button size="mini" type="text" icon="el-icon-search" @click="handleLook(row)"> <el-button size="mini" type="text" icon="el-icon-search" @click="handleLook(row)">
...@@ -57,7 +106,7 @@ ...@@ -57,7 +106,7 @@
</el-button> </el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(row)" <el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(row)"
v-hasPermi="['system:application:remove']"> v-hasPermi="['system:application:remove']">
修改 派单
</el-button> </el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(row)" <el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(row)"
v-hasPermi="['system:application:remove']"> v-hasPermi="['system:application:remove']">
...@@ -65,10 +114,58 @@ ...@@ -65,10 +114,58 @@
</el-button> </el-button>
</div> </div>
<div v-else> <div v-else>
<el-button size="mini" type="text" icon="el-icon-s-promotion" @click="submitApply(row)"
v-hasPermi="['system:application:edit']"> <el-button size="mini" type="text" icon="el-icon-search" @click="handleLook(row)">
反馈结果 查看
</el-button>
</div>
</template>
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="已完成" name="rePaired">
<el-table :data="applyTablerep" border style="width: 100%" :header-cell-style="{ background: '#f6f9fe' }">
<el-table-column align="center" type="index" label="序号" width="80px " />
<el-table-column align="center" prop="id" label="报修单号" />
<el-table-column align="center" prop="repairsName" label="报修人" />
<el-table-column align="center" prop="phone" label="联系方式" />
<el-table-column align="center" prop="repairsTime" label="报修时间" />
<el-table-column align="center" prop="failureEquipment" label="故障设备" />
<el-table-column align="center" prop="failureEquipmentArea" label="设备地点" />
<el-table-column align="center" prop="failureEquipmentDescribe" label="故障描述" />
<el-table-column align="center" prop="maintainResult" label="维修结果" />
<el-table-column align="center" prop="maintainState" label="维修状态">
<template slot-scope="{ row }">
{{ row.maintainState == 1 ? "未接单" : row.maintainState == 2 ? "维修中" : "已维修 " }}
</template>
</el-table-column>
<el-table-column label="操作" width="180px" align="center" fixed="right"
class-name="small-padding fixed-width">
<template slot-scope="{ row }">
<div v-if="row.maintainState === 3">
<el-button size="mini" type="text" icon="el-icon-search" @click="handleLook(row)">
查看
</el-button>
</div>
<div v-else-if="row.maintainState === 1">
<el-button size="mini" type="text" icon="el-icon-search" @click="handleLook(row)">
查看
</el-button>
<el-button size="mini" type="text" icon="el-icon-edit" @click="handleUpdate(row)"
v-hasPermi="['system:application:remove']">
派单
</el-button>
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleDelete(row)"
v-hasPermi="['system:application:remove']">
删除
</el-button> </el-button>
</div>
<div v-else>
<el-button size="mini" type="text" icon="el-icon-search" @click="handleLook(row)"> <el-button size="mini" type="text" icon="el-icon-search" @click="handleLook(row)">
查看 查看
</el-button> </el-button>
...@@ -79,59 +176,31 @@ ...@@ -79,59 +176,31 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
</el-tab-pane>
<!-- 新增/修改对话框 --> </el-tabs>
<el-dialog :title="title" :visible.sync="open" width="1200px" append-to-body @close="cancel"> <!-- 派单对话框 -->
<el-form ref="postForm" :model="postForm" :rules="rules" label-width="110px"> <el-dialog :title="title" :visible.sync="openpd" width="600px" append-to-body>
<el-row> <el-form ref="formpd" :model="formpd" :rules="rules" label-width="110px">
<el-col :span="12">
<el-form-item label="报修单号" prop="id">
<el-input v-model="postForm.id" placeholder="报修单号"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="报修人" prop="repairsName">
<el-input v-model="postForm.repairsName" placeholder="报修人"></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="联系方式" prop="phone">
<el-input v-model="postForm.phone" placeholder="联系方式"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="报修时间" prop="repairsTime">
<el-date-picker v-model="postForm.repairsTime" type="datetime" placeholder="选择日期时间"
value-format="yyyy-MM-dd HH:mm:ss" :style="{ width: '100%' }">
</el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row> <el-row>
<el-col :span="12"> <el-col :span="20">
<el-form-item label="故障设备" prop="failureEquipment"> <el-form-item label="维修人" prop="maintainName">
<el-input v-model="postForm.failureEquipment" placeholder="故障设备"></el-input> <el-input v-model="formpd.maintainName" placeholder="请输入"></el-input>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="故障设备地点" prop="failureEquipmentArea">
<el-input v-model="postForm.failureEquipmentArea" placeholder="故障设备地点"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="20">
<el-form-item label="故障描述" prop="failureEquipmentDescribe"> <el-form-item label="维修人联系电话" prop="maintainPhone">
<el-input type="textarea" v-model="postForm.failureEquipmentDescribe" <el-input v-model="formpd.maintainPhone" placeholder="请输入"></el-input>
placeholder="故障描述"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
<div style="text-align: center"> <div style="text-align: center">
<el-button type="primary" @click="submitForm">确 定</el-button> <el-button type="primary" @click="submitFormpd">确 定</el-button>
<el-button @click="cancel">取 消</el-button> <el-button @click="cancel">取 消</el-button>
</div> </div>
...@@ -155,7 +224,7 @@ ...@@ -155,7 +224,7 @@
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="维修结果" prop="maintainResult"> <el-form-item label="维修结果" prop="maintainResult">
<el-input v-model="form.maintainResult" placeholder="修结果"></el-input> <el-input v-model="form.maintainResult" placeholder="修结果"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
...@@ -219,33 +288,7 @@ ...@@ -219,33 +288,7 @@
<!--反馈结果对话框 -->
<el-dialog :title="title" :visible.sync="openfk" width="1100px" append-to-body @close="cancel">
<el-form ref="formfk" :model="formfk" :rules="rules" label-width="100px">
<el-form-item label="报修单号" prop="id">
<el-input v-model="formfk.id" placeholder="报修单号"></el-input>
</el-form-item>
<el-form-item class="hidden-item" label="" prop="maintainState">
<el-input v-model="formfk.maintainState" placeholder="维修状态"></el-input>
</el-form-item>
<el-form-item label="报修结果" prop="maintainResult">
<el-input v-model="formfk.maintainResult" placeholder="报修结果"></el-input>
</el-form-item>
<el-form-item label="评价" prop="phevaluateone">
<el-rate v-model="formfk.evaluate" :max="5"></el-rate>
</el-form-item>
</el-form>
<div style="text-align: center">
<el-button type="primary" @click="submitFormfk">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
<pagination v-show="total > 0" :total="total" :page.sync="queryForm.pageNum" :limit.sync="queryForm.pageSize"
@pagination="getList"></pagination>
</div> </div>
...@@ -253,15 +296,14 @@ ...@@ -253,15 +296,14 @@
<script> <script>
import { import {
listRepairs,// 查询报修列表 listRepairs,// 查看所有后勤报修信息
addRepairs,// 新增报修信息
getRepairs,// 查询报修信息详情 getRepairs,// 查询报修信息详情
updateRepairs, // 修改报修信息
delRepairs,// 删除报修信息
submitRepairs,//反馈结果接口 submitRepairs,//反馈结果接口
numberRepairs,//获取报修单号 dispatchRepairs//派单
} from "@/api/smartSchool/logisticsManage/repairReport";
} from "@/api/smartSchool/personWork/logisticsWarranty";
export default { export default {
...@@ -270,7 +312,12 @@ export default { ...@@ -270,7 +312,12 @@ export default {
data() { data() {
return { return {
activeTab: 'incomplete',
maintainState: '', maintainState: '',
applyTable: [],
applyTableinco: [],
applyTablenot: [],
applyTablerep: [],
queryParams: { queryParams: {
id: "", id: "",
repairsTime: "", repairsTime: "",
...@@ -307,26 +354,22 @@ export default { ...@@ -307,26 +354,22 @@ export default {
// 数据总数 // 数据总数
total: 0, total: 0,
// 新增/修改表单 // 派单
postForm: { formpd: {
id: "",
maintainName: "",
maintainState: "2",
maintainPhone: "",
},
},
// 反馈结果
formfk: {
id: "",
maintainResult: "",
maintainState: "3",
evaluate: "",
},
// 是否显示新增弹出层 // 是否显示新增弹出层
open: false, open: false,
// 查看对话框 // 查看对话框
openLook: false, openLook: false,
// 派单
openpd: false,
// 反馈对话框 // 反馈对话框
openfk: false, openfk: false,
// // 表单校验 // // 表单校验
...@@ -361,29 +404,43 @@ export default { ...@@ -361,29 +404,43 @@ export default {
} }
}, },
mounted() { mounted() {
this.formfk.evaluate = 5; this.formpd.evaluate = 5;
this.activeTab = 'incomplete'; // 设置激活状态为未接单标签页
}, },
created() { created() {
this.getList(); this.getList();
}, },
methods: { methods: {
/** 获取列表数据 */ /** 获取列表数据 */
getList() { getList() {
listRepairs(this.queryParams).then(response => { this.loading = true;
listRepairs(this.queryParams)
.then(response => {
this.loading = false; this.loading = false;
this.applyTable = response.rows; this.applyTable = response.rows;
console.log('this.applyTable', this.applyTable);
this.applyTableinco = response.rows.filter(item => item.maintainState === 1);
console.log('this.applyTableinco', this.applyTableinco);
this.applyTablenot = response.rows.filter(item => item.maintainState === 2);
console.log('this.applyTablenot', this.applyTablenot);
this.applyTablerep = response.rows.filter(item => item.maintainState === 3);
console.log('this.applyTablerep', this.applyTablerep);
console.log('this.applyTable', this.applyTable); console.log('this.applyTable', this.applyTable);
this.total = response.total; this.total = response.total;
}).catch(err => {
this.loading = false;
}) })
.catch(err => {
this.loading = false;
});
}, },
// 搜索按钮 // 搜索按钮
handleQuery() { handleQuery() {
this.throttle(() => { this.throttle(() => {
...@@ -415,33 +472,19 @@ export default { ...@@ -415,33 +472,19 @@ export default {
this.handleQuery(); // 重新发一次请求 this.handleQuery(); // 重新发一次请求
}, },
// 新增按钮操作
handleAdd() {
this.reset();
numberRepairs().then((response) => {
this.postForm.id = response.data.id;
console.log('this.postForm.id', this.postForm.id);
this.postForm.repairsName = this.$store.state.user.name;
this.postForm.phone = this.$store.state.user.teacher.teacherTel;
console.log(123, this.postForm.repairsName);
console.log(123, this.postForm.phone);
// 设置 isNew 为 true,表示当前是新增操作
this.isNew = true;
this.open = true;
this.title = "添加申请";
});
},
// 修改按钮操作
// 派单按钮操作
handleUpdate(row) { handleUpdate(row) {
const id = row.id || this.ids; const id = row.id || this.ids;
this.title = "修改申请"; this.title = "派单";
getRepairs(id).then(response => { getRepairs(id).then(response => {
this.postForm = response.data; this.formpd.id = response.data.id;
this.open = true; console.log('this.formpd.id', this.formpd.id);
}).catch(err => { }).catch(err => {
}) })
this.openpd = true;
}, },
/** 删除按钮操作 */ /** 删除按钮操作 */
...@@ -455,63 +498,34 @@ export default { ...@@ -455,63 +498,34 @@ export default {
}).catch(() => { }); }).catch(() => { });
}, },
// 提交表单 // 派单按钮
submitForm() { submitFormpd() {
this.throttle(() => { this.$refs.formpd.validate((valid) => {
this.$refs["postForm"].validate(valid => {
if (valid) {
this.$modal.loading('正在上传数据,请稍等...');
if (this.isNew) {
// 新增操作
addRepairs(this.postForm).then(response => {
this.$modal.closeLoading();
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
}).catch(err => {
this.$modal.closeLoading();
});
} else {
// 修改操作
updateRepairs(this.postForm).then(response => {
this.$modal.closeLoading();
this.$modal.msgSuccess("修改成功");
this.open = false;
this.getList();
}).catch(err => {
this.$modal.closeLoading();
});
}
}
});
})
},
// 反馈结果按钮
submitFormfk() {
this.$refs.formfk.validate((valid) => {
if (valid) { if (valid) {
const newObj = {}; const newObj = {};
newObj.id = this.formfk.id; newObj.id = this.formpd.id;
newObj.maintainResult = this.formfk.maintainResult; newObj.maintainState = this.formpd.maintainState;
newObj.maintainState = this.formfk.maintainState; newObj.maintainName = this.formpd.maintainName;
newObj.evaluate = this.formfk.evaluate; newObj.maintainPhone = this.formpd.maintainPhone;
console.log('newObj', newObj); console.log('newObj', newObj);
console.log(newObj.maintainState); console.log(newObj.maintainState);
submitRepairs(newObj) dispatchRepairs(newObj)
.then((response) => { .then((response) => {
this.$modal.closeLoading();
this.$modal.msgSuccess("反馈成功"); this.$modal.msgSuccess("反馈成功");
this.openfk = false; this.openpd = false;
this.formfk.maintainResult = ''; this.formpd.maintainResult = '';
this.getList(); this.getList();
}) })
.catch((error) => { .catch((error) => {
// 处理错误
}); });
} else { } else {
return false; return false;
} }
}); });
}, },
// 取消按钮 // 取消按钮
cancel() { cancel() {
this.open = false; this.open = false;
...@@ -544,6 +558,32 @@ export default { ...@@ -544,6 +558,32 @@ export default {
}) })
}, },
// 反馈结果按钮
submitFormfk() {
this.$refs.formfk.validate((valid) => {
if (valid) {
const newObj = {};
newObj.id = this.formfk.id;
newObj.maintainResult = this.formfk.maintainResult;
newObj.maintainState = this.formfk.maintainState;
newObj.evaluate = this.formfk.evaluate;
console.log('newObj', newObj);
console.log(newObj.maintainState);
submitRepairs(newObj)
.then((response) => {
this.$modal.msgSuccess("反馈成功");
this.openfk = false;
this.formfk.maintainResult = '';
this.getList();
})
.catch((error) => {
// 处理错误
});
} else {
return false;
}
});
},
} }
} }
......
...@@ -155,7 +155,7 @@ ...@@ -155,7 +155,7 @@
<el-row> <el-row>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="维修结果" prop="maintainResult"> <el-form-item label="维修结果" prop="maintainResult">
<el-input v-model="form.maintainResult" placeholder="修结果"></el-input> <el-input v-model="form.maintainResult" placeholder="修结果"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment