123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226 |
- import {
- ApiModel
- } from "../../../utils/api";
- const _Http = new ApiModel();
- Page({
- data: {
- formats: {},
- readOnly: false,
- placeholder: '开始输入...',
- editorHeight: 300,
- keyboardHeight: 0,
- isIOS: false,
- showRichText: '', //富文本文件
- isDisabled: false, //只读
- },
- readOnlyChange() {
- this.setData({
- readOnly: !this.data.readOnly
- })
- },
- /* 回调 */
- callBack() {
- wx.showToast({
- title: '保存成功',
- })
- this.getOpenerEventChannel().emit('richTextCallBack', {
- richText: this.data.showRichText
- })
- setTimeout(() => {
- wx.navigateBack()
- }, 500);
- },
- onLoad(options) {
- let isDisabled = false;
- if (wx.getStorageSync('userData').fisadministrator == 1) isDisabled = true;
- const platform = wx.getSystemInfoSync().platform
- const isIOS = platform === 'ios'
- this.setData({
- isIOS,
- showRichText: decodeURIComponent(options.fintroduction),
- isDisabled
- })
- const that = this
- this.updatePosition(0)
- let keyboardHeight = 0
- wx.onKeyboardHeightChange(res => {
- if (res.height === keyboardHeight) return
- const duration = res.height > 0 ? res.duration * 1000 : 0
- keyboardHeight = res.height
- setTimeout(() => {
- wx.pageScrollTo({
- scrollTop: 0,
- success() {
- that.updatePosition(keyboardHeight)
- that.editorCtx.scrollIntoView()
- }
- })
- }, duration)
- })
- },
- updatePosition(keyboardHeight) {
- const toolbarHeight = 50
- const {
- windowHeight,
- platform
- } = wx.getSystemInfoSync()
- let editorHeight = keyboardHeight > 0 ? (windowHeight - keyboardHeight - toolbarHeight) : windowHeight
- this.setData({
- editorHeight,
- keyboardHeight
- })
- },
- calNavigationBarAndStatusBar() {
- const systemInfo = wx.getSystemInfoSync()
- const {
- statusBarHeight,
- platform
- } = systemInfo
- const isIOS = platform === 'ios'
- const navigationBarHeight = isIOS ? 44 : 48
- return statusBarHeight + navigationBarHeight
- },
- onEditorReady() {
- const that = this
- wx.createSelectorQuery().select('#editor').context(function (res) {
- that.editorCtx = res.context
- that.editorCtx.setContents({
- html: that.data.showRichText //将数据写入编辑器内
- })
- event.on('resetEditor', that, that.onEditorReady.bind(that))
- }).exec()
- },
- compileText(e) {
- console.log(e.detail.html)
- this.setData({
- showRichText: e.detail.html
- })
- },
- blur() {
- this.editorCtx.blur()
- },
- format(e) {
- let {
- name,
- value
- } = e.target.dataset
- if (!name) return
- // console.log('format', name, value)
- this.editorCtx.format(name, value)
- },
- onStatusChange(e) {
- const formats = e.detail
- this.setData({
- formats
- })
- },
- insertDivider() {
- this.editorCtx.insertDivider({
- success: function () {
- console.log('insert divider success')
- }
- })
- },
- clear() {
- this.editorCtx.clear({
- success: function (res) {
- console.log("clear success")
- }
- })
- },
- removeFormat() {
- this.editorCtx.removeFormat()
- },
- insertDate() {
- const date = new Date()
- const formatDate = `${date.getFullYear()}/${date.getMonth() + 1}/${date.getDate()}`
- this.editorCtx.insertText({
- text: formatDate
- })
- },
- insertImage() {
- const that = this;
- wx.chooseImage({
- count: 1,
- success: function (res) {
- console.log(res)
- //获取文件后缀
- var index = res.tempFiles[0].path.lastIndexOf(".");
- var ext = res.tempFiles[0].path.substr(index + 1);
- //文件名称
- const timestamp = Date.parse(new Date());;
- //发送请求
- wx.getFileSystemManager().readFile({
- filePath: res.tempFiles[0].path,
- success: result => {
- console.log("临时路径", result)
- //返回临时文件路径
- const fileData = result.data
- _Http.basic({
- "accesstoken": wx.getStorageSync('userData').token,
- "classname": "system.system.docManage",
- "method": "getFileName",
- "content": {
- "filename": timestamp,
- "filetype": ext,
- "ownertable": "tagents",
- "ownerid": wx.getStorageSync('userData').tagentsid,
- "ftype": "richtext"
- }
- }).then(res => {
- console.log("上传成功", res)
- if (res.msg != "成功") return wx.showToast({
- title: "文件上传失败,请稍后再试",
- icon: "none"
- });
- that.uploadFile(res, fileData)
- }).catch(err => {})
- },
- fail: console.error
- })
- }
- })
- },
- /* 上传成功反馈 */
- uploadFile(res, data) {
- console.log("文件上传")
- var that = this;
- wx.request({
- url: res.data.obsuploadurl,
- method: "PUT",
- data: data,
- header: {
- 'content-type': 'application/octet-stream' // 默认值
- },
- success() {
- _Http.basic({
- "accesstoken": wx.getStorageSync('userData').token,
- "classname": "system.system.docManage",
- "method": "uploadSuccess",
- "content": {
- "obsfilename": res.data.obsfilename
- }
- }).then(res => {
- console.log("上传成功反馈", res)
- that.editorCtx.insertImage({
- src: res.data[0].fobsurl,
- data: {
- id: res.data[0].tattachmentid,
- role: 'god'
- },
- /* width: '80%', */
- success: function () {
- console.log('insert image success')
- }
- })
- }).catch(err => {
- console.log(err)
- })
- }
- })
- },
- })
|