uview图片上传多张
上传 图片
2023-09-14 09:06:32 时间
<template> <view class="contain-box"> <u-navbar :title="title" :is-back="true" back-icon-color="#fff" :background="background" :border-bottom="false" title-color="#fff" > </u-navbar> <view class="form-box"> <u-form :model="form" ref="uForm" labelWidth="200" :toast="false"> <!-- 报修区域类型 --> <u-form-item label="报修区域类型" prop="areaType" borderBottom required> <u-input v-model="areaTypeLabel" disabled disabledColor="#ffffff" placeholder="请选择区域类型" @click="showTypeFun" ></u-input> <u-icon slot="right" name="arrow-right"></u-icon> </u-form-item> <u-select :list="listType" v-model="showType" @confirm="getShowtype"> </u-select> <!-- 报修类型 --> <u-form-item label="报修类型" prop="warrantyType" borderBottom required> <u-input v-model="warrantyLabel" disabled disabledColor="#ffffff" placeholder="请选择类型" @click="showTypeFun2" ></u-input> <u-icon slot="right" name="arrow-right"></u-icon> </u-form-item> <u-select :list="warrantyTypeList" v-model="showType2" @confirm="getShowtype2" label-name="text" value-name="value" > </u-select> <u-form-item label="报修名称" prop="name" required> <u-input v-model="form.name" placeholder="请输入名称" /> </u-form-item> <u-form-item label="报修位置" prop="reportAdress" required> <u-input v-model="form.reportAdress" placeholder="请输入位置" /> </u-form-item> <u-form-item label="事件描述" prop="description" required> <u-input v-model="form.description" type="textarea" height="150" :auto-height="true" :border="true" placeholder="请输入内容(最多200字)" :maxlength="200" /> </u-form-item> <u-form-item label="现场图片"> <u-upload :max-count="9" upload-text="最多9张" @on-success="successUpload" @on-change="changeUpload" @on-error="errorUpload" @on-remove="removeUpload" :action="action_" :file-list="fileList" :max-size="5 * 1024 * 1024" :header="header_" > </u-upload> </u-form-item> <u-form-item label="联系人" prop="reportUserName" required> <u-input v-model="form.reportUserName" placeholder="请输入" disabled /> </u-form-item> <u-form-item label="联系方式" prop="reportUserMobile" required> <u-input v-model="form.reportUserMobile" placeholder="请输入" /> </u-form-item> <u-form-item label="所属企业" prop="reportEnterName" required> <u-input v-model="form.reportEnterName" placeholder="请输入" /> </u-form-item> </u-form> <u-button @click="submit('uForm')" type="primary" style="margin-top: 15px" >提交工单</u-button > </view> </view> </template> <script> import API from "@/api/api.js"; import dev from "@/api/dev.js"; import { listDictItems, workOrderinsert } from "@/api/repairs.js"; let urlAPI = require("@/static/config.js"); export default { data() { const validdaterateprop = (rule, value, callback) => { if (value <= 0) { callback(new Error("请评分")); } else { callback(); } }; return { title: "报修添加", background: { backgroundColor: "#558eff", }, showType: false, showType2: false, listType: [ { label: "室内", value: "1", }, { label: "室外", value: "2", }, ], areaTypeLabel: "", warrantyLabel: "", form: { areaType: "", warrantyType: "", name: "", reportAdress: "", description: "", imgPath: "", //取 uni.getStorageSync(); reportUserName: uni.getStorageSync("userName_u"), reportUserMobile: uni.getStorageSync("contactWay_u"), reportEnterName: uni.getStorageSync("enterpriseName_u") && uni.getStorageSync("enterpriseName_u") !== "null" ? uni.getStorageSync("enterpriseName_u") : "", reportEnterId: uni.getStorageSync("enterpriseId_u"), reportUserId: uni.getStorageSync("id_u"), id: "", }, rules: { areaType: [ { required: true, message: "请选择报修类型", trigger: ["blur", "change"], }, ], warrantyType: [ { required: true, message: "请选择", trigger: ["blur", "change"], }, ], name: [ { required: true, message: "请输入名称", trigger: ["blur", "change"], }, ], reportAdress: [ { required: true, message: "请输入位置", trigger: ["blur", "change"], }, ], reportUserName: [ { required: true, message: "请输入名称", trigger: ["blur", "change"], }, ], reportUserMobile: [ { required: true, message: "请输入联系方式", trigger: ["blur", "change"], }, ], reportEnterName: [ { required: true, message: "请输入所属企业", trigger: ["blur", "change"], }, ], description: [ { required: true, max: 200, message: "请输入描述", trigger: ["blur"], }, ], }, // action_: dev.imgUrl + "/sdfs/file/uploadImage", action_: urlAPI.baseUrl_applet + "/sdfs/file/uploadImage", header_: { "author-token-key": uni.getStorageSync("token"), }, fileList: [], warrantyTypeList: [], }; }, onLoad(e) { console.log("e", e); this._listDictItems(); }, // 必须要在onReady生命周期,因为onLoad生命周期组件可能尚未创建完毕 onReady() { if (this.$refs.uForm) { this.$refs.uForm.setRules(this.rules); } console.log("process.env.NODE_ENV", process.env.NODE_ENV); }, watch: {}, methods: { //报修类型 _listDictItems() { listDictItems().then((res) => { if (res.data.code == "00000") { this.warrantyTypeList = res.data.data || []; } }); }, showTypeFun() { this.showType = true; }, getShowtype(e) { this.form.areaType = e[0].value; this.areaTypeLabel = e[0].label; }, showTypeFun2(e) { this.showType2 = true; }, getShowtype2(e) { this.form.warrantyType = e[0].value; this.warrantyLabel = e[0].label; }, submit(name) { this.$refs[name].validate((valid) => { if (valid) { const params = Object.assign({}, this.form); workOrderinsert(params).then((res) => { if (res.data.code == "00000") { uni.showToast({ title: "添加成功", }); setTimeout(() => { uni.navigateTo({ url: `/pages/repairs/repairs`, }); }, 1000); } else { uni.showToast({ icon: "none", title: res.data.desc, }); } }); } else { console.log("验证失败"); } }); }, successUpload(data, index, lists, name) { if (data.code == "00000") { let imgarr = []; imgarr = lists.map((item) => { return item.response.data; }); this.form.imgPath = imgarr.join(","); } }, changeUpload(res, index, lists, name) { // console.log("changeUpload", lists); }, errorUpload(res, index, lists, name) {}, removeUpload(index, lists, name) { let imgarr = []; imgarr = lists.map((item) => { return item.response.data; }); this.form.imgPath = imgarr.join(","); }, }, }; </script> <style lang="scss"> .contain-box { height: 100vh; background-color: #fff; .form-box { padding: 18px; } } </style>
相关文章
- pycharm连接github出现404_pycharm上传代码到github
- 图片上传api——chevereto个人图床搭建&后端发送请求
- 微信公众号平台图片上传失败不知道是哪张_看公众号的同时回微信
- 2022最新上传ipa到appstore的步骤说明
- WordPress 技巧:支持上传 SVG 图片
- 实现在windows、linux下上传ios app到App Store
- 数据库开发知识:SpringBoot 怎么集成MongoDB实现文件上传功能
- jQuery实现图片上传预览详解编程语言
- Java 实现ftp 文件上传、下载和删除详解编程语言
- 网友报告 QQ 扫描并上传用户的浏览器历史
- PHP实现图片简单上传
- 6行代码实现无组件上传(author:stimson)
- asp.net图片上传生成缩略图的注意事项
- js图片上传前大小长宽验证代码
- phpgd2上传图片/文字水印/图片水印/等比例缩略图/实现代码
- 客户端限制只能上传jpg格式图片的js代码
- ASP.netWebAPI上传图片实例
- php实现上传图片生成缩略图示例
- php+js实现异步图片上传实例分享
- PHP中使用Session配合Javascript实现文件上传进度条功能
- ThinkPHP实现带验证码的文件上传功能实例
- php多个文件及图片上传实例详解
- 自己动手打造ajax图片上传(网上没有的)