<template> <view> <cu-custom bgColor="bg-blue" backUrl="/pages/revenue/RevenueList" :isBack="true"> <block slot="backText">返回</block> <block slot="content">{{title}}</block> </cu-custom> <form @submit="formSubmit" class="cu-list menu"> <view class="cu-form-group margin-top"> <view class="title"> <text class="red-color ">* </text> 企业 </view> <jp-picker v-model="inputForm.qiId" rangeKey="label" rangeValue="value" :range="parkList"> </jp-picker> </view> <view class="cu-form-group margin-top"> <view class="title"> <text class="red-color ">* </text> 类别 </view> <jp-picker v-model="inputForm.lb" rangeKey="label" rangeValue="value" :range="$dictUtils.getDictList('s_lb')"> <view class="picker"> {{$dictUtils.getDictLabel('s_lb', inputForm.lb ,'请选择')}} </view> </jp-picker> </view> <view class="cu-form-group margin-top"> <view class="title"> <text class="red-color ">* </text> 税源办 </view> <jp-picker v-model="inputForm.des3" rangeKey="label" rangeValue="value" :range="$dictUtils.getDictList('yes_no')"> <view class="picker"> {{$dictUtils.getDictLabel('yes_no', inputForm.des3 ,'请选择')}} </view> </jp-picker> </view> <view class="cu-form-group margin-top" v-if="this.inputForm.des3 !=='1'"> <view class="title"> <text class="red-color ">* </text> 月份 </view> <picker mode="date" :value="inputForm.des1" fields="month" @change="DateChange"> <view class="picker"> {{inputForm.des1}} </view> </picker> </view> <view class="cu-form-group margin-top" v-if="this.inputForm.des3 ==='1'"> <view class="title"> <text class="red-color ">* </text> 开始月份 </view> <picker mode="date" :value="inputForm.des1" fields="month" @change="DateChange"> <view class="picker"> {{inputForm.des1}} </view> </picker> </view> <view class="cu-form-group margin-top" v-if="this.inputForm.des3 ==='1'"> <view class="title"> <text class="red-color ">* </text> 结束月份 </view> <picker mode="date" :value="inputForm.des2" fields="month" @change="DateChange2"> <view class="picker"> {{inputForm.des2}} </view> </picker> </view> <view class="cu-form-group margin-top"> <view class="title"> <text class="red-color ">* </text> 金额(万元) </view> <input placeholder='请填写金额' type="digit" v-model="inputForm.amount"></input> </view> <view class="cu-form-group margin-top"> <view class="title"> <text class="red-color "></text> 备注 </view> <textarea placeholder='请填写备注' v-model="inputForm.remark"></textarea> </view> <view class="cu-form-group margin-top"> <uni-file-picker style="margin-bottom: 10px;" limit="9" ref="picFile" v-model="picLists" fileMediatype="image" mode="grid" title="图片上传" :auto-upload="autoUpload" @select="select" @progress="progress" @success="success" @fail="fail" @delete="deleteFile" :imageStyles="imageStyles"> </uni-file-picker> </view> <view class="padding-xl"> <button form-type="submit" class="cu-btn block bg-blue margin-tb-sm lg">提交</button> </view> </form> </view> </template> <script> var graceChecker = require("@/common/graceChecker.js"); import revenueListService from '@/api/revenue/revenueListService' export default { onShow() { this.$auth.checkLogin() }, data() { return { title: '新建企业税收', inputForm: { id: '', qiId: '', lb: '', date: [new Date().getFullYear(), new Date().getMonth() + 1], des1: '', amount: '', remark: '', des2: '', des3: '', }, autoUpload: false, picLists: [], picUrl: [], imageStyles: { width: 90, height: 90 }, parkList: [], } }, created() { this.getParkList() }, mounted() { this.inputForm.des1 = `${this.inputForm.date[0]}-${this.inputForm.date[1]}`; this.inputForm.des2 = `${this.inputForm.date[0]}-${this.inputForm.date[1]}`; }, async onLoad(query) { if (query && query.id) { this.titile = "修改企业税收"; let { data } = await revenueListService.queryById(query.id) console.log(data) if (data.pic != null) { data.pic = data.pic.split(",") var list = data.pic list.forEach(item => { this.picUrl.push({ 'url': item, 'uuid': item }) this.picLists.push({ 'url': item, 'uuid': item }) }) } else { data.pic = [] } this.inputForm = this.recover(this.inputForm, data) } }, methods: { getParkList() { revenueListService.enterpriseList({ current: 1, size: -1, }).then(({ data }) => { this.parkList = data.records.map((item) => { return { label: item.name, value: item.id } }) console.log(this.parkList, '=============>') }).catch(e => { console.log(e) }) }, DateChange(e) { this.inputForm.des1 = e.detail.value }, DateChange2(e) { this.inputForm.des2 = e.detail.value }, // 获取上传进度 progress(e) { console.log('上传进度:', e) }, // 上传成功 success(e) { console.log('上传成功') }, // 上传失败 fail(e) { console.log('上传失败:', e) }, deleteFile(e) { this.picUrl.splice(e.index, 1) }, // 获取上传状态 select(e) { console.log('选择文件:', e) var _this = this var i = 0 upload() function upload() { if (i >= e.tempFiles.length) { return; } var item = e.tempFiles[i] uni.showLoading({ title: "上传中", mask: true }); uni.uploadFile({ url: '/file/upload?uploadPath=', // 仅为示例,非真实的接口地址 filePath: item.url, name: 'file', formData: { 'fileName': item.name }, header: { 'token': _this.$auth.getUserToken() }, success: (res) => { var data = res.data if (typeof data['error'] != "undefined") { uni.showToast({ icon: 'none', title: '上传失败,请联系开发!' }); _this.$refs.picFile.clearFiles(_this.picLists.length) } else { _this.picUrl.push({ url: data, uuid: item.uuid }) i++; upload() } }, fail: () => { uni.hideLoading(); uni.showToast({ icon: 'none', title: '上传失败,请联系开发!' }); _this.$refs.picFile.clearFiles(_this.picLists.length) }, complete: function() { uni.hideLoading(); } }); } }, formSubmit: function(e) { //定义表单规则 var rule = [{ name: "qiId", checkType: "notnull", checkRule: "", errorMsg: "企业不能为空" }, { name: "lb", checkType: "notnull", checkRule: "", errorMsg: "类别不能为空" }, { name: "des1", checkType: "notnull", checkRule: "", errorMsg: "月份不能为空" }, { name: "amount", checkType: "notnull", checkRule: "", errorMsg: "金额不能为空" } ]; //进行表单检查 var formData = this.inputForm; var checkRes = graceChecker.check(formData, rule); if (checkRes) { uni.showLoading() this.inputForm.pic = []; this.picUrl.forEach(item => { this.inputForm.pic.push(item.url) }) this.inputForm.pic = this.inputForm.pic.toString(); revenueListService.save(this.inputForm).then(({ data }) => { uni.showToast({ title: data, icon: "success" }); uni.navigateTo({ url: '/pages/revenue/RevenueList' }) }).catch((e) => { }) } else { uni.showToast({ title: graceChecker.error, icon: "none" }); } } } } </script> <style> /* .file-title) { font-size: 17px !important; } */ </style>