From c1cff08cdbcee3278c1ac8d8a3a067e3bf015202 Mon Sep 17 00:00:00 2001
From: feige <791364011@qq.com>
Date: 星期三, 21 二月 2024 22:45:01 +0800
Subject: [PATCH] 提交新内容
---
ruoyi-ui/src/views/note/propertyInfo.vue | 310 +++++++++++++++++++++++++++++++++++----------------
1 files changed, 210 insertions(+), 100 deletions(-)
diff --git a/ruoyi-ui/src/views/note/propertyInfo.vue b/ruoyi-ui/src/views/note/propertyInfo.vue
index 2058a66..be926bb 100644
--- a/ruoyi-ui/src/views/note/propertyInfo.vue
+++ b/ruoyi-ui/src/views/note/propertyInfo.vue
@@ -1,21 +1,38 @@
<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>
+ <div class="app-container" id="printable-content">
+ <div class="form-header mt" >
+ <h1 style="font-size:21px;padding-top:30px;display: flex;justify-content: space-between;align-items: center;">
+ <span>瀹跺涵璧勪骇璇︽儏</span>
+ <div style="display: flex; align-items: center;">
+ <el-button size="mini" type="text" @click="checkNote" v-hasPermi="['person:information:memo']">
+ <div class="form" ><el-icon style="padding-right:110px;"></el-icon>
+ <span class="text" style="width: 69px;height: 26px;font-size: 16px;
+ font-family: Microsoft YaHei-Regular, Microsoft YaHei; color: #EBA4AA;">澶囧繕鏈�</span></div>
+ </el-button>
+ <el-button size="mini" type="text" v-print="'#printable-content'" v-hasPermi="['person:information:memo']">
+ <div class="form" ><el-icon style="padding-right:110px;"></el-icon>
+ <span class="text" style="width: 69px;height: 26px;font-size: 16px;
+ font-family: Microsoft YaHei-Regular, Microsoft YaHei; color: #EBA4AA;">鎵撳嵃</span></div>
+ </el-button>
+ </div>
+ </h1>
</div>
- <el-form ref="elForm" :model="formData" :rules="rules" size="medium" label-width="100px">
- <el-form-item label="id" 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-form ref="elForm" :model="formData" :rules="rules" size="medium" label-width="100px">
+
+ <el-form-item label="绫诲瀷" prop="type">
<el-select v-model="formData.type" placeholder="璇烽�夋嫨绫诲埆" clearable :style="{width: '100%'}" :disabled="dsb" >
<el-option v-for="(item, index) in typeOptions" :key="index" :label="item.label" :value="item.value"
- :disabled="item.disabled"></el-option>
+ :disabled="item.disabled"></el-option>
</el-select>
</el-form-item>
+
+ <el-form-item label="鍙戠敓鏃堕棿" prop="happenTime" >
+ <el-input v-model="formData.happenTime" placeholder="璇疯緭鍏ユ椂闂�" type="date" clearable :style="{width: '100%'}" :disabled="dsb">
+ </el-input>
+ </el-form-item>
+
+
<el-form-item label="鏍囬" prop="title">
<el-input v-model="formData.title" placeholder="璇疯緭鍏ユ爣棰�" clearable :style="{width: '100%'}" :disabled="dsb"></el-input>
</el-form-item>
@@ -35,40 +52,46 @@
<el-input v-model="formData.remark" placeholder="璇疯緭鍏ュ娉�" clearable :style="{width: '100%'}" :disabled="dsb"></el-input>
</el-form-item>
+
<h4 class="form-header">鐩稿叧鍥剧墖 </h4>
<el-upload
- action="#"
- list-type="picture-card"
- multiple
- :http-request="requestUpload"
- :file-list="fileList"
+
+ action="#"
+ list-type="picture-card"
+ multiple
+ :http-request="requestUpload"
+ :file-list="fileList"
+ :disabled="!btn"
+ :class="{hide:!btn}"
>
- <i slot="default" class="el-icon-plus"></i>
- <div slot="file" slot-scope="{file}">
- <img
- class="el-upload-list__item-thumbnail"
- :src="file.url"
- alt=""
- style="width: 147px; height: 147px"
- fit="cover"
- :preview-src-list="[file.url]"
- >
- <span class="el-upload-list__item-actions">
+ <div v-if="uploading" class="upload-status">姝e湪涓婁紶...</div>
+ <i v-if="!uploading" slot="default" class="el-icon-plus"></i>
+ <div slot="file" slot-scope="{file}">
+ <img
+ class="el-upload-list__item-thumbnail"
+ :src="file.url"
+ alt=""
+ style="width: 147px; height: 147px"
+ fit="cover"
+ :preview-src-list="[file.url]"
+ >
+ <span class="el-upload-list__item-actions">
<span
+
class="el-upload-list__item-preview"
@click="handlePictureCardPreview(file)"
>
<i class="el-icon-zoom-in"></i>
</span>
<span
- v-if="!disabled"
+
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)"
>
@@ -77,37 +100,76 @@
</span>
- </div>
- </el-upload>
+ </div>
+ </el-upload>
<h4 class="form-header">鍏朵粬闄勪欢 </h4>
<el-upload
action=""
:file-list="fileListOther"
- class="upload-demo"
+
multiple
- :on-preview="handlePreview"
-
- :on-remove="handleRemove"
+ list-type="picture-card"
+ :on-preview="handleFileCardPreview"
+ :on-remove="handleRemoveFile"
:http-request="requestUpload"
- :show-file-list="true"
+ :disabled="!btn"
+ :class="{hide:!btn}"
+
+
>
- <el-button type="primary">Click to upload</el-button>
- <template #tip>
- <div class="el-upload__tip">
- </div>
- </template>
+ <div v-if="uploading" class="upload-status">姝e湪涓婁紶...</div>
+ <i v-if="!uploading" slot="default" class="el-icon-plus"></i>
+ <div slot="file" slot-scope="{file}">
+ <!-- 娣诲姞video鍏冪礌鐢ㄤ簬鏄剧ず瑙嗛 -->
+ <video
+ v-if="file.url.includes('.mp4')"
+ class="el-upload-list__item-thumbnail"
+ :src="file.url"
+ style="width: 147px; height: 147px"
+ fit="cover"
+ ></video>
+ <img v-else
+ class="el-upload-list__item-thumbnail"
+ :src="file.url"
+ alt=""
+ style="width: 147px; height: 147px"
+ >
+ <span class="el-upload-list__item-actions">
+ <span class="el-upload-list__item-name">{{ file.name }}</span>
+ <span
+ class="el-upload-list__item-preview"
+ @click="handleFileCardPreview(file)"
+ >
+ <i class="el-icon-zoom-in"></i>
+ </span>
+ <span
+ class="el-upload-list__item-delete"
+ @click="handleDownload(file.url)"
+ >
+ <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" />
+ <img w-full :src="dialogImageUrl" style="width: 100%; height: 100%" alt="Preview Image" />
</el-dialog>
</div>
</template>
@@ -125,7 +187,10 @@
return {
cdi:"璧勪骇璇︾粏淇℃伅",
udi:"璧勪骇淇℃伅淇敼",
- fot:[".jpg",".jif"],
+ // 鏁版嵁鑼冨洿閫夐」
+ fot:['.bmp','.jpg','.jpeg','.png','.tif','.gif','.pcx','.tga','.exif','.fpx',
+ '.svg','.psd','.cdr','.pcd','.dxf','.ufo','.eps','.ai','.aw','.WMF','.webp','.apng'],
+
fileList:[
],
fileListOther:[
@@ -133,8 +198,10 @@
],
dsb:true,
btn:false,
+ isShow:true,
+ uploading: false,
formData: {
- id: undefined,
+
type: undefined,
title: undefined,
location: undefined,
@@ -143,15 +210,12 @@
remark: undefined,
url: undefined,
},
- dialogImageUrl: '',
- dialogVisible: false,
- disabled: false,
+ desurl:'',
+ dialogImageUrl: '',
+ dialogVisible: false,
+ disabled: false,
rules: {
- id: [{
- required: true,
- message: '璇疯緭鍏d',
- trigger: 'blur'
- }],
+
type: [{
required: true,
message: '璇烽�夋嫨绫诲埆',
@@ -177,11 +241,7 @@
message: '璇疯緭鍏ュ叿浣撲綅缃�',
trigger: 'blur'
}],
- remark: [{
- required: true,
- message: '璇疯緭鍏ュ娉�',
- trigger: 'blur'
- }],
+
},
typeOptions: [],
@@ -197,12 +257,16 @@
jd = this.$route.query.detail
this.btn= jd
this.dsb = !jd
- document.title = "淇敼璧勪骇璇︾粏淇℃伅";
+ this.isShow=true
+ // document.title = "淇敼璧勪骇璇︾粏淇℃伅";
this.$route.meta.title = "淇敼璧勪骇璇︾粏淇℃伅";//鍒楄〃鐨勫悕绉�
}
else{
- document.title = "鏌ョ湅璧勪骇璇︾粏淇℃伅";
- this.$route.meta.title = "鏌ョ湅璧勪骇璇︾粏淇℃伅";//鍒楄〃鐨勫悕绉�
+ // document.title = "瀹跺涵璧勪骇璇︾粏淇℃伅";
+ this.$route.meta.title = "瀹跺涵璧勪骇璇︾粏淇℃伅";//鍒楄〃鐨勫悕绉�
+ this.btn = false;
+ // alert(this.btn)
+ this.isShow=false
}
let _this = this
@@ -240,10 +304,12 @@
{
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]})
+ response.data.map(elem=>{
+ _this.typeOptions.push({"label":elem, "value":elem})
})
+ // response.data.itemValues.replace("{","").replace("}","").split(",").map(elem=>{
+ // _this.typeOptions.push({"label":elem.split(":")[0], "value":elem.split(":")[0]})
+ // })
})
},
submitForm() {
@@ -252,8 +318,8 @@
}).join(",")
let uls = this.fileListOther.map(function (elem){
return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
- }).join(",")
- this.formData.url = ul+","+uls
+ }).join(",")
+ this.formData.url = ul+","+uls
this.$refs['elForm'].validate(valid => {
@@ -275,6 +341,19 @@
resetForm() {
this.$refs['elForm'].resetFields()
},
+ handleFileCardPreview(file){
+ this.dialogFileUrl = file.url;
+ // alert(file.url)
+ // this.dialogFileUrl = 'https://www.bendudu.com:8080/profile/upload/2023/10/18/20231018214647A011.doc'
+ // this.dialogFileUrl = 'https://47.93.189.255:8080/profile/upload/2023/03/19/test7_20230319222030A007.jpg'
+ if(this.dialogFileUrl.includes("47.93.189.255")==true)
+ this.dialogFileUrl = this.dialogFileUrl.replace("47.93.189.255","www.bendudu.com")
+ //alert(this.dialogFileUrl)
+ const Base64 = require('js-base64').Base64
+
+ this.desurl = process.env.VUE_APP_BASE_OTHER_API+"preview/"+'onlinePreview?url='+encodeURIComponent(Base64.encode(this.dialogFileUrl));
+ let myWindow=window.open(this.desurl,'','width=1200,height=800,top=150,left=300');
+ },
handlePreview(file)
{
let formData = {'path':"/"+file.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")};
@@ -289,32 +368,48 @@
})
},
handleRemoveFile(file) {
- alert(23)
+ for(let i = 0; i < this.fileListOther.length; i++)
+ {
+ if(this.fileListOther[i].url==file.url)
+ this.$delete(this.fileListOther,i);
+ }
},
handleRemove(file) {
- alert(323)
- },
- handlePictureCardPreview(file) {
- this.dialogImageUrl = file.url;
- this.dialogVisible = true;
- },
- handleDownload(url) {
- var formData = {'path':"/"+url.replace(process.env.VUE_APP_BASE_TRUE_API,"")};
+ for(let i = 0; i < this.fileList.length; i++)
+ {
+ if(this.fileList[i].url==file.url)
+ this.$delete(this.fileList,i);
+ }
+ },
+ handlePictureCardPreview(file) {
+ this.dialogImageUrl = file.url;
+ this.dialogVisible = true;
+ },
+ handleDownload(url) {
+ var formData = {'path':"/"+url.replace(process.env.VUE_APP_BASE_TRUE_API,"")};
- let lens = formData.path.split(".")
- let suffix = lens[lens.length-1]
- download(formData).then(async (response) => {
- const isLogin = await blobValidate(response);
- let nt = new Date().getTime()
- let filename = 'property_'+nt+'.'+suffix
- const blob = new Blob([response])
- saveAs(blob, filename)
- })
- },
+ let lens = formData.path.split(".")
+ let suffix = lens[lens.length-1]
+ download(formData).then(async (response) => {
+ const isLogin = await blobValidate(response);
+ let nt = new Date().getTime()
+ let filename = 'property_'+nt+'.'+suffix
+ const blob = new Blob([response])
+ saveAs(blob, filename)
+ })
+ },
handleEdit()
{
this.dsb = false
this.btn = true
+ },
+
+ //鏌ョ湅澶囧繕鏈�
+ checkNote(row){
+ // const id =row.id;
+ const id = this.$route.params && this.$route.params.id;
+ // const fid =2031
+ this.$router.push("/familymodel/property/memo/" + id );
},
requestUpload(params)
{
@@ -322,20 +417,32 @@
var formData = new FormData();
formData.append('uploadFile', file);
let _this = this
-
+ this.uploading = true;
uploadPic(formData).then(response => {
let pth = response.data.originalFilename.substr(response.data.originalFilename.length-4, response.data.originalFilename.length)
-
- if(_this.fot.includes(pth) === true)
+ this.uploading = false;
+ this.$modal.msgSuccess("涓婁紶鎴愬姛");
+ if(_this.fot.indexOf(pth) !== -1)
{
- _this.fileList.push({name:response.data.fileName, "url":response.data.url})
-
+ _this.fileList.push({"name":response.data.fileName, "url":response.data.url})
}
-
else{
- _this.fileListOther.push({name:response.data.fileName, url:response.data.url})
-
+ _this.fileListOther.push({"name":response.data.fileName, "url":response.data.url})
}
+ let ul = _this.fileList.map(function (elem){
+ return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
+ }).join(",")
+ let uls = _this.fileListOther.map(function (elem){
+ return elem.url.replace(process.env.VUE_APP_BASE_TRUE_API,"")
+ }).join(",")
+ _this.formData.url = ul+","+uls
+ console.log(_this.formData.url)
+ // alert(87)
+ updateProperty(_this.formData).then(response => {
+ this.$modal.msgSuccess("鍥剧墖涓婁紶鎴愬姛");
+ // this.open = false;
+
+ });
})
}
@@ -344,19 +451,22 @@
}
</script>
-<style>
+<style scoped>
.mt
{
position: relative;
}
.dt{
- display: block;
+ /* display: block; */
}
-.pt{
- right: 10px;
- top:-3px;
- display: block;
- position: absolute;
+
+.hide /deep/ .el-upload--picture-card {
+
+ display: none;
}
+.form{
+ background:center/11% no-repeat url('../../assets/icons/form.png') ;
+}
+
</style>
--
Gitblit v1.9.1