|
|
<!-- 扫描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">保养信息</div>
|
|
|
<div class="details">
|
|
|
<div>工单编码: {{ detailsinfolist.orderCode }}</div>
|
|
|
<!-- <div style="margin-left: 42px">设备名称: {{ detailsinfolist.equipmentName }}</div> -->
|
|
|
</div>
|
|
|
<div class="details">
|
|
|
<div>车间编码: {{ detailsinfolist.planWorkshop }}</div>
|
|
|
<!-- <div style="margin-left: 42px">设备名称: {{ detailsinfolist.equipmentName }}</div> -->
|
|
|
</div>
|
|
|
<div class="details">
|
|
|
<div>计划名称: {{ detailsinfolist.planName }}</div>
|
|
|
<!-- <div style="margin-left: 42px">设备名称: {{ detailsinfolist.equipmentName }}</div> -->
|
|
|
</div>
|
|
|
<div class="details">
|
|
|
<div>保养人: {{ detailsinfolist.planPerson }}</div>
|
|
|
<!-- <div style="margin-left: 42px">设备名称: {{ detailsinfolist.equipmentName }}</div> -->
|
|
|
</div>
|
|
|
<!-- 、、
|
|
|
计划编码 20231121003 计划名称 蚊香包装线保养计划
|
|
|
循环周期 1日 工单编码 O20231122002
|
|
|
车间编码 WXB01 循环开始时间 2023-11-21
|
|
|
循环结束时间 2023-12-30 执行开始时间 2023-11-22
|
|
|
执行结束时间 保养类型 内部
|
|
|
是否停机保养 开机保养 保养人 mobile
|
|
|
报修单号 -->
|
|
|
</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 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" @change="radioGroupChange(item1, item1.detailReach, index, index1)">
|
|
|
<u-radio @change="radioChange" v-for="(n, indexn) in listselect" :key="indexn" :name="n.type">
|
|
|
{{ n.name }}
|
|
|
</u-radio>
|
|
|
</u-radio-group>
|
|
|
</div>
|
|
|
</div>
|
|
|
<div 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" @focus="blur(item1, item1.actualValue, index, index1)" @change="changeinput(item1)" @input="input(item1)" type="text" name="" id="" />
|
|
|
单位:mm
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</view>
|
|
|
</view>
|
|
|
<!-- <div class="Sparepart">
|
|
|
<div class="Pickup">点击进行备件申领</div>
|
|
|
<div class="Pickupclick">
|
|
|
<img @click="linkSparepartlist(detailsinfolist)" src="../../../static/images/add.png" alt="" />
|
|
|
</div>
|
|
|
</div> -->
|
|
|
<view class="list" v-for="(item, index) in detailsinfolist.spareList" :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.applyCode }}</div>
|
|
|
<!-- <div style="margin-left: 42px">设备名称: {{ detailsinfolist.equipmentName }}</div> -->
|
|
|
</div>
|
|
|
<div class="details">
|
|
|
<div>备件编码: {{ item.spareCode }}</div>
|
|
|
<!-- <div style="margin-left: 42px">设备名称: {{ detailsinfolist.equipmentName }}</div> -->
|
|
|
</div>
|
|
|
<div class="details">
|
|
|
<div>备件名称: {{ item.spareName }}</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.applyTime }}</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>
|
|
|
<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.planPerson }}
|
|
|
</u-form-item>
|
|
|
<!-- 机台 -->
|
|
|
<!-- <u-form-item label="保养结果:">
|
|
|
<div class="select">
|
|
|
<u-radio-group v-model="formdata.workStatus" @change="radioGroupChange1(formdata.workStatus)">
|
|
|
<u-radio @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 v-model="formdata.orderCost" placeholder="" />
|
|
|
</u-form-item>
|
|
|
<!-- <u-form-item label="保养时间:">
|
|
|
<u-input @blur="blur()" @focus="focus()" placeholder="" v-model="orderBreakdownTime" />
|
|
|
<u-picker mode="time" :default-time="defaulttime" :params="params" v-model="showtime" @confirm="timeConfirm" :timeEnd="endTime"></u-picker>
|
|
|
</u-form-item> -->
|
|
|
<u-form-item 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" @click="chooseImg1">
|
|
|
<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>
|
|
|
<!-- <view class="bottom-bar">
|
|
|
<div class="item-name">
|
|
|
<div class="details">
|
|
|
<div>点检人: 刘XX</div>
|
|
|
<div style="margin-left: 42px">点检时间: 2023-08-09</div>
|
|
|
</div>
|
|
|
<div class="details">
|
|
|
<div>是否异常: 是</div>
|
|
|
<div style="margin-left: 42px">保养单: 90272931234</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</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">检查标准:{{ form.item5 }}</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 imgList" :key="index">
|
|
|
<view class="closeBtn" @click="deleteImg(index)">
|
|
|
<image class="img" src="../../../static/images/iconCloseGray.svg" mode="scaleToFill"></image>
|
|
|
</view>
|
|
|
<image class="img" :src="img" mode="aspectFit" @click="showScreenImg(index)"></image>
|
|
|
</view>
|
|
|
<view class="itemBox chooseBtn" @click="chooseImg">
|
|
|
<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>
|
|
|
</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;
|
|
|
list: any = [
|
|
|
{
|
|
|
cate_name: '今日任务',
|
|
|
},
|
|
|
{
|
|
|
cate_name: '巡检记录',
|
|
|
},
|
|
|
];
|
|
|
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: 1,
|
|
|
name: '符合标准',
|
|
|
radiovalue: null,
|
|
|
},
|
|
|
{
|
|
|
type: 0,
|
|
|
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 = {
|
|
|
orderCost: 0,
|
|
|
};
|
|
|
Sparepartlist: any = [];
|
|
|
imgformList: any = [];
|
|
|
deleteimgList1: any = [];
|
|
|
isvalue = false;
|
|
|
orderBreakdownTime: any = '';
|
|
|
showtime = false;
|
|
|
defaulttime: any = '';
|
|
|
async onReady() {
|
|
|
//await this.model.getpalletLocation();
|
|
|
//this.remove = this.model.WlList[0];
|
|
|
// this.Sparepartlist = []
|
|
|
console.log(0, this.model.rowdata, this.Sparepartlist);
|
|
|
}
|
|
|
onShow() {
|
|
|
this.onLoad;
|
|
|
this.blur;
|
|
|
if (this.model.rowdata.length == 0) {
|
|
|
this.model.rowdatanull();
|
|
|
} else {
|
|
|
this.Sparepartlist = this.model.rowdata;
|
|
|
}
|
|
|
console.log(1, this.model.rowdata, this.Sparepartlist);
|
|
|
}
|
|
|
// 输入框焦点
|
|
|
blur(item, value, index, index1) {
|
|
|
console.log(item, value, index, index1);
|
|
|
this.radiomodal = false;
|
|
|
this.inputmodal = false;
|
|
|
if (value == null || value == '') {
|
|
|
this.isvalue = true;
|
|
|
} else {
|
|
|
this.isvalue = false;
|
|
|
}
|
|
|
console.log(this.isvalue, value == null, value == '');
|
|
|
if (value > item.detailUpLimit || value < item.detailDownLimit) {
|
|
|
this.equipmentindex = [];
|
|
|
this.equipmentindex.push(index);
|
|
|
this.equipmentindex.push(index1);
|
|
|
if (item.picturePath != null) {
|
|
|
this.imgList = JSON.parse(JSON.stringify(item.picturePath));
|
|
|
this.imgList = this.imgList.split(',');
|
|
|
} else {
|
|
|
this.imgList = [];
|
|
|
}
|
|
|
this.inputmodal = true;
|
|
|
this.isshow = true;
|
|
|
this.form = item;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
changeinput(e) {
|
|
|
console.log(e, '11111111');
|
|
|
}
|
|
|
input(e) {
|
|
|
console.log(e, '00000000');
|
|
|
}
|
|
|
//单选
|
|
|
radioChange(e) {
|
|
|
console.log(e, '11111');
|
|
|
}
|
|
|
// 选中任一radio时,由radio-group触发
|
|
|
radioGroupChange(item, value, index, index1) {
|
|
|
console.log(item, value, index, index1);
|
|
|
this.equipmentindex = [];
|
|
|
this.radiomodal = false;
|
|
|
this.inputmodal = false;
|
|
|
this.equipmentindex.push(index);
|
|
|
this.equipmentindex.push(index1);
|
|
|
if (item.picturePath != null) {
|
|
|
this.imgList = JSON.parse(JSON.stringify(item.picturePath));
|
|
|
this.imgList = this.imgList.split(',');
|
|
|
} else {
|
|
|
this.imgList = [];
|
|
|
}
|
|
|
if (value == 0) {
|
|
|
this.isshow = true;
|
|
|
this.radiomodal = true;
|
|
|
this.form = item;
|
|
|
}
|
|
|
}
|
|
|
radioGroupChange1(item) {
|
|
|
console.log(item);
|
|
|
}
|
|
|
async onLoad(options) {
|
|
|
let str = decodeURIComponent(options.listitem);
|
|
|
if (str) {
|
|
|
this.detailsinfo = JSON.parse(str);
|
|
|
let query = {
|
|
|
orderCode: this.detailsinfo.orderCode,
|
|
|
};
|
|
|
await this.model.getInspectionOrderInfo(query);
|
|
|
this.detailsinfolist = this.model.OrderInfList;
|
|
|
}
|
|
|
}
|
|
|
goback() {
|
|
|
uni.redirectTo({
|
|
|
url: `/pages/equipment/Upkeep/index?listitem=` + encodeURIComponent(JSON.stringify(this.detailsinfo)),
|
|
|
});
|
|
|
}
|
|
|
created() {
|
|
|
this.onLoad;
|
|
|
console.log(2, this.model.rowdata, this.Sparepartlist);
|
|
|
}
|
|
|
change(index) {
|
|
|
this.current = index;
|
|
|
}
|
|
|
//模态框图片上传
|
|
|
confirm() {
|
|
|
console.log((this as any).uUpload, 'sssss', this.equipmentindex);
|
|
|
console.log(this.detailsinfolist.detailList[this.equipmentindex[0]].standardList[this.equipmentindex[1]]);
|
|
|
if (this.radiomodal) {
|
|
|
if (this.imgList.length == 0) {
|
|
|
this.detailsinfolist.detailList[this.equipmentindex[0]].standardList[this.equipmentindex[1]].picturePath = null;
|
|
|
} else {
|
|
|
this.imgList = this.imgList.join(',');
|
|
|
this.detailsinfolist.detailList[this.equipmentindex[0]].standardList[this.equipmentindex[1]].picturePath = this.imgList;
|
|
|
console.log(this.detailsinfolist.detailList[this.equipmentindex[0]].standardList[this.equipmentindex[1]], this.imgList);
|
|
|
}
|
|
|
} else if (this.inputmodal) {
|
|
|
if (this.imgList.length == 0) {
|
|
|
this.detailsinfolist.detailList[this.equipmentindex[0]].standardList[this.equipmentindex[1]].picturePath = null;
|
|
|
} else {
|
|
|
this.imgList = this.imgList.join(',');
|
|
|
this.detailsinfolist.detailList[this.equipmentindex[0]].standardList[this.equipmentindex[1]].picturePath = this.imgList;
|
|
|
console.log(this.detailsinfolist.detailList[this.equipmentindex[0]].standardList[this.equipmentindex[1]], this.imgList);
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
cancel() {
|
|
|
this.isshow = false;
|
|
|
if (this.detailsinfolist.detailList[this.equipmentindex[0]].standardList[this.equipmentindex[1]].picturePath == null) {
|
|
|
this.imgList = [];
|
|
|
} else {
|
|
|
this.imgList = this.detailsinfolist.detailList[this.equipmentindex[0]].standardList[this.equipmentindex[1]].picturePath;
|
|
|
this.imgList = this.imgList.split(',');
|
|
|
}
|
|
|
}
|
|
|
scrollLeft() {
|
|
|
return 222 * (this.imgList.length + 1);
|
|
|
}
|
|
|
showScreenImg(i) {
|
|
|
let list = this.imgList;
|
|
|
uni.previewImage({
|
|
|
current: i,
|
|
|
urls: list,
|
|
|
// loop: true
|
|
|
});
|
|
|
}
|
|
|
chooseImg() {
|
|
|
uni.chooseImage({
|
|
|
count: 9, //默认9
|
|
|
// sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
|
|
|
sourceType: ['album', 'camera'],
|
|
|
success: (res) => {
|
|
|
// uni.showLoading();
|
|
|
//console.log('/////',res);
|
|
|
let tempFilePaths: any = res.tempFilePaths;
|
|
|
|
|
|
// (this.$refs.uToast as any).show({
|
|
|
// title: '成功',
|
|
|
// type: 'success',
|
|
|
// });
|
|
|
// uni.navigateBack({});
|
|
|
// } else {
|
|
|
// (this.$refs.uToast as any).show({
|
|
|
// title: '失败',
|
|
|
// type: 'error',
|
|
|
// });
|
|
|
tempFilePaths.map((item) => {
|
|
|
uni.uploadFile({
|
|
|
url: 'http://192.168.202.20:9000/prod-api/file/upload',
|
|
|
// url: '/dev-api/file/upload',
|
|
|
fileType: 'image',
|
|
|
filePath: item,
|
|
|
header: {
|
|
|
Authorization: 'Bearer ' + session.user?.access_token,
|
|
|
// 'cosmo-env-sitecode': this.$store.state.siteCode
|
|
|
},
|
|
|
name: 'file',
|
|
|
// formData: {
|
|
|
// materialCode: this.materialObj.materialCode,
|
|
|
// },
|
|
|
success: (res) => {
|
|
|
uni.hideLoading();
|
|
|
if (!res.data) {
|
|
|
// this.$refs.toastRef.show({
|
|
|
// type:"error",
|
|
|
// text:res.msg
|
|
|
// })
|
|
|
return;
|
|
|
}
|
|
|
let data = JSON.parse(res.data);
|
|
|
this.imgList = [...this.imgList, data.data.url];
|
|
|
//this.imgListName = [...this.imgListName,data.fileName];
|
|
|
//this.picUrls = this.imgList.join(",");
|
|
|
//this.picNames = this.imgListName.join(",");
|
|
|
uni.hideLoading();
|
|
|
},
|
|
|
fail: (err) => {
|
|
|
console.log(err);
|
|
|
// this.$refs.toastRef.show({
|
|
|
// type:"error",
|
|
|
// text:"上传失败!"
|
|
|
// })
|
|
|
uni.hideLoading();
|
|
|
},
|
|
|
});
|
|
|
});
|
|
|
},
|
|
|
});
|
|
|
}
|
|
|
deleteImg(index) {
|
|
|
this.imgList = JSON.parse(JSON.stringify(this.detailsinfolist.detailList[this.equipmentindex[0]].standardList[this.equipmentindex[1]].picturePath));
|
|
|
this.imgList = this.imgList.split(',');
|
|
|
this.imgList.splice(index, 1);
|
|
|
}
|
|
|
scrollLeft1() {
|
|
|
return 222 * (this.imgformList.length + 1);
|
|
|
}
|
|
|
|
|
|
showScreenImg1(i) {
|
|
|
let list = this.imgformList;
|
|
|
uni.previewImage({
|
|
|
current: i,
|
|
|
urls: list,
|
|
|
// loop: true
|
|
|
});
|
|
|
}
|
|
|
chooseImg1() {
|
|
|
uni.chooseImage({
|
|
|
count: 9, //默认9
|
|
|
// sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
|
|
|
sourceType: ['album', 'camera'],
|
|
|
success: (res) => {
|
|
|
// uni.showLoading();
|
|
|
//console.log('/////',res);
|
|
|
let tempFilePaths: any = res.tempFilePaths;
|
|
|
|
|
|
// (this.$refs.uToast as any).show({
|
|
|
// title: '成功',
|
|
|
// type: 'success',
|
|
|
// });
|
|
|
// uni.navigateBack({});
|
|
|
// } else {
|
|
|
// (this.$refs.uToast as any).show({
|
|
|
// title: '失败',
|
|
|
// type: 'error',
|
|
|
// });
|
|
|
tempFilePaths.map((item) => {
|
|
|
uni.uploadFile({
|
|
|
url: 'http://192.168.202.20:9000/prod-api/file/upload',
|
|
|
// url: '/dev-api/file/upload',
|
|
|
fileType: 'image',
|
|
|
filePath: item,
|
|
|
header: {
|
|
|
Authorization: 'Bearer ' + session.user?.access_token,
|
|
|
// 'cosmo-env-sitecode': this.$store.state.siteCode
|
|
|
},
|
|
|
name: 'file',
|
|
|
// formData: {
|
|
|
// materialCode: this.materialObj.materialCode,
|
|
|
// },
|
|
|
success: (res) => {
|
|
|
uni.hideLoading();
|
|
|
if (!res.data) {
|
|
|
// this.$refs.toastRef.show({
|
|
|
// type:"error",
|
|
|
// text:res.msg
|
|
|
// })
|
|
|
return;
|
|
|
}
|
|
|
let data = JSON.parse(res.data);
|
|
|
this.imgformList = [...this.imgformList, data.data.url];
|
|
|
//this.imgListName = [...this.imgListName,data.fileName];
|
|
|
//this.picUrls = this.imgList.join(",");
|
|
|
//this.picNames = this.imgListName.join(",");
|
|
|
uni.hideLoading();
|
|
|
},
|
|
|
fail: (err) => {
|
|
|
console.log(err);
|
|
|
// this.$refs.toastRef.show({
|
|
|
// type:"error",
|
|
|
// text:"上传失败!"
|
|
|
// })
|
|
|
uni.hideLoading();
|
|
|
},
|
|
|
});
|
|
|
});
|
|
|
},
|
|
|
});
|
|
|
}
|
|
|
deleteImg1(index) {
|
|
|
this.imgformList.splice(index, 1);
|
|
|
}
|
|
|
deleteSparepart(index) {
|
|
|
this.model.rowdata.splice(index, 1);
|
|
|
this.Sparepartlist = this.model.rowdata;
|
|
|
}
|
|
|
scanCodeOne() {
|
|
|
uni.scanCode({
|
|
|
scanType: ['barCode'],
|
|
|
success: (res) => {
|
|
|
this.orderNo = res.result;
|
|
|
},
|
|
|
fail(result) {
|
|
|
this.customToast(result);
|
|
|
},
|
|
|
});
|
|
|
}
|
|
|
async onSubmit() {
|
|
|
this.detailsinfolist.detailList.forEach((item) => {
|
|
|
if (item.standardList.length > 0) {
|
|
|
item.standardList.forEach((item1) => {
|
|
|
if (item1.standardType == 'quantify') {
|
|
|
if (item1.actualValue == null || item1.actualValue == '') {
|
|
|
// console.log(this.isvalue);
|
|
|
this.isvalue = true;
|
|
|
}
|
|
|
}
|
|
|
});
|
|
|
}
|
|
|
});
|
|
|
// if (this.orderNo == '' || this.orderNo.length == 0) {
|
|
|
// this.customToast('请输入nficl');
|
|
|
// return;
|
|
|
// }
|
|
|
console.log(this.detailsinfolist, this.isvalue);
|
|
|
if (this.isvalue) {
|
|
|
(this.$refs.uToast as any).show({
|
|
|
title: '检查标准不能为空',
|
|
|
type: 'default',
|
|
|
});
|
|
|
return;
|
|
|
}
|
|
|
console.log(this.formdata.orderCost);
|
|
|
if (this.formdata.orderCost === '') {
|
|
|
(this.$refs.uToast as any).show({
|
|
|
title: '保养费用不能为空',
|
|
|
type: 'default',
|
|
|
});
|
|
|
return;
|
|
|
}
|
|
|
let query = this.detailsinfolist;
|
|
|
// query.applyList = this.Sparepartlist;
|
|
|
query.picturePath = this.imgformList.join(',');
|
|
|
query.workStatus = this.formdata.workStatus;
|
|
|
query.workReason = this.formdata.workReason;
|
|
|
query.orderCost = this.formdata.orderCost;
|
|
|
console.log(query, this.isvalue);
|
|
|
await this.model.updateInspectionRecord(query);
|
|
|
if (this.model.SubmitCode.code == '200') {
|
|
|
(this.$refs.uToast as any).show({
|
|
|
title: '成功',
|
|
|
type: 'default',
|
|
|
});
|
|
|
uni.navigateBack({});
|
|
|
// setTimeout(() => {
|
|
|
// uni.redirectTo({
|
|
|
// url: `/pages/equipment/Upkeep/index?listitem=`,
|
|
|
// });
|
|
|
// }, 1000);
|
|
|
} else {
|
|
|
(this.$refs.uToast as any).show({
|
|
|
title: '失败',
|
|
|
type: 'default',
|
|
|
});
|
|
|
}
|
|
|
// if (this.badMeg == '') {
|
|
|
// this.customToast('请输入不良描述');
|
|
|
// return;
|
|
|
// }
|
|
|
}
|
|
|
search(value) {
|
|
|
console.log(value);
|
|
|
if (value == this.detailsinfolist.equipmentCode) {
|
|
|
this.isaccord = true;
|
|
|
}
|
|
|
}
|
|
|
linkSparepartlist(item) {
|
|
|
uni.navigateTo({
|
|
|
url: `/pages/equipment/Upkeep/Sparepartlist?listitem=` + encodeURIComponent(JSON.stringify(item)),
|
|
|
});
|
|
|
}
|
|
|
}
|
|
|
</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;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
.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;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
.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;
|
|
|
img {
|
|
|
width: 50px;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
.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 {
|
|
|
border: 1px solid black;
|
|
|
width: 98%;
|
|
|
padding: 10px 5px;
|
|
|
box-sizing: border-box;
|
|
|
font-weight: 500;
|
|
|
}
|
|
|
::v-deep .u-form-item {
|
|
|
padding: 6px 0;
|
|
|
}
|
|
|
.photoList1 {
|
|
|
width: 220px;
|
|
|
overflow-y: scroll;
|
|
|
border: 1px solid black;
|
|
|
}
|
|
|
}
|
|
|
</style>
|