| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703 |
- const app = getApp()
- Page({
- /**
- * 页面的初始数据
- */
- data: {
- fDeptid: null,
- trainAddress: [],
- checkall: false, //是否全选
- UserAccountList: [], //培训人员
- addstaffShow: false,
- mapShow: false,
- latitude: '',
- longitude: '',
- checkRoleAll: false,
- RoleAccountList: [],
- addRoleShow: false,
- form: {
- fileList: [],
- fileDocList: [],
- fy: '',
- fx: '',
- sendWay: '2',
- isSend: '0',
- isLimit: '0',
- distance: '500',
- trainUserinfoList: [],
- trainRoleinfoList: [],
- roleIds: ''
- }
- },
- getLocation: () => new Promise((res, rej) => {
- wx.getLocation({
- type: 'gcj02',
- altitude: true,
- isHighAccuracy: true,
- fail: err => {
- rej(err)
- },
- success: suc => {
- res(suc)
- }
- })
- }),
- async setMapShow() {
- console.log("setmapShow")
- wx.chooseLocation({
- success: res => {
- console.log(res)
- this.setData({
- 'form.trainAddress': res.address, //res.address,// res.name+,
- 'form.fx': res.latitude,
- 'form.fy': res.longitude,
- })
- },
- fail: e => {
- console.log(e)
- }
- })
- // if(!this.data.mapShow){
- // let {longitude,latitude} = await this.getLocation()
- // this.setData({longitude,latitude})
- // console.log('地址',{longitude,latitude})
- // }
- // this.setData({
- // mapShow:!this.data.mapShow
- // })
- },
- setAddRoleShow(e) {
- let {
- affirm
- } = e.currentTarget.dataset
- if (!this.data.addRoleShow) {
- this.data.backups = [JSON.stringify(this.data.RoleAccountList), JSON.stringify(this.data.form.trainRoleinfoList)]
- }
- console.log(affirm ? '确定' : '取消')
- this.setData({
- addRoleShow: !this.data.addRoleShow,
- RoleAccountList: affirm ? this.data.RoleAccountList : JSON.parse(this.data.backups[0]),
- 'form.trainRoleinfoList': affirm ? this.data.RoleAccountList.filter(v => v.checked) : JSON.parse(this.data.backups[1]),
- })
- },
- setAddstaffShow(e) {
- let {
- affirm
- } = e.currentTarget.dataset
- if (!this.data.addstaffShow) {
- this.data.backups = [JSON.stringify(this.data.UserAccountList), JSON.stringify(this.data.form.trainUserinfoList)]
- }
- console.log(affirm ? '确定' : '取消')
- this.setData({
- addstaffShow: !this.data.addstaffShow,
- UserAccountList: affirm ? this.data.UserAccountList : JSON.parse(this.data.backups[0]),
- 'form.trainUserinfoList': affirm ? this.data.UserAccountList.filter(v => v.checked) : JSON.parse(this.data.backups[1]),
- })
- },
- roleChange(e) {
- console.log(e)
- let {
- name
- } = e.currentTarget.dataset;
- let {
- value
- } = e.detail;
- let data = {};
- if (name === 'checkRoleAll') {
- this.data.RoleAccountList.forEach((v, i) => {
- this.data.RoleAccountList[i].checked = value[0] === 'checkRoleAll'
- })
- data['checkRoleAll'] = value[0] === 'checkRoleAll'
- data['RoleAccountList'] = this.data.RoleAccountList
- } else if (name === 'form.checkedValueList') {
- data['checkall'] = this.data.RoleAccountList.length === value.length
- this.data.RoleAccountList.forEach((v, i) => {
- this.data.RoleAccountList[i].checked = value.indexOf(i + '') != -1
- })
- data['RoleAccountList'] = this.data.RoleAccountList
- } else {
- data[name] = value
- }
- this.setData(data);
- this.selectUserAccountList();
- },
- model(e) {
- let {
- name
- } = e.currentTarget.dataset;
- let {
- value
- } = e.detail;
- let data = {};
- if (name === 'form.trainAddress') {
- data[name] = this.data.trainAddress[value].fAddress
- this.data.form.fx = this.data.trainAddress[value].fX
- this.data.form.fy = this.data.trainAddress[value].fY
- console.log(this.data.trainAddress[value])
- } else if (name === 'checkall') {
- this.data.UserAccountList.forEach((v, i) => {
- this.data.UserAccountList[i].checked = value[0] === 'checkall'
- })
- data['checkall'] = value[0] === 'checkall'
- data['UserAccountList'] = this.data.UserAccountList
- } else if (name === 'form.checkedValueList') {
- data['checkall'] = this.data.UserAccountList.length === value.length
- this.data.UserAccountList.forEach((v, i) => {
- this.data.UserAccountList[i].checked = value.indexOf(i + '') != -1
- })
- data['UserAccountList'] = this.data.UserAccountList
- } else {
- data[name] = value
- }
- this.setData(data)
- },
- verify() {
- let {
- trainTitle,
- date1,
- time1,
- date2,
- time2,
- trainAddress,
- trainContent,
- trainUserinfoList
- } = this.data.form
- if (!trainTitle || !date1 || !time1 || !date2 || !time2 || !trainAddress || !trainContent || !trainUserinfoList.length) {
- wx.showToast({
- title: !trainTitle ? '请输入培训标题' : (
- !date1 || !time1 ? '请完善开始培训时间' : (
- !date2 || !time2 ? '请完善结束培训时间' : (
- !trainAddress ? '请选择培训地址' : (
- !trainContent ? '请输入培训内容' : '请选择培训人员'
- )
- ))
- ),
- icon: 'none'
- })
- return false
- }
- this.data.form.startTime = Date.parse(new Date(date1.replace(/-/g, '/') + ' ' + time1 + ':00')) //date1.replace(/-/g,'/') + ' ' + time1 + ':00'
- this.data.form.endTime = Date.parse(new Date(date2.replace(/-/g, '/') + ' ' + time2 + ':00')) //date2.replace(/-/g,'/') + ' ' + time2 + ':00'
- this.data.form.trainUserinfoList = this.data.form.trainUserinfoList.map(v => Object.assign(v, {
- trainStaffId: v.fUserid,
- trainStaffName: v.fUsername,
- departmentId: v.fDeptid,
- yhcompanyId: v.yhCompanyId,
- }))
- return true
- },
- async submit(e) {
- if (!this.verify()) return
- let {
- state
- } = e.currentTarget.dataset
- this.data.form.state = state
- console.log(this.data.form)
- wx.showLoading({
- title: state == '1' ? '保存中' : '提交中',
- mask: true
- })
- let res = await app.sendRequest('post', '/tPubTrain/createTrain', {
- data: this.data.form
- })
- if (!res || res.status != '200') {
- wx.hideLoading()
- wx.showToast({
- title: '异常错误,请重试',
- icon: 'none'
- })
- return
- }
- wx.showToast({
- icon: 'success',
- mask: true,
- title: state == '1' ? '保存' : '提交' + '成功',
- success: (result) => {
- wx.navigateBack({
- delta: 0,
- })
- let pages = getCurrentPages();
- pages[pages.length - 2].onLoad();
- },
- })
- console.log(res)
- },
- // async selectTrainAddress(){
- // let res = await app.sendRequest('post','/tPubTrain/selectTrainAddress',{data:{}})
- // this.setData({
- // trainAddress : res.data
- // })
- // },
- async selectRoleAccountList() {
- let res = await app.sendRequest('get', '/role/info/list')
- console.log(res)
- this.setData({
- RoleAccountList: res.data
- })
- console.log(this.data.RoleAccountList)
- if (res) {
- return Promise.resolve('培训人员加载完成')
- } else {
- return Promise.reject('err')
- }
- },
- async selectUserAccountList() {
- // let res = await app.sendRequest('post','/tPubTrain/selectUserAccountList',{data:{}})
- let config = wx.getStorageSync('config');
- let fDeptid = wx.getStorageSync('fDeptid');
- if (fDeptid == 6) {
- let roadId = [];
- this.data.RoleAccountList.map(item => {
- if (item.checked) {
- roadId.push(item.fRoleid)
- }
- })
- this.setData({
- 'form.roleIds': roadId.toString()
- })
- let data = {
- roleId: roadId.toString()
- };
- let res = await app.sendRequest('get', '/sysuseraccount/selectUserAccountByRoleId', {
- data
- })
- this.setData({
- UserAccountList: res.data
- })
- if (res) {
- return Promise.resolve('培训人员加载完成')
- } else {
- return Promise.reject('err')
- }
- } else {
- let data = [27, 1];
- // if (fDeptid == 10) {
- // data = [26]
- // } else {
- // data = [
- // [15, 16],
- // [16],
- // [16]
- // ][
- // ['公园科中心', '公园科中心,绿化科中心', '绿化科中心'].indexOf(config)
- // ];
- // }
- let res = await app.sendRequest('post', '/sysuseraccount/selectUserAccountByDeptId', {
- data
- })
- this.setData({
- UserAccountList: res.data,
- // UserAccountList2 : res2.data
- })
- if (res) {
- return Promise.resolve('培训人员加载完成')
- } else {
- return Promise.reject('err')
- }
- }
- },
- async selectById(id) {
- let res = await app.sendRequest('post', '/tPubTrain/selectById', {
- data: {
- id
- }
- })
- console.log(res.data)
- res.data.fileList = res.data.fileList || []
- res.data.fileDocList = res.data.fileDocList || []
- this.setData({
- form: Object.assign(res.data, {
- date1: res.data.startTime.substr(0, 10),
- time1: res.data.startTime.substr(11, 5),
- date2: res.data.endTime.substr(0, 10),
- time2: res.data.endTime.substr(11, 5)
- })
- })
- if (res) {
- return Promise.resolve('id获取信息完成')
- } else {
- return Promise.reject('err')
- }
- },
- /**
- * 生命周期函数--监听页面加载
- */
- onLoad: function (options) {
- let fDeptid = wx.getStorageSync('fDeptid');
- console.log(fDeptid)
- this.setData({
- fDeptid: fDeptid
- })
- if (options.id) {
- wx.setNavigationBarTitle({
- title: '修改培训',
- })
- //this.selectById(options.id)
- Promise.all([this.selectById(options.id), this.selectRoleAccountList(), this.selectUserAccountList()]).then(arr => {
- let trainStaffIdArr = this.data.form.trainUserinfoList.map(v => v.trainStaffId);
- let trainRoleIdArr = this.data.form.roleIds;
- let RoleAccountList = this.data.RoleAccountList.map(item => {
- item.checked = trainRoleIdArr.indexOf(item.fRoleid) != -1
- return item
- })
- let UserAccountList = this.data.UserAccountList.map(item => {
- item.checked = trainStaffIdArr.indexOf(item.fUserid) != -1
- return item
- })
- let trainRoleinfoList = this.data.RoleAccountList.filter(v => v.checked);
- let trainUserinfoList = this.data.UserAccountList.filter(v => v.checked);
- this.setData({
- RoleAccountList,
- UserAccountList,
- 'form.trainRoleinfoList': trainRoleinfoList,
- 'form.trainUserinfoList': trainUserinfoList,
- checkRoleAll: RoleAccountList.length && RoleAccountList.length === trainRoleinfoList.length,
- checkall: UserAccountList.length && UserAccountList.length === trainUserinfoList.length,
- })
- })
- } else {
- this.selectRoleAccountList();
- this.selectUserAccountList();
- let date = new Date();
- let dateStr = [date.getFullYear(), date.getMonth() + 1, date.getDate()].join('-')
- this.setData({
- "form.date1": dateStr,
- "form.date2": dateStr
- })
- }
- // this.selectTrainAddress()
- },
- /**
- * 生命周期函数--监听页面初次渲染完成
- */
- onReady: function () {
- },
- /**
- * 生命周期函数--监听页面显示
- */
- onShow: function () {
- },
- /**
- * 生命周期函数--监听页面隐藏
- */
- onHide: function () {
- },
- /**
- * 生命周期函数--监听页面卸载
- */
- onUnload: function () {
- },
- /**
- * 页面相关事件处理函数--监听用户下拉动作
- */
- onPullDownRefresh: function () {
- },
- /**
- * 页面上拉触底事件的处理函数
- */
- onReachBottom: function () {
- },
- /**
- * 用户点击右上角分享
- */
- onShareAppMessage: function () {
- },
- uploader() {
- var token = wx.getStorageSync("token")
- let maxSize = 1024 * 1024 * 5
- let maxLength = 5
- let flag = true
- wx.chooseImage({
- count: 5, //最多可以选择的图片总数
- sizeType: ["original", "compressed"], // 可以指定是原图还是压缩图,默认二者都有
- sourceType: ["album", "camera"], // 可以指定来源是相册还是相机,默认二者都有
- success: res => {
- wx.showLoading({
- title: "正在上传...",
- mask: true,
- })
- console.log('!!!', res)
- for (let i = 0; i < res.tempFiles.length; i++) {
- if (res.tempFiles[i].size > maxSize) {
- flag = false
- wx.showModal({
- content: "图片太大,不允许上传",
- showCancel: false,
- success: function (res) {
- if (res.confirm) {
- ////console.log('用户点击确定')
- }
- },
- })
- return
- }
- }
- if (res.tempFiles.length > maxLength) {
- wx.showModal({
- content: "最多能上传" + maxLength + "张图片",
- showCancel: false,
- success: function (res) {
- if (res.confirm) {
- ////console.log('确定');
- }
- },
- })
- return
- }
- if (flag == true && res.tempFiles.length <= maxLength) {
- for (var i = 0; i < res.tempFilePaths.length; i++) {
- console.log(' res.tempFilePaths[i]', res.tempFilePaths[i])
- wx.uploadFile({
- url: app.globalData.httpsUrlServer + "/file/uploadPubTrainImage",
- filePath: res.tempFilePaths[i],
- name: "images",
- header: {
- "Content-Type": "application/json;charset=UTF-8",
- token: token,
- fSource: 1,
- },
- success: res => {
- var data = JSON.parse(res.data)
- console.log('!!!', data)
- this.setData({
- 'form.fileList': [...this.data.form.fileList, ...data.data]
- })
- wx.hideLoading()
- setTimeout(() => {
- wx.showToast({
- title: "图片上传成功",
- icon: "success",
- duration: 1000,
- })
- }, 500)
- },
- fail: function (res) {
- wx.hideLoading()
- wx.showToast({
- title: "上传失败",
- icon: "fail",
- duration: 2000,
- })
- },
- })
- }
- }
- },
- })
- },
- // 删除图片
- clearImg: function (e) {
- var that = this
- var index = e.currentTarget.dataset.index
- var url = app.globalData.httpsUrlServer + "/file/deleteFile"
- var data = {
- fileDes: this.data.form.fileList[index].fileDes,
- }
- app.postReq(url, data, (res) => {
- if (res.message == "删除成功") {
- that.setData({
- 'form.fileList': this.data.form.fileList.filter((v, i) => i != index)
- })
- wx.showToast({
- title: "删除成功",
- icon: "success",
- duration: 2000,
- })
- } else if (res.status == 600) {
- wx.showModal({
- title: "登陆失败",
- content: "登录信息失效,请重新登录",
- success(res) {
- if (res.confirm) {
- wx.navigateTo({
- url: "/pages/login/login",
- })
- } else if (res.cancel) {
- wx.navigateTo({
- url: "/pages/login/login",
- })
- }
- },
- })
- } else {
- wx.showModal({
- title: "提醒",
- content: "删除失败,请重试",
- success(res) {},
- })
- }
- })
- },
- // 预览图片
- showImg: function (e) {
- //获取当前图片的下标
- ////console.log(e)
- var index = e.currentTarget.dataset.index
- //所有图片
- var imgs = this.data.form.fileList.map(item => item.fileUrl)
- wx.previewImage({
- //当前显示图片
- current: imgs[index],
- //所有图片
- urls: imgs,
- })
- },
- chooseWord() {
- var that = this
- var token = wx.getStorageSync("token")
- wx.chooseMessageFile({
- count: 1, //能选择文件的数量
- type: "file", //能选择文件的类型,我这里只允许上传文件
- success: res => {
- var size = res.tempFiles[0].size
- var newfilename = res.tempFiles[0].name
- //限制了文件的大小和具体文件类型
- if (
- size < 4194304 &&
- (newfilename.indexOf(".doc") != -1 ||
- newfilename.indexOf(".docx") != -1 ||
- newfilename.indexOf(".xlsx") != -1 ||
- newfilename.indexOf(".xls") != -1 ||
- newfilename.indexOf(".pdf") != -1)
- ) {
- // 上传文件,请求接口
- for (var i = 0; i < res.tempFiles.length; i++) {
- wx.uploadFile({
- url: app.globalData.httpsUrlServer + "/file/uploadPubTrainFile",
- filePath: res.tempFiles[i].path,
- name: res.tempFiles[i].name,
- header: {
- "Content-Type": "application/json;charset=UTF-8",
- token: token,
- fSource: 1,
- },
- success: (res) => {
- var data = JSON.parse(res.data)
- console.log('2@@@', data)
- that.setData({
- 'form.fileDocList': [...this.data.form.fileDocList, ...data.data]
- })
- wx.hideLoading()
- setTimeout(() => {
- wx.showToast({
- title: "文档上传成功",
- icon: "success",
- duration: 1000,
- })
- }, 500)
- },
- fail: function (res) {
- wx.showToast({
- title: "上传失败",
- icon: "fail",
- duration: 2000,
- })
- },
- })
- }
- } else {
- wx.showToast({
- title: "文件大小不能超过4MB或文档格式不对!",
- icon: "none",
- duration: 2000,
- mask: true,
- })
- }
- },
- })
- },
- openWord(e) {
- var index = e.currentTarget.dataset.index;
- let {
- fileUrl,
- fileFormat
- } = this.data.form.fileDocList[index]
- console.log(this.data.form.fileDocList[index], fileUrl, fileFormat)
- wx.downloadFile({
- url: fileUrl,
- success: res => {
- const filePath = res.tempFilePath;
- wx.openDocument({
- filePath,
- fileType: fileFormat.substring(1, fileFormat.length),
- success: function (res) {
- // console.log("打开文档成功")
- },
- fail: function (res) {
- wx.showToast({
- title: '打开文档失败',
- icon: 'none',
- duration: 2000
- })
- },
- })
- },
- fail: res => {
- console.log(res);
- },
- });
- },
- // 删除文档
- deleteWord(e) {
- console.log('@@')
- var that = this
- var index = e.currentTarget.dataset.index
- var url = app.globalData.httpsUrlServer + "/file/deleteFile"
- let data = {
- fileDes: this.data.form.fileDocList[index].fileDes,
- }
- app.postReq(url, data, (res) => {
- if (res.status == 200) {
- this.setData({
- 'form.fileDocList': this.data.form.fileDocList.filter((v, i) => i != index)
- })
- wx.showToast({
- title: "删除成功",
- icon: "success",
- duration: 2000,
- })
- } else if (res.data.status == 600) {
- wx.showModal({
- title: "登陆失败",
- content: "登录信息失效,请重新登录",
- success(res) {
- if (res.confirm) {
- wx.navigateTo({
- url: "/pages/login/login",
- })
- } else if (res.cancel) {
- wx.navigateTo({
- url: "/pages/login/login",
- })
- }
- },
- })
- } else {
- wx.showModal({
- title: "提醒",
- content: "删除失败,请重试",
- success(res) {},
- })
- }
- })
- },
- })
|