|  | @@ -3,7 +3,6 @@ import { sendType } from '@/constant'
 | 
	
		
			
				|  |  |  import request from '@/helpers/request'
 | 
	
		
			
				|  |  |  import { getOssUploadUrl, state } from '@/state'
 | 
	
		
			
				|  |  |  import dayjs from 'dayjs'
 | 
	
		
			
				|  |  | -import umiRequest from 'umi-request'
 | 
	
		
			
				|  |  |  import {
 | 
	
		
			
				|  |  |    ActionSheet,
 | 
	
		
			
				|  |  |    Button,
 | 
	
	
		
			
				|  | @@ -33,6 +32,7 @@ import { useRoute, useRouter } from 'vue-router'
 | 
	
		
			
				|  |  |  import OActionSheet from '@/components/o-action-sheet'
 | 
	
		
			
				|  |  |  import { formatterDatePicker } from '@/helpers/utils'
 | 
	
		
			
				|  |  |  import OUploadAll from '@/components/o-upload-all'
 | 
	
		
			
				|  |  | +import OHeader from '@/components/o-header'
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  export default defineComponent({
 | 
	
		
			
				|  |  |    name: 'create-message',
 | 
	
	
		
			
				|  | @@ -66,93 +66,6 @@ export default defineComponent({
 | 
	
		
			
				|  |  |        ]
 | 
	
		
			
				|  |  |      })
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -    const beforeRead = (file: any) => {
 | 
	
		
			
				|  |  | -      // console.log(file, 'beforeRead')
 | 
	
		
			
				|  |  | -      const isLt2M = file.size / 1024 / 1024 < 5
 | 
	
		
			
				|  |  | -      if (!isLt2M) {
 | 
	
		
			
				|  |  | -        showToast(`上传文件大小不能超过 5MB`)
 | 
	
		
			
				|  |  | -        return false
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -      return true
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    const beforeDelete = (file: any, detail: { index: any }) => {
 | 
	
		
			
				|  |  | -      // this.dataModel.splice(detail.index, 1)
 | 
	
		
			
				|  |  | -      return true
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -    const afterRead = async (file: any, detail: any) => {
 | 
	
		
			
				|  |  | -      try {
 | 
	
		
			
				|  |  | -        file.status = 'uploading'
 | 
	
		
			
				|  |  | -        file.message = '上传中...'
 | 
	
		
			
				|  |  | -        await uploadFile(file)
 | 
	
		
			
				|  |  | -      } catch (error) {
 | 
	
		
			
				|  |  | -        //
 | 
	
		
			
				|  |  | -        closeToast()
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -    const uploadFile = async (files: any) => {
 | 
	
		
			
				|  |  | -      // 上传文件
 | 
	
		
			
				|  |  | -      try {
 | 
	
		
			
				|  |  | -        console.log(files, 'files')
 | 
	
		
			
				|  |  | -        const file = files.file
 | 
	
		
			
				|  |  | -        // 获取签名
 | 
	
		
			
				|  |  | -        const signUrl = '/api-school/open/getUploadSign'
 | 
	
		
			
				|  |  | -        const tempName = file.name || ''
 | 
	
		
			
				|  |  | -        const fileName = '/i-m/' + (tempName && tempName.replace(/ /gi, '_'))
 | 
	
		
			
				|  |  | -        const key = new Date().getTime() + fileName
 | 
	
		
			
				|  |  | -        // showLoadingToast({
 | 
	
		
			
				|  |  | -        //   message: '加载中...',
 | 
	
		
			
				|  |  | -        //   forbidClick: true,
 | 
	
		
			
				|  |  | -        //   loadingType: 'spinner',
 | 
	
		
			
				|  |  | -        //   duration: 0
 | 
	
		
			
				|  |  | -        // })
 | 
	
		
			
				|  |  | -        const res = await request.post(signUrl, {
 | 
	
		
			
				|  |  | -          hideLoading: true,
 | 
	
		
			
				|  |  | -          data: {
 | 
	
		
			
				|  |  | -            filename: fileName,
 | 
	
		
			
				|  |  | -            bucketName: forms.bucket,
 | 
	
		
			
				|  |  | -            postData: {
 | 
	
		
			
				|  |  | -              filename: fileName,
 | 
	
		
			
				|  |  | -              acl: 'public-read',
 | 
	
		
			
				|  |  | -              key: key,
 | 
	
		
			
				|  |  | -              unknowValueField: []
 | 
	
		
			
				|  |  | -            }
 | 
	
		
			
				|  |  | -          }
 | 
	
		
			
				|  |  | -        })
 | 
	
		
			
				|  |  | -        // setTimeout(() => {
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        // }, 100)
 | 
	
		
			
				|  |  | -        const obj = {
 | 
	
		
			
				|  |  | -          policy: res.data.policy,
 | 
	
		
			
				|  |  | -          signature: res.data.signature,
 | 
	
		
			
				|  |  | -          key: key,
 | 
	
		
			
				|  |  | -          KSSAccessKeyId: res.data.kssAccessKeyId,
 | 
	
		
			
				|  |  | -          acl: 'public-read',
 | 
	
		
			
				|  |  | -          name: fileName
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        const formData = new FormData()
 | 
	
		
			
				|  |  | -        for (const key in obj) {
 | 
	
		
			
				|  |  | -          formData.append(key, obj[key])
 | 
	
		
			
				|  |  | -        }
 | 
	
		
			
				|  |  | -        formData.append('file', file, fileName)
 | 
	
		
			
				|  |  | -        await umiRequest(getOssUploadUrl(forms.bucket), {
 | 
	
		
			
				|  |  | -          method: 'POST',
 | 
	
		
			
				|  |  | -          data: formData
 | 
	
		
			
				|  |  | -        })
 | 
	
		
			
				|  |  | -        // console.log(getOssUploadUrl(state.bucket) + key)
 | 
	
		
			
				|  |  | -        const uploadUrl = getOssUploadUrl(forms.bucket) + key
 | 
	
		
			
				|  |  | -        // closeToast()
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | -        // state.fileList.push({ url: uploadUrl })
 | 
	
		
			
				|  |  | -        files.url = uploadUrl
 | 
	
		
			
				|  |  | -        files.status = 'done'
 | 
	
		
			
				|  |  | -      } catch (error) {
 | 
	
		
			
				|  |  | -        files.status = 'failed'
 | 
	
		
			
				|  |  | -        // closeToast()
 | 
	
		
			
				|  |  | -        console.log(error, 'uploadFile')
 | 
	
		
			
				|  |  | -      }
 | 
	
		
			
				|  |  | -    }
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  |      const onSubmit = async () => {
 | 
	
		
			
				|  |  |        try {
 | 
	
		
			
				|  |  |          if (!forms.sendType) {
 | 
	
	
		
			
				|  | @@ -213,18 +126,9 @@ export default defineComponent({
 | 
	
		
			
				|  |  |            })
 | 
	
		
			
				|  |  |          }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  | -        // router.replace('/mass-message')
 | 
	
		
			
				|  |  |          router.back()
 | 
	
		
			
				|  |  |          forms.sureLoading = false
 | 
	
		
			
				|  |  |          forms.updateLoading = false
 | 
	
		
			
				|  |  | -        // setTimeout(() => {
 | 
	
		
			
				|  |  | -        //   showToast(forms.id ? '修改成功' : '添加成功')
 | 
	
		
			
				|  |  | -        // }, 100)
 | 
	
		
			
				|  |  | -        // setTimeout(() => {
 | 
	
		
			
				|  |  | -        //   router.replace('/mass-message')
 | 
	
		
			
				|  |  | -        //   forms.sureLoading = false
 | 
	
		
			
				|  |  | -        //   forms.updateLoading = false
 | 
	
		
			
				|  |  | -        // }, 1100)
 | 
	
		
			
				|  |  |        } catch {
 | 
	
		
			
				|  |  |          //
 | 
	
		
			
				|  |  |          forms.sureLoading = false
 | 
	
	
		
			
				|  | @@ -316,7 +220,7 @@ export default defineComponent({
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |      return () => (
 | 
	
		
			
				|  |  |        <div class={styles['create-message']}>
 | 
	
		
			
				|  |  | -        {/* <OHeader /> */}
 | 
	
		
			
				|  |  | +        <OHeader />
 | 
	
		
			
				|  |  |          <CellGroup inset class={styles.cellGroup}>
 | 
	
		
			
				|  |  |            <Field
 | 
	
		
			
				|  |  |              inputAlign="right"
 | 
	
	
		
			
				|  | @@ -366,16 +270,6 @@ export default defineComponent({
 | 
	
		
			
				|  |  |            <Cell title="上传附件">
 | 
	
		
			
				|  |  |              {{
 | 
	
		
			
				|  |  |                label: () => (
 | 
	
		
			
				|  |  | -                // <Uploader
 | 
	
		
			
				|  |  | -                //   style={{ marginTop: '12px' }}
 | 
	
		
			
				|  |  | -                //   v-model={forms.attachments}
 | 
	
		
			
				|  |  | -                //   afterRead={afterRead}
 | 
	
		
			
				|  |  | -                //   beforeRead={beforeRead}
 | 
	
		
			
				|  |  | -                //   beforeDelete={beforeDelete}
 | 
	
		
			
				|  |  | -                //   accept="image/*"
 | 
	
		
			
				|  |  | -                //   maxCount={9}
 | 
	
		
			
				|  |  | -                //   disabled={formDisabled.value}
 | 
	
		
			
				|  |  | -                // />
 | 
	
		
			
				|  |  |                  <OUploadAll
 | 
	
		
			
				|  |  |                    v-model:modelValue={forms.attachments}
 | 
	
		
			
				|  |  |                    maxCount={9}
 |