前端工作总结239-uni-弹出框显示数据

简介: 前端工作总结239-uni-弹出框显示数据
<template>
  <view class="wrap">
    <u-form :model="form" :rules="rules" ref="uForm" :errorType="errorType">
      <u-form-item label="标题" label-width="140" style="margin-left:30rpx" prop="title">
        <u-input v-model="form.title" placeholder="请输入要输入的文章标题" />
      </u-form-item>
      <u-form-item label="类别" label-width="140" style="margin-left:30rpx">
        <u-input type="select" v-model="form.cate" placeholder="请选择" @click="show = true"></u-input>
        <u-select v-model="show" mode="single-column" :list="list" @confirm="confirm"></u-select>
      </u-form-item>
        <!-- 渲染页面数据 -->
        <navigator url="../LevineHua-editor/LevineHua-editor" class="single">
      <u-form-item label="请输入内容" prop="content" label-width="150">
        <input  placeholder="请输入内容" v-model="form.content" type="texarea" />
      </u-form-item>
      </navigator>
      <u-form-item label-position="top" label-width="140" label="封面图" prop="coverImage">
        <u-image width="320rpx" height="188rpx" @click="choose" :src="messimg"></u-image>
      </u-form-item>
      <u-form-item label="开始时间" prop="startDate" label-width="200">
        <u-input type="select" v-model="form.startDate" placeholder="请选择" @click="start_time_show = true"></u-input>
        <u-picker mode="time" v-model="start_time_show" @confirm="confirm1" :params="params"></u-picker>
      </u-form-item>
      <u-form-item label="结束时间" prop="endDate" label-width="200">
        <u-input type="select" v-model="form.endDate" placeholder="请选择" @click="end_time_show = true"></u-input>
        <u-picker mode="time" v-model="end_time_show" @confirm="confirm2" :params="params"></u-picker>
      </u-form-item>
    </u-form>
    <u-button class="sub-btn" @click="submit">提交</u-button>
  </view>
</template>
<script>
  /* 引入富文本编辑器 */
  import jinEdit from '@/components/jin-edit/jin-edit.vue';
  export default {
    /* 注册组件 */
    components: {
      jinEdit
    },
    data() {
      return {
        params: {
          year: true,
          month: true,
          day: true,
          hour: true,
          minute: true,
          second: true
        },
        messimg: '',
        /* 获取token值 */
        header1: {
          Authorization: this.vuex_token
        },
        /* 存储上传地址 */
        action1: '',
        show: false,
        //控制选择框显示
        end_time_show: false,
        //控制选择框显示
        start_time_show: false,
        form: {
        },
        /* list的数据 */
        list: [{
            value: '市场动态',
            label: '市场动态'
          },
          {
            value: '市场党建',
            label: '市场党建'
          },
          {
            value: '通知公告',
            label: '通知公告'
          },
          {
            value: '生活窍门',
            label: '生活窍门'
          },
          {
            value: '健康饮食',
            label: '健康饮食'
          },
          {
            value: '家政服务',
            label: '家政服务'
          },
          {
            value: '街道服务',
            label: '街道服务'
          },
        ],
        //提示
        errorType: ['message'],
        //验证
        rules: {
          title: [{
              required: true,
              message: '请输入姓名',
              trigger: 'blur',
            },
            {
              min: 3,
              max: 5,
              message: '姓名长度在3到5个字符',
              trigger: ['change', 'blur'],
            },
          ],
          content: [{
              required: true,
              message: '请输入通知内容',
              trigger: ['change', 'blur'],
            },
          ],
        },
      }
    },
    created() {
      /* "loginId": 0,
        "marketId": 0, */
      this.form.loginId = this.vuex_user.id
      this.form.marketId = this.vuex_user.market_id
      console.log(this.vuex_token)
      var url = this.$u.http.config.baseUrl + '/uploadFile/file'
      console.log(url)
      this.action1 = url
    },
    methods: {
      changeList(val){
        console.log(1)
        console.log(val)
      },
      open() {
        this.show = true;
      },
      // 注意返回值为一个数组,单列时取数组的第一个元素即可(只有一个元素)
      confirm(e) {
        console.log(e);
        this.form.cate = e[0].value
      },
      confirm1(e) {
        let date = e.year + '-' + e.month + '-' + e.day + " " + e.hour + ':' + e.minute + ':' + e.second
        this.form.startDate = date
      },
      confirm2(e) {
        console.log(e);
        let date = e.year + '-' + e.month + '-' + e.day + " " + e.hour + ':' + e.minute + ':' + e.second
        this.form.endDate = date
      },
      submit() {
        this.$u.api.getPartyAdd(this.form).then(res => {
          console.log(res)
        })
      },
      /* 上传图片 */
      choose() {
        uni.chooseImage({
          success: (chooseImageRes) => {
            var tempFilePaths = chooseImageRes.tempFilePaths;
            uni.uploadFile({
              url: this.$u.http.config.baseUrl + '/uploadFile/file',
              filePath: tempFilePaths[0],
              header: {
                Authorization: this.vuex_token
              },
              name: 'file',
              success: (uploadFileRes) => {
                let data_res = JSON.parse(uploadFileRes.data)
                if (data_res.code == 200) {
                  this.messimg = data_res.data;
                  this.form.coverImage = data_res.data;
                  console.log(this.messimg)
                }
              }
            });
          }
        });
      }
    }
  }
</script>
<style scoped lang="scss">
  .sub-btn {
    width: 684rpx;
    height: 96rpx;
    background: linear-gradient(91deg, #43B9FD 0%, #1FB5FE 100%);
    opacity: 1;
    border-radius: 66rpx;
    border: 0rpx;
    font-size: 36rpx;
    font-family: PingFangSC;
    font-weight: 400;
    line-height: 40rpx;
    color: #FFFFFF;
    position: fixed;
    bottom: 18rpx;
  }
  .title-sm {
    background: #F7F7F7;
    width: 100%;
    padding: 23rpx 0rpx;
  }
  .wrap {
    padding: 30rpx;
  }
  .agreement {
    display: flex;
    align-items: center;
    margin: 40rpx 0;
    .agreement-text {
      padding-left: 8rpx;
      color: $u-tips-color;
    }
  }
</style>

image.png

相关文章
|
2月前
|
存储 监控 安全
前端框架的数据驱动方式如何保证数据的安全性?
总之,前端框架的数据驱动方式需要综合运用多种手段来保证数据的安全性。从传输、存储、访问控制到防范攻击等各个方面进行全面考虑和实施,以确保用户数据的安全可靠。同时,不断加强安全管理和技术创新,以应对不断变化的安全挑战。
112 60
|
3月前
|
JSON 前端开发 Java
震惊!图文并茂——Java后端如何响应不同格式的数据给前端(带源码)
文章介绍了Java后端如何使用Spring Boot框架响应不同格式的数据给前端,包括返回静态页面、数据、HTML代码片段、JSON对象、设置状态码和响应的Header。
180 1
震惊!图文并茂——Java后端如何响应不同格式的数据给前端(带源码)
|
3月前
|
监控 JavaScript 前端开发
前端的混合之路Meteor篇(六):发布订阅示例代码及如何将Meteor的响应数据映射到vue3的reactive系统
本文介绍了 Meteor 3.0 中的发布-订阅模型,详细讲解了如何在服务器端通过 `Meteor.publish` 发布数据,包括简单发布和自定义发布。客户端则通过 `Meteor.subscribe` 订阅数据,并使用 MiniMongo 实现实时数据同步。此外,还展示了如何在 Vue 3 中将 MiniMongo 的 `cursor` 转化为响应式数组,实现数据的自动更新。
|
3月前
|
JSON 分布式计算 前端开发
前端的全栈之路Meteor篇(七):轻量的NoSql分布式数据协议同步协议DDP深度剖析
本文深入探讨了DDP(Distributed Data Protocol)协议,这是一种在Meteor框架中广泛使用的发布/订阅协议,支持实时数据同步。文章详细介绍了DDP的主要特点、消息类型、协议流程及其在Meteor中的应用,包括实时数据同步、用户界面响应、分布式计算、多客户端协作和离线支持等。通过学习DDP,开发者可以构建响应迅速、适应性强的现代Web应用。
|
3月前
|
JavaScript 前端开发 Python
django接收前端vue传输的formData图片数据
django接收前端vue传输的formData图片数据
72 4
|
3月前
|
NoSQL 前端开发 MongoDB
前端的全栈之路Meteor篇(三):运行在浏览器端的NoSQL数据库副本-MiniMongo介绍及其前后端数据实时同步示例
MiniMongo 是 Meteor 框架中的客户端数据库组件,模拟了 MongoDB 的核心功能,允许前端开发者使用类似 MongoDB 的 API 进行数据操作。通过 Meteor 的数据同步机制,MiniMongo 与服务器端的 MongoDB 实现实时数据同步,确保数据一致性,支持发布/订阅模型和响应式数据源,适用于实时聊天、项目管理和协作工具等应用场景。
|
3月前
|
存储 前端开发 API
前端开发中,Web Storage的存储数据的方法localstorage和sessionStorage的使用及区别
前端开发中,Web Storage的存储数据的方法localstorage和sessionStorage的使用及区别
151 0
|
3月前
|
前端开发 JavaScript 小程序
前端uni开发后端用PHP的圈子系统该 如何做源码?
圈子系统系统基于TP6+Uni-app框架开发;客户移动端采用uni-app开发,管理后台TH6开发。系统支持微信公众号端、微信小程序端、H5端、PC端多端账号同步,可快速打包生成APP
|
3月前
|
前端开发 Java 数据库
springBoot:template engine&自定义一个mvc&后端给前端传数据&增删改查 (三)
本文介绍了如何自定义一个 MVC 框架,包括后端向前端传递数据、前后端代理配置、实现增删改查功能以及分页查询。详细展示了代码示例,从配置文件到控制器、服务层和数据访问层的实现,帮助开发者快速理解和应用。
|
5月前
|
前端开发 JavaScript
这篇文章介绍了如何使用form表单结合Bootstrap格式将前端数据通过action属性提交到后端的servlet,包括前端表单的创建、数据的一级和二级验证,以及后端servlet的注解和参数获取。
这篇文章介绍了使用AJAX技术将前端页面中表单接收的多个参数快速便捷地传输到后端servlet的方法,并通过示例代码展示了前端JavaScript中的AJAX调用和后端servlet的接收处理。
这篇文章介绍了如何使用form表单结合Bootstrap格式将前端数据通过action属性提交到后端的servlet,包括前端表单的创建、数据的一级和二级验证,以及后端servlet的注解和参数获取。