ruoyi-ui/src/api/self/index.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-ui/src/views/bignote/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-ui/src/views/collection/collectionInfo.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-ui/src/views/genealogy/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-ui/src/views/pet/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-ui/src/views/secret/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-ui/src/views/self/show.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
ruoyi-ui/src/api/self/index.js
@@ -219,6 +219,16 @@ }) } //删除个人自传 export function delAutobiography(ids) { return request({ url: '/zAutobiography/' +ids , method: 'delete', }) } //拿到个人自传 export function getCategory() { ruoyi-ui/src/views/bignote/index.vue
@@ -147,7 +147,7 @@ <el-table v-loading="loading" :data="familyList" :row-key="getRowId" ref="multipleTable" @selection-change="handleSelectionChange" :row-class-name="tableRowClassName"> <el-table-column type="selection" :reserve-selection="true" width="55" align="center" /> <el-table-column label="序号" sortable type="index" :index="(queryParams.pageNum-1)*queryParams.pageSize+1" width="80px"/> <el-table-column fixed label="序号" sortable type="index" :index="(queryParams.pageNum-1)*queryParams.pageSize+1" width="80px"/> <el-table-column label="发生时间" prop="happenTime" sortable width="200px" align="center"> <template slot-scope="scope">{{scope.row.happenTime? scope.row.happenTime: '————'}}</template> </el-table-column> ruoyi-ui/src/views/collection/collectionInfo.vue
@@ -96,7 +96,7 @@ class="el-upload-list__item-thumbnail" :src="file.url" alt="" style="width: 100%; height: 100%; object-fit: cover;" style="width: 147px; height: 147px" fit="cover" :preview-src-list="[file.url]" > @@ -146,14 +146,23 @@ <div v-if="uploading1" class="upload-status">正在上传...</div> <i v-if="!uploading1" slot="default" class="el-icon-plus"></i> <div slot="file" slot-scope="{file}"> <img <!-- 添加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="../../assets/401_images/401.gif" alt="" style="width: 100%; height: 100%; object-fit: cover;" fit="cover" > style="width: 100%; height: 100%" fit="cover"> <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)" @@ -174,8 +183,7 @@ > <i class="el-icon-delete"></i> </span> </span> </span> </div> @@ -549,7 +557,21 @@ this.formData.url = ul+","+uls console.log(this.formData.url) updateCollection(this.formData).then(response => { this.$modal.msgSuccess("文档上传成功"); this.$modal.msgSuccess("上传成功"); const videoElement = document.createElement('video'); // 创建一个新的video元素 videoElement.src = response.data.url; // 设置video元素的src为视频URL // 监听loadedmetadata事件以确保视频元数据加载完成 videoElement.addEventListener('loadedmetadata', function() { const canvas = document.createElement('canvas');// 创建一个canvas元素 const context = canvas.getContext('2d'); context.drawImage(videoElement, 0, 0, canvas.width, canvas.height); // 将视频的首帧画面绘制到画布上 const imageURL = canvas.toDataURL();// 将画布转换为图像URL videoElement.setAttribute('poster', imageURL);// 设置视频的封面图像 // 在页面中显示视频元素 document.body.appendChild(videoElement); }); // this.open = false; // this.btn=false }); @@ -592,4 +614,8 @@ font-weight: 400; color: #000000; } .el-upload-list__item-name { font-size: 14px; /* 调整文件名字的字体大小 */ } </style> ruoyi-ui/src/views/genealogy/index.vue
@@ -1,22 +1,6 @@ <template> <div class="app-container"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"> <el-form-item label="" prop="phone wx qq twitter isAlways remark" > <el-input v-model:phone="queryParams.phone" v-model:wx="queryParams.wx" v-model:qq="queryParams.qq" v-model:twitter="queryParams.twitter" v-model:isAlways="queryParams.isAlways" v-model:remark="queryParams.remark" placeholder="在“张氏一览表”中搜索" clearable style="width: 240px" @keyup.enter.native="handleQuery"> <i slot="prefix" class="el-input__icon el-icon-search"></i> </el-input> <!-- v-model="queryParams.id"--> </el-form-item> <el-form-item label="身份" prop="identity" > <el-select @@ -73,6 +57,7 @@ ></el-date-picker> </el-form-item> <el-form-item> <el-button size="mini" @click="handleQuery" style=" width: 67px;height: 27px;background: #FFDDE3; border-radius: 7px 7px 7px 7px;opacity: 1; " >搜索</el-button> @@ -85,58 +70,13 @@ <el-row :gutter="10" class="mb8"> <!-- <el-col :span="1.5">--> <!-- <el-button--> <!-- type="primary"--> <!-- plain--> <!-- icon="el-icon-plus"--> <!-- size="mini"--> <!-- @click="handleAdd"--> <!-- v-hasPermi="['system:role:add']"--> <!-- >新增</el-button>--> <!-- </el-col>--> <!-- <el-col :span="1.5">--> <!-- <el-button--> <!-- type="danger"--> <!-- plain--> <!-- icon="el-icon-delete"--> <!-- size="mini"--> <!-- :disabled="multiple"--> <!-- @click="handleDelete"--> <!-- v-hasPermi="['system:role:remove']"--> <!-- >删除</el-button>--> <!-- </el-col>--> <el-col :span="1.5"> <el-button type="warning" plain icon="el-icon-download" size="mini" @click="handleExport" v-hasPermi="['family:note:export']" >导出</el-button> </el-col> <!-- <el-col :span="1.5">--> <!-- <el-button--> <!-- type="warning"--> <!-- plain--> <!-- icon="el-icon-download"--> <!-- size="mini"--> <!-- @click="handleExport"--> <!-- v-hasPermi="['family:note:export']"--> <!-- >导入模板下载</el-button>--> <!-- </el-col>--> <!-- <el-col :span="1.2">--> <!-- <el-upload--> <!-- action=""--> <!-- class="upload-demo"--> <!-- :show-file-list="false"--> <!-- :http-request="handleEnport"--> <!-- >--> <!-- <el-button size="mini" type="primary"--> <!-- plain--> <!-- icon="el-icon-plus" >导入</el-button>--> <!-- </el-upload>--> <!-- >导出</el-button>--> <!-- </el-col>--> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> @@ -146,7 +86,6 @@ <el-table v-loading="loading" :data="listRoot" :row-key="getRowId" ref="multipleTable" @selection-change="handleSelectionChange" :row-class-name="tableRowClassName" style="background: #FFEFF2; border-radius: 14px 14px 14px 14px;"> <el-table-column type="selection" width="55" align="center" /> <el-table-column fixed label="序号" sortable type="index" :index="(queryParams.pageNum-1)*queryParams.pageSize+1" width="80"/> <el-table-column label="身份" prop="identity" sortable width="100" > <template slot-scope="scope" > <span v-if="scope.row.isMyFamily==1">第{{scope.row.identity}}代</span> @@ -180,21 +119,23 @@ <template slot-scope="scope">{{scope.row.spouseName? scope.row.spouseName: '————'}}</template> </el-table-column> <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> <template slot-scope="scope" v-if="scope.row.roleId !== 1"> <el-button <el-button size="mini" type="text" icon="el-icon-d-arrow-right" @click="handleCheck(scope.row)"> 查看详情</el-button> 查看详情 </el-button> </template> </el-table-column> </el-table> <pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize" @@ -202,49 +143,8 @@ @pagination="getList" /> <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body> <el-form ref="elForm" :model="formDat" :rules="rules" size="medium" label-width="100px"> <el-form-item label="身份" prop="identity"> <el-input v-model="formDat.identity" placeholder="请输入身份" clearable :style="{width: '100%'}" > </el-input> </el-form-item> <el-form-item label="姓名" prop="nickName"> <el-input v-model="formDat.nickName" placeholder="请输入姓名" clearable :style="{width: '100%'}" ></el-input> </el-form-item> <el-form-item label="性别" prop="sex"> <el-input v-model="formDat.sex" placeholder="请输入性别" clearable :style="{width: '100%'}" > </el-input> </el-form-item> <el-form-item label="出生时间" prop="birth"> <el-input v-model="formDat.birth" placeholder="请输入出生时间" clearable :style="{width: '100%'}" > </el-input> </el-form-item> <el-form-item label="全生命周期" prop="deadDay"> <el-input v-model="formDat.deadDay" placeholder="请输入全生命周期" clearable :style="{width: '100%'}" > </el-input> </el-form-item> <el-form-item label="手机号码" prop="phoneNumber"> <el-input v-model="formDat.phoneNumber" placeholder="请输入手机号码" clearable :style="{width: '100%'}" > </el-input> </el-form-item> <el-form-item label="所在单位" prop="unit"> <el-input v-model="formDat.unit" placeholder="请输入所在单位" clearable :style="{width: '100%'}" > </el-input> </el-form-item> <el-form-item label="配偶" prop="spouseName"> <el-input v-model="formDat.spouseName" placeholder="请输入twitter" clearable :style="{width: '100%'}" > </el-input> </el-form-item> </el-form> <h4 class="form-header"> </h4> <div slot="footer" class="dialog-footer"> <el-button type="primary" @click="submitDataScope">保 存</el-button> <el-button @click="cancelData">取 消</el-button> </div> </el-dialog> <el-dialog :title="title" :visible.sync="openDataScope" width="500px" append-to-body> @@ -263,6 +163,8 @@ //导入接口函数 import {enload, uploadPic} from "@/api/contacts/index"; import {getRoot,listUserAll} from "@/api/root/index"; export default { name: "index", dicts: ['sys_normal_disable'], @@ -281,7 +183,8 @@ multiple: true, // 显示搜索条件 showSearch: true, // 总条数 pageSize: 10, // 每页显示数据条数 pageNum: 1, // 当前页码 // 总条数 total: 0, // 家谱表格数据 listRoot: [], @@ -416,10 +319,6 @@ }, created() { this.getList(); // this.getCateInfor() // for (let i = 0; i < this.contactList.length; i++) { // this.formDat[i] = this.contactList[i]; // } }, methods: { // 取消按钮 @@ -460,45 +359,33 @@ return "statistics-warning-row"; } }, /** 新增按钮操作 */ handleAdd() { this.reset(); this.open = true; this.title = "添加证件/荣誉/资质信息"; }, /** 查询通讯录列表 */ /** 查询家谱列表 */ getList() { this.loading = true; // console.log(this.queryParams) //alert(23) this.queryParams.happenStartTime = this.dateRange.length > 0 && this.dateRange[0] this.queryParams.happenEndTime = this.dateRange.length > 0 && this.dateRange[1] // this.queryParams.pageSize = this.pageSize; // 添加 pageSize 参数 // this.queryParams.pageNum = this.pageNum; // 添加 pageNum 参数 // listProperty(this.addDateRange(this.queryParams, this.dateRange)).then(response => { listUserAll(this.queryParams).then(response => { // alert(123) // console.log(response.data) // alert(76) this.listRoot = response.data.data; // alert(this.listRoot) this.total = response.data.length; this.pageNum=1; this.pageSize=10; // alert(this.total) this.total = response.data.total; // this.pageNum=1; // this.pageSize=10; // this.pageNum = response.data.pageNum; this.loading = false; } ); }, /** 查询类别信息 */ // 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]}) // }) // }) // }, handlePageChange(currentPage) { this.pageNum = currentPage; // 根据 currentPage 计算出 pageNum 值 this.getList(); }, //身份选择 getSrc(identity) { if (identity === '1'){ @@ -518,9 +405,6 @@ return row.id }, handleRemove(file) { alert(323) }, // 取消按钮 cancel() { this.open = false; @@ -529,7 +413,6 @@ // 取消按钮(数据权限) cancelDataScope() { this.openDataScope = false; this.reset(); }, // 表单重置 reset() { @@ -589,65 +472,12 @@ this.$router.push("/familymodel/jiagenwang/personInfo/" + id); }, handlePictureCardPreview(file) { this.dialogImageUrl = file.url; this.dialogVisible = true; }, /** 提交按钮(数据权限) */ submitDataScope: function() { 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.formDat.url = ul+","+uls this.$refs["elForm"].validate(valid => { if (valid) { addContact(this.formDat).then(response => { this.$modal.msgSuccess("新增成功"); this.open = false; this.getList(); }); } }); }, requestUpload(params) { var file = params.file; var formData = new FormData(); formData.append('uploadFile', file); let _this = this 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.fileList.push({name:response.data.fileName, "url":response.data.url}) } else{ _this.fileListOther.push({name:response.data.fileName, url:response.data.url}) } }) }, /** 删除按钮操作 */ handleDelete(row) { const Ids = row.id || this.ids; this.$modal.confirm('是否确认删除编号为"' + Ids + '"的数据项?').then(function() { return delContact(Ids); }).then(() => { this.getList(); this.$modal.msgSuccess("删除成功"); }).catch(() => {}); }, /** 导出按钮操作 */ // handleExport() { // this.download('/self/user/export/genealogy', { ruoyi-ui/src/views/pet/index.vue
@@ -95,7 +95,7 @@ <el-table v-loading="loading" :data="petList,PetNoteList" @selection-change="handleSelectionChange" :row-class-name="tableRowClassName"> <el-table-column type="selection" width="55" align="center" /> <el-table-column label="序号" sortable type="index" :index="(queryParams.pageNum-1)*queryParams.pageSize+1" width="120"/> <el-table-column label="序号" sortable type="index" :index="(queryParams.pageNum-1)*queryParams.pageSize+1" width="120"/> <el-table-column label="种类" prop="animal" sortable :show-overflow-tooltip="true" width="150" /> <el-table-column label="品种" prop="type" sortable :show-overflow-tooltip="true" width="150" /> ruoyi-ui/src/views/secret/index.vue
@@ -129,7 +129,7 @@ <el-table v-loading="loading" :data="secretList" :row-key="getRowId" ref="multipleTable" @selection-change="handleSelectionChange" @row-click="handleCheck" :row-class-name="tableRowClassName" style="background: #FFEFF2; border-radius: 14px 14px 14px 14px;"> <el-table-column type="selection" :reserve-selection="true" width="55" align="center" /> <el-table-column label="序号" sortable type="index" :index="(queryParams.pageNum-1)*queryParams.pageSize+1" width="80"/> <el-table-column fixed label="序号" sortable type="index" :index="(queryParams.pageNum-1)*queryParams.pageSize+1" width="80"/> <el-table-column label="发生时间" prop="happenTime" sortable width="150" align="center"> <template slot-scope="scope">{{scope.row.happenTime? scope.row.happenTime: '————'}}</template> </el-table-column> ruoyi-ui/src/views/self/show.vue
@@ -529,18 +529,14 @@ <el-tab-pane v-for="(item, index) in AutobiographyList" :key='item.id' :label="item.ageBegin+'~'+item.ageEnd+'岁'+'('+item.term+')'"> <div>{{ item.content }}</div> <!-- <div v-if="item.term === '婴儿'"> {{item.content}}</div>--> <!-- <div v-if="item.term === '幼儿'"> {{item.content}}</div>--> <!-- <div v-if="item.term === '小学'"> {{item.content}}</div>--> <!-- <div v-if="item.term === '初中'"> {{item.content}}</div>--> <!-- <div v-if="item.term === '高中'"> {{item.content}}</div>--> <!-- <div v-if="item.term === '大学'"> {{item.content}}</div>--> <!-- <div v-if="item.term === '研究生'"> {{item.content}}</div>--> <!-- <div v-if="item.term === '工作'"> {{item.content}}</div>--> <!-- <div v-if="item.term === '结婚后'"> {{item.content}}</div>--> <el-button size='mini' type="text" class="btn_edit" @click="editAutobiography(item)" style='position: absolute;right:10px;top:5px;'> <el-button size='mini' type="text" class="btn_edit" @click="editAutobiography(item)" style='position: absolute;right:40px;top:5px;'> <sapn v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></sapn> </el-button> <el-button size="mini" type="text" class="btn_del" @click="handleAutobiography(item)" style='position: absolute;right:10px;top:5px;'> <sapn v-html="'\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0'"></sapn> </el-button> </el-tab-pane> </el-tabs></div> </el-contain> @@ -740,12 +736,13 @@ import axios from 'axios'; //在system/note/index.js中导入接口函数 --接好了 import {getIndividualList, addIndividual, updateIndividual, delIndividual, import { getIndividualList, addIndividual, updateIndividual, delIndividual, listExperience, addExperience, updateExperience, delExperience, getIndividualRelation, addRelation, updateRelation, delRelation, getCertificateList, addCertificate, updateCertificate, delCertificate, getAbroadList, addAbroad, updateAbroad, delAbroad,listType, getAutobiographyList, getAutobiographyTermList, addAutobiography,updateAutobiography, getAbroadList, addAbroad, updateAbroad, delAbroad, listType, getAutobiographyList, getAutobiographyTermList, addAutobiography, updateAutobiography,delAutobiography, getCategory, } from "@/api/self/index"; import { delFamilyevent, uploadPic } from '../../api/bignote' @@ -1695,6 +1692,16 @@ this.$modal.msgSuccess("删除成功"); }).catch(() => {}); }, /** 删除个人自传按钮操作 */ handleAutobiography(row) { const Ids = row.id || this.ids; this.$modal.confirm('是否确认删除数据项?').then(function() { return delAutobiography(Ids); }).then(() => { this.getList(); this.$modal.msgSuccess("删除成功"); }).catch(() => {}); }, /** 导出按钮操作 */ handleExport() { @@ -1752,7 +1759,9 @@ .btn_edit{ background:center no-repeat url('../../assets/icons/edit.png') ; } .btn_del{ background:center no-repeat url('../../assets/images/删除2.png') ; } .button-container { text-align: right; display: flex; @@ -1766,18 +1775,6 @@ flex-shrink: 0; width: 30px; height: 28px; } .button2 { background: center no-repeat url('../../assets/icons/add1.png') ; margin-left: 66vw; } .button4 { background: center no-repeat url('../../assets/icons/add1.png') ; margin-left: 71.5vw; } .button5 { background:center no-repeat url('../../assets/icons/add1.png') ; margin-left: 71vw; } .form{ background:center/11% no-repeat url('../../assets/icons/form.png') ;