You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
250 lines
8.4 KiB
250 lines
8.4 KiB
<template> |
|
<ifrm ref="ifrm"> |
|
<!-- 酸雾塔--> |
|
<uni-forms ref="form" err-show-type="toast"> |
|
<uni-forms-item><input type="text" v-model="epDosingRecCode" @confirm="epDosingRecConfirm" |
|
class="uni-input-border" placeholder="编码" /></uni-forms-item> |
|
</uni-forms> |
|
<t-table> |
|
<t-tr> |
|
<t-td>编码</t-td> |
|
<t-td>{{ epDosingRec.bsTower.btCode }}</t-td> |
|
</t-tr> |
|
<t-tr> |
|
<t-td>名称</t-td> |
|
<t-td>{{ epDosingRec.device }}</t-td> |
|
</t-tr> |
|
<t-tr> |
|
<t-td>药品名称</t-td> |
|
<t-td>{{ epDosingRec.drug }}</t-td> |
|
</t-tr> |
|
<t-tr> |
|
<t-td>剂量</t-td> |
|
<t-td><input type="number" v-model="epDosingRec.dose"></t-td> |
|
</t-tr> |
|
</t-table> |
|
<view style="font-size: 36rpx;">备注:</view> |
|
<uni-forms ref="form" err-show-type="toast"> |
|
<uni-forms-item><uni-easyinput type="textarea" autoHeight v-model="epDosingRec.memo" |
|
placeholder="请输入内容"></uni-easyinput></uni-forms-item> |
|
</uni-forms> |
|
<!-- <view class="photoTitleSize">{{uploader.length}}/9</view> |
|
<view class="showImage"> |
|
<view v-for="(item, i) in uploader" :key="i" class="showImage-for"> |
|
<view class="view-image"> |
|
<image :src="item.imageUrl" @tap="previewImage(i)" /> |
|
</view> |
|
<view class="view-icon"> |
|
<uni-icons type='trash' size="14" color='gray' @click="removeScene(item, i)"></uni-icons> |
|
</view> |
|
</view> |
|
<view class="view-center" v-if="uploader.length < 9"> |
|
<image src="../../static/images/photo.png" @click="chooseImage()"></image> |
|
</view> |
|
</view> --> |
|
<!-- :disabled="!(Object.keys(epDosingRec).length > 2)" --> |
|
<view class="buttonBox"><button class="button" :disabled="!(Object.keys(this.epDosingRec.bsTower).length > 0)" |
|
type="primary" @click="submitClick">提交</button></view> |
|
</ifrm> |
|
</template> |
|
|
|
<script> |
|
import ifrm from '@/pages/index/ifrm'; |
|
import tTable from '@/components/t-table/t-table.vue'; |
|
import tTh from '@/components/t-table/t-th.vue'; |
|
import tTr from '@/components/t-table/t-tr.vue'; |
|
import tTd from '@/components/t-table/t-td.vue'; |
|
import scan from '../../mixin/scan.js'; |
|
export default { |
|
mixins: [scan], |
|
components: { |
|
ifrm, |
|
tTable, |
|
tTh, |
|
tTr, |
|
tTd |
|
}, |
|
data() { |
|
return { |
|
epDosingRecCode: '', |
|
epDosingRec: { |
|
bsTower: {} |
|
}, |
|
uploader: [] |
|
}; |
|
}, |
|
methods: { |
|
|
|
chooseImage: async function() { |
|
if (!this.epDosingRec.dorId) { |
|
return uni.showToast({ |
|
title: '请先查询巡检点', |
|
icon: 'none' |
|
}); |
|
} |
|
uni.chooseImage({ |
|
// sourceType: ['album','camera'], //album 从相册选图,camera 使用相机,默认二者都有 |
|
// sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有 |
|
count: 9, |
|
success: (res) => { |
|
uni.showLoading({ |
|
title: '上传中,请稍候' |
|
}); |
|
var tempFilePaths = res.tempFilePaths; |
|
for (var i = 0; i < tempFilePaths.length; i++) { |
|
const file = res.tempFiles[i]; |
|
this.$uploadUtil.upload(file, { |
|
theId: this.epDosingRec.dorId, |
|
theTag: 'EpDosingRec', |
|
subTag: 'appDoc' |
|
}, tempFilePaths[i]).then((upId) => { |
|
uni.hideLoading(); |
|
//展示图片 |
|
this.uploader.push({ |
|
upId: upId, |
|
imageUrl: file.path |
|
}); |
|
}) |
|
|
|
} |
|
}, |
|
complete() { |
|
uni.hideLoading(); |
|
} |
|
}) |
|
}, |
|
previewImage: function(index) { |
|
var imags = []; |
|
this.uploader.forEach(item => { |
|
imags.push(item.imageUrl); |
|
}) |
|
uni.previewImage({ |
|
current: index, |
|
urls: imags |
|
}) |
|
}, |
|
|
|
removeScene(item, i) { |
|
//删除现场图片 |
|
this.uploader.splice(i, 1); |
|
// //删除附件记录 |
|
this.$uploadUtil.asyncDelete(item.upId).then((data) => { |
|
uni.showToast({ |
|
title: '删除成功', |
|
icon: 'none' |
|
}); |
|
}) |
|
// this.upIdList.splice(this.upIdList.findIndex((upId) => (upId === item.upId)), 1); |
|
}, |
|
|
|
getBarCode(code) { |
|
this.getData(code); |
|
}, |
|
epDosingRecConfirm(e) { |
|
this.getBarCode(e.target.value); |
|
}, |
|
getData(code) { |
|
this.epDosingRecValue = code; |
|
this.$ajax.request({ |
|
url: 'pdaLoad/epDosingRecByCode/' + code, |
|
method: 'GET', |
|
success: data => { |
|
if (data == null) { |
|
return uni.showToast({ |
|
icon: "none", |
|
title: '此酸雾塔置暂无任务' |
|
}); |
|
} |
|
this.epDosingRecValue = ''; |
|
this.epDosingRec = data; |
|
uni.showToast({ |
|
title: '数据获取成功' |
|
}); |
|
} |
|
}); |
|
}, |
|
submitClick() { |
|
this.$ajax.request({ |
|
url: 'pdaSave/saveEpDosingRec', |
|
method: 'POST', |
|
data: this.epDosingRec, |
|
success: data => { |
|
uni.showToast({ |
|
title: '保存成功' |
|
}); |
|
this.deviceRepairValue = ''; |
|
this.epDosingRec = { |
|
bsTower: {}, |
|
dose: null, |
|
memo: '' |
|
}; |
|
this.uploader = [] |
|
} |
|
}); |
|
} |
|
}, |
|
onNavigationBarButtonTap(btn) { |
|
this.$refs.ifrm.topMenuClick(btn); |
|
}, |
|
onShow() {} |
|
}; |
|
</script> |
|
|
|
<style scoped lang="less"> |
|
.uni-forms-item { |
|
margin-bottom: 6px !important; |
|
} |
|
|
|
.photoTitleSize { |
|
color: #a1a1a1; |
|
text-align: right; |
|
margin-right: 30rpx; |
|
margin-top: -30rpx; |
|
} |
|
|
|
.showImage { |
|
display: flex; |
|
flex-direction: row; |
|
justify-content: flex-start; |
|
flex-wrap: wrap; |
|
margin-left: -20rpx; |
|
|
|
.showImage-for { |
|
|
|
display: flex; |
|
flex-direction: column; |
|
width: 200rpx; |
|
margin-left: 30rpx; |
|
height: 260rpx; |
|
|
|
.view-icon { |
|
display: flex; |
|
flex-direction: row; |
|
justify-content: center; |
|
margin-top: -10rpx; |
|
} |
|
|
|
image { |
|
border-width: 2rpx; |
|
border-color: rgb(229, 229, 229); |
|
border-style: solid; |
|
border-radius: 20rpx; |
|
width: 190rpx; |
|
height: 190rpx; |
|
} |
|
} |
|
} |
|
|
|
.view-center { |
|
margin: 0rpx 25rpx; |
|
|
|
image { |
|
border-width: 2rpx; |
|
border-color: rgb(229, 229, 229); |
|
border-style: solid; |
|
border-radius: 20rpx; |
|
width: 190rpx; |
|
height: 190rpx; |
|
} |
|
} |
|
</style> |