维修优化

This commit is contained in:
bb_pan 2025-07-31 15:11:01 +08:00
parent e8ccc952b8
commit f63dc995f3
3 changed files with 103 additions and 64 deletions

View File

@ -70,6 +70,19 @@
<!-- <uni-forms-item label="维修数量">
<uni-easyinput placeholder="请填写维修数量" v-model="formLeft.repairNum"/>
</uni-forms-item> -->
<uni-forms-item label="备注">
<uni-easyinput placeholder="备注" v-model="remark" />
</uni-forms-item>
<uni-forms-item label="附件">
<div class="upload" @click="uploadImg" v-if="imgBeseUrl == ''">+</div>
<div class="upload" @click="uploadImg" v-else>
<image
:src="imgBeseUrl"
style="width: 160rpx; height: 160rpx"
mode=""
></image>
</div>
</uni-forms-item>
<div v-for="(item, index) in partItems" :key="index">
<uni-forms-item label="配件类型">
<treeSelect
@ -105,19 +118,6 @@
</div>
</div>
</uni-forms-item>
<uni-forms-item label="备注">
<uni-easyinput placeholder="备注" v-model="item.remark" />
</uni-forms-item>
<uni-forms-item label="附件">
<div class="upload" @click="uploadImg(item)" v-if="item.imgBeseUrl == ''">+</div>
<div class="upload" @click="uploadImg(item)" v-else>
<image
:src="item.imgBeseUrl"
style="width: 160rpx; height: 160rpx"
mode=""
></image>
</div>
</uni-forms-item>
<div style="border-bottom: 1 solid #333;"></div>
</div>
</uni-forms>
@ -281,7 +281,7 @@ const onCameraErrorFj = (message) => {
}
const onCameraSuccessFj = (file, item) => {
uploadSignUrlFj(file, item)
uploadSignUrlFj(file)
}
const generateRandomString = (length) => {
@ -294,7 +294,7 @@ const generateRandomString = (length) => {
return result;
}
const uploadSignUrlFj = (file, item) => {
const uploadSignUrlFj = (file) => {
const base64Data = file
uni.request({
@ -318,8 +318,8 @@ const uploadSignUrlFj = (file, item) => {
name: uploadRes.data.name,
url: uploadRes.data.url,
}
item.bmFileInfos = [obj]
item.imgBeseUrl = uploadRes.data.url
bmFileInfos.value = [obj]
imgBeseUrl.value= uploadRes.data.url
// imgList.value.push({
// url: uploadRes.data.url, // Show local path first
// serverUrl: uploadRes.data.url // Store server URL
@ -376,7 +376,7 @@ const partTreeChange = (val, index) => {
}
//
const partItems = ref([{ partNum: '', partType: 0, partId: '', storageNum: '', remark: '', fileList: [] }])
const partItems = ref([{ partNum: '', partType: 0, partId: '', storageNum: ''}])
const getPartItemData = async () => {
console.log("bbbbbbbbbbbbbbbbb",queryParams.value.ids)
@ -409,7 +409,7 @@ const getPartItemData = async () => {
const addPart = () => {
partItems.value.push({ partNum: '', partType: 0, partId: '', storageNum: '', remark: '', fileList: [] })
partItems.value.push({ partNum: '', partType: 0, partId: '', storageNum: '' })
}
const delPart = (index) => {
if (partItems.value.length > 1) {
@ -499,6 +499,7 @@ const saveCodeApi = async () => {
rowData.value = queryParams.value
//
for (let i = 0; i < rowData.value.repairDeviceList.length; i++) {
rowData.value.repairDeviceList[i].inRepairList = [{ remark: remark.value, fileList: bmFileInfos.value }]
//
rowData.value.repairDeviceList[i].repairList = [
{
@ -518,8 +519,6 @@ const saveCodeApi = async () => {
partId: partItems.value[j].partId,
partNum: partItems.value[j].partNum,
storageNum: partItems.value[j].storageNum,
remark: partItems.value[j].remark,
fileList: partItems.value[j].bmFileInfos,
})
}

View File

@ -79,6 +79,19 @@
<!-- <uni-forms-item label="维修数量">
<uni-easyinput placeholder="请填写维修数量" v-model="formLeft.repairNum"/>
</uni-forms-item> -->
<uni-forms-item label="备注">
<uni-easyinput placeholder="备注" v-model="partRemark" />
</uni-forms-item>
<uni-forms-item label="附件">
<div class="upload" @click="uploadImg('part')" v-if="partImgUrl == ''">+</div>
<div class="upload" @click="uploadImg('part')" v-else>
<image
:src="partImgUrl"
style="width: 160rpx; height: 160rpx"
mode=""
></image>
</div>
</uni-forms-item>
<div v-for="(item, index) in partItems" :key="index">
<uni-forms-item label="配件类型">
<treeSelect
@ -115,19 +128,6 @@
</div>
</div>
</uni-forms-item>
<uni-forms-item label="备注">
<uni-easyinput placeholder="备注" v-model="item.remark" />
</uni-forms-item>
<uni-forms-item label="附件">
<div class="upload" @click="uploadImg(item)" v-if="item.imgBeseUrl == ''">+</div>
<div class="upload" @click="uploadImg(item)" v-else>
<image
:src="item.imgBeseUrl"
style="width: 160rpx; height: 160rpx"
mode=""
></image>
</div>
</uni-forms-item>
<div style="border-bottom: 1 solid #333;"></div>
</div>
</uni-forms>
@ -140,6 +140,19 @@
<!-- <uni-forms-item label="维修数量">
<uni-easyinput placeholder="请输入维修数量" v-model="formMiddle.repairNum"/>
</uni-forms-item> -->
<uni-forms-item label="备注">
<uni-easyinput placeholder="备注" v-model="returnRemark" />
</uni-forms-item>
<uni-forms-item label="附件">
<div class="upload" @click="uploadImg('ret')" v-if="returnImgUrl == ''">+</div>
<div class="upload" @click="uploadImg('ret')" v-else>
<image
:src="returnImgUrl"
style="width: 160rpx; height: 160rpx"
mode=""
></image>
</div>
</uni-forms-item>
<div v-for="(item, index) in partItemsMiddle" :key="index">
<uni-forms-item label="配件名称">
@ -272,6 +285,13 @@ import treeSelect from '../tree-select/tselectTwo.vue'
import { onLoad,onShow } from '@dcloudio/uni-app'
const queryParams = ref({})
const rowIndex = ref(-1)
const partRemark = ref('') // -
const partImgUrl = ref('')
const partFileList = ref([])
const returnRemark = ref('') //
const returnImgUrl = ref('')
const returnFileList = ref([])
onLoad((options) => {
console.log(options)
queryParams.value = JSON.parse(options.queryParams)
@ -445,8 +465,15 @@ const uploadSignUrlFj = (file, item) => {
name: uploadRes.data.name,
url: uploadRes.data.url,
}
item.bmFileInfos = [obj]
item.imgBeseUrl = uploadRes.data.url
if (item == 'part') {
partFileList.value = [obj]
partImgUrl = uploadRes.data.url
} else if (item == 'ret') {
returnFileList.value = [obj]
returnImgUrl = uploadRes.data.url
}
// item.bmFileInfos = [obj]
// item.imgBeseUrl = uploadRes.data.url
// imgList.value.push({
// url: uploadRes.data.url, // Show local path first
// serverUrl: uploadRes.data.url // Store server URL
@ -785,6 +812,8 @@ const saveCodeApi = async () => {
rowData.value.repairDeviceList[rowIndex.value].codeScrapRepairPartList.push(formRight.value)
}
rowData.value.repairDeviceList[rowIndex.value].repairType = repairType.value
rowData.value.repairDeviceList[rowIndex.value].inRepairList = [{ remark: partRemark.value, fileList: partFileList.value }]
rowData.value.repairDeviceList[rowIndex.value].outRepairList = [{ remark: returnRemark.value, fileList: returnFileList.value }]
console.log(rowData.value.repairDeviceList)
uni.showLoading({ title: '提交中...' })
saveRepairRow(rowData.value.repairDeviceList).then(async (response) => {

View File

@ -79,6 +79,15 @@
@input="repairCheckNum1"
/>
</uni-forms-item>
<uni-forms-item label="备注">
<uni-easyinput placeholder="请填写备注" maxlength="50" v-model="partRemark"/>
</uni-forms-item>
<uni-forms-item label="附件">
<div class="upload" @click="uploadImg('part')" v-if="partImgUrl==''">+</div>
<div class="upload" @click="uploadImg('part')" v-else>
<image :src="partImgUrl" style="width: 160rpx;height: 160rpx;" mode=""></image>
</div>
</uni-forms-item>
<div v-for="(item, index) in partItems" :key="index">
<uni-forms-item label="配件类型">
<treeSelect
@ -114,15 +123,6 @@
</div>
</div>
</uni-forms-item>
<uni-forms-item label="备注">
<uni-easyinput placeholder="请填写备注" maxlength="50" v-model="item.remark"/>
</uni-forms-item>
<uni-forms-item label="附件">
<div class="upload" @click="uploadImg(item)" v-if="item.imgBeseUrl==''">+</div>
<div class="upload" @click="uploadImg(item)" v-else>
<image :src="item.imgBeseUrl" style="width: 160rpx;height: 160rpx;" mode=""></image>
</div>
</uni-forms-item>
<div style="border-bottom: 1 solid #333;"></div>
</div>
</uni-forms>
@ -195,6 +195,15 @@
placeholder="请选择物资厂家"
/>
</uni-forms-item>
<uni-forms-item label="备注">
<uni-easyinput placeholder="请填写备注" maxlength="50" v-model="returnRemark"/>
</uni-forms-item>
<uni-forms-item label="附件">
<div class="upload" @click="uploadImg('ret')" v-if="returnImgUrl==''">+</div>
<div class="upload" @click="uploadImg('ret')" v-else>
<image :src="returnImgUrl" style="width: 160rpx;height: 160rpx;" mode=""></image>
</div>
</uni-forms-item>
<div v-for="(item, index) in partItemsMiddle" :key="index">
<uni-forms-item label="配件名称">
<uni-easyinput placeholder="配件名称" v-model="item.partName" />
@ -230,15 +239,6 @@
</div>
</div>
</uni-forms-item>
<uni-forms-item label="备注">
<uni-easyinput placeholder="请填写备注" maxlength="50" v-model="item.remark"/>
</uni-forms-item>
<uni-forms-item label="附件">
<div class="upload" @click="uploadImg(item)" v-if="item.imgBeseUrl==''">+</div>
<div class="upload" @click="uploadImg(item)" v-else>
<image :src="item.imgBeseUrl" style="width: 160rpx;height: 160rpx;" mode=""></image>
</div>
</uni-forms-item>
<div style="border-bottom: 1 solid #333;"></div>
</div>
</uni-forms>
@ -266,6 +266,12 @@ const rowData = ref({})
const isExpanded1 = ref(true)
const isExpanded2 = ref(true)
const isExpanded3 = ref(false)
const partRemark = ref('') // -
const partImgUrl = ref('')
const partFileList = ref([])
const returnRemark = ref('') //
const returnImgUrl = ref('')
const returnFileList = ref([])
onLoad((options) => {
queryParams.value = JSON.parse(options.queryParams)
rowData.value = JSON.parse(options.queryParams)
@ -389,8 +395,15 @@ const uploadSignUrlFj = (file, item) => {
name: uploadRes.data.name,
url: uploadRes.data.url,
}
item.bmFileInfos = [obj]
item.imgBeseUrl = uploadRes.data.url
if (item == 'part') {
partFileList.value = [obj]
partImgUrl = uploadRes.data.url
} else if (item == 'ret') {
returnFileList.value = [obj]
returnImgUrl = uploadRes.data.url
}
// item.bmFileInfos = [obj]
// item.imgBeseUrl = uploadRes.data.url
uni.showToast({ title: '上传成功', icon: 'none' })
} else {
@ -456,7 +469,7 @@ getSupplierListData()
const formLeft = ref({
repairNum: 0,
})
const partItems = ref([{ partNum: '', partType: 1, partId: '', storageNum: '', remark: '', fileList: []}])
const partItems = ref([{ partNum: '', partType: 1, partId: '', storageNum: ''}])
const getPartItemData = async () => {
console.log("bbbbbbbbbbbbbbbbb",rowData.value.ids)
@ -490,7 +503,7 @@ const getPartItemData = async () => {
}
const addPart = () => {
partItems.value.push({ partNum: '', partType: 1, partId: '', storageNum: '', remark: '', fileList: [] })
partItems.value.push({ partNum: '', partType: 1, partId: '', storageNum: '' })
}
const delPart = (index) => {
if (partItems.value.length > 1) {
@ -505,9 +518,9 @@ const formMiddle = ref({
supplierId: undefined,
repairNum: 0,
})
const partItemsMiddle = ref([{ partName: '', partNum: '', partPrice: '0', partType: 1, remark: '', fileList: [] }])
const partItemsMiddle = ref([{ partName: '', partNum: '', partPrice: '0', partType: 1 }])
const addMidPart = () => {
partItemsMiddle.value.push({ partName: '', partNum: '', partPrice: '0', partType: 1, remark: '', fileList: [] })
partItemsMiddle.value.push({ partName: '', partNum: '', partPrice: '0', partType: 1 })
}
const delMidPart = (index) => {
if (partItemsMiddle.value.length > 1) {
@ -660,8 +673,6 @@ const saveNumAll = async () => {
partNum: partItems.value[i].partNum,
storageNum: partItems.value[i].storageNum,
repairNum: formLeft.value.repairNum,
remark: partItems.value[i].remark,
fileList: partItems.value[i].fileList
})
}
//
@ -673,13 +684,13 @@ const saveNumAll = async () => {
partName: partItemsMiddle.value[i].partName,
supplierId: formMiddle.value.supplierId,
repairNum: formMiddle.value.repairNum,
remark: partItemsMiddle.value[i].remark,
fileList: partItemsMiddle.value[i].fileList,
})
}
//
rowData.value.repairDeviceList[0].numberScrapRepairPartList.push(formRight.value)
rowData.value.repairDeviceList[0].repairType = 1
rowData.value.repairDeviceList[0].inRepairList = [{ remark: partRemark.value, fileList: partFileList.value }]
rowData.value.repairDeviceList[0].outRepairList = [{ remark: returnRemark.value, fileList: returnFileList.value }]
console.log(rowData.value.repairDeviceList)
saveRepairRow(rowData.value.repairDeviceList).then(async (response) => {
loading.value = false