diff --git a/src/pages.json b/src/pages.json index ad7f5c3..2548717 100644 --- a/src/pages.json +++ b/src/pages.json @@ -22,6 +22,12 @@ "style": { "navigationBarTitleText": "意见收集" } + }, + { + "path": "pages/error/index", + "style": { + "navigationBarTitleText": "意见收集" + } } ], "globalStyle": { diff --git a/src/pages/error/index.vue b/src/pages/error/index.vue new file mode 100644 index 0000000..2b1b6a7 --- /dev/null +++ b/src/pages/error/index.vue @@ -0,0 +1,51 @@ + + + + + diff --git a/src/pages/index/index.vue b/src/pages/index/index.vue index 119d47f..4c778da 100644 --- a/src/pages/index/index.vue +++ b/src/pages/index/index.vue @@ -1,244 +1,48 @@ diff --git a/src/pages/opinion/index.vue b/src/pages/opinion/index.vue index badf69c..c4edf4a 100644 --- a/src/pages/opinion/index.vue +++ b/src/pages/opinion/index.vue @@ -10,44 +10,64 @@ labelWidth="auto" class="opinion-form" > - + - + - + + + + + + - + + + @@ -60,17 +80,17 @@ - + /> --> @@ -88,8 +108,6 @@ import { submitOptionsApi } from '@/services/options.js' import { ref } from 'vue' -console.log('submitOptionsApi', submitOptionsApi) - // 表单数据源 const opinionModel = ref({ userName: '', @@ -97,30 +115,43 @@ const opinionModel = ref({ unit: '', options: '', }) -const opinionRules = ref({ - userName: { - type: 'string', - required: true, - message: '请填写姓名', - trigger: ['blur', 'change'], - }, - userPhone: [ - { - type: 'string', - required: true, - message: '请填写电话', - trigger: ['blur', 'change'], - }, - { - pattern: /^1[3-9]\d{9}$/, - // 正则检验前先将值转为字符串 - transform(value) { - return String(value) - }, - message: '请填写正确的手机号码', - }, - ], +const fileList = ref([]) + +const opinionRules = ref({ + // userName: [ + // { + // type: 'string', + // required: true, + // message: '请填写姓名', + // trigger: ['blur', 'change'], + // }, + // { + // pattern: /^[\u4e00-\u9fa5]{2,6}$/, + // // 正则检验前先将值转为字符串 + // transform(value) { + // return String(value) + // }, + // message: '请填写正确的姓名', + // }, + // ], + // userPhone: [ + // { + // type: 'string', + // required: true, + // message: '请填写电话', + // trigger: ['blur', 'change'], + // }, + + // { + // pattern: /^1[3-9]\d{9}$/, + // // 正则检验前先将值转为字符串 + // transform(value) { + // return String(value) + // }, + // message: '请填写正确的手机号码', + // }, + // ], options: [ { type: 'string', @@ -128,6 +159,10 @@ const opinionRules = ref({ message: '请填写意见', trigger: ['blur', 'change'], }, + { + max: 500, + message: '字数不能超过500', + }, ], }) @@ -179,6 +214,54 @@ const onExit = () => { const onConfirm = () => { uni.redirectTo({ url: '/pages/index/index' }) } + +// 删除图片 +const deletePic = (event) => { + fileList.value.splice(event.index, 1) +} + +// 新增图片 +const afterRead = async (event) => { + console.log('event', event) + let lists = [].concat(event.file) + let fileListLen = fileList.value.length + lists.map((item) => { + fileList.value.push({ + ...item, + status: 'uploading', + message: '上传中', + }) + }) + for (let i = 0; i < lists.length; i++) { + const result = await uploadFilePromise(lists[i].url) + let item = fileList.value[fileListLen] + fileList.value.splice(fileListLen, 1, { + ...item, + status: 'success', + message: '', + url: result, + }) + fileListLen++ + } +} + +const uploadFilePromise = (url) => { + return new Promise((resolve, reject) => { + let a = uni.uploadFile({ + url: 'http://192.168.2.21:7001/upload', + filePath: url, + name: 'file', + formData: { + user: 'test', + }, + success: (res) => { + setTimeout(() => { + resolve(res.data.data) + }, 1000) + }, + }) + }) +}