From 580ec084547a80b2e5c79f5b009a3d5b907a0eba Mon Sep 17 00:00:00 2001
From: zhang_li <2235006734@qqq.com>
Date: Mon, 26 Feb 2024 13:46:02 +0800
Subject: [PATCH] =?UTF-8?q?=E6=8A=A5=E4=BF=AE=E6=B7=BB=E5=8A=A0=E4=B8=8A?=
=?UTF-8?q?=E4=BC=A0=E5=9B=BE=E7=89=87=20=20=E5=A4=87=E4=BB=B6=E7=BB=B4?=
=?UTF-8?q?=E4=BF=AE=E5=B7=A5=E5=8D=95=E6=B7=BB=E5=8A=A0=E5=A4=87=E4=BB=B6?=
=?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=A4=9A=E6=9D=A1?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
api/upload.js | 12 +
config.js | 2 +-
pages/deviceReport/addForm.vue | 7 +-
pages/deviceReport/index.vue | 29 +-
pages/repairOrder/detail.vue | 9 +-
.../addForm.vue | 334 +++++++++++++-----
static/images/photo.png | Bin 0 -> 9386 bytes
7 files changed, 299 insertions(+), 94 deletions(-)
create mode 100644 api/upload.js
create mode 100644 static/images/photo.png
diff --git a/api/upload.js b/api/upload.js
new file mode 100644
index 0000000..31891f5
--- /dev/null
+++ b/api/upload.js
@@ -0,0 +1,12 @@
+import upload from '@/utils/upload'
+import request from '@/utils/request'
+// 上传
+export function uploadFile(data) {
+ console.log(data)
+ return upload({
+ url: '/infra/file/upload',
+ method: 'PUT',
+ filePath:data.filePath,
+ name: data.name
+ })
+}
diff --git a/config.js b/config.js
index b2655d2..c399f60 100644
--- a/config.js
+++ b/config.js
@@ -1,7 +1,7 @@
// 应用全局配置
module.exports = {
// http://192.168.0.165:1208
- baseUrl: process.env.NODE_ENV === 'development' ? 'http://192.168.1.18:12080' : 'http://dev.ccwin-in.com:25200/api',
+ baseUrl: process.env.NODE_ENV === 'development' ? 'http://192.168.0.181:12080' : 'http://dev.ccwin-in.com:25200/api',
baseApi:process.env.NODE_ENV === 'development' ? '/admin-api' : '/api/admin-api',
// 应用信息
appInfo: {
diff --git a/pages/deviceReport/addForm.vue b/pages/deviceReport/addForm.vue
index 3c9b4c5..9521e44 100644
--- a/pages/deviceReport/addForm.vue
+++ b/pages/deviceReport/addForm.vue
@@ -142,11 +142,16 @@
this.$modal.showToast('请输入所属厂区')
return;
}
+ if (this.imgList.length == 0) {
+ this.$modal.showToast('请选择图片')
+ return;
+ }
const data = {
describes: this.form.describes,
deviceNumber: this.form.deviceNumber,
factoryAreaNumber: this.form.factoryAreaNumber,
- type: this.type
+ type: this.type,
+ filePathList: this.imgList,
}
this.$modal.confirm('是否添加报修').then(() => {
this.$modal.loading('加载中')
diff --git a/pages/deviceReport/index.vue b/pages/deviceReport/index.vue
index 2dac7c3..d8488f2 100644
--- a/pages/deviceReport/index.vue
+++ b/pages/deviceReport/index.vue
@@ -31,6 +31,9 @@
所属厂区:{{item.factoryAreaName}}
+
+
+
撤销
-
@@ -104,6 +106,21 @@
})
})
+ },
+ previewImage(current,array){
+ uni.previewImage({
+ urls: array,
+ current:current,
+ longPressActions: {
+ itemList: ['发送给朋友', '保存图片', '收藏'],
+ success: function(data) {
+ console.log('选中了第' + (data.tapIndex + 1) + '个按钮,第' + (data.index + 1) + '张图片');
+ },
+ fail: function(err) {
+ console.log(err.errMsg);
+ }
+ }
+ });
}
},
onLoad(option) {
@@ -234,4 +251,14 @@
}
}
}
+ .images{
+ display: flex;
+ width: 100%;
+ image{
+ width: 30%;
+ margin-right: 20rpx;
+ height: 200rpx;
+ border-radius: 10rpx;
+ }
+ }
\ No newline at end of file
diff --git a/pages/repairOrder/detail.vue b/pages/repairOrder/detail.vue
index ee19489..42e0c06 100644
--- a/pages/repairOrder/detail.vue
+++ b/pages/repairOrder/detail.vue
@@ -246,10 +246,13 @@
},
// APP维修工单接单、点击完成、验证
orderClick(type) {
- if(!this.serviceList || this.serviceList&&this.serviceList.length == 0){
- this.$modal.showToast('请添加维修内容')
- return;
+ if(this.data.status == 'PECEIVED'){
+ if(!this.serviceList || this.serviceList&&this.serviceList.length == 0){
+ this.$modal.showToast('请添加维修内容')
+ return;
+ }
}
+
const data = {
number: this.data.number,
status: this.data.status,
diff --git a/pages/sparePartsServiceWorkOrderList/addForm.vue b/pages/sparePartsServiceWorkOrderList/addForm.vue
index 17d8dcd..108aef0 100644
--- a/pages/sparePartsServiceWorkOrderList/addForm.vue
+++ b/pages/sparePartsServiceWorkOrderList/addForm.vue
@@ -1,11 +1,68 @@
-
-
-
-
- {{selectFormat(form.itemNumber,sparePartsList)}}
+
+
+
+ *申请备件
+
+
+
+
+
+ {{item.name}}
+
+
+
+
+
+ 库位:{{item.locationNumber}}
+
+
+
+
+ 数量:{{item.qty}}
+
+
+
+
+ 维修结果:{{item.result == 'YES'?'完成':'未完成'}}
+
+
+
+
+ 维修原因:{{item.reasons}}
+
+
+
+
+
+
+
+ 添加备件
+
+
+
+
+
+
+
-
-
+
+
@@ -48,14 +104,25 @@
import * as sparePartsServiceWorkOrderListApi from "@/api/sparePartsServiceWorkOrderList.js"
import * as dictApi from "@/api/dict.js"
import * as locationApi from "@/api/location.js"
-
+
export default {
data() {
return {
loading: false,
type: "",
+ // 备件弹窗
+ isPopupShow: false,
+ sparePartsList: [],
+ // 下拉框字段
+ singleColumnShow: false,
+ singleColumnDefaultValue: [],
+ singleColumnList: [],
+ field: '',
form: {
+ itemNumbers:[]
+ },
+ form1: {
itemNumber: "",
qty: '',
result: 'YES',
@@ -63,11 +130,6 @@
locationNumber:'',
areaNumber:''
},
- sparePartsList: [],
- singleColumnShow: false,
- singleColumnDefaultValue: [],
- singleColumnList: [],
- field: '',
result: [],
isShow:false
}
@@ -76,30 +138,10 @@
// 触发提交表单
submit() {
// 校验
- if (!this.form.itemNumber) {
+ if (this.form.itemNumbers == 0) {
this.$modal.showToast('请选择备件')
return;
}
- if (this.isInAccount == 'TRUE') {
- this.$modal.showToast('该库位属于帐内库,请选择帐外库')
- return;
- }
- if (this.itemNumber) {
- this.$modal.showToast('该库位已绑定过备件')
- return;
- }
- if (!this.form.qty) {
- this.$modal.showToast(`请输入数量`)
- return;
- }
- if (!this.form.result) {
- this.$modal.showToast('请选择维修结果')
- return;
- }
- if (!this.form.reasons) {
- this.$modal.showToast('请输入维修原因')
- return;
- }
this.$modal.confirm('是否添加备件维修工单').then(() => {
this.$modal.loading('加载中')
this.loading = true
@@ -124,12 +166,8 @@
},
// 重置
reset() {
- if (this.form.id) {
- this.form.classes = '';
- this.form.faultType = ''
- } else {
-
- this.form = {}
+ this.form = {
+ itemNumbers:[]
}
},
//
@@ -155,14 +193,16 @@
},
// 单列模式点击确定之后
chooseSingleColumn(e) {
- console.log(this.field)
- this.form[this.field] = e[0].value
+ this.form1[this.field] = e[0].value
if (this.field == 'itemNumber') {
this.choosesingleColumnItem = this.singleColumnList.filter(item => item.number == e[0].value)
- this.form.locationNumber = this.choosesingleColumnItem[0].locationNumber
- this.form.areaNumber = this.choosesingleColumnItem[0].areaNumber
+ console.log( this.choosesingleColumnItem[0])
+ this.form1.locationNumber = this.choosesingleColumnItem[0].locationNumber
+ this.form1.areaNumber = this.choosesingleColumnItem[0].areaNumber
if(!this.choosesingleColumnItem[0].locationNumber){
this.isShow = true
+ }else{
+ this.isShow = false
}
}
this.singleColumnShow = false
@@ -194,16 +234,77 @@
this.$modal.showToast('找不到该库位')
return;
}
- this.form.areaNumber = res.data.areaNumber;
+ this.form1.areaNumber = res.data.areaNumber;
this.isInAccount = res.data.isInAccount
this.itemNumber = res.data.itemNumber
})
},
blur() {
- if (this.form.locationNumber) {
+ if (this.form1.locationNumber) {
this.getLocation()
}
},
+ // 打开弹窗
+ open() {
+ this.form1 = {
+ itemNumber: "",
+ qty: '',
+ result: 'YES',
+ reasons: '',
+ locationNumber:'',
+ areaNumber:''
+ }
+ this.isPopupShow = true
+ },
+ // 添加配件
+ addSpare() {
+ // 校验
+ if (!this.form1.itemNumber) {
+ this.$modal.showToast('请选择备件')
+ return;
+ }
+ console.log(this.form1)
+ if (!this.form1.locationNumber) {
+ this.$modal.showToast('请扫描库位')
+ return;
+ }
+ if (this.isInAccount == 'TRUE') {
+ this.$modal.showToast('该库位属于帐内库,请选择帐外库')
+ return;
+ }
+ if (this.itemNumber) {
+ this.$modal.showToast('该库位已绑定过备件')
+ return;
+ }
+ if (!this.form1.qty) {
+ this.$modal.showToast(`请输入数量`)
+ return;
+ }
+ if (!this.form1.result) {
+ this.$modal.showToast('请选择维修结果')
+ return;
+ }
+ if (!this.form1.reasons) {
+ this.$modal.showToast('请输入维修原因')
+ return;
+ }
+ this.form1.name = this.selectFormat(this.form1.itemNumber, this.sparePartsList)
+ if (this.form.itemNumbers && this.form.itemNumbers.length > 0) {
+ let arr = this.form.itemNumbers.filter(item => item.itemNumber == this.form1.itemNumber)
+ if (arr && arr.length > 0) {
+ this.$modal.showToast('该备件已添加')
+ return;
+ }
+ }
+
+ this.form.itemNumbers.push(this.form1)
+ this.isPopupShow = false
+ },
+ // 删除备件
+ delSpareParts(index) {
+ this.form.itemNumbers.splice(index, 1)
+ }
+
},
async onLoad(option) {
if (option.type) this.type = option.type;
@@ -217,42 +318,15 @@
.add-form-container {
min-height: calc(100vh - 140rpx);
background: white;
- padding: 0px 30rpx 140rpx;
+ padding: 0px 0rpx 140rpx;
}
- .list {
- padding-bottom: 20rpx;
-
- .item {
- margin-top: 20rpx;
- background: white;
- padding: 30rpx;
- display: flex;
- align-items: center;
-
- image {
- width: 160rpx;
- height: 160rpx;
- margin-right: 20rpx;
- }
-
- .title {
- font-size: 32rpx;
- font-weight: bold;
- }
-
- .dec1 {
- font-size: 28rpx;
- margin-top: 16rpx;
- color: #acacac;
- }
+ .u-form-item {
+ padding: 20rpx 30rpx;
+ }
- .dec2 {
- font-size: 28rpx;
- margin-top: 6rpx;
- color: #acacac;
- }
- }
+ .disabled {
+ background: #f5f5f5;
}
.footer {
@@ -260,6 +334,7 @@
bottom: 0px;
left: 0px;
width: 100%;
+ z-index: 22;
}
.btns {
@@ -319,4 +394,87 @@
}
}
+
+ .title {
+ padding: 32rpx 0rpx;
+ position: relative;
+
+ span {
+ position: absolute;
+ left: -16rpx;
+ color: #fa3534;
+ top: 19px;
+ }
+ }
+
+ .list {
+ padding: 0rpx 30rpx;
+ .item {
+ display: flex;
+ margin-bottom: 20rpx;
+
+ .item-box {
+ background: #F5F5F5;
+ border-radius: 12rpx;
+ flex: 1;
+ width: 0rpx;
+ }
+
+ .spare-title {
+ padding: 20rpx 30rpx;
+ border-bottom: 1px solid #e4e4e4;
+
+ .title-txt {
+ color: #409eff;
+ font-size: 30rpx;
+ font-weight: bold;
+ }
+ }
+
+ .dec {
+ color: #9c9c9c;
+ padding: 20rpx 30rpx 20rpx;
+ }
+
+ }
+ }
+
+ .add-btn {
+ display: flex;
+ justify-content: flex-start;
+ align-items: center;
+ }
+
+ .popup-title {
+ text-align: center;
+ font-size: 32rpx;
+ font-weight: bold;
+ color: #409eff;
+ padding: 30rpx 30rpx 0px
+ }
+
+ .popup {
+ width: 600rpx;
+ padding: 30rpx 0rpx 30rpx;
+
+ }
+
+ .popup-footer {
+ display: flex;
+ border-top: 1px solid #e4e4e4;
+
+ view {
+ line-height: 100rpx;
+ flex: 1;
+ text-align: center;
+
+ &.sure {
+ color: #409eff;
+ }
+ }
+ }
+
+ ::v-deep .u-checkbox-group {
+ display: grid !important;
+ }
\ No newline at end of file
diff --git a/static/images/photo.png b/static/images/photo.png
new file mode 100644
index 0000000000000000000000000000000000000000..52523a193ad7b102391e1cb43077d4c1e113a6e2
GIT binary patch
literal 9386
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
NQitons+69D{Xf8;ggF2J
literal 0
HcmV?d00001