| | |
| | | v-model="queryParams.address" |
| | | placeholder="请输入地点" |
| | | clearable |
| | | style="width: 197px; |
| | | style=" width:197px; |
| | | height: 30px; |
| | | background: #FFFFFF; |
| | | border-radius: 14px 14px 14px 14px; |
| | |
| | | /> |
| | | |
| | | </el-form-item> |
| | | <el-form-item label="时间"> |
| | | <el-form-item label="时间" prop="happenTime"> |
| | | <el-date-picker |
| | | v-model="dateRange" |
| | | style=" width: 197px; |
| | | style="width: 197px; |
| | | height: 30px; |
| | | background: #FFFFFF; |
| | | border-radius: 14px 14px 14px 14px; |
| | | opacity: 0.5; |
| | | border: 1px solid rgba(0,0,0,0.25);" |
| | | value-format="yyyy-MM-dd HH-MM" |
| | | value-format="yyyy-MM-dd" |
| | | type="daterange" |
| | | range-separator="-" |
| | | start-placeholder="开始日期" |
| | | end-placeholder="结束日期" |
| | | ></el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> |
| | | <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> |
| | | </el-form-item> |
| | | </el-form-item><el-form-item> |
| | | <el-button size="mini" @click="handleQuery" style=" width: 65px; height: 32px;background: #FFDDE3; |
| | | border-radius: 6px 6px 6px 6px;opacity:1; " >搜索</el-button> |
| | | <el-button size="mini" @click="resetQuery" style=" width: 65px; height: 32px;background: #FFDDE3; |
| | | border-radius: 6px 6px 6px 6px;opacity:1; " >重置</el-button> |
| | | </el-form-item> |
| | | |
| | | </el-form> |
| | | |
| | | <div style="width: 72px; |
| | | height: 24px; |
| | | font-size: 18px; |
| | | font-family: Microsoft YaHei-Regular, Microsoft YaHei; |
| | | font-weight: 400; |
| | | color: #000000; |
| | | line-height: 21px; |
| | | ">家大事记</div> |
| | | <!-- <div style="width: 72px;--> |
| | | <!--height: 24px;--> |
| | | <!--font-size: 18px;--> |
| | | <!--font-family: Microsoft YaHei-Regular, Microsoft YaHei;--> |
| | | <!--font-weight: 400;--> |
| | | <!--color: #000000;--> |
| | | <!--line-height: 21px;--> |
| | | <!--">家大事记</div>--> |
| | | <el-row :gutter="10" class="mb8"> |
| | | <el-col :span="1.5"> |
| | | <el-button |
| | |
| | | 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="handleExportTemplate" |
| | | 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-col> |
| | | |
| | | <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> |
| | | </el-row> |
| | | <!-- 序号、时间、人物、地点、大事标题、电子文件、备注 --> |
| | | <!-- 这里有个familyList数组 是在data()中定义的 --> |
| | | <el-table v-loading="loading" :data="familyList" @selection-change="handleSelectionChange" > |
| | | <el-table-column type="selection" width="55" align="center" /> |
| | | <el-table-column label="序号" prop="id" sortable width="120" /> |
| | | <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="时间" align="center" sortable prop="createTime" width="180"> |
| | | <template slot-scope="scope"> |
| | | <span>{{ parseTime(scope.row.createTime) }}</span> |
| | | <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> |
| | | <el-table-column label="人物" prop="people" sortable width="150px" /> |
| | | <el-table-column label="地点" prop="address" sortable width="150px" /> |
| | | <el-table-column label="大事标题" prop="title" sortable :show-overflow-tooltip="true" width="150px" /> |
| | | <el-table-column label="是否是本家庭记录" prop="ownData" sortable width="150px" > |
| | | <template slot-scope="scope">{{scope.row.ownData === 0 ? '否': '是'}}</template> |
| | | </el-table-column> |
| | | <el-table-column label="备注" prop="remark" sortable width="150px" > |
| | | <template slot-scope="scope">{{scope.row.remark? scope.row.remark: '————'}}</template> |
| | | </el-table-column> |
| | | |
| | | <!-- <el-table-column label="家庭号" prop="familyId" sortable width="100" /> --> |
| | | <el-table-column label="电子文件" prop="url" width="150px" align="center"> |
| | | |
| | | <template slot-scope="scope" > |
| | | <div @click="handleCheck(scope.row)"> |
| | | <img |
| | | class="el-upload-list__item-thumbnail" |
| | | src="../../assets/images/deviceLis.png" |
| | | alt="" |
| | | style="width: 35px; height: 35px;" |
| | | fit="cover" |
| | | v-if="!(scope.row.url === '' || scope.row.url === ',' || scope.row.url === null)" |
| | | > |
| | | <img |
| | | v-else |
| | | class="el-upload-list__item-thumbnail" |
| | | src="../../assets/images/deviceA.png" |
| | | alt="" |
| | | style="width: 35px; height: 35px;" |
| | | fit="cover" |
| | | |
| | | ></div> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="人物" prop="people" sortable width="100" /> |
| | | <el-table-column label="地点" prop="address" sortable width="100" /> |
| | | <el-table-column label="大事标题" prop="title" sortable :show-overflow-tooltip="true" width="150" /> |
| | | |
| | | <el-table-column label="备注" prop="remark" sortable width="100" /> |
| | | <el-table-colum label="电子文件" prop="fujian" sortable width="100"/> |
| | | <el-table-column label="家庭号" prop="familyId" sortable width="100" /> |
| | | <el-table-column label="操作" align="center" class-name="small-padding fixed-width"> |
| | | <el-table-column label="操作" align="center" width="250" class-name="small-padding fixed-width"> |
| | | <template slot-scope="scope" v-if="scope.row.roleId !== 1"> |
| | | <el-button |
| | | <div class="button-container"> |
| | | <el-button |
| | | size="mini" |
| | | type="text" |
| | | icon="el-icon-edit" |
| | | @click="handleUpdate(scope.row)" |
| | | v-hasPermi="['system:role:edit']" |
| | | v-hasPermi="['familymodel:bignote:list']" |
| | | >修改</el-button> |
| | | <el-button |
| | | size="mini" |
| | |
| | | @click="handleDelete(scope.row)" |
| | | v-hasPermi="['system:role:remove']" |
| | | >删除</el-button> |
| | | <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['system:role:edit']"> |
| | | <el-dropdown size="mini" @command="(command) => handleCommand(command, scope.row)" v-hasPermi="['familymodel:bignote:list']"> |
| | | <el-button size="mini" type="text" icon="el-icon-d-arrow-right" @click="handleCheck(scope.row)">查看详情</el-button> |
| | | |
| | | </el-dropdown> |
| | | </div> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | |
| | | :page.sync="queryParams.pageNum" |
| | | :limit.sync="queryParams.pageSize" |
| | | @pagination="getList" |
| | | style="background: #FEF7FC;" |
| | | /> |
| | | |
| | | <!-- 添加或修改资产信息配置对话框 --> |
| | |
| | | <el-input v-model="formDat.address" placeholder="请输入地点" clearable :style="{width: '100%'}" > |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="家庭号" prop="familyId"> |
| | | <el-input v-model="formDat.familyId" placeholder="请输入家庭号" clearable :style="{width: '100%'}" > |
| | | </el-input> |
| | | |
| | | <el-form-item label="发生时间" prop="happenTime"> |
| | | <el-date-picker v-model="formDat.happenTime" type="date" placeholder="请选择日期" |
| | | :editable="false" :clearable="false" :style="{width: '100%'}" value-format="yyyy-MM-dd" |
| | | ></el-date-picker> |
| | | </el-form-item> |
| | | <el-form-item label="备注" prop="remark"> |
| | | <el-input v-model="formDat.remark" placeholder="请输入备注" clearable :style="{width: '100%'}" ></el-input> |
| | |
| | | <h4 class="form-header">相关图片 </h4> |
| | | <el-upload |
| | | action="#" |
| | | accept="image/jpeg, image/png,image/jpg, image/WMF,image/gif" |
| | | list-type="picture-card" |
| | | multiple |
| | | :http-request="requestUpload" |
| | | :file-list="fileList" |
| | | > |
| | | <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: 126px; height: 126px" |
| | | fit="cover" |
| | | :preview-src-list="[file.url]" |
| | | > |
| | | <div slot="file" slot-scope="{ file }"> |
| | | <template v-if="fileList"> |
| | | <img |
| | | class="el-upload-list__item-thumbnail" |
| | | :src="file.url" |
| | | alt="" |
| | | style="width: 100%; height: 100%; object-fit: cover;" |
| | | fit="cover" |
| | | :preview-src-list="[file.url]" |
| | | > |
| | | </template> |
| | | <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="handleRemove(file)" |
| | | > |
| | | <i class="el-icon-delete"></i> |
| | | </span> |
| | | </span> |
| | | |
| | | |
| | | <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="handleRemove(file)" |
| | | > |
| | | <i class="el-icon-delete"></i> |
| | | </span> |
| | | </span> |
| | | </div> |
| | | </el-upload> |
| | | <h4 class="form-header">其他附件 </h4> |
| | |
| | | class="upload-demo" |
| | | multiple |
| | | |
| | | :on-remove="handleRemove" |
| | | :http-request="requestUpload" |
| | | :on-remove="handleRemoveFile" |
| | | :http-request="requestUpload1" |
| | | :show-file-list="true" |
| | | > |
| | | <el-button type="primary">Click to upload</el-button> |
| | | |
| | | <el-button type="primary">点击上传</el-button> |
| | | <div v-if="uploading" class="upload-status">正在上传...</div> |
| | | <template #tip> |
| | | <div class="el-upload__tip"> |
| | | </div> |
| | |
| | | <h4 class="form-header"> </h4> |
| | | |
| | | <div slot="footer" class="dialog-footer"> |
| | | <el-button type="primary" @click="submitDataScope">确 定</el-button> |
| | | <el-button type="primary" @click="submitDataScope">保 存</el-button> |
| | | <el-button @click="cancelData">取 消</el-button> |
| | | </div> |
| | | </el-dialog> |
| | |
| | | import { treeselect as menuTreeselect, roleMenuTreeselect } from "@/api/system/menu"; |
| | | |
| | | |
| | | import { Notification, MessageBox, Message, Loading } from 'element-ui' |
| | | |
| | | //在system/note/index.js中导入接口函数 --接好了 |
| | | import {listFamilyevent , getFamilyeventInfo , delFamilyevent , addFamilyevent , uploadPic} from "@/api/bignote/index"; |
| | | import {listFamilyevent,enload, delFamilyevent , addFamilyevent , uploadPic} from "@/api/bignote/index"; |
| | | export default { |
| | | name: "Role", |
| | | dicts: ['sys_normal_disable'], |
| | |
| | | // 日期范围 |
| | | dateRange: [], |
| | | // 数据范围选项 |
| | | fot:[".jpg",".jif"], |
| | | fileList:[ |
| | | ], |
| | | fileListOther:[ |
| | | |
| | | ], |
| | | 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:[], |
| | | dsb:true, |
| | | btn:false, |
| | | uploading: false, |
| | | formDat: { |
| | | type: undefined, |
| | | // type: undefined, |
| | | title: undefined, |
| | | location: undefined, |
| | | holder: undefined, |
| | | address: undefined, |
| | | remark: undefined, |
| | | familyId:undefined, |
| | | happenTime:undefined, |
| | | url: undefined, |
| | | }, |
| | | // 菜单列表 |
| | |
| | | title:undefined, |
| | | people:undefined, |
| | | address:undefined, |
| | | createTime:undefined |
| | | happenStartTime:undefined, |
| | | happenEndTime:undefined |
| | | }, |
| | | // 表单参数 |
| | | form: {}, |
| | |
| | | message: '请输入家庭号', |
| | | trigger: 'blur' |
| | | }], |
| | | createTime: [{ |
| | | happenTime: [{ |
| | | required: true, |
| | | message: '请选择日期选择', |
| | | trigger: 'change' |
| | | message: '请选择日期', |
| | | trigger: 'blur' |
| | | }], |
| | | }, |
| | | typeOptions: [], |
| | |
| | | |
| | | }, |
| | | methods: { |
| | | |
| | | isImage(fileType) { |
| | | return fileType.startsWith('image/'); |
| | | }, |
| | | isInFot(fileName) { |
| | | return this.fot.includes(fileName); |
| | | }, |
| | | // 取消按钮 |
| | | cancelData() { |
| | | this.open = false; |
| | | this.reset(); |
| | | }, |
| | | |
| | | getRowId(row) |
| | | { |
| | | return row.id |
| | | }, |
| | | //隔行变色 |
| | | tableRowClassName({ row, rowIndex }) { |
| | | if (rowIndex % 2 == 0) { |
| | | return "statistics-warning-row1"; |
| | | } else { |
| | | return "statistics-warning-row"; |
| | | } |
| | | }, |
| | | |
| | | // methods: { |
| | | // tableRowClassName({row, rowIndex}) { |
| | | // if (rowIndex === 1) //=>这里可以改成 rowIndex%2=== 1,后面直接else即可达到隔行变色效果。 |
| | | // { |
| | | // return 'warning-row'; |
| | | // } else if (rowIndex === 3) { |
| | | // return 'success-row'; |
| | | // } |
| | | // return ''; |
| | | // } |
| | | // }, |
| | | |
| | | /** 查询角色列表 */ |
| | | //列表显示家大事记 |
| | | |
| | | getList() { |
| | | this.loading = true; |
| | | // console.log(this.queryParams) |
| | | console.log(this.queryParams) |
| | | this.queryParams.happenStartTime = this.dateRange.length > 0 && this.dateRange[0] |
| | | this.queryParams.happenEndTime = this.dateRange.length > 0 && this.dateRange[1] |
| | | |
| | | // listProperty(this.addDateRange(this.queryParams, this.dateRange)).then(response => { |
| | | listFamilyevent(this.queryParams).then(response => { |
| | | // alert(123) |
| | | // console.log(response.data) |
| | | // console.log(response.data.data) |
| | | // alert(response.data.data[1].url) |
| | | this.familyList = response.data.data; |
| | | |
| | | this.total = response.data.total; |
| | |
| | | // 多选框选中数据 |
| | | handleSelectionChange(selection) { |
| | | this.ids = selection.map(item => item.id) |
| | | console.log(this.ids) |
| | | // alert(this.ids) |
| | | this.single = selection.length!=1 |
| | | this.multiple = !selection.length |
| | | }, |
| | |
| | | /** 查看详细信息 */ |
| | | handleCheck(row){ |
| | | const id = row.id; |
| | | this.$router.push("/family/zfEvent/bignote/familyeventInfo/" + id); |
| | | this.$router.push("/familymodel/bignote/familyeventInfo/" + id); |
| | | }, |
| | | /** 修改按钮操作 */ |
| | | handleUpdate(row) { |
| | | const id = row.id; |
| | | let jd = true |
| | | let jd = true; |
| | | |
| | | this.$router.push({ |
| | | path:"/family/zfEvent/bignote/familyeventInfo/" + id, |
| | | path:"/familymodel/bignote/familyeventInfo/" + id, |
| | | query:{ |
| | | detail:jd |
| | | } |
| | | }); |
| | | }, |
| | | |
| | | handleRemove(file) { |
| | | for(let i = 0; i < this.fileList.length; i++) |
| | | { |
| | | if(this.fileList[i].url==file.url) |
| | | this.$delete(this.fileList,i); |
| | | |
| | | } |
| | | }, |
| | | handleRemoveFile(file) { |
| | | for(let i = 0; i < this.fileListOther.length; i++) |
| | | { |
| | | if(this.fileListOther[i].url==file.url) |
| | | this.$delete(this.fileListOther,i); |
| | | } |
| | | }, |
| | | handlePictureCardPreview(file) { |
| | | this.dialogImageUrl = file.url; |
| | | this.dialogVisible = true; |
| | |
| | | addFamilyevent(this.formDat).then(response => { |
| | | this.$modal.msgSuccess("新增成功"); |
| | | this.open = false; |
| | | this.getList1(); |
| | | // 清空formDat对象的数据 |
| | | Object.keys(this.formDat).forEach(key => { |
| | | this.formDat[key] = ''; |
| | | }); |
| | | for(let i = 0; i <= this.fileList.length; i++) |
| | | { |
| | | this.handleRemove(this.fileList[0]); |
| | | } |
| | | for(let i = 0; i < this.fileListOther.length; i++){ |
| | | this.handleRemoveFile(this.fileListOther[0]); |
| | | } |
| | | this.getList(); |
| | | }); |
| | | } |
| | | }); |
| | | |
| | | }, |
| | | requestUpload(params) |
| | | { |
| | | requestUpload(params) { |
| | | |
| | | var file = params.file; |
| | | var formData = new FormData(); |
| | | formData.append('uploadFile', file); |
| | | let _this = this |
| | | |
| | | this.uploading1 = true; |
| | | uploadPic(formData).then(response => { |
| | | let pth = response.data.originalFilename.substr(response.data.originalFilename.length-4, response.data.originalFilename.length) |
| | | |
| | | this.uploading1 = false; |
| | | this.$modal.msgSuccess("上传成功"); |
| | | 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}) |
| | | |
| | | } |
| | | }) |
| | | }, |
| | | requestUpload1(params) |
| | | { |
| | | var file = params.file; |
| | | 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) |
| | | this.uploading = false; |
| | | this.$modal.msgSuccess("上传成功"); |
| | | if(_this.fot.includes(pth) !== true) |
| | | { |
| | | // _this.fileList.push({name:response.data.fileName, "url":response.data.url}) |
| | | _this.fileListOther.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() { |
| | | |
| | | this.$modal.confirm('是否确认删除所选中数据项?').then(function() { |
| | | return delFamilyevent(Ids); |
| | | }).then(() => { |
| | | this.getList(); |
| | | this.ids = [] |
| | | this.$modal.msgSuccess("删除成功"); |
| | | }).catch(() => {}); |
| | | }, |
| | | /** 导出按钮操作 */ |
| | | handleExport() { |
| | | const Ids = this.ids; |
| | | |
| | | if(Ids.length==0) |
| | | { |
| | | this.download('/family/zfEvent/export', { |
| | | ...this.queryParams |
| | | }, `zfEvent_${new Date().getTime()}.xlsx`) |
| | | } |
| | | else{ |
| | | this.download('/family/zfEvent/export1/'+Ids, { |
| | | }, `zfEvent_${new Date().getTime()}.xlsx`) |
| | | } |
| | | }, |
| | | /** 导入模板下载操作*/ |
| | | handleExportTemplate() |
| | | { |
| | | this.download('/family/zfEvent/model', { |
| | | |
| | | }, `zfEvent_${new Date().getTime()}.xlsx`) |
| | | }, |
| | | /** 导入操作*/ |
| | | handleEnport(params){ |
| | | var file = params.file; |
| | | var formData = new FormData(); |
| | | formData.append('excelImport', file); |
| | | let _this = this |
| | | enload(formData).then(response => { |
| | | _this.getList(); |
| | | Message({ message: "导入成功", type: 'warning' }) |
| | | |
| | | }).catch(err) |
| | | { |
| | | Message({ message: "导入失败", type: 'error' }) |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | }; |
| | | </script> |
| | | <style> |
| | | .el-table__row.statistics-warning-row { |
| | | background: #E0EEFE; |
| | | |
| | | } |
| | | .el-table__row.statistics-warning-row1 { |
| | | background: #FFEFF2; |
| | | |
| | | } |
| | | .el-table__cell { |
| | | font-size: 14px; /* 设置字体大小 */ |
| | | } |
| | | .button-container { |
| | | display: inline-flex; /* 设置按钮容器为行内元素 */ |
| | | } |
| | | </style> |