From 181f5b75a26aa720557b063cfb8b9bf1f34e3ece Mon Sep 17 00:00:00 2001
From: linwenling <3256558519@qq.com>
Date: 星期一, 24 七月 2023 23:37:24 +0800
Subject: [PATCH] 修改家庭收支台账
---
ruoyi-ui/src/views/economy/economyInfo.vue | 202 ++++++++++++++++++++++++++++----------------------
1 files changed, 113 insertions(+), 89 deletions(-)
diff --git a/ruoyi-ui/src/views/economy/economyInfo.vue b/ruoyi-ui/src/views/economy/economyInfo.vue
index 9b0c4cc..d656304 100644
--- a/ruoyi-ui/src/views/economy/economyInfo.vue
+++ b/ruoyi-ui/src/views/economy/economyInfo.vue
@@ -1,39 +1,36 @@
<template>
<div class="app-container">
<div class="form-header mt">
- <h4 class="dt h4">瀹跺涵鏀舵敮鍙拌处淇℃伅 </h4>
- <el-button type="primary" class="pt" icon="el-icon-edit" @click="handleEdit()" :disabled="btn">缂栬緫</el-button>
+ <h4 class="dt h4">瀹跺涵鏀舵敮鍙拌处璇︾粏淇℃伅 </h4>
+
</div>
<el-form ref="elForm" :model="formData" :rules="rules" size="medium" label-width="120px">
- <!-- <el-form-item label="搴忓彿" prop="id">
- <el-input v-model="formData.id" placeholder="璇疯緭鍏d" :maxlength="11" show-word-limit :disabled="true"
- clearable prefix-icon='el-icon-mobile' :style="{width: '100%'}"></el-input>
- </el-form-item> -->
- <el-form-item label="鍩洪噾/鍙拌处" prop="type">
- <el-select v-model="formData.type=== 1 ? '鍙拌处':'鍩洪噾'" placeholder="璇烽�夋嫨鍩洪噾/鍙拌处" clearable :style="{width: '100%'}" :disabled="dsb" >
+
+ <el-form-item label="鍙拌处" prop="type">
+ <el-select v-model="formData.type" placeholder="璇疯緭鍏ュ彴璐﹀唴瀹�" clearable :style="{width: '100%'}" :disabled="dsb" >
</el-select>
</el-form-item>
<el-form-item label="鏃堕棿" prop="createTime">
<el-input v-model="formData.createTime" placeholder="璇烽�夋嫨鏃堕棿" clearable :style="{width: '100%'}" :disabled="dsb"></el-input>
</el-form-item>
<el-form-item label="鏀跺叆/鏀嚭" prop="price">
- <el-input v-model="formData.price" placeholder="璇疯緭鍏ョ敤閫�" clearable :style="{width: '100%'}" :disabled="dsb">
+ <el-input v-model="formData.price" placeholder="璇疯緭鍏ラ�夋嫨鏀跺叆/鏀嚭" clearable :style="{width: '100%'}" :disabled="dsb">
</el-input>
</el-form-item>
<el-form-item label="鐢ㄩ��" prop="useFor">
- <el-input v-model="formData.useFor" placeholder="璇疯緭鍏ヤ娇鐢ㄤ汉" clearable :style="{width: '100%'}" :disabled="dsb">
+ <el-input v-model="formData.useFor" placeholder="璇疯緭鍏ョ敤閫�" clearable :style="{width: '100%'}" :disabled="dsb">
</el-input>
</el-form-item>
<el-form-item label="浣跨敤浜�" prop="usePeople">
- <el-input v-model="formData.usePeople" placeholder="璇疯緭鍏ユ寔鏈変汉" clearable :style="{width: '100%'}" :disabled="dsb">
+ <el-input v-model="formData.usePeople" placeholder="璇疯緭鍏ヤ娇鐢ㄤ汉" clearable :style="{width: '100%'}" :disabled="dsb">
</el-input>
</el-form-item>
- <el-form-item label="鐜伴噾/鑷姩鍒掓墸" prop="kind">
- <el-input v-model="formData.kind=== 1 ? '鑷姩鍒掓墸':'鐜伴噾'" placeholder="璇烽�夋嫨鐜伴噾/鑷姩鍒掓墸" clearable :style="{width: '100%'}" :disabled="dsb">
+ <el-form-item label="浠樻鏂瑰紡" prop="kind">
+ <el-input v-model="formData.kind" placeholder="璇疯緭鍏ヤ粯娆炬柟寮�" clearable :style="{width: '100%'}" :disabled="dsb">
</el-input>
</el-form-item>
- <el-form-item label="浣欓" prop="balance">
+ <el-form-item label="閲戦" prop="balance">
<el-input v-model="formData.balance" placeholder="璇疯緭鍏ヤ綑棰�" clearable :style="{width: '100%'}" :disabled="dsb"></el-input>
</el-form-item>
<el-form-item label="澶囨敞" prop="remark">
@@ -61,20 +58,21 @@
>
<span class="el-upload-list__item-actions">
<span
+ v-if="isShow"
class="el-upload-list__item-preview"
@click="handlePictureCardPreview(file)"
>
<i class="el-icon-zoom-in"></i>
</span>
<span
- v-if="!disabled"
+ v-if="isShow"
class="el-upload-list__item-delete"
@click="handleDownload(file.url)"
>
<i class="el-icon-download"></i>
</span>
<span
- v-if="!disabled"
+ v-if="isShow"
class="el-upload-list__item-delete"
@click="handleRemove(file)"
>
@@ -92,25 +90,58 @@
:file-list="fileListOther"
class="upload-demo"
multiple
- :on-preview="handlePreview"
-
+ list-type="picture-card"
+ :on-preview="handleFileCardPreview"
:on-remove="handleRemove"
:http-request="requestUpload"
:show-file-list="true"
>
- <el-button type="primary">Click to upload</el-button>
- <template #tip>
- <div class="el-upload__tip">
- </div>
- </template>
+
+ <i slot="default" class="el-icon-plus"></i>
+ <div slot="file" slot-scope="{file}">
+ <img
+ class="el-upload-list__item-thumbnail"
+ src="../../assets/401_images/401.gif"
+ alt=""
+ style="width: 147px; height: 147px"
+ fit="cover"
+ >
+ <span class="el-upload-list__item-actions">
+ <span
+ v-if="isShow"
+ class="el-upload-list__item-preview"
+ @click="handleFileCardPreview(file)"
+ >
+ <i class="el-icon-zoom-in"></i>
+ </span>
+ <span
+ v-if="isShow"
+ @click="handleRemove(file)"
+ class="el-upload-list__item-delete"
+
+ >
+ <i class="el-icon-download"></i>
+ </span>
+ <span
+ v-if="isShow"
+ class="el-upload-list__item-delete"
+ @click="handleRemoveFile(file)"
+ >
+ <i class="el-icon-delete"></i>
+ </span>
+ </span>
+
+
+ </div>
</el-upload>
<el-form-item size="large">
- <el-button type="primary" @click="submitForm" :disabled="dsb">淇敼</el-button>
+ <el-button v-if="isShow" type="primary" @click="submitForm" :disabled="dsb">淇敼</el-button>
</el-form-item>
</el-form>
+
<el-dialog :visible.sync="dialogVisible">
<img w-full :src="dialogImageUrl" alt="Preview Image" />
@@ -118,7 +149,7 @@
</div>
</template>
<script>
-import {getEconomyInfo, uploadPic, download, getCategory} from "@/api/economy/index";
+import {getEconomyInfo, uploadPic, download, updateEconomy} from "@/api/economy/index";
import {addRole, updateRole} from "@/api/system/role";
import {blobValidate} from "@/utils/ruoyi";
import errorCode from "@/utils/errorCode";
@@ -139,6 +170,7 @@
],
dsb:true,
btn:false,
+ isShow:true,
formData: {
type: undefined,
createTime: undefined,
@@ -152,47 +184,42 @@
dialogVisible: false,
disabled: false,
rules: {
- // id: [{
- // required: true,
- // message: '璇疯緭鍏d',
- // trigger: 'blur'
- // }],
- type: [{
- required: true,
- message: '璇烽�夋嫨鍩洪噾/鍙拌处',
- trigger: 'change'
- }],
- title: [{
- required: true,
- message: '璇疯緭鍏ユ爣棰�',
- trigger: 'blur'
- }],
usePeople: [{
required: true,
message: '璇疯緭鍏ヤ娇鐢ㄤ汉',
trigger: 'blur'
}],
+
useFor: [{
required: true,
message: '璇疯緭鍏ョ敤閫�',
trigger: 'blur'
}],
- price: [{
+ type: [{
required: true,
- message: '璇疯緭鍏ユ敹鍏�/鏀嚭',
+ message: '璇疯緭鍏ュ彴璐﹀唴瀹�',
+ trigger: 'blur'
+ }],
+ balance: [{
+ required: true,
+ message: '璇疯緭鍏ラ噾棰�',
trigger: 'blur'
}],
kind: [{
- required: true,
- message: '璇烽�夋嫨鐜伴噾/鍒掓墸',
+ // required: true,
+ message: '璇疯緭鍏ユ敮浠樻柟寮�',
trigger: 'blur'
}],
createTime: [{
required: true,
- message: '璇疯緭鍏ュ娉�',
- trigger: 'blur'
+ message: '璇烽�夋嫨鏃ユ湡閫夋嫨',
+ trigger: 'change'
}],
-
+ price: [{
+ required: true,
+ message: '璇烽�夋嫨鏀跺叆/鏀嚭',
+ trigger: 'change'
+ }],
},
typeOptions: [{
value: '0',
@@ -214,12 +241,14 @@
jd = this.$route.query.detail
this.btn= jd
this.dsb = !jd
- document.title = "淇敼璧勪骇璇︾粏淇℃伅";
- this.$route.meta.title = "淇敼璧勪骇璇︾粏淇℃伅";//鍒楄〃鐨勫悕绉�
+ this.isShow=true
+ document.title = "淇敼瀹跺涵鏀舵敮鍙拌处璇︾粏淇℃伅";
+ this.$route.meta.title = "淇敼瀹跺涵鏀舵敮鍙拌处璇︾粏淇℃伅";//鍒楄〃鐨勫悕绉�
}
else{
- document.title = "鏌ョ湅璧勪骇璇︾粏淇℃伅";
- this.$route.meta.title = "鏌ョ湅璧勪骇璇︾粏淇℃伅";//鍒楄〃鐨勫悕绉�
+ document.title = "瀹跺涵鏀舵敮鍙拌处璇︾粏淇℃伅";
+ this.$route.meta.title = "瀹跺涵鏀舵敮鍙拌处璇︾粏淇℃伅";//鍒楄〃鐨勫悕绉�
+ this.isShow=false
}
let _this = this
@@ -252,32 +281,14 @@
},
mounted() {},
methods: {
- getSrc1(type) {
- if (type === 0) {
- return '鍩洪噾'
+ getSrc1(price) {
+ if (price === 鏀跺叆) {
+ return '鏀跺叆'
}else {
- return '鍙拌处'
+ return '鏀嚭'
}
},
- getSrc2(kind) {
- if (kind == 0) {
- return '鐜伴噾'
- }else {
- return '鑷姩鎵e垝'
- }
- },
- /** 鏌ヨ绫诲埆淇℃伅 */
- getCateInfor()
- {
- let _this = this
- getCategory().then(response=>{
-
- response.data.itemValues.replace("{","").replace("}","").split(",").map(elem=>{
- _this.typeOptions.push({"label":elem.split(":")[0], "value":elem.split(":")[0]})
- })
- })
- },
submitForm() {
let ul = this.fileList.map(function (elem){
return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
@@ -315,29 +326,34 @@
download(formData).then(async (response) => {
const isLogin = await blobValidate(response);
let nt = new Date().getTime()
- let filename = 'economy_'+nt+'.'+suffix
+ let filename = 'familyevent_'+nt+'.'+suffix
const blob = new Blob([response])
saveAs(blob, filename)
})
},
-
-
-
- handlePictureCardPreview(file) {
- this.dialogFileUrl = file.url;
- const Base64 = require('js-base64').Base64
- this.desurl = process.env.VUE_APP_BASE_OTHER_API+'onlinePreview?url='+encodeURIComponent(Base64.encode(this.dialogFileUrl));
- myWindow=window.open(this.desurl,'','width=1200,height=800,top=150,left=300');
-
- },
-//鍒犻櫎鍥剧墖
- handleRemoveFile(file,) {
-
+ handleRemoveFile(file) {
for(let i = 0; i < this.fileListOther.length; i++)
{
if(this.fileListOther[i].url==file.url)
this.$delete(this.fileListOther,i);
}
+ },
+ handleRemove(file) {
+ for(let i = 0; i < this.fileList.length; i++)
+ {
+ if(this.fileList[i].url==file.url)
+ this.$delete(this.fileList,i);
+ }
+ },
+ handleFileCardPreview(file){
+ this.dialogFileUrl = file.url;
+ const Base64 = require('js-base64').Base64
+ this.desurl = process.env.VUE_APP_BASE_OTHER_API+'onlinePreview?url='+encodeURIComponent(Base64.encode(this.dialogFileUrl));
+ myWindow=window.open(this.desurl,'','width=1200,height=800,top=150,left=300');
+ },
+ handlePictureCardPreview(file) {
+ this.dialogImageUrl = file.url;
+ this.dialogVisible = true;
},
handleDownload(url) {
var formData = {'path':"/"+url.replace(process.env.VUE_APP_BASE_TRUE_API,"")};
@@ -347,7 +363,7 @@
download(formData).then(async (response) => {
const isLogin = await blobValidate(response);
let nt = new Date().getTime()
- let filename = 'property_'+nt+'.'+suffix
+ let filename = 'familyevent_'+nt+'.'+suffix
const blob = new Blob([response])
saveAs(blob, filename)
})
@@ -355,7 +371,8 @@
handleEdit()
{
this.dsb = false
- this.btn = true
+ // this.btn = true
+ this.isShow=false
},
requestUpload(params)
{
@@ -379,6 +396,13 @@
}
})
+ },
+
+ /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+ handleExport() {
+ this.download('/zfEconomy/export', {
+ ...this.queryParams
+ }, `zfEconomy_${new Date().getTime()}.xlsx`)
}
}
--
Gitblit v1.9.1