设备审核,wms错别字修改,质量主管修改

master
guoshuang 11 months ago
parent 3c7ce3d226
commit 3ebca78166

@ -591,6 +591,22 @@
"navigationStyle": "custom",
"navigationBarTextStyle": "white"
}
},
{
"path": "pages/equipment/MaintenanceAudit/index",
"style": {
"navigationBarTitleText": "维修审核",
"navigationStyle": "custom",
"navigationBarTextStyle": "white"
}
},
{
"path": "pages/equipment/MaintenanceAudit/Audit",
"style": {
"navigationBarTitleText": "维修审核",
"navigationStyle": "custom",
"navigationBarTextStyle": "white"
}
}

@ -0,0 +1,855 @@
<!-- 扫描rfid,选择缓存区根据选择的缓存区查询库位勾选是否取走托盘提交托盘变更信息 -->
<template>
<view class="page-product-receipt">
<view class="header" :style="{ backgroundColor: `rgba(250, 53, 52, ${scrollTop / 100})` }">
<view class="left">
<u-icon class="icon" name="arrow-left" @click="goback()" />
</view>
<view class="title">维修审核</view>
<view class="right"></view>
</view>
<!-- <u-tabs name="cate_name" count="cate_count" :list="list" :is-scroll="false" :current="current" @change="change"></u-tabs> -->
<view class="list">
<div class="item-name">
<div class="quest">维修工单号: {{ detailsinfolist.workCode }}</div>
<div class="details">
<div>设备编码: {{ detailsinfolist.equipmentCode }}</div>
<div style="margin-left: 42px">设备名称: {{ detailsinfolist.equipmentName }}</div>
</div>
<div class="details">
<div>产线: {{ detailsinfolist.planProdLine }}</div>
</div>
<div class="details">
<!-- <div>车间: {{ detailsinfocontent.planWorkshop }}</div> -->
<div>工作中心: {{ detailsinfolist.workshopName }}</div>
</div>
</div>
<div class="item-name item-info">
<div class="quest">报修信息</div>
<div class="details">
<div>报修单号: {{ detailsinfolist.orderCode }}</div>
<!-- <div style="margin-left: 42px">设备名称: {{ detailsinfolist.equipmentName }}</div> -->
</div>
<div class="details">
<div>报修人: {{ detailsinfolist.orderRepairmanCode }}</div>
<!-- <div style="margin-left: 42px">设备名称: {{ detailsinfolist.equipmentName }}</div> -->
</div>
<div class="details">
<div>报修时间: {{ detailsinfolist.orderTime }}</div>
<!-- <div style="margin-left: 42px">设备名称: {{ detailsinfolist.equipmentName }}</div> -->
</div>
<div class="details">
<div>故障时间: {{ detailsinfolist.orderBreakdownTime }}</div>
<!-- <div style="margin-left: 42px">设备名称: {{ detailsinfolist.equipmentName }}</div> -->
</div>
<div class="details">
<div>报修来源: {{ detailsinfolist.orderSource }}</div>
<!-- <div style="margin-left: 42px">设备名称: {{ detailsinfolist.equipmentName }}</div> -->
</div>
<!-- <div class="details">
<div>故障时间: {{ detailsinfolist.planWorkshop }}</div>
<div style="margin-left: 42px">工作中心: {{ detailsinfocontent.workCenterName }}</div>
</div> -->
<div class="details">
<div>是否立即维修: {{ detailsinfolist.workHandle == 0 ? '否' : '是' }}</div>
<!-- <div style="margin-left: 42px">工作中心: {{ detailsinfocontent.workCenterName }}</div> -->
</div>
<div class="details">
<div>联系方式: {{ detailsinfolist.orderConnection }}</div>
<!-- <div style="margin-left: 42px">工作中心: {{ detailsinfocontent.workCenterName }}</div> -->
</div>
<div class="details">
<div>故障描述: {{ detailsinfolist.workFaultDesc }}</div>
<!-- <div style="margin-left: 42px">工作中心: {{ detailsinfocontent.workCenterName }}</div> -->
</div>
</div>
<view class="single-left">
<!-- <view>扫描设备码:</view> -->
<!-- <u-search style="border: 1px solid #a19d9d" placeholder="请扫描" @search="search" :focus="shouciFocus" v-model="orderNo" :show-action="false"></u-search> -->
<!-- <uni-icons type="scan" size="35" @click="scanCodeOne" style="color: #0b9eff; margin: auto; padding: 22rpx"></uni-icons> -->
</view>
<view class="item" v-for="(item, index) in detailsinfolist.detailList" :key="index">
<div class="item1">检查项: {{ item.itemName }}</div>
<div class="item1">检查方法: {{ item.itemMethod }}</div>
<div @click="checkimg(item1, item1.detailReach, index, index1)" v-for="(item1, index1) in item.standardList" :key="index1">
<div class="item1 item2" v-if="item1.standardType == 'qualitative'">
<div>检查标准: {{ item1.standardName }}</div>
<div class="select">
<u-radio-group v-model="item1.detailReach">
<u-radio v-for="(n, indexn) in listselect" :key="indexn" :name="n.type">
{{ n.name }}
</u-radio>
</u-radio-group>
</div>
</div>
<div @click="checkimg(item1, item1.detailReach, index, index1)" class="item1 item2" v-if="item1.standardType == 'quantify'">
<div>检查标准: {{ item1.standardName }}</div>
<div class="input-box" id="input-box1">
实际值:
<input class="input" v-model="item1.actualValue" type="text" name="" id="" />
单位:mm
</div>
</div>
</div>
</view>
</view>
<view class="list listbottom">
<div class="item-name">
<div class="quest">维修单</div>
<u-form class="form" ref="form" label-width="230rpx">
<u-form-item label="维修人:">
{{ detailsinfolist.workPersonName }}
</u-form-item>
<!-- 机台 -->
<!-- <u-form-item label="维修结果:">
<div class="select">
<u-radio-group v-model="detailsinfolist.workStatus" @change="radioGroupChange1(formdata.workStatus)">
<u-radio :disabled="detailsinfolist.detailReach == n.type ? false : true" @change="radioChange" v-for="(n, indexn) in listselect1" :key="indexn" :name="n.type">
{{ n.name }}
</u-radio>
</u-radio-group>
</div>
</u-form-item> -->
<!-- 单号 -->
<u-form-item label="维修费用:">
<u-input :disabled="detailsinfolist.workCost == null ? true : true" v-model="detailsinfolist.workCost" placeholder="" />
</u-form-item>
<u-form-item label="原因分析:">{{ detailsinfolist.workReason }} </u-form-item>
<u-form-item label="维修措施:">{{ detailsinfolist.repairMeasures }} </u-form-item>
<!-- <u-form-item label="原因分析:">
<u-input :disabled="detailsinfolist.workReason == null ? true : true" v-model="detailsinfolist.workReason" placeholder="" />
</u-form-item> -->
<u-form-item label-width="150" label="图片:">
<scroll-view class="scroll-view_H" scroll-x="true" :scroll-left="scrollLeft1()">
<view class="photoList photoList1">
<view class="itemBox photoBox" v-for="(img, index) in imgformList" :key="index">
<!-- <view class="closeBtn" @click="deleteImg1(index)">
<image class="img" src="../../../static/images/iconCloseGray.svg" mode="scaleToFill"></image>
</view> -->
<image class="img" :src="img" mode="aspectFit" @click="showScreenImg1(index)"></image>
</view>
<view class="itemBox chooseBtn">
<!-- <view class="inner">
<image class="img" src="../../../static/images/upload-pic-icon.svg" mode="scaleToFill"></image>
<text class="desc">添加照片</text>
</view> -->
</view>
</view>
</scroll-view>
</u-form-item>
</u-form>
<!-- <u-button @click="onSubmit" type="primary">提交</u-button> -->
</div>
</view>
<!-- <div class="Sparepart">
<div class="Pickup">点击进行备件申领</div>
<div class="Pickupclick">
<u-image @click="linkSparepartlist(detailsinfolist)" width="63px" height="57px" class="image" :src="image.equipment.Repairimage1"></u-image>
</div>
</div> -->
<view class="list" v-for="(item, index) in detailsinfolist.applyList" :key="index">
<div class="item-name">
<div class="quest">备件申领单</div>
<!-- <div class="deletebtn">
<u-button type="error" @click="deleteSparepart(index)" class="btn1">删除</u-button>
</div> -->
<div class="details">
<div>备件编码: {{ item.materialCode }}</div>
<!-- <div style="margin-left: 42px">设备名称: {{ detailsinfolist.equipmentName }}</div> -->
</div>
<div class="details">
<div>备件名称: {{ item.materialDesc }}</div>
<!-- <div style="margin-left: 42px">设备名称: {{ detailsinfolist.equipmentName }}</div> -->
</div>
<div class="details">
<div>申领数量: {{ item.spareQuantity }}</div>
<!-- <div style="margin-left: 42px">设备名称: {{ detailsinfolist.equipmentName }}</div> -->
</div>
<div class="details">
<div>备件费用: {{ item.totalPrice }}</div>
<!-- <div style="margin-left: 42px">设备名称: {{ detailsinfolist.equipmentName }}</div> -->
</div>
<!-- <div class="details">
<div>申请人: {{ item.applyPeople }}</div>
</div>
<div class="details">
<div>申请时间: {{ item.planWorkshop }}</div>
</div>
<div class="details">
<div>审核人: {{ item.planWorkshop }}</div>
</div>
<div class="details">
<div>审核时间: {{ item.planWorkshop }}</div>
</div> -->
</div>
</view>
<u-form style="margin-top: 10rpx" class="form" ref="form1" label-width="180rpx">
<view style="font-size: 30rpx; display: flex; justify-content: center">审核</view>
<u-form-item label="维修审核">
<jPicker sureColor="#ff0000" @bindpicker="selectgoneStatus" showKey="label" valKey="value" :val="gone.value" :options="goneList" />
</u-form-item>
<u-form-item label="审核意见">
<u-input :border="true" v-model="form1.auditOpinion" placeholder="" style="overflow: hidden" />
</u-form-item>
</u-form>
<view class="bottom-bar">
<u-row class="button-bar">
<!-- 确定 -->
<u-col :span="6">
<u-button @click="onSubmit" type="primary">确认</u-button>
</u-col>
<!-- 返回 -->
<u-col :span="6">
<u-button type="error" @click="uni.navigateBack({})"></u-button>
</u-col>
</u-row>
</view>
<u-modal v-model="isshow" class="modal" :show-cancel-button="true" :show-title="false" @cancel="cancel" @confirm="confirm">
<div class="upload-name">
<div class="name">检查标准:{{ picstandardName }}</div>
<scroll-view class="scroll-view_H" scroll-x="true" :scroll-left="scrollLeft()">
<view class="photoList">
<view class="itemBox photoBox" v-for="(img, index) in imgList" :key="index">
<image class="img" :src="img.fileAddress" mode="aspectFit" @click="showScreenImg(index)"></image>
</view>
</view>
</scroll-view>
</div>
</u-modal>
<u-toast ref="uToast" />
</view>
</template>
<script lang="ts">
import { Component } from 'vue-property-decorator';
import { BasePage } from '@/components/base/page';
import model from './model';
import chooseOne from '@/components/choose-one/choose-one.vue';
import jPicker from '@/components/J-Picker/jPicker.vue';
import { session } from '@/store/modules/session';
//import store from '@/store';
@Component({
components: {
chooseOne,
jPicker,
},
})
export default class ChangePalletNew extends BasePage {
model = model;
picstandardName: any = '';
form1: any = {};
workId: any = '';
workCode: any = '';
goneList: any = [
{
label: '待审核',
value: '2',
},
{
label: '审核通过',
value: '1',
},
{
label: '驳回',
value: '0',
},
];
gone: any = {};
list: any = [
{
cate_name: '今日任务',
},
{
cate_name: '巡检记录',
},
];
moren = '选择原因分析';
moren2 = '选择维修措施';
current: any = 0;
shouciFocus = true;
//
detailsinfo: any = {};
detailsinfolist: any = {};
detailsinfocontent: any = {};
//
isshow = false;
inputmodal = false;
ischecked = false;
radiomodal = false;
//
isaccord = false;
//
equipmentdata: any = [];
listselect: any = [
{
type: 0,
name: '符合标准',
radiovalue: null,
},
{
type: 1,
name: '未达标',
radiovalue: null,
},
];
listselect1: any = [
{
type: 1,
name: '已完成',
radiovalue: null,
},
{
type: 3,
name: '未完成',
radiovalue: null,
},
];
// index equipment
equipmentindex: any = [];
orderNo: any = '';
location: any = '';
locationStatus: any = 1;
form: any = {};
//
action: any = 'http://www.example.com/upload';
fileList: any = [];
filesArr: any = [];
imgList: any = [];
imgUrlList: any = [];
deleteimgList: any = [];
orderNoItemList: any = {};
picturePath: any = 'https://cdn.uviewui.com/uview/swiper/1.jpg,https://cdn.uviewui.com/uview/swiper/2.jpg';
formdata: any = {};
Sparepartlist: any = [];
imgformList: any = [];
deleteimgList1: any = [];
isvalue = false;
workReason: any = {};
repairMeasures: any = {};
workReasonceshi: 'aaaaa';
async onReady() {
//await this.model.getpalletLocation();
//this.remove = this.model.WlList[0];
// this.Sparepartlist = []
console.log(0, this.model.rowdata, this.Sparepartlist);
}
selectgoneStatus(e: any) {
this.gone = e.pickerName;
}
onShow() {
this.onLoad;
// if (this.model.rowdata.length == 0) {
// this.model.rowdatanull();
// } else {
// this.Sparepartlist = [];
// this.Sparepartlist = this.model.rowdata;
// console.log(1, this.model.rowdata, this.Sparepartlist);
// }
console.log(session);
}
//
// radioradio-group
async onLoad(options) {
this.workId = options.orderId;
console.log(options, 'options');
await this.model.getTaskRecord(options.orderId);
this.detailsinfolist = this.model.getTaskRecordList;
if (this.detailsinfolist.files) {
this.imgformList = [];
this.detailsinfolist.files.forEach((item) => {
this.imgformList.push(item.fileAddress);
});
}
}
goback() {
uni.navigateBack({
delta: 1,
});
}
scrollLeft() {
return 222 * (this.imgList.length + 1);
}
showScreenImg(i) {
let list = this.imgList.map((item) => {
return item.fileAddress;
});
uni.previewImage({
current: i,
urls: list,
// loop: true
});
}
scrollLeft1() {
return 222 * (this.imgformList.length + 1);
}
showScreenImg1(i) {
let list = this.imgformList;
uni.previewImage({
current: i,
urls: list,
// loop: true
});
}
deleteImg1(index) {
this.imgformList.splice(index, 1);
}
async onSubmit() {
let params = {
ids: [this.workId],
inspect: this.gone.value,
orderCodes: [this.detailsinfolist.workCode],
auditOpinion: this.form1.auditOpinion,
};
await this.model.updateTaskRecord(params);
if (this.model.Checkcode == 200) {
(this.$refs.uToast as any).show({
title: '成功',
// url: '/pages/user/index'
});
this.Clear();
uni.navigateBack({
delta: 1,
});
} else {
(this.$refs.uToast as any).show({
title: '失败',
// url: '/pages/user/index'
});
}
}
checkimg(item) {
this.picstandardName = item.standardName;
if (item.picturePaths == null || item.picturePaths.length == 0) {
this.imgList = [];
this.isshow = false;
this.uni.showToast({
title: '无照片',
icon: 'none',
duration: 1000,
});
} else {
this.imgList = item.picturePaths;
this.isshow = true;
}
}
Clear() {
this.form1 = {};
}
}
</script>
<style lang="scss" scoped>
.page-product-receipt {
background: #f2f2f2 linear-gradient(0deg, #f2f2f2 0%, #f8262c 51%, #d9001b 100%) no-repeat;
background-size: 100% 600rpx;
padding: 118rpx 30rpx 162rpx;
min-height: 100%;
.header {
position: fixed;
top: 0rpx;
left: 0;
right: 0;
z-index: 99;
display: flex;
height: 120rpx;
line-height: 88rpx;
color: #fff;
font-size: 34rpx;
font-weight: 500;
text-align: center;
padding: 45rpx 0rpx 0rpx;
.title {
flex: 3;
}
.left,
.right {
flex: 1;
}
.icon {
display: flex;
justify-content: center;
align-items: center;
width: 88rpx;
height: 88rpx;
}
}
.form {
background-color: #fff;
padding: 15rpx;
border-radius: 10rpx;
//box-shadow: 0 0 20rpx 0 rgba(128, 128, 128, 0.2);
.u-form-item {
padding: 20rpx 0;
line-height: 35rpx;
}
}
.list {
margin-top: 15px;
// width: 367px;
border-radius: 5px;
border: rgba(121, 121, 121, 1) solid 1px;
background-color: #ffffff;
padding: 7px 8px 7px 12px;
box-sizing: border-box;
.item-name {
position: relative;
.quest {
// width: 367px;
// border-radius: 5px;
// border: rgba(121, 121, 121, 1) solid 1px;
// background-color: #ffffff;
padding: 7px 8px 7px 12px;
box-sizing: border-box;
text-align: center;
font-size: 18px;
font-weight: 600;
color: black;
}
.deletebtn {
.btn1 {
width: 80px;
height: 36px;
position: absolute;
top: 0px;
right: 0px;
}
}
.details {
display: flex;
font-size: 16px;
font-weight: 600;
// justify-content: space-between;
align-items: center;
margin-bottom: 8px;
}
.form {
background-color: #fff;
.u-form-item {
line-height: 35rpx;
font-size: 16px;
font-weight: 600;
}
.photoList {
display: flex;
padding-top: 12rpx;
.chooseBtn {
width: 202rpx;
height: 202rpx;
background: #fafafa;
border-radius: 12rpx;
border: 2rpx dashed #e2e2e2;
display: flex;
justify-content: center;
align-items: center;
.inner {
text-align: center;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.desc {
font-size: 28rpx;
font-weight: 400;
color: #24252a;
line-height: 40rpx;
}
.img {
width: 50rpx;
height: 50rpx;
margin-bottom: 6rpx;
}
}
.photoBox {
width: 202rpx;
height: 202rpx;
background: #fafafa;
border-radius: 12rpx;
position: relative;
.closeBtn {
position: absolute;
top: -12rpx;
right: -12rpx;
z-index: 2;
width: 36rpx;
height: 36rpx;
.img {
width: 36rpx;
height: 36rpx;
}
}
.img {
width: 202rpx;
height: 202rpx;
border-radius: 12rpx;
}
}
.itemBox {
flex: 0 0 202rpx;
margin-right: 20rpx;
&:last-child {
margin-right: 0;
}
}
}
}
}
.item-info {
border: rgba(121, 121, 121, 1) solid 1px;
padding: 7px 8px 7px 8px;
border-radius: 5px;
}
.single-left {
display: flex;
// align-items: center;
// justify-content: space-around;
text-align: center;
margin-top: 12px;
margin-bottom: 20px;
border: 1px solid #eee;
}
.item {
margin-top: 15px;
// width: 344px;
border-radius: 5px;
border: rgba(121, 121, 121, 1) solid 1px;
background-color: #ffffff;
padding: 7px 8px 7px 8px;
box-sizing: border-box;
.item1 {
margin-bottom: 3px;
white-space: 1px;
font-size: 15px;
font-weight: 600;
}
.item2 {
display: flex;
align-content: center;
justify-content: space-between;
.select {
font-size: 15px;
font-weight: 400;
display: flex;
// margin-left: 19px;
}
.input-box {
font-size: 13px;
font-weight: 400;
display: flex;
align-content: center;
margin-top: 2px;
.input {
font-size: 12px;
width: 65px;
padding: 1px 8px;
height: 20px;
box-sizing: border-box;
border: 1px solid #b6b6b6;
margin-left: 6px;
display: inline-block;
margin-right: 6px;
border-radius: 4px;
position: relative;
}
}
}
}
}
.Sparepart {
margin-top: 10px;
display: flex;
align-items: center;
justify-content: space-around;
text-align: center;
.Pickup {
font-weight: 600;
}
.Pickupclick {
color: #1a99db;
border-radius: 10px;
image {
width: 63px;
height: 57px;
}
.image {
width: 63px;
height: 57px;
}
}
}
.bottom-bar {
position: fixed;
bottom: 0;
left: 0;
right: 0;
z-index: 99;
background: #ffffff;
box-shadow: 0 1rpx 20rpx 0 rgba(128, 128, 128, 0.2);
padding: 20rpx;
.item-name {
.quest {
text-align: center;
font-size: 18px;
font-weight: 600;
color: black;
margin-top: 7px;
margin-bottom: 17px;
}
.details {
justify-content: space-around;
display: flex;
font-size: 17px;
font-weight: 600;
// justify-content: space-between;
align-items: center;
margin-bottom: 8px;
}
}
}
.modal {
.upload-name {
padding: 10px 20px;
.name {
font-size: 17px;
font-weight: 600;
}
}
.photoList {
display: flex;
padding-top: 12rpx;
.chooseBtn {
width: 202rpx;
height: 202rpx;
background: #fafafa;
border-radius: 12rpx;
border: 2rpx dashed #e2e2e2;
display: flex;
justify-content: center;
align-items: center;
.inner {
text-align: center;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
.desc {
font-size: 28rpx;
font-weight: 400;
color: #24252a;
line-height: 40rpx;
}
.img {
width: 50rpx;
height: 50rpx;
margin-bottom: 6rpx;
}
}
.photoBox {
width: 202rpx;
height: 202rpx;
background: #fafafa;
border-radius: 12rpx;
position: relative;
.closeBtn {
position: absolute;
top: -12rpx;
right: -12rpx;
z-index: 2;
width: 36rpx;
height: 36rpx;
.img {
width: 36rpx;
height: 36rpx;
}
}
.img {
width: 202rpx;
height: 202rpx;
border-radius: 12rpx;
}
}
.itemBox {
flex: 0 0 202rpx;
margin-right: 20rpx;
&:last-child {
margin-right: 0;
}
}
}
}
::v-deep .yjy-switch-container .yjy-switch-item {
width: 100%;
}
::v-deep .yjy-switch-container {
width: 50%;
}
::v-deep .u-radio__label {
font-size: 13px;
}
::v-deep .u-form-item--left__content {
min-width: 116px;
white-space: nowrap;
}
.listbottom ::v-deep .uni-input-input {
width: 98%;
padding: 10px 5px;
box-sizing: border-box;
font-weight: 500;
height: 30px;
}
.listbottom1 ::v-deep .uni-input-input {
border: 1px solid black;
}
::v-deep .u-form-item {
padding: 6px 0;
}
.photoList1 {
width: 220px;
overflow-y: scroll;
border: 1px solid black;
}
}
</style>

@ -0,0 +1,321 @@
<!-- 扫描rfid,选择缓存区根据选择的缓存区查询库位勾选是否取走托盘提交托盘变更信息 -->
<template>
<view class="page-product-receipt">
<view class="header" :style="{ backgroundColor: `rgba(250, 53, 52, ${scrollTop / 100})` }">
<view class="left">
<u-icon class="icon" name="arrow-left" @click="goback()" />
</view>
<view class="title">维修审核</view>
<view class="right"></view>
</view>
<div class="singlebox">
<view class="single-left" style="background-color: #ffffff; margin-top: 10px">
<view style="width: 25%">审核状态</view>
<jPicker sureColor="#ff0000" @bindpicker="selectAuditStatus" showKey="label" valKey="value" :val="AuditStatusType.value" :options="AuditStatusList" />
</view>
</div>
<!-- <u-tabs name="cate_name" count="cate_count" :list="list" :is-scroll="false" :current="current" @change="change"></u-tabs> -->
<view class="list" v-show="current == 0" v-for="(item, index) in listdata" :key="index" @click="linkdetails(item)">
<div class="list-top">
<div class="tag">{{ item.resultInspect == 2 ? '待审核' : item.resultInspect == 1 ? '审核通过' : '驳回' }}</div>
</div>
<div class="list-top">
<div class="name">维修单号: {{ item.orderCode }}</div>
<!-- <div class="tag">{{ item.orderStatus == 0 ? '待处理' : item.orderStatus == 1 ? '已完成' : item.orderStatus == 2 ? '已逾期' : '进行中' }}</div> -->
<u-icon @click="linkdetails(item)" name="arrow-right" color="#2979ff" size="28"></u-icon>
</div>
<div class="item1">报修来源: {{ item.workCode }}</div>
<div class="item1" style="color: red">设备编码:{{ item.equipmentCode }}</div>
<div class="item1" style="color: red">设备名称:{{ item.equipmentName }}</div>
<div class="item1" style="color: red">处理措施:{{ item.repairMeasures }}</div>
<div class="item1" style="color: red">维修班组:{{ item.teamName }}</div>
<div class="item1">维修人: {{ item.workPersonName }}</div>
</view>
<u-toast ref="uToast" />
<!-- <u-calendar v-model="iscalendar" :mode="mode" @change="changetime"></u-calendar> -->
</view>
</template>
<script lang="ts">
import { Component } from 'vue-property-decorator';
import { BasePage } from '@/components/base/page';
import model from './model';
import chooseOne from '@/components/choose-one/choose-one.vue';
import jPicker from '@/components/J-Picker/jPicker.vue';
import moment from 'moment';
// import { session } from '@/store/modules/session';
//import store from '@/store';
@Component({
components: {
chooseOne,
jPicker,
},
})
export default class RepairAudit extends BasePage {
model = model;
AuditStatusList: any = [
{ label: '待审核', value: '2' },
{ label: '审核通过', value: '1' },
{ label: '驳回', value: '0' },
];
AuditStatusType: any = {};
list: any = [
{
cate_name: '今日任务',
},
{
cate_name: '保养记录',
},
];
current: any = 0;
moren = '选择缓存区';
shouciFocus = true;
zaiciFocus = false;
ischecked = false;
switchListText = [
{
title: '是',
value: 0,
},
{
title: '否',
value: 1,
},
];
listdata: any = [];
detailsdata: any = [];
orderNoItemList: any = {};
productCodeList: any = {};
productCodelocList: any = {};
detailsdataceshi: any = [
{
itemq: '保养任务1',
item2: '已保养',
item3: '2023-08-01 - 2023-08-31',
item4: '每月保养',
item5: 'XXXXX',
item6: '未发现异常',
},
{
itemq: '保养任务1',
item2: '已保养',
item3: '2023-08-01 - 2023-08-31',
item4: '每月保养',
item5: 'XXXXX',
item6: '未发现异常',
},
];
createTime: any = null;
iscalendar = false;
userinfo: any = null;
Sparepartlist: any = [];
// remove: any = {};
async onReady() {
this.createTime = moment().format('YYYY-MM-DD');
//await this.model.getpalletLocation();
//this.remove = this.model.WlList[0];
}
async onShow() {
this.AuditStatusType = this.AuditStatusList[0];
await this.model.getTodayTask(this.AuditStatusType.value);
this.listdata = model.orderNoItemList;
//
// this.listdata = [
// {
// orderNo: '123456789',
// orderStatus: 0,
// orderSource: '0000dfcdcs',
// equipmentCode: '123456789',
// equipmentName: '2023-08-01',
// orderBreakdownTime: 'jnnihnninin',
// orderDesc: 'xscxdcdc',
// orderRepairmanName: 'dwdxdwx',
// },
// {
// orderNo: '123456789',
// orderStatus: 0,
// orderSource: '0000dfcdcs',
// equipmentCode: '123456789',
// equipmentName: '2023-08-01',
// orderBreakdownTime: 'jnnihnninin',
// orderDesc: 'xscxdcdc',
// orderRepairmanName: 'dwdxdwx',
// },
// {
// orderNo: '123456789',
// orderStatus: 0,
// orderSource: '0000dfcdcs',
// equipmentCode: '123456789',
// equipmentName: '2023-08-01',
// orderBreakdownTime: 'jnnihnninin',
// orderDesc: 'xscxdcdc',
// orderRepairmanName: 'dwdxdwx',
// },
// ];
}
async selectAuditStatus(e: any) {
this.AuditStatusType = e.pickerName;
await this.model.getTodayTask(this.AuditStatusType.value);
this.listdata = model.orderNoItemList;
}
clear() {
this.createTime = null;
}
onfocus() {
this.iscalendar = true;
}
async onLoad() {
// console.log(uni.getStorageSync('userinfo'));
}
// selectItem(e: any) {
// this.remove = e.pickerName;
// }
orderNo: any = '';
isorderNo: any = null;
location: any = '';
locationStatus: any = 1;
goback() {
uni.navigateBack({
delta: 1,
});
}
linkdetails(item) {
uni.navigateTo({
url: `/pages/equipment/MaintenanceAudit/Audit?orderId=` + item.workId,
});
// this.model.rowdatanull();
// this.orderNo = null;
// // this.model.rowdata = []
// // item.workStatus == 0 ? '' : item.workStatus == 1 ? '' : item.workStatus == 2 ? '' : '';
// if (item.orderStatus == 0) {
// uni.navigateTo({
// url: `/pages/equipment/RepairAudit/Audit`
// //?listitem=` + encodeURIComponent(JSON.stringify(item)) + '&equipmentCode=' + value,
// });
// } else if (item.orderStatus == 2 || item.orderStatus == 3) {
// uni.navigateTo({
// url: `/pages/equipment/Upkeep/repairing?listitem=` + encodeURIComponent(JSON.stringify(item)) + '&equipmentCode=' + value,
// });
// } else {
// this.ischecked = true;
// item.ischecked = true;
// uni.navigateTo({
// url: `/pages/equipment/Upkeep/repairingview?listitem=` + encodeURIComponent(JSON.stringify(item)) + '&equipmentCode=' + value,
// });
// }
}
}
</script>
<style lang="scss" scoped>
.page-product-receipt {
background: #f2f2f2 linear-gradient(0deg, #f2f2f2 0%, #f8262c 51%, #d9001b 100%) no-repeat;
background-size: 100% 600rpx;
padding: 118rpx 30rpx 162rpx;
min-height: 100%;
.singlebox {
margin-top: 10px;
background-color: #fff;
padding: 10px;
border-radius: 5px;
box-shadow: 0 0 10px 0 rgba(128, 128, 128, 0.2);
}
.single-left {
display: flex;
.Scan {
border-radius: 6px;
}
}
.header {
position: fixed;
top: 0rpx;
left: 0;
right: 0;
z-index: 99;
display: flex;
height: 120rpx;
line-height: 88rpx;
color: #fff;
font-size: 34rpx;
font-weight: 500;
text-align: center;
padding: 45rpx 0rpx 0rpx;
.title {
flex: 3;
}
.left,
.right {
flex: 1;
}
.icon {
display: flex;
justify-content: center;
align-items: center;
width: 88rpx;
height: 88rpx;
}
}
.quest {
width: 367px;
border-radius: 5px;
border: rgba(121, 121, 121, 1) solid 1px;
background-color: #ffffff;
padding: 7px 8px 7px 12px;
box-sizing: border-box;
text-align: center;
font-size: 18px;
font-weight: 600;
color: black;
}
.list {
margin-top: 15px;
width: 367px;
border-radius: 5px;
border: rgba(121, 121, 121, 1) solid 1px;
background-color: #ffffff;
padding: 7px 8px 7px 8px;
box-sizing: border-box;
.list-top {
display: flex;
justify-content: space-between;
position: relative;
height: 24px;
align-items: center;
margin-bottom: 10px;
.name {
font-weight: 600;
font-size: 15px;
}
.tag {
width: 71px;
height: 24px;
border-radius: 5px;
text-align: center;
line-height: 24px;
// box-shadow: 0 1rpx 20rpx 0 #54B0D7;
border: 2px solid #54b0d7;
position: absolute;
right: 18px;
color: #54b0d7;
}
.tag1 {
border: 2px solid #83c874;
color: #83c874;
}
}
.item1 {
margin-bottom: 10px;
white-space: 1px;
}
}
::v-deep .yjy-switch-container .yjy-switch-item {
width: 100%;
}
::v-deep .yjy-switch-container {
width: 50%;
}
}
</style>

@ -0,0 +1,60 @@
import { getModule, Module, MutationAction, VuexModule } from 'vuex-module-decorators';
import store from '@/store';
import http from '@/utils/request';
import { url } from '@/utils/url';
@Module({
namespaced: true,
dynamic: true,
store,
name: 'page.equipment.MaintenanceAudit',
})
export class MaintenanceAudit extends VuexModule {
rowdata: any = [];
orderNoItemList: any = [];
getTaskRecordList: any = {};
@MutationAction
async getTodayTask(params: any) {
const result: any = await http.get(url.lanjuequipment.product.MaintenanceAudit.getBXList, {
params: {
resultInspect: params,
},
});
const orderNoItemList = result.data;
return { orderNoItemList };
}
@MutationAction
async getTaskRecord(params: any) {
const result: any = await http.get(url.lanjuequipment.product.MaintenanceAudit.getBXDetail + '/' + params);
const getTaskRecordList = result.data;
return { getTaskRecordList };
}
teamList: any = [];
//是否开机保养
@MutationAction
async getTeamList() {
const result: any = await http.get(url.lanjuequipment.product.MaintenanceAudit.getMaintenanceTeamList);
const oldteamList: [] = result.rows;
const teamList = oldteamList.map((item: any) => {
return {
value: item.teamCode,
label: item.teamName,
...item,
};
});
return { teamList };
}
Checkcode: any = '';
@MutationAction
async updateTaskRecord(params: any) {
const result: any = await http.post(url.lanjuequipment.product.MaintenanceAudit.check, params);
const Checkcode = result.code;
return { Checkcode };
}
@MutationAction
async rowdatanull() {
const rowdata: [] = [];
return { rowdata };
}
}
export default getModule(MaintenanceAudit);

@ -48,44 +48,50 @@
</u-form>
<u-form v-if="!noitem" class="form" ref="form" label-width="180rpx">
<u-form-item label="报修来源">
<u-input disabled :border="true" v-model="histroyItem.productDescZh" placeholder="" style="overflow: hidden" />
<u-input disabled :border="true" v-model="histroyItem.orderSource" placeholder="" style="overflow: hidden" />
</u-form-item>
<u-form-item label="设备名称">
<u-input disabled :border="true" v-model="histroyItem.productDescZh" placeholder="" style="overflow: hidden" />
<u-input disabled :border="true" v-model="histroyItem.equipmentName" placeholder="" style="overflow: hidden" />
</u-form-item>
<u-form-item label="设备编码">
<u-input disabled :border="true" v-model="histroyItem.productDescZh" placeholder="" style="overflow: hidden" />
<u-input disabled :border="true" v-model="histroyItem.equipmentCode" placeholder="" style="overflow: hidden" />
</u-form-item>
<u-form-item label="报修人">
<u-input disabled :border="true" v-model="histroyItem.productDescZh" placeholder="" style="overflow: hidden" />
<u-input disabled :border="true" v-model="histroyItem.orderRepairmanName" placeholder="" style="overflow: hidden" />
</u-form-item>
</u-form>
<view v-for="item in TraysList" :key="item.id" class="list">
<u-form v-if="!noitem" style="margin-top: 10rpx" class="form3">
<view class="row-list">
<view style="width: 35%" class="list-item"> 检验项: </view>
<view style="width: 65%"> {{ item.materialCode }} </view>
<view class="item" v-for="(item, index) in histroyItem.checkList" :key="index">
<div class="item1">检查项: {{ item.itemName }}</div>
<div class="item1">检查方法: {{ item.itemMethod }}</div>
<div v-for="(item1, index1) in item.standardList" :key="index1">
<div @click="checkimg(item1, item1.detailReach, index, index1)" class="item1 item2" v-if="item1.standardType == 'qualitative'">
<div>检查标准: {{ item1.standardName }}</div>
<div class="select">
<u-radio-group v-model="item1.detailReach">
<u-radio @change="radioChange" v-for="(n, indexn) in listselect" :key="indexn" :name="n.type" :disabled="item1.detailReach == n.type ? false : true">
{{ n.name }}
</u-radio>
</u-radio-group>
</div>
</div>
<div @click="checkimg(item1, item1.detailReach, index, index1)" class="item1 item2" v-if="item1.standardType == 'quantify'">
<div>检查标准: {{ item1.standardName }}</div>
<div class="input-box" id="input-box1">
实际值:
<input class="input" :disabled="item1.actualValue == null ? true : true" v-model="item1.actualValue" type="text" name="" id="" />
单位:mm
</div>
</div>
</div>
</view>
<view class="row-list">
<view style="width: 35%" class="list-item"> 检验方法: </view>
<view style="width: 65%"> {{ item.materialDesc }} </view>
</view>
<view class="row-list">
<view style="width: 35%" class="list-item"> 检验标准: </view>
<view style="width: 65%"> {{ item.materialDesc }} </view>
</view>
<view class="row-list">
<view style="width: 35%" class="list-item"> 是否符合标准: </view>
<view style="width: 65%"> {{ item.materialDesc }} </view>
</view>
</u-form>
</view>
<u-form style="margin-top: 10rpx" class="form" ref="form" label-width="180rpx">
<u-form style="margin-top: 10rpx" class="form" ref="form1" label-width="180rpx">
<view style="font-size: 30rpx; display: flex; justify-content: center">审核</view>
<u-form-item label="报修去向">
<jPicker sureColor="#ff0000" @bindpicker="selectgoneStatus" showKey="label" valKey="value" :val="gone.value" :options="goneList" />
</u-form-item>
<view v-if="gone.value == '1' || gone.value == '2'">
<view v-if="gone.value == '计划性维修' || gone.value == '立即维修'">
<u-form-item label="维修组">
<jPicker sureColor="#ff0000" @bindpicker="selectgroupStatus" showKey="label" valKey="value" :val="group.value" :options="groupList" />
</u-form-item>
@ -107,23 +113,23 @@
</picker>
</u-form-item>
</view>
<view v-if="gone.value == '3'">
<view v-if="gone.value == '不维修'">
<u-form-item label="审核意见">
<u-input :border="true" v-model="form1.yijian" placeholder="" style="overflow: hidden" />
<u-input :border="true" v-model="form1.auditOpinion" placeholder="" style="overflow: hidden" />
</u-form-item>
</view>
<view v-if="gone.value == '4'">
<view v-if="gone.value == '委外维修'">
<u-form-item label="委外单位">
<u-input :border="true" v-model="form1.yijian" placeholder="" style="overflow: hidden" />
<u-input :border="true" v-model="form1.workOutsourcingUnit" placeholder="" style="overflow: hidden" />
</u-form-item>
<u-form-item label="委外维修人员">
<u-input :border="true" v-model="form1.yijian" placeholder="" style="overflow: hidden" />
<u-input :border="true" v-model="form1.outSourcePerson" placeholder="" style="overflow: hidden" />
</u-form-item>
<u-form-item label="联系方式">
<u-input :border="true" v-model="form1.yijian" placeholder="" style="overflow: hidden" />
<u-input :border="true" v-model="form1.workConnection" placeholder="" style="overflow: hidden" />
</u-form-item>
<u-form-item label="委外原因">
<u-input :border="true" v-model="form1.yijian" placeholder="" style="overflow: hidden" />
<u-input :border="true" v-model="form1.outSourceReason" placeholder="" style="overflow: hidden" />
</u-form-item>
</view>
</u-form>
@ -142,6 +148,20 @@
</u-col>
</u-row>
</view>
<u-modal v-model="isshow" class="modal" :show-cancel-button="true" :show-title="false">
<div class="upload-name">
<div class="name">检查标准:{{ picstandardName }}</div>
<!-- <u-upload :before-upload="beforeUpload" ref="uUpload" :fileList="fileList" @on-error='errorUpload($event)' :action="action" @on-remove="removePic($event, item)" @on-success="successUpload($event)" :deletable="true"></u-upload> -->
<scroll-view class="scroll-view_H" scroll-x="true" :scroll-left="scrollLeft()">
<view class="photoList">
<view class="itemBox photoBox" v-for="(img, index) in imgList1" :key="index">
<image class="img" :src="img.fileAddress" mode="aspectFit" @click="showScreenImg1(index)"></image>
</view>
</view>
</scroll-view>
</div>
</u-modal>
<u-toast ref="uToast" />
</view>
</template>
@ -162,11 +182,14 @@ interface OptionType {
jPicker,
},
})
export default class ProductionREQ extends BasePage {
export default class RepairAudit extends BasePage {
model = model;
picstandardName: any = '';
noitem = true;
isshow = false;
isshowpic = false;
imgList: any = ['/Users/guoshuang/Documents/KHD/榄菊/lanju-app/src/static/images/add.png', '/Users/guoshuang/Documents/KHD/榄菊/lanju-app/src/static/images/iconCloseGray.svg', '/Users/guoshuang/Documents/KHD/榄菊/lanju-app/src/static/logo.png', '/Users/guoshuang/Documents/KHD/榄菊/lanju-app/src/static/images/iconCloseGray.svg'];
imgList: any = [];
imgList1: any = [];
listselectdetermine: any = [
{
type: '1',
@ -179,24 +202,36 @@ export default class ProductionREQ extends BasePage {
radiovalue: null,
},
];
listselect: any = [
{
type: 1,
name: '符合标准',
radiovalue: null,
},
{
type: 0,
name: '未达标',
radiovalue: null,
},
];
isShutdown: any = '1';
gone: any = {};
goneList: any = [
{
label: '计划性维修',
value: '1',
value: '计划性维修',
},
{
label: '立即维修',
value: '2',
value: '立即维修',
},
{
label: '不维修',
value: '3',
value: '不维修',
},
{
label: '委外维修',
value: '4',
value: '委外维修',
},
];
group: any = {};
@ -232,8 +267,20 @@ export default class ProductionREQ extends BasePage {
let orderId = options.orderId;
await this.model.getTaskRecord(orderId);
this.histroyItem = this.model.getTaskRecordList;
if (this.histroyItem.checkList === null || this.histroyItem.checkList.length == 0) {
this.noitem = true;
} else {
this.noitem = false;
}
console.log('00009999', this.histroyItem);
if (this.histroyItem.files == null || this.histroyItem.files.length == 0) {
this.imgList = [];
} else {
this.imgList = this.histroyItem.files;
}
await this.model.getTeamList();
this.groupList = this.model.teamList;
}
changeradio1(checkResult) {
console.log(checkResult);
@ -248,8 +295,18 @@ export default class ProductionREQ extends BasePage {
}
}
showpicture() {
if (this.imgList.length == 0 || this.imgList == null) {
this.isshowpic = false;
this.uni.showToast({
title: '无照片',
icon: 'none',
duration: 1000,
});
} else {
this.isshowpic = true;
}
}
showScreenImg(i) {
let list = this.imgList.map((item) => {
return item.fileAddress;
@ -260,6 +317,16 @@ export default class ProductionREQ extends BasePage {
// loop: true
});
}
showScreenImg1(i) {
let list = this.imgList1.map((item) => {
return item.fileAddress;
});
uni.previewImage({
current: i,
urls: list,
// loop: true
});
}
scrollLeft() {
return 222 * (this.imgList.length + 1);
}
@ -279,47 +346,70 @@ export default class ProductionREQ extends BasePage {
this.list = [];
}
//
async query() {
// if (this.orderNo == '' || this.orderNo.length == 0) {
// (this.$refs.uToast as any).show({
// title: '',
// // url: '/pages/user/index'
// });
// return;
// }
// await this.model.ProductionMaterialRequisition(this.orderNo);
// if (model.orderNoItemList) {
// this.materilist = [];
// // let a: any = {};
// // model.orderNoItemList.forEach((item) => {
// // a.label = item.productName;
// // a.value = item.productCode;
// // this.materilist.push(a);
// // });
// this.materilist = model.orderNoItemList;
// this.aimWl = this.materilist[0];
// this.queryinformation();
// //this.getlist();
// } else {
// this.materilist = [];
// }
}
//
async onSubmit() {
////
let params = {};
if (this.gone.value == '计划性维修' || this.gone.value == '立即维修') {
params = {
...this.histroyItem,
repairDestination: this.gone.value,
workTeam: this.group.value,
workPlanTime: this.startdate,
workPlanDownTime: this.stopdate,
workDownMachine: this.isShutdown,
};
} else if (this.gone.value == '不维修') {
params = {
...this.histroyItem,
auditOpinion: this.form1.auditOpinion,
repairDestination: this.gone.value,
};
} else {
params = {
...this.histroyItem,
workOutsourcingUnit: this.form1.workOutsourcingUnit,
outSourcePerson: this.form1.outSourcePerson,
workConnection: this.form1.workConnection,
outSourceReason: this.form1.outSourceReason,
repairDestination: this.gone.value,
};
}
await this.model.updateTaskRecord(params);
if (this.model.Checkcode == 200) {
(this.$refs.uToast as any).show({
title: '成功',
// url: '/pages/user/index'
});
this.mepty();
uni.navigateBack({
delta: 1,
});
} else {
(this.$refs.uToast as any).show({
title: '失败',
// url: '/pages/user/index'
});
}
}
mepty() {
this.orderNo = '';
this.list = [];
this.aimWl = {} as OptionType;
this.bimWl = {} as OptionType;
this.materilist = [];
this.userDefined1list = [];
//this.model.mepty();
this.boxnumber = '';
this.TraysList = [];
this.form1 = {};
this.group = {};
this.gone = {};
}
checkimg(item) {
//console.log('111199990000',item, value);
this.picstandardName = item.standardName;
if (item.picturePaths == null || item.picturePaths.length == 0) {
this.imgList1 = [];
this.isshow = false;
this.uni.showToast({
title: '无照片',
icon: 'none',
duration: 1000,
});
} else {
this.imgList1 = item.picturePaths;
this.isshow = true;
}
}
}
</script>
@ -373,6 +463,52 @@ body {
width: 100%;
//box-shadow: 0 0 14px 0 rgb(128 128 128 / 46%);
z-index: 100;
.item {
margin-top: 15px;
width: 344px;
border-radius: 5px;
border: rgba(121, 121, 121, 1) solid 1px;
background-color: #ffffff;
padding: 7px 8px 7px 8px;
box-sizing: border-box;
.item1 {
margin-bottom: 3px;
white-space: 1px;
font-size: 15px;
font-weight: 600;
}
.item2 {
display: flex;
align-content: center;
justify-content: space-between;
.select {
font-size: 15px;
font-weight: 400;
display: flex;
// margin-left: 19px;
}
.input-box {
font-size: 13px;
font-weight: 400;
display: flex;
align-content: center;
margin-top: 2px;
.input {
font-size: 12px;
width: 65px;
padding: 1px 8px;
height: 20px;
box-sizing: border-box;
border: 1px solid #b6b6b6;
margin-left: 6px;
display: inline-block;
margin-right: 6px;
border-radius: 4px;
position: relative;
}
}
}
}
}
.form {
background-color: #fff;

@ -17,9 +17,12 @@
<!-- <u-tabs name="cate_name" count="cate_count" :list="list" :is-scroll="false" :current="current" @change="change"></u-tabs> -->
<view class="list" v-show="current == 0" v-for="(item, index) in listdata" :key="index" @click="linkdetails(item)">
<div class="list-top">
<div class="tag">{{ item.orderStatus == 2 ? '待审核' : item.orderStatus == 1 ? '审核通过' : '驳回' }}</div>
</div>
<div class="list-top">
<div class="name">报修单号: {{ item.orderCode }}</div>
<div class="tag">{{ item.orderStatus == 0 ? '待处理' : item.orderStatus == 1 ? '已完成' : item.orderStatus == 2 ? '已逾期' : '进行中' }}</div>
<!-- <div class="tag">{{ item.orderStatus == 0 ? '待处理' : item.orderStatus == 1 ? '已完成' : item.orderStatus == 2 ? '已逾期' : '进行中' }}</div> -->
<u-icon @click="linkdetails(item)" name="arrow-right" color="#2979ff" size="28"></u-icon>
</div>
<div class="item1">报修来源: {{ item.orderSource }}</div>
@ -115,45 +118,47 @@ export default class RepairAudit extends BasePage {
}
async onShow() {
this.AuditStatusType = this.AuditStatusList[0];
// await this.model.getTodayTask(this.AuditStatusType.value);
// this.listdata = model.orderNoItemList;
await this.model.getTodayTask(this.AuditStatusType.value);
this.listdata = model.orderNoItemList;
//
this.listdata = [
{
orderNo: '123456789',
orderStatus: 0,
orderSource: '0000dfcdcs',
equipmentCode: '123456789',
equipmentName: '2023-08-01',
orderBreakdownTime: 'jnnihnninin',
orderDesc: 'xscxdcdc',
orderRepairmanName: 'dwdxdwx',
},
{
orderNo: '123456789',
orderStatus: 0,
orderSource: '0000dfcdcs',
equipmentCode: '123456789',
equipmentName: '2023-08-01',
orderBreakdownTime: 'jnnihnninin',
orderDesc: 'xscxdcdc',
orderRepairmanName: 'dwdxdwx',
},
{
orderNo: '123456789',
orderStatus: 0,
orderSource: '0000dfcdcs',
equipmentCode: '123456789',
equipmentName: '2023-08-01',
orderBreakdownTime: 'jnnihnninin',
orderDesc: 'xscxdcdc',
orderRepairmanName: 'dwdxdwx',
},
];
// this.listdata = [
// {
// orderNo: '123456789',
// orderStatus: 0,
// orderSource: '0000dfcdcs',
// equipmentCode: '123456789',
// equipmentName: '2023-08-01',
// orderBreakdownTime: 'jnnihnninin',
// orderDesc: 'xscxdcdc',
// orderRepairmanName: 'dwdxdwx',
// },
// {
// orderNo: '123456789',
// orderStatus: 0,
// orderSource: '0000dfcdcs',
// equipmentCode: '123456789',
// equipmentName: '2023-08-01',
// orderBreakdownTime: 'jnnihnninin',
// orderDesc: 'xscxdcdc',
// orderRepairmanName: 'dwdxdwx',
// },
// {
// orderNo: '123456789',
// orderStatus: 0,
// orderSource: '0000dfcdcs',
// equipmentCode: '123456789',
// equipmentName: '2023-08-01',
// orderBreakdownTime: 'jnnihnninin',
// orderDesc: 'xscxdcdc',
// orderRepairmanName: 'dwdxdwx',
// },
// ];
}
selectAuditStatus(e: any) {
this.AuditStatusType = e;
async selectAuditStatus(e: any) {
this.AuditStatusType = e.pickerName;
await this.model.getTodayTask(this.AuditStatusType.value);
this.listdata = model.orderNoItemList;
}
clear() {
this.createTime = null;
@ -172,8 +177,8 @@ export default class RepairAudit extends BasePage {
location: any = '';
locationStatus: any = 1;
goback() {
uni.navigateTo({
url: `/pages/equipment/index`,
uni.navigateBack({
delta: 1,
});
}
linkdetails(item) {

@ -24,7 +24,7 @@ export class RepairAudit extends VuexModule {
}
@MutationAction
async getTaskRecord(params: any) {
const result: any = await http.get(url.lanjuequipment.product.RepairAudit.getBXDetail + params);
const result: any = await http.get(url.lanjuequipment.product.RepairAudit.getBXDetail + '/' + params);
const getTaskRecordList = result.data;
return { getTaskRecordList };
}
@ -33,17 +33,22 @@ export class RepairAudit extends VuexModule {
@MutationAction
async getTeamList() {
const result: any = await http.get(url.lanjuequipment.product.RepairAudit.getMaintenanceTeamList);
const teamList: [] = result.data;
const oldteamList: [] = result.rows;
const teamList = oldteamList.map((item: any) => {
return {
value: item.teamCode,
label: item.teamName,
...item,
};
});
return { teamList };
}
Checklist: any = [];
Checkcode: any = '';
@MutationAction
async queryhandChecklist(params: any) {
const result: any = await http.get(url.lanjuequipment.product.Repair.list, { params: params });
const Checklist: any = result.rows;
console.log('this.tableData', Checklist);
// debugger
return { Checklist };
async updateTaskRecord(params: any) {
const result: any = await http.put(url.lanjuequipment.product.RepairAudit.check, params);
const Checkcode = result.code;
return { Checkcode };
}
@MutationAction
async rowdatanull() {

@ -142,7 +142,7 @@ export default class LoginPage extends BasePage {
// console.log('Version////', this.Version);
}
///******************
version = '0.0.92'; //
version = '0.0.93'; //
//version = '0.0.7'; //
//*************** false true ****************
//isTest = true;

@ -301,7 +301,7 @@
<u-form-item label="QC主管:" v-show="selectischeckType.value == '0'">
<jPicker sureColor="#ff0000" :moren="moren11" @bindpicker="selectpgzgCode" showKey="label" valKey="value" :val="selectpgzgList.value" :options="pgzgList" />
</u-form-item>
<u-form-item label="质量主管:" v-show="selectischeckType.value == '0'">
<u-form-item label="质量主管:">
<jPicker sureColor="#ff0000" :moren="moren17" @bindpicker="selectZLCode" showKey="label" valKey="value" :val="selectZLType.value" :options="pgzgList" />
</u-form-item>
</div>
@ -936,9 +936,9 @@ export default class PurchaseWHSRM extends BasePage {
this.formdata.sfxvzq = this.selectischeckType.value;
if (this.formdata.sfxvzq == '1') {
this.selectpgzgList = {};
this.selectZLType = {};
//this.selectZLType = {};
this.formdata.pgzg = null;
this.formdata.pgzr = null;
// this.formdata.pgzr = null;
}
}
async selectpgzgCode(e: any) {
@ -1178,7 +1178,7 @@ export default class PurchaseWHSRM extends BasePage {
});
return;
}
if (this.selectischeckType.value === '0' && !this.formdata.pgzr) {
if (this.formdata.pgzr == null || this.formdata.pgzr == '') {
(this.$refs.uToast as any).show({
title: '请选择质量主管',
type: 'default',

@ -102,7 +102,7 @@
<u-row class="button-bar">
<!-- 确定 -->
<u-col :span="6">
<u-button @click="onSubmit" type="primary">确认</u-button>
<u-button @click="onSubmit" type="primary">确认出库</u-button>
</u-col>
<!-- 返回 -->
<u-col :span="6">

@ -114,7 +114,7 @@
</u-col>
<!-- 确定 -->
<u-col :span="6">
<u-button @click="onSubmit" type="primary"></u-button>
<u-button @click="onSubmit" type="primary">认收货</u-button>
</u-col>
<!-- 返回 -->
</u-row>

@ -122,7 +122,7 @@
</u-col>
<!-- 确定 -->
<u-col :span="6">
<u-button @click="onSubmit" type="primary"></u-button>
<u-button @click="onSubmit" type="primary">认收货</u-button>
</u-col>
<!-- 返回 -->
</u-row>

@ -254,6 +254,14 @@ export const url = {
getBXList: qianzhuione + '/device/devicePDA/getBXList', //审核列表查询
getBXDetail: qianzhuione + '/device/devicePDA/getBXDetail', //审核详情查询
getMaintenanceTeamList: qianzhuione + '/device/equTeam/getMaintenanceTeamList', //维修班组
check: qianzhuione + '/device/devicePDA/checkBX', //审核
},
//维修审核
MaintenanceAudit: {
getBXList: qianzhuione + '/device/devicePDA/getWXList', //审核列表查询
getBXDetail: qianzhuione + '/device/devicePDA/selectPdaRepairWorkOrderDetails', //审核详情查询
getMaintenanceTeamList: qianzhuione + '/device/equTeam/getMaintenanceTeamList', //维修班组
check: qianzhuione + '/device/devicePDA/checkWX', //审核
},
},
},

Loading…
Cancel
Save