daofu-applet/pages/work/d-b-s-x/up/index.js

329 lines
7.1 KiB
JavaScript
Raw Normal View History

// 上报动态
import Utils from "../../../../utils/util"
const app = getApp();
Page({
/**
* 页面的初始数据
*/
data: {
topBarH: app.globalData.CustomBar,
baseUrl: app.FILE_SERVER_URL,
dateFilter: Utils.formatTime(new Date(), '-'),
showTypePop: false,
showTaskPop: false,
TypeData: [],
postData: {}
},
/**
* 时间
*/
bindDateChange: function (params) {
const name = params.currentTarget.dataset.name;
this.data.postData[name] = params.detail.value;
this.setData(this.data)
},
/**
* 显示/关闭任务弹窗
*/
popTaskModal: function (params) {
const type = params.currentTarget.dataset.type;
this.data[type] = !this.data[type];
this.setData(this.data)
},
/**
* 显示/关闭弹窗
*/
popModal: function (params) {
const type = params.currentTarget.dataset.type;
this.data[type] = !this.data[type];
this.setData(this.data)
},
/**
* 通知类型
*/
typeChange: function (params) {
const index = params.currentTarget.dataset.index;
this.data.postData.type = index + 1;
this.data.postData.typeId = this.data.TypeData[index].typeId;
this.data.showTypePop = false;
this.setData(this.data)
},
/**
* 输入内容
*/
inputContent: function (e) {
const name = e.currentTarget.dataset.name;
this.data.postData[name] = e.detail.value;
},
2024-06-07 15:22:47 +08:00
/**
* 阅览文件
*/
openread: function (e) {
const item = e.currentTarget.dataset.item;
const extension = item.filepath.split('.').pop().toLowerCase();
if(extension == 'jpg' || extension == 'png' ){
wx.previewImage({
urls: [app.FILE_SERVER_URL + item.filepath] // 需要预览的图片http链接列表
})
return
}
if(extension == 'mp4'){
this.setData({
videoSrc:app.FILE_SERVER_URL + item.filepath,
video: true
});
return
}
wx.downloadFile({
url: app.FILE_SERVER_URL + item.filepath, //仅为示例,并非真实的资源
success(res) {
if (res.statusCode === 200) {
wx.openDocument({
filePath: res.tempFilePath,
fail: function (res) {
wx.showToast({
title: '不支持此格式',
icon: 'none',
duration: 1000
});
}
})
}
}
})
},
/**
* 选择文件
*/
chooseFile: function () {
wx.chooseImage({
count: 1,
type: 'all',
success: (res) => {
const tempFilePaths = res.tempFiles;
const path = tempFilePaths[0].path;
this.postImg(path)
}
})
},
2024-06-06 17:11:58 +08:00
chooseMessageFile() {
wx.chooseMessageFile({
count: 1, // 默认9这里设置为1表示只选择一个文件
type: 'file', // 指定文件类型,这里设置为 'file' 表示可以选择所有类型的文件
success: (res) => {
// 用户成功选择文件后执行的回调
if (res.tempFiles.length > 0) {
// 获取用户选择的文件信息
const file = res.tempFiles[0];
const filePath = file.path; // 文件的本地路径
// 在这里可以对文件进行进一步的处理,例如上传到服务器等
this.postImg(filePath)
} else {
// 用户没有选择文件
wx.showToast({
title: '未选择文件',
icon: 'none',
duration: 1000
});
}
},
fail: function (err) {
// 选择文件失败的回调
wx.showToast({
title: '选择文件失败',
icon: 'none',
duration: 1000
});
}
});
},
/**
* 获取工作类型
*/
getType: function () {
app.axios("GET", "app", "/work/wkTypes", {
classify: 2
}).then(res => {
if (res.code == 1) {
this.data.TypeData = res.data;
this.setData(this.data)
}
})
},
/**
* 上传图片
*/
postImg(filePath) {
wx.showLoading({
title: '文件上传中...',
})
app.uploadFile(this.data.detail.wkUserId, app.FileType.resumptionAcs, filePath).then(res => {
wx.hideLoading();
this.getFiles();
})
},
/**
* 获取图片
*/
getFiles: function () {
app.axios("GET", "common", "/upload/getFile", {
otcid: this.data.detail.wkUserId,
otctype: app.FileType.resumptionAcs
}).then(res => {
if (res.code == 1) {
this.data.files = res.data;
this.setData(this.data)
}
})
},
/**
* 删除图片
* @param {*} params
*/
deleteFile: function (e) {
var id = e.currentTarget.dataset.id;
wx.showModal({
title: '删除提示',
content: '是否要删除该附件?',
success: (res) => {
if (res.confirm) {
app.axios("GET", 'common', "/upload/delFile", {
documentId: id,
}).then(res => {
if (res.code == 1) {
this.getFiles();
}
})
}
}
})
},
/**
* 发布
*/
push: function () {
this.data.postData.userId = app.globalData.userInfo.userId;
this.data.postData.wkUserId = this.data.detail.wkUserId;
if (!this.data.postData.workContent) {
wx.showToast({
title: '请输入内容',
icon: 'none'
})
return
}
if (!this.data.postData.completionTime) {
wx.showToast({
title: '请设置时间',
icon: 'none'
})
return
}
app.axios("POST", "app", "/work/receiveWorkComplete", this.data.postData).then(res => {
if (res.code == 1) {
wx.showToast({
title: '发布成功',
icon: 'none'
})
setTimeout(() => {
wx.navigateBack()
}, 1500);
} else {
wx.showToast({
title: res.message,
icon: 'none'
})
}
})
},
/**
* 预览文件
*/
filePre: function (params) {
const url = params.currentTarget.dataset.url;
const imgs = [];
this.data.files.forEach(item => {
imgs.push(this.data.baseUrl + item.filepath)
})
wx.previewImage({
urls: imgs,
current: this.data.baseUrl + url
})
},
/**
* 生命周期函数--监听页面加载
*/
onLoad(options) {
this.data.readonly = options.detail == 1;
const eventChannel = this.getOpenerEventChannel()
eventChannel.on('getItem', (item) => {
this.data.detail = item;
if (this.data.readonly) this.data.postData = item;
this.setData(this.data)
this.getFiles();
})
},
/**
* 生命周期函数--监听页面初次渲染完成
*/
onReady() {
},
/**
* 生命周期函数--监听页面显示
*/
onShow() {
},
/**
* 生命周期函数--监听页面隐藏
*/
onHide() {
},
/**
* 生命周期函数--监听页面卸载
*/
onUnload() {
},
/**
* 页面相关事件处理函数--监听用户下拉动作
*/
onPullDownRefresh() {
},
/**
* 页面上拉触底事件的处理函数
*/
onReachBottom() {
},
/**
* 用户点击右上角分享
*/
onShareAppMessage() {
}
})