| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142 |
- export default {
- methods: {
- //删除图片
- deleteImage(item) {
- uni.showModal({
- title: '提示',
- content: '确定要删除这张图片吗?',
- success: async (res) => {
- if (res.confirm) {
- // 调接口删除
- console.log('现在要删除的文件文件是:', item.id)
- try {
- await uni.$u.api.deleteClueFile([item.id])
- uni.showToast({
- title: '删除成功',
- icon: 'success',
- duration: 2000
- })
- } catch (error) {
- uni.showToast({
- title: '删除失败',
- icon: 'error',
- duration: 2000
- })
- }
- // 删除成功后刷新列表
- this.getList('2', '1');
- this.getList('2', '2');
- this.getList('2', '3');
- }
- }
- })
- },
- //获取文件列表
- async getList(type, orderFileType) {
- console.log('获取文件列表', type, orderFileType)
- try {
- const params = {
- clueId: this.orderDetail.clueId,
- sourceId: this.orderId,
- type,
- orderFileType,
- isDuplicate: '1',//先传1
- pageNum: 1,
- pageSize: 1000 // 设置一个较大的值以获取所有数据
- }
- const response = await uni.$u.api.selectClueFileByDto(params)
- if (orderFileType == '1') {
- this.trueUploadList = response.rows || []
- } else if (orderFileType == '2') {
- this.chatRecordsUploadList = response.rows || []
- } else if (orderFileType == '3') {
- this.detailImages = response.rows || []
- }
- } catch (error) {
- uni.$u.toast(`获取列表失败:${error.message}`)
- this.trueUploadList = []
- this.chatRecordsUploadList = []
- }
- },
- // 选择图片
- uploadImage(type) {
- uni.chooseImage({
- count: 9, // 最多选择9张
- sizeType: ['compressed'], // 压缩图片
- sourceType: ['album', 'camera'], // 从相册选择或拍照
- success: (res) => {
- const tempFilePaths = res.tempFilePaths
- console.log('上传的图片路径:11', tempFilePaths)
- this.uploadToServer(tempFilePaths, type)
- },
- fail: (err) => {
- console.error('选择图片失败:', err)
- }
- })
- },
- // 上传到服务器
- async uploadToServer(filePaths, type) {
- // 实际的上传逻辑
- try {
- //实物图的话就是1,聊天记录的话就是2,高清细节图的话就是3
- let p = type == 'truePic' ? '1' : type == 'chatRecords' ? '2' : type == 'detailImages' ? '3' : ''
- console.log('当前上传的图片类型是', p)
- const res = await Promise.all(filePaths.map(filePath => this.uploadFile(filePath, p)));
- // 绑定
- this.bindOrder(p);
- this.getList('2', '1');
- this.getList('2', '2');
- this.getList('2', '3');
- } catch (error) {
- console.error('上传失败:', error);
- uni.$u.toast('上传失败');
- }
- },
- // 上传文件
- async uploadFile(fileUrl, orderFileType) {
- try {
- uni.showLoading({
- title: '上传中...',
- mask: true
- });
- // 调用统一的上传接口
- const { data } = await uni.$u.api.uploadFile(fileUrl);
- const fileObj = {
- fileSize: data.fileSize,
- fileSuffix: data.fileSuffix,
- fileName: data.name,
- fileUrl: data.url,
- orderFileType: orderFileType
- };
- this.bindList.push(fileObj);
- } catch (error) {
- uni.hideLoading();
- console.error('文件上传失败:', error);
- uni.$u.toast('上传失败,请重试');
- }
- },
- //绑定订单
- async bindOrder(orderFileType) {
- const res = await uni.$u.api.saveClueFile({
- clueId: this.orderDetail.clueId,//线索id
- list: this.bindList,
- sourceId: this.orderId,//订单id,sendformid
- type: '2',
- orderFileType: orderFileType
- });
- uni.$u.toast("上传成功");
- uni.hideLoading();
- // 清空待绑定的图片列表
- this.bindList = [];
- },
- }
- }
|