质量管理 质量检验修改

master
LAPTOP-R6EHHS26\86155 1 year ago
parent 0aba07ca3e
commit 0baffada4d

@ -11,7 +11,7 @@
<u-tabs name="cate_name" count="cate_count" :list="list" :is-scroll="false" :current="current" @change="change"></u-tabs> <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)"> <view class="list" v-show="current == 0" v-for="(item, index) in listdata" :key="index" @click="linkdetails(item)">
<div class="list-top"> <div class="list-top">
<div class="name">工单号: {{ item.planCode }}</div> <div class="name">工单号: {{ item.orderCode }}</div>
<div class="tag">{{ item.orderStatus == 0 ? '进行中' : item.orderStatus == 1 ? '已完成' : '已逾期' }}</div> <div class="tag">{{ item.orderStatus == 0 ? '进行中' : item.orderStatus == 1 ? '已完成' : '已逾期' }}</div>
<u-icon @click="linkdetails(item)" name="arrow-right" color="#2979ff" size="28"></u-icon> <u-icon @click="linkdetails(item)" name="arrow-right" color="#2979ff" size="28"></u-icon>
</div> </div>
@ -25,7 +25,7 @@
<view class="list" v-show="current != 0" v-for="(item, index) in detailsdata" :key="index" @click="linkdetailscheck(item)"> <view class="list" v-show="current != 0" v-for="(item, index) in detailsdata" :key="index" @click="linkdetailscheck(item)">
<div class="list-top"> <div class="list-top">
<div class="name">工单号: {{ item.planCode }}</div> <div class="name">工单号: {{ item.orderCode }}</div>
<div class="tag">{{ item.orderStatus == 0 ? '进行中' : item.orderStatus == 1 ? '已完成' : '已逾期' }}</div> <div class="tag">{{ item.orderStatus == 0 ? '进行中' : item.orderStatus == 1 ? '已完成' : '已逾期' }}</div>
<u-icon @click="linkdetailscheck(item)" name="arrow-right" color="#2979ff" size="28"></u-icon> <u-icon @click="linkdetailscheck(item)" name="arrow-right" color="#2979ff" size="28"></u-icon>
</div> </div>

@ -16,7 +16,7 @@
</view> </view>
<view class="list" v-show="current == 0" v-for="(item, index) in listdata" :key="index" @click="linkdetails(item, isorderNo)"> <view class="list" v-show="current == 0" v-for="(item, index) in listdata" :key="index" @click="linkdetails(item, isorderNo)">
<div class="list-top"> <div class="list-top">
<div class="name">工单号: {{ item.planCode }}</div> <div class="name">工单号: {{ item.orderCode }}</div>
<div class="tag">{{ item.orderStatus == 0 ? '进行中' : item.orderStatus == 1 ? '已完成' : '已逾期' }}</div> <div class="tag">{{ item.orderStatus == 0 ? '进行中' : item.orderStatus == 1 ? '已完成' : '已逾期' }}</div>
<u-icon @click="linkdetails(item, isorderNo)" name="arrow-right" color="#2979ff" size="28"></u-icon> <u-icon @click="linkdetails(item, isorderNo)" name="arrow-right" color="#2979ff" size="28"></u-icon>
</div> </div>
@ -24,12 +24,13 @@
<div class="item1" style="color: red">设备名称:{{ item.equipmentName }}</div> <div class="item1" style="color: red">设备名称:{{ item.equipmentName }}</div>
<div class="item1">车间编码: {{ item.planWorkshop }}</div> <div class="item1">车间编码: {{ item.planWorkshop }}</div>
<div class="item1" style="color: red">周期: {{ item.planLoop }}{{ item.planLoopType == 'month' ? '月' : item.planLoopType == 'day' ? '日' : item.planLoopType == 'year' ? '年' : '周' }}</div> <div class="item1" style="color: red">周期: {{ item.planLoop }}{{ item.planLoopType == 'month' ? '月' : item.planLoopType == 'day' ? '日' : item.planLoopType == 'year' ? '年' : '周' }}</div>
<div class="item1">创建时间: {{ item.createTime }}</div>
<div class="item1">循环执行时间开始: {{ item.planLoopStart }}</div> <div class="item1">循环执行时间开始: {{ item.planLoopStart }}</div>
</view> </view>
<view class="list" v-show="current != 0" v-for="(item, index) in detailsdata" :key="index" @click="linkdetailscheck(item, isorderNo)"> <view class="list" v-show="current != 0" v-for="(item, index) in detailsdata" :key="index" @click="linkdetailscheck(item, isorderNo)">
<div class="list-top"> <div class="list-top">
<div class="name">工单号: {{ item.planCode }}</div> <div class="name">工单号: {{ item.orderCode }}</div>
<div class="tag">{{ item.orderStatus == 0 ? '进行中' : item.orderStatus == 1 ? '已完成' : '已逾期' }}</div> <div class="tag">{{ item.orderStatus == 0 ? '进行中' : item.orderStatus == 1 ? '已完成' : '已逾期' }}</div>
<u-icon @click="linkdetailscheck(item, isorderNo)" name="arrow-right" color="#2979ff" size="28"></u-icon> <u-icon @click="linkdetailscheck(item, isorderNo)" name="arrow-right" color="#2979ff" size="28"></u-icon>
</div> </div>
@ -37,7 +38,8 @@
<div class="item1" style="color: red">设备名称:{{ item.equipmentName }}</div> <div class="item1" style="color: red">设备名称:{{ item.equipmentName }}</div>
<div class="item1">车间编码: {{ item.planWorkshop }}</div> <div class="item1">车间编码: {{ item.planWorkshop }}</div>
<div class="item1" style="color: red">周期: {{ item.planLoop }}{{ item.planLoopType == 'month' ? '月' : item.planLoopType == 'day' ? '日' : item.planLoopType == 'year' ? '年' : '周' }}</div> <div class="item1" style="color: red">周期: {{ item.planLoop }}{{ item.planLoopType == 'month' ? '月' : item.planLoopType == 'day' ? '日' : item.planLoopType == 'year' ? '年' : '周' }}</div>
<div class="item1">循环执行时间开始: {{ item.planLoopStart }}</div> <div class="item1">创建时间: {{ item.createTime }}</div>
<div class="item1">点检时间: {{ item.orderStart }}</div>
</view> </view>
<u-toast ref="uToast" /> <u-toast ref="uToast" />
</view> </view>

@ -26,7 +26,7 @@
循环结束时间 2023-12-30 执行开始时间 循环结束时间 2023-12-30 执行开始时间
执行结束时间 保养类型 内部 执行结束时间 保养类型 内部
是否停机保养 开机保养 保养人 --> 是否停机保养 开机保养 保养人 -->
<div class="item1">计划编码: {{ item.planCode }}</div> <div class="item1">计划编码: {{ item.orderCode }}</div>
<div class="item1" style="color: red">设备编码:{{ item.equipmentCode }}</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.equipmentName }}</div>
<div class="item1">车间编码: {{ item.planWorkshop }}</div> <div class="item1">车间编码: {{ item.planWorkshop }}</div>
@ -44,7 +44,7 @@
<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="linkdetailscheck(item, isorderNo)" name="arrow-right" color="#2979ff" size="28"></u-icon> <u-icon @click="linkdetailscheck(item, isorderNo)" name="arrow-right" color="#2979ff" size="28"></u-icon>
</div> </div>
<div class="item1">计划编码: {{ item.planCode }}</div> <div class="item1">计划编码: {{ item.orderCode }}</div>
<div class="item1" style="color: red">设备编码:{{ item.equipmentCode }}</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.equipmentName }}</div>
<div class="item1">车间编码: {{ item.planWorkshop }}</div> <div class="item1">车间编码: {{ item.planWorkshop }}</div>

@ -110,27 +110,26 @@
</u-radio-group> </u-radio-group>
</div> </div>
</div> </div>
<div class="upload-name">
<!-- <div v-for="(item1, index1) in item.standardList" :key="index1"> <!-- <div class="name">检查标准:{{ form.item5 }}</div> -->
<div class="item1 item2" v-if="item1.standardType == 'qualitative'"> <!-- <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> -->
<div>检查标准: {{ item1.standardName }}</div> <scroll-view class="scroll-view_H" scroll-x="true" :scroll-left="scrollLeft(item.files)">
<div class="select"> <view class="photoList">
<u-radio-group v-model="item1.detailReach" @change="radioGroupChange(item1, item1.detailReach, index, index1)"> <view class="itemBox photoBox" v-for="(img, index1) in item.files" :key="index1">
<u-radio @change="radioChange" v-for="(n, indexn) in listselect" :key="indexn" :name="n.type" :disabled="n.disabled"> <view class="closeBtn" @click="deleteImg(index1)">
{{ n.name }} <image class="img" src="../../../static/images/iconCloseGray.svg" mode="scaleToFill"></image>
</u-radio> </view>
</u-radio-group> <image class="img" :src="img" mode="aspectFit" @click="showScreenImg(index1, item.files)"></image>
</div> </view>
</div> <view class="itemBox chooseBtn" @click="chooseImg(index, item.files)">
<div class="item1 item2" v-if="item1.standardType == 'quantify'"> <view class="inner">
<div>检查标准: {{ item1.standardName }}</div> <image class="img" src="../../../static/images/upload-pic-icon.svg" mode="scaleToFill"></image>
<div class="input-box" id="input-box1"> <text class="desc">添加照片</text>
实际值: </view>
<input class="input" v-model="item1.actualValue" @focus="focus()" @blur="blur(item1, item1.actualValue, index, index1)" @change="changeinput(item1)" @input="input(item1)" type="text" name="" id="" /> </view>
单位:mm </view>
</div> </scroll-view>
</div> </div>
</div> -->
</view> </view>
</view> </view>
<!-- sampleQuality抽样数量 <!-- sampleQuality抽样数量
@ -307,6 +306,7 @@ export default class PurchaseWHSRM extends BasePage {
isshow2 = false; isshow2 = false;
isshow3 = false; isshow3 = false;
incomeBatchNo: any = {}; incomeBatchNo: any = {};
files: any = [];
// //
tagClick(index) { tagClick(index) {
this.tagslist.splice(index, 1); this.tagslist.splice(index, 1);
@ -381,6 +381,7 @@ export default class PurchaseWHSRM extends BasePage {
item.factoryCode = session.PoolName; item.factoryCode = session.PoolName;
item.checkType = this.selectList.value; item.checkType = this.selectList.value;
item.orderCode = this.clickitem.orderNo; item.orderCode = this.clickitem.orderNo;
item.files = [];
}); });
this.show = true; this.show = true;
} }
@ -474,6 +475,13 @@ export default class PurchaseWHSRM extends BasePage {
this.isquality = true; this.isquality = true;
} }
}); });
this.detaillistceshi.forEach((item) => {
if (item.files.length > 0) {
item.files = [];
} else {
item.files = [];
}
});
console.log(this.detaillistceshi, this.isvalue, this.isquality); console.log(this.detaillistceshi, this.isvalue, this.isquality);
if (this.isvalue) { if (this.isvalue) {
(this.$refs.uToast as any).show({ (this.$refs.uToast as any).show({
@ -513,9 +521,11 @@ export default class PurchaseWHSRM extends BasePage {
sampleQuality: this.formdata.sampleQuality, sampleQuality: this.formdata.sampleQuality,
updateBy: session.userName, updateBy: session.userName,
factoryCode: session.PoolName, factoryCode: session.PoolName,
updateByName: session.userName,
typeCode: this.selectList.value, typeCode: this.selectList.value,
checkType: this.selectList.value, checkType: this.selectList.value,
orderCode: this.clickitem.orderNo, orderCode: this.clickitem.orderNo,
workorderCodeSap: this.clickitem.workorderCodeSap,
qcCheckTaskDetails: this.detaillistceshi, qcCheckTaskDetails: this.detaillistceshi,
defects: this.detaillistdefects, defects: this.detaillistdefects,
incomeBatchNo: incomeBatchNo, incomeBatchNo: incomeBatchNo,
@ -557,6 +567,101 @@ export default class PurchaseWHSRM extends BasePage {
this.tagsvalue = null; this.tagsvalue = null;
} }
// //
//
scrollLeft(files) {
return 222 * (files.length + 1);
}
showScreenImg(i, files) {
let list = files;
uni.previewImage({
current: i,
urls: list,
// loop: true
});
}
chooseImg(index, files) {
uni.chooseImage({
count: 9, //9
// sizeType: ['original', 'compressed'], //
sourceType: ['album', 'camera'],
success: (res) => {
// uni.showLoading();
//console.log('/////',res);
let tempFilePaths: any = res.tempFilePaths;
console.log(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);
files = [...files, data.data.url];
this.detaillistceshi[index].files = files;
this.detaillistceshi[index].fileListStr = files.join(',');
//this.filesName = [...this.filesName,data.fileName];
//this.picUrls = this.files.join(",");
//this.picNames = this.filesName.join(",");
console.log(files, this.detaillistceshi[index]);
uni.hideLoading();
},
fail: (err) => {
console.log(err);
// this.$refs.toastRef.show({
// type:"error",
// text:""
// })
uni.hideLoading();
},
});
});
},
});
}
deleteImg(index) {
this.detaillistceshi[index].files.splice(index, 1);
this.detaillistceshi[index].fileListStr = this.detaillistceshi[index].files.join(',');
}
scanCodeOne() {
uni.scanCode({
scanType: ['barCode'],
success: (res) => {
this.orderNo = res.result;
},
fail(result) {
this.customToast(result);
},
});
}
} }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>

@ -87,26 +87,25 @@
</u-radio-group> </u-radio-group>
</div> </div>
</div> </div>
<!-- <div v-for="(item1, index1) in item.standardList" :key="index1"> <div class="upload-name">
<div class="item1 item2" v-if="item1.standardType == 'qualitative'"> <!-- <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> -->
<div>检查标准: {{ item1.standardName }}</div> <scroll-view class="scroll-view_H" scroll-x="true" :scroll-left="scrollLeft(item.fileList)">
<div class="select"> <view class="photoList">
<u-radio-group v-model="item1.detailReach" @change="radioGroupChange(item1, item1.detailReach, index, index1)"> <view class="itemBox photoBox" v-for="(img, index) in item.fileList" :key="index">
<u-radio @change="radioChange" v-for="(n, indexn) in listselect" :key="indexn" :name="n.type" :disabled="n.disabled"> <!-- <view class="closeBtn" @click="deleteImg(index)">
{{ n.name }} <image class="img" src="../../../static/images/iconCloseGray.svg" mode="scaleToFill"></image>
</u-radio> </view> -->
</u-radio-group> <image class="img" :src="img" mode="aspectFit" @click="showScreenImg(index, item.fileList)"></image>
</div> </view>
</div> <view class="itemBox chooseBtn">
<div class="item1 item2" v-if="item1.standardType == 'quantify'"> <!-- <view class="inner">
<div>检查标准: {{ item1.standardName }}</div> <image class="img" src="../../../static/images/upload-pic-icon.svg" mode="scaleToFill"></image>
<div class="input-box" id="input-box1"> <text class="desc">添加照片</text>
实际值: </view> -->
<input class="input" v-model="item1.actualValue" @focus="focus()" @blur="blur(item1, item1.actualValue, index, index1)" @change="changeinput(item1)" @input="input(item1)" type="text" name="" id="" /> </view>
单位:mm </view>
</div> </scroll-view>
</div> </div>
</div> -->
</view> </view>
</view> </view>
<u-form class="Belowsform3" ref="form" label-width="230rpx" label-position="left"> <u-form class="Belowsform3" ref="form" label-width="230rpx" label-position="left">
@ -336,6 +335,16 @@ export default class PurchaseWHSRM extends BasePage {
console.log(query, this.detailsinfo); console.log(query, this.detailsinfo);
await this.model.getCheckTaskList(query); await this.model.getCheckTaskList(query);
this.detaillistceshi = this.model.CheckTaskList.qcCheckTaskDetails; this.detaillistceshi = this.model.CheckTaskList.qcCheckTaskDetails;
this.detaillistceshi.forEach((item) => {
item.fileList = [];
if (item.files == null) {
item.files = [];
} else {
item.files.forEach((n) => {
item.fileList.push(n.fileAddress);
});
}
});
this.detaillistdefects = this.model.CheckTaskList.defects; this.detaillistdefects = this.model.CheckTaskList.defects;
this.show = true; this.show = true;
} }
@ -430,6 +439,89 @@ export default class PurchaseWHSRM extends BasePage {
this.isshow = false; this.isshow = false;
this.tagsvalue = null; this.tagsvalue = null;
} }
scrollLeft(files) {
return 222 * (files.length + 1);
}
showScreenImg(i, files) {
let list = files;
uni.previewImage({
current: i,
urls: list,
// loop: true
});
}
chooseImg(index, files) {
uni.chooseImage({
count: 9, //9
// sizeType: ['original', 'compressed'], //
sourceType: ['album', 'camera'],
success: (res) => {
// uni.showLoading();
//console.log('/////',res);
let tempFilePaths: any = res.tempFilePaths;
console.log(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: '/prod-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);
files = [...files, data.data.url];
this.detaillistceshi[index].files = files;
this.detaillistceshi[index].fileListStr = files.join(',');
//this.filesName = [...this.filesName,data.fileName];
//this.picUrls = this.files.join(",");
//this.picNames = this.filesName.join(",");
console.log(files, this.detaillistceshi[index]);
uni.hideLoading();
},
fail: (err) => {
console.log(err);
// this.$refs.toastRef.show({
// type:"error",
// text:""
// })
uni.hideLoading();
},
});
});
},
});
}
deleteImg(index) {
this.detaillistceshi[index].files.splice(index, 1);
this.detaillistceshi[index].fileListStr = this.detaillistceshi[index].files.join(',');
}
// //
} }
</script> </script>

@ -65,7 +65,7 @@ export default class RawHome extends BasePage {
model = model; model = model;
src: 'http://pic2.sc.chinaz.com/Files/pic/pic9/202002/hpic2119_s.jpg'; src: 'http://pic2.sc.chinaz.com/Files/pic/pic9/202002/hpic2119_s.jpg';
today = dayjs().format('YYYY-MM-DD dddd'); today = dayjs().format('YYYY-MM-DD dddd');
version = '0.0.30'; version = '0.0.31';
checkversion: any = {}; checkversion: any = {};
sessiondata: any = ''; sessiondata: any = '';
onLoad() { onLoad() {

Loading…
Cancel
Save