基本功能逻辑的处理

This commit is contained in:
熊丽君
2021-04-16 10:12:56 +08:00
parent ad4e8e33c8
commit f78ea22a25
8 changed files with 244 additions and 106 deletions

View File

@ -0,0 +1,24 @@
import request from '@/utils/request';
// 获取所有工单审批 分页查询
export function getHandleOrderList(params) {
return request({
url: '/order/getHandleOrderList',
params
});
}
// 具体某一条工单审批的数据回显
export function getOrderInfo(params) {
return request({
url: '/order/getOrderInfo',
params
});
}
// 审批工单 通过/拒绝
export function approvalOrder(data) {
return request({
url: '/order/approvalOrder',
method: 'POST',
data
});
}

View File

@ -44,3 +44,11 @@ export function getWriteForm(params) {
params
});
}
// 提交表单
export function submitForm(params) {
return request({
url: '/order/submitForm',
method: 'POST',
params
});
}

View File

@ -1,4 +1,18 @@
import request from '@/utils/request';
// 查询所有完成单子 分页查询
export function getOkList(params) {
return request({
url: '/order/getOkList',
params
});
}
// 具体某一条完成工单的数据回显
export function getOkInfo(params) {
return request({
url: '/order/getOkInfo',
params
});
}
// 查询所有弃单 分页查询
export function giveUpList(params) {
return request({

View File

@ -1,39 +1,38 @@
<template>
<section class="app-container">
<el-row>
<!-- <el-row> -->
<!-- 地区 -->
<el-col :span="4">
<!-- <el-col :span="4">
<region
@selectdRegionCode="selectdRegionCode"
:currentNodeKey.sync="queryParams.provinceCode"
></region>
</el-col>
</el-col> -->
<!-- form表单 -->
<el-col :span="20">
<!-- <el-col :span="20"> -->
<el-row style="margin-bottom:20px">
<el-button type="primary" @click="approvalAssign()">通过</el-button>
<el-button type="primary" @click="approvalDelete">驳回</el-button>
<el-button type="primary" @click="approvalAdopt">通过</el-button>
<el-button type="primary" @click="approvalReject">驳回</el-button>
</el-row>
<!-- 表格区域 -->
<!-- default-expand-all 展开所有行-->
<el-table :data="tableData" style="width: 100%">
<el-table v-loading="loading" default-expand-all :data="tableData" style="width: 100%" >
<el-table-column type="expand">
<template slot-scope="props">
<el-form label-position="left" inline class="demo-table-expand">
<el-form-item label="处理结果:">
<span>{{ props.row.workCode }}</span>
<span>{{ props.row.writeForm.resultNote }}</span>
</el-form-item>
<el-form-item label="是否修复:">
<span>{{ props.row.workCode }}</span>
<span>{{ props.row.writeForm.isOk==1?'是':'否' }}</span>
</el-form-item>
<el-form-item label="是否返厂:">
<span>{{ props.row.workCode }}</span>
<span>{{ props.row.writeForm.isReturn==1?'是':'否' }}</span>
</el-form-item>
<el-form-item label="返厂数量:">
<span>{{ props.row.workCode }}</span>
<el-form-item label="返厂数量:" v-if="props.row.writeForm.isReturn==1">
<span>{{ props.row.writeForm.returnNum }}</span>
</el-form-item>
<el-form-item label="返厂单号:">
<span>{{ props.row.workCode }}</span>
<el-form-item label="返厂单号:" v-if="props.row.writeForm.isReturn==1">
<span>{{ props.row.writeForm.returnOrder }}</span>
</el-form-item>
</el-form>
</template>
@ -46,57 +45,57 @@
></el-table-column>
<el-table-column align="center" label="地区" min-width="150">
<template slot-scope="scope">
{{ scope.row.proName + scope.row.cityName + scope.row.disName }}
{{ scope.row.workInfo.proName + scope.row.workInfo.cityName + scope.row.workInfo.disName }}
</template>
</el-table-column>
<el-table-column
prop="workCode"
prop="workInfo.workCode"
align="center"
label="工单编号"
min-width="180"
>
</el-table-column>
<el-table-column
prop="warningLevel"
prop="workInfo.warningLevel"
align="center"
label="告警等级"
min-width="100"
>
<template slot-scope="scope">
{{ scope.row.warningLevel | toChinaNum }}
{{ scope.row.workInfo.warningLevel | toChinaNum }}
</template>
</el-table-column>
<el-table-column
prop="warningName"
prop="workInfo.warningName"
align="center"
label="告警名称"
min-width="150"
></el-table-column>
<el-table-column
prop="productName"
prop="workInfo.productName"
label="产品名称"
align="center"
min-width="100"
></el-table-column>
<el-table-column
prop="nickName"
prop="workInfo.nickName"
align="center"
label="所属客户"
></el-table-column>
<el-table-column
prop="projectName"
prop="workInfo.projectName"
align="center"
label="所属项目"
></el-table-column>
<el-table-column
prop="deviceSn"
prop="workInfo.deviceSn"
align="center"
label="设备SN"
min-width="100"
></el-table-column>
<el-table-column align="center" label="建单时间" min-width="180">
<template slot-scope="scope">
{{ scope.row.createTime | formatDate }}
{{ scope.row.workInfo.createTime | formatDate }}
</template>
</el-table-column>
</el-table>
@ -108,13 +107,14 @@
:limit.sync="queryParams.pageSize"
@pagination="getList"
/> -->
</el-col>
</el-row>
<!-- </el-col> -->
<!-- </el-row> -->
</section>
</template>
<script>
import Region from '@/components/Region';
import { getOrderInfo,approvalOrder } from '@/api/work/orderApproval';
export default {
name: 'detail',
components: {
@ -128,6 +128,8 @@ export default {
pageSize: 100,
},
total:0,
// 遮罩层
loading: true,
tableData: []
};
},
@ -136,8 +138,26 @@ export default {
this.queryParams.provinceCode = code;
this.approvalQuery();
},
orderApproval(){},
approvalDelete() {
orderApproval(){
this.loading = true
getOrderInfo({id:this.queryParams.id}).then(({code,data,message})=>{
if(code!==200) return this.$message.error(message);
this.tableData = data
this.loading = false
})
},
// 通过
approvalAdopt(){
this.loading = true
approvalOrder({id:this.queryParams.id,result:3}).then(({code,data,message})=>{
if(code!==200) return this.$message.error(message);
this.$message.success(message);
this.loading = false
this.$router.go(-1)
})
},
// 驳回
approvalReject() {
this.$prompt('备注', '驳回备注填写', {
confirmButtonText: '确定',
cancelButtonText: '取消',
@ -145,16 +165,13 @@ export default {
inputErrorMessage: '请输入内容'
})
.then(({ value }) => {
this.$message.success(value);
// orderClose({ ids, note: value }).then(
// ({ code, data, message }) => {
// if (code !== 200){
// return this.$message.error(message);
// }
// this.$message.success(message);
// this.getList();
// }
// );
this.loading = true
approvalOrder({id:this.queryParams.id,result:4,rejectNote:value}).then(({code,data,message})=>{
if(code!==200) return this.$message.error(message);
this.$message.success(message);
this.loading = false
this.$router.go(-1)
})
})
.catch(() => {
this.$message({
@ -172,8 +189,7 @@ export default {
return;
}
this.queryParams.id = id;
this.tableData = JSON.parse(localStorage.getItem('selectList'));
// this.getDetail()
this.orderApproval()
}
};
</script>

View File

@ -1,8 +1,8 @@
<template>
<div class="app-container">
<el-table :data="tableData" style="width: 100%">
<el-table v-loading="loading" :data="tableData" style="width: 100%">
<el-table-column
prop="workCode"
prop="id"
align="center"
label="派单编号"
min-width="180"
@ -15,20 +15,20 @@
</el-table-column>
<el-table-column align="center" label="派单备注" min-width="180">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="openDialog('派单备注')"
<el-button type="primary" size="mini" @click="openDialog('派单备注',scope.row.note)"
>详情</el-button
>
</template>
</el-table-column>
<el-table-column align="center" label="驳回备注" min-width="180">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="openDialog('驳回备注')"
<el-button type="primary" size="mini" @click="openDialog('驳回备注',scope.row.rejectNote)"
>详情</el-button
>
</template>
</el-table-column>
<el-table-column
prop="warningLevel"
prop="nickname"
align="center"
label="处理人"
min-width="100"
@ -36,7 +36,7 @@
</el-table-column>
<el-table-column align="center" label="提交时间" min-width="180">
<template slot-scope="scope">
{{ scope.row.createTime | formatDate }}
{{ scope.row.updateTime | formatDate }}
</template>
</el-table-column>
<el-table-column align="center" label="操作" min-width="180">
@ -47,20 +47,62 @@
</template>
</el-table-column>
</el-table>
<!-- 备注弹窗 -->
<el-dialog
:title="str"
:visible.sync="dialogVisible"
width="30%"
:before-close="handleClose"
>
<span>{{strNote}}</span>
</el-dialog>
</div>
</template>
<script>
import { getHandleOrderList } from '@/api/work/orderApproval';
export default {
name: 'orderApproval',
data(){
return {
tableData: JSON.parse(sessionStorage.getItem('selectList'))
str: '派单备注',
strNote:'',
queryParams: {
pageNum: 1,
pageSize: 10
},
// 遮罩层
loading: true,
// 总条数
total: 0,
tableData: [],
dialogVisible: false, // 备注说明弹窗状态
}
},
methods:{
// 获取所有审批列表
getOrderApprovalList(){
this.loading = true
getHandleOrderList().then(({code,data,message})=>{
if(code!==200) return this.$message.error(message);
this.tableData = data.list
this.total = data.total
this.loading = false
})
},
openDialog(val,note) {
this.str = val;
this.strNote = note
this.dialogVisible = true;
},
handleClose(done) {
done();
},
approvalDetail(id){
this.$router.push({path:'/workOrderManage/orderApproval/detail',query:{id}});
},
},
created(){
this.getOrderApprovalList()
}
}
</script>

View File

@ -1,15 +1,15 @@
<template>
<section class="app-container">
<el-row>
<!-- <el-row> -->
<!-- 地区 -->
<el-col :span="4">
<!-- <el-col :span="4">
<region
@selectdRegionCode="selectdRegionCode"
:currentNodeKey.sync="queryParams.cityId"
></region>
</el-col>
</el-col> -->
<!-- form表单 -->
<el-col :span="20">
<!-- <el-col :span="20"> -->
<el-row style="margin-bottom:20px">
<el-button type="primary" @click="onSubmitOrder"
>提交结果</el-button
@ -97,8 +97,8 @@
:limit.sync="queryParams.pageSize"
@pagination="getList"
/> -->
</el-col>
</el-row>
<!-- </el-col> -->
<!-- </el-row> -->
<!-- 填写表单的弹窗 -->
<el-dialog
title="表单填写"
@ -162,12 +162,13 @@
</template>
<script>
import Region from '@/components/Region';
// import Region from '@/components/Region';
import {
getStartList,
writeForm,
getWriteForm,
getWriteStatus
getWriteStatus,
submitForm
} from '@/api/work/orderHandle';
const formQuery = {
resultNote: '',
@ -176,9 +177,9 @@ const formQuery = {
};
export default {
name: 'detail',
components: {
Region
},
// components: {
// Region
// },
data() {
return {
queryParams: {
@ -228,10 +229,10 @@ export default {
},
methods: {
// 地区
selectdRegionCode({ code }) {
this.queryParams.cityId = code;
this.getHandleDetail();
},
// selectdRegionCode({ code }) {
// this.queryParams.cityId = code;
// this.getHandleDetail();
// },
getHandleDetail() {
this.loading = true;
getStartList(this.queryParams).then(({ code, data, message }) => {
@ -268,7 +269,13 @@ export default {
return !item.status
})
if(status) return this.$message.info('还有未填写的,编号为:'+status.warningId);
this.$message.success('ok');
this.loading = true;
submitForm({id:this.queryParams.id}).then(({ code, data, message })=>{
if (code !== 200) return this.$message.error(message);
this.$message.success(message);
this.loading = false;
this.$router.go(-1)
})
},
onSubmit() {
this.$refs.formData.validate(async valid => {

View File

@ -1,42 +1,42 @@
<template>
<section class="app-container">
<el-form
ref="formData"
ref="tableData"
:inline="true"
:model="tableData"
:model="tableHeader"
label-width="85px"
>
<el-row :gutter="20">
<el-col :span="4" class="grid-content">
<el-form-item label="派单编号:">
133666912
{{tableHeader.id}}
</el-form-item>
</el-col>
<el-col :span="4" class="grid-content">
<el-form-item label="派单时间:">
2020-02-10 10:00
{{tableHeader.createTime | formatDate}}
</el-form-item>
</el-col>
<el-col :span="4" class="grid-content">
<el-form-item label="处理人:">
张三
{{tableHeader.nick_name}}
</el-form-item>
</el-col>
<el-col :span="4" class="grid-content">
<el-form-item label="提交时间:">
2020-02-10 10:00
{{tableHeader.updateTime | formatDate}}
</el-form-item>
</el-col>
<el-col :span="4" class="grid-content">
<el-form-item label="通过时间:">
2020-02-10 10:00
{{tableHeader.finishTime | formatDate}}
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="20">
<el-form-item label="派单备注:">
派单的备注...
{{tableHeader.note}}
</el-form-item>
</el-col>
<el-col :span="4">
@ -47,30 +47,29 @@
</el-row>
<el-row>
<el-form-item label="驳回备注:">
驳回的备注...
{{tableHeader.rejectNote}}
</el-form-item>
</el-row>
</el-form>
<!-- 表格区域 -->
<!-- default-expand-all 展开所有行-->
<el-table :data="tableData" style="width: 100%">
<el-table v-loading="loading" :data="tableData" style="width: 100%" default-expand-all>
<el-table-column type="expand">
<template slot-scope="props">
<el-form label-position="left" inline class="demo-table-expand">
<el-form-item label="处理结果:">
<span>{{ props.row.workCode }}</span>
<span>{{ props.row.writeForm.resultNote }}</span>
</el-form-item>
<el-form-item label="是否修复:">
<span>{{ props.row.workCode }}</span>
<span>{{ props.row.writeForm.isOk==1?'是':'否' }}</span>
</el-form-item>
<el-form-item label="是否返厂:">
<span>{{ props.row.workCode }}</span>
<span>{{ props.row.writeForm.isReturn==1?'是':'否' }}</span>
</el-form-item>
<el-form-item label="返厂数量:">
<span>{{ props.row.workCode }}</span>
<el-form-item label="返厂数量:" v-if="props.row.writeForm.isReturn==1">
<span>{{ props.row.writeForm.returnNum }}</span>
</el-form-item>
<el-form-item label="返厂单号:">
<span>{{ props.row.workCode }}</span>
<el-form-item label="返厂单号:" v-if="props.row.writeForm.isReturn==1">
<span>{{ props.row.writeForm.returnOrder }}</span>
</el-form-item>
</el-form>
</template>
@ -83,11 +82,11 @@
></el-table-column>
<el-table-column align="center" label="地区" min-width="150">
<template slot-scope="scope">
{{ scope.row.proName + scope.row.cityName + scope.row.disName }}
{{ scope.row.workInfo.proName + scope.row.workInfo.cityName + scope.row.workInfo.disName }}
</template>
</el-table-column>
<el-table-column
prop="workCode"
prop="workInfo.workCode"
align="center"
label="工单编号"
min-width="180"
@ -100,40 +99,40 @@
min-width="100"
>
<template slot-scope="scope">
{{ scope.row.warningLevel | toChinaNum }}
{{ scope.row.workInfo.warningLevel | toChinaNum }}
</template>
</el-table-column>
<el-table-column
prop="warningName"
prop="workInfo.warningName"
align="center"
label="告警名称"
min-width="150"
></el-table-column>
<el-table-column
prop="productName"
prop="workInfo.productName"
label="产品名称"
align="center"
min-width="100"
></el-table-column>
<el-table-column
prop="nickName"
prop="workInfo.nickName"
align="center"
label="所属客户"
></el-table-column>
<el-table-column
prop="projectName"
prop="workInfo.projectName"
align="center"
label="所属项目"
></el-table-column>
<el-table-column
prop="deviceSn"
prop="workInfo.deviceSn"
align="center"
label="设备SN"
min-width="100"
></el-table-column>
<el-table-column align="center" label="建单时间" min-width="180">
<template slot-scope="scope">
{{ scope.row.createTime | formatDate }}
{{ scope.row.workInfo.createTime | formatDate }}
</template>
</el-table-column>
</el-table>
@ -141,15 +140,32 @@
</template>
<script>
import { getOkInfo } from '@/api/work/orderHistory';
export default {
name: 'detail',
data() {
return {
queryParams: {},
id:null,
loading: true,
tableHeader: {},
tableData: []
};
},
methods: {},
methods: {
getCompleteOrder(){
this.loading = true
getOkInfo({id:this.id}).then(({code,data,message})=>{
if (code !== 200) return this.$message.error(message);
this.tableHeader = data.find((item,index)=>{
return index == 0
})
this.tableData = data.filter((item,index)=>{
return index != 0
})
this.loading = false
})
}
},
created() {
let { id } = this.$route.query;
if (!id) {
@ -158,8 +174,7 @@ export default {
return;
}
this.id = id;
this.tableData = JSON.parse(localStorage.getItem('selectList'));
// this.getDetail()
this.getCompleteOrder()
}
};
</script>

View File

@ -2,9 +2,9 @@
<div class="app-container">
<el-tabs v-model="activeName" type="card" @tab-click="historyClick">
<el-tab-pane label="完成工单" name="first">
<el-table :data="orderList" style="width: 100%">
<el-table v-loading="loading" :data="tableData" style="width: 100%">
<el-table-column
prop="workCode"
prop="id"
align="center"
label="派单编号"
min-width="180"
@ -17,20 +17,20 @@
</el-table-column>
<el-table-column align="center" label="派单备注" min-width="180">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="openDialog('派单备注')"
<el-button type="primary" size="mini" @click="openLog('派单备注',scope.row.note)"
>详情</el-button
>
</template>
</el-table-column>
<el-table-column align="center" label="驳回备注" min-width="180">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="openDialog('驳回备注')"
<el-button type="primary" size="mini" @click="openLog('驳回备注',scope.row.rejectNote)"
>详情</el-button
>
</template>
</el-table-column>
<el-table-column
prop="warningLevel"
prop="nick_name"
align="center"
label="处理人"
min-width="100"
@ -38,12 +38,12 @@
</el-table-column>
<el-table-column align="center" label="提交时间" min-width="180">
<template slot-scope="scope">
{{ scope.row.createTime | formatDate }}
{{ scope.row.updateTime | formatDate }}
</template>
</el-table-column>
<el-table-column align="center" label="通过时间" min-width="180">
<template slot-scope="scope">
{{ scope.row.createTime | formatDate }}
{{ scope.row.finishTime | formatDate }}
</template>
</el-table-column>
<el-table-column align="center" label="操作" min-width="180">
@ -56,7 +56,7 @@
</el-table>
</el-tab-pane>
<el-tab-pane label="放弃工单" name="second">
<el-table :data="orderList" style="width: 100%">
<el-table v-loading="loading" :data="orderList" style="width: 100%">
<el-table-column align="center" label="地区" min-width="150">
<template slot-scope="scope">
{{ scope.row.proName + scope.row.cityName + scope.row.disName }}
@ -143,7 +143,7 @@
</template>
<script>
import { getOrderList } from '@/api/work/orderHandle';
import { giveUpList,giveUpNote } from '@/api/work/orderHistory';
import { giveUpList,giveUpNote,getOkList } from '@/api/work/orderHistory';
export default {
name: 'orderHistory',
data() {
@ -154,6 +154,7 @@ export default {
pageNum: 1,
pageSize: 10
},
loading: true,
total:0,
tableData: [], // 完成工单数据
orderList: [], // 放弃工单数据
@ -174,10 +175,12 @@ export default {
},
// 获取完成工单
getCompleteOrder() {
getOrderList(Object.assign({},this.queryParams,{status:4})).then(({code,data,message})=>{
this.loading=true
getOkList(this.queryParams).then(({code,data,message})=>{
if(code!==200) return this.$message.error(message);
this.tableData = data.list
this.total = data.total
this.loading=false
})
},
historyDetail(id){
@ -185,14 +188,23 @@ export default {
},
// 获取放弃工单
getGiveOrder() {
// this.orderList = JSON.parse(localStorage.getItem('selectList'));
this.loading=true
giveUpList(this.queryParams).then(({code,data,message}) => {
if(code!==200) return this.$message.error(message);
this.orderList = data.list
this.total = data.total
this.loading=false
});
},
// 完成工单弹窗
openLog(val,note) {
this.str = val;
this.strNote = note
this.dialogVisible = true;
},
// 弃单弹窗
openDialog(val,id) {
this.strNote = ''
this.str = val;
giveUpNote({id}).then(({code,data,message})=>{
if(code!==200) return this.$message.error(message);