From bd40473c9c634005bc7e62e7fc901bcd8b598fa0 Mon Sep 17 00:00:00 2001 From: feige <feige@qq.com> Date: 星期五, 02 二月 2024 15:20:26 +0800 Subject: [PATCH] 提交了修改 --- ruoyi-ui/src/views/note/index.vue | 234 +++++++++++++++++++++++++++++++++++++++------------------- 1 files changed, 158 insertions(+), 76 deletions(-) diff --git a/ruoyi-ui/src/views/note/index.vue b/ruoyi-ui/src/views/note/index.vue index 1a40ef3..730314f 100644 --- a/ruoyi-ui/src/views/note/index.vue +++ b/ruoyi-ui/src/views/note/index.vue @@ -2,13 +2,16 @@ <div class="app-container"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch"> <el-form-item label="绫诲瀷" prop="type"> - <el-input - v-model="queryParams.type" - placeholder="璇疯緭鍏ョ被鍨�" - clearable - style="width: 240px" - @keyup.enter.native="handleQuery" - /> + + <el-select v-model="queryParams.type" placeholder="璇烽�夋嫨绫诲埆" clearable + style="width: 200px; + height: 35px; + border-radius: 16px 16px 16px 16px; + opacity: 0.5;" allow-create + filterable clearable :style="{width: '100%'}" > + <el-option v-for="(item, index) in typeOptions" :key="index" :label="item.label" :value="item.value" + ></el-option> + </el-select> </el-form-item> <el-form-item label="鏍囬" prop="title"> @@ -16,7 +19,10 @@ v-model="queryParams.title" placeholder="璇疯緭鍏ユ爣棰�" clearable - style="width: 240px" + style="width: 200px; + height: 35px; + border-radius: 16px 16px 16px 16px; + opacity: 0.5;" @keyup.enter.native="handleQuery" /> </el-form-item> @@ -25,7 +31,10 @@ v-model="queryParams.location" placeholder="璇疯緭鍏ュ瓨鍌ㄥ湴鍧�" clearable - style="width: 240px" + style="width: 200px; + height: 35px; + border-radius: 16px 16px 16px 16px; + opacity: 0.5;" @keyup.enter.native="handleQuery" /> </el-form-item> @@ -34,7 +43,10 @@ v-model="queryParams.holder" placeholder="璇疯緭鍏ユ寔鏈変汉" clearable - style="width: 240px" + style="width: 200px; + height: 35px; + border-radius: 16px 16px 16px 16px; + opacity: 0.5;" @keyup.enter.native="handleQuery" /> </el-form-item> @@ -43,16 +55,22 @@ v-model="queryParams.address" placeholder="璇疯緭鍏ュ叿浣撲綅缃�" clearable - style="width: 240px" + style="width: 200px; + height: 35px; + border-radius: 16px 16px 16px 16px; + opacity: 0.5;" @keyup.enter.native="handleQuery" /> </el-form-item> <!-- </el-form-item> --> - <el-form-item label="鍙戠敓鏃堕棿"> + <el-form-item label="鍙戠敓鏃堕棿" prop="happenTime"> <el-date-picker v-model="dateRange" - style="width: 240px" - value-format="yyyy-MM-dd HH-MM-SS" + style="width: 240px; + height: 35px; + border-radius: 16px 16px 16px 16px; + opacity: 0.5;" + value-format="yyyy-MM-dd" type="daterange" range-separator="-" start-placeholder="寮�濮嬫棩鏈�" @@ -107,11 +125,11 @@ plain icon="el-icon-download" size="mini" - @click="handleExport" + @click="handleExportTemplate" v-hasPermi="['family:note:export']" >瀵煎叆妯℃澘涓嬭浇</el-button> </el-col> - <el-col :span="1.2"> + <el-col :span="1.5"> <el-upload action="" class="upload-demo" @@ -120,7 +138,7 @@ > <el-button size="mini" type="primary" plain - icon="el-icon-plus" >瀵煎叆</el-button> + icon="el-icon-top" >瀵煎叆</el-button> </el-upload> </el-col> @@ -128,45 +146,51 @@ <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> </el-row> - <el-table v-loading="loading" :data="propertyList" @selection-change="handleSelectionChange" :row-class-name="tableRowClassName"> + <el-table v-loading="loading" :data="propertyList" :row-key="getRowId" ref="multipleTable" @selection-change="handleSelectionChange" :row-class-name="tableRowClassName"> <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="120"/> + <el-table-column fixed label="搴忓彿" sortable type="index" :index="(queryParams.pageNum-1)*queryParams.pageSize+1" width="100"/> <el-table-column label="绫诲瀷" prop="type" sortable :show-overflow-tooltip="true" width="150" /> <el-table-column label="鏍囬" prop="title" sortable :show-overflow-tooltip="true" width="150" /> - <el-table-column label="瀛樺偍鍦板潃" prop="location" sortable width="100" /> - <el-table-column label="鎸佹湁浜�" prop="holder" sortable width="100" /> - <el-table-column label="鍏蜂綋浣嶇疆" prop="address" sortable width="100" /> - <el-table-column label="澶囨敞" prop="remark" sortable width="100" > + <el-table-column label="瀛樺偍鍦板潃" prop="location" sortable width="150" /> + <el-table-column label="鎸佹湁浜�" prop="holder" sortable width="150" /> + <el-table-column label="鍏蜂綋浣嶇疆" prop="address" sortable width="150" /> + <el-table-column label="澶囨敞" prop="remark" sortable width="130" > <template slot-scope="scope">{{scope.row.remark? scope.row.remark: '鈥斺�斺�斺��'}}</template> </el-table-column> + <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="familyId" sortable width="100" /> --> - <el-table-column label="鍙戠敓鏃堕棿" prop="happenTime" sortable width="100" align="center"> + <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> - <el-table-column label="鐢靛瓙鏂囦欢" prop="url" width="160" > + <el-table-column label="鐢靛瓙鏂囦欢" prop="url" width="130" > <template slot-scope="scope" > - <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 !== ','" - > - <img - class="el-upload-list__item-thumbnail" - src="../../assets/images/deviceA.png" - alt="" - style="width: 35px; height: 35px;" - fit="cover" - v-if="scope.row.url === ','" - > + <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="鎿嶄綔" 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"> + <div class="button-container"> <el-button size="mini" type="text" @@ -185,6 +209,7 @@ <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> @@ -201,15 +226,16 @@ <!-- 娣诲姞鎴栦慨鏀硅祫浜т俊鎭厤缃璇濇 --> <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="type">--> +<!-- <el-input v-model="formDat.type" placeholder="璇疯緭鍏ョ被鍒�" clearable :style="{width: '100%'}" ></el-input>--> +<!-- </el-form-item>--> <el-form-item label="绫诲埆" prop="type"> - <el-input v-model="formDat.type" placeholder="璇疯緭鍏ョ被鍒�" clearable :style="{width: '100%'}" ></el-input> - </el-form-item> - <!-- <el-form-item label="绫诲埆" prop="type"> - <el-select v-model="formDat.type" placeholder="璇烽�夋嫨绫诲埆" clearable :style="{width: '100%'}" > + <el-select v-model="formDat.type" placeholder="璇烽�夋嫨绫诲埆" allow-create + filterable clearable :style="{width: '100%'}" > <el-option v-for="(item, index) in typeOptions" :key="index" :label="item.label" :value="item.value" ></el-option> </el-select> - </el-form-item> --> + </el-form-item> <el-form-item label="鏍囬" prop="title"> <el-input v-model="formDat.title" placeholder="璇疯緭鍏ユ爣棰�" clearable :style="{width: '100%'}" ></el-input> </el-form-item> @@ -226,10 +252,8 @@ </el-input> </el-form-item> <el-form-item label="鍙戠敓鏃堕棿" prop="happenTime"> - <el-date-picker - v-model='formDat.happenTime' - type='date' - placeholder='閫夋嫨鏃ユ湡' + <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"> @@ -244,7 +268,7 @@ :http-request="requestUpload" :file-list="fileList" > - <i slot="default" class="el-icon-plus"></i> + <i slot="default" class="el-icon-plus"></i> <div slot="file" slot-scope="{file}"> <img class="el-upload-list__item-thumbnail" @@ -281,11 +305,12 @@ class="upload-demo" multiple - :on-remove="handleRemove" + :on-remove="handleRemoveFile" :http-request="requestUpload" :show-file-list="true" > <el-button type="primary">鐐瑰嚮涓婁紶</el-button> + <div v-if="uploading" class="upload-status">姝e湪涓婁紶...</div> <template #tip> <div class="el-upload__tip"> </div> @@ -316,7 +341,9 @@ //鍦╯ystem/note/index.js涓鍏ユ帴鍙e嚱鏁� -import {listProperty,enload, getPropertyInfo, delProperty, getCategory, addProperty, uploadPic} from "@/api/note/index"; +import {listProperty,enload, getPropertyInfo, delProperty, getCategory, +addProperty, uploadPic} from "@/api/note/index"; +import {Message} from "element-ui"; export default { name: "Role", dicts: ['sys_normal_disable'], @@ -352,14 +379,17 @@ // 鏃ユ湡鑼冨洿 dateRange: [], // 鏁版嵁鑼冨洿閫夐」 - 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:[ ], dsb:true, - btn:false, + uploading: false, formDat: { type: undefined, title: undefined, @@ -385,7 +415,8 @@ holder:undefined, address:undefined, happenStartTime:undefined, - happenEndTime:undefined + happenEndTime:undefined, + happenTime:undefined }, // 琛ㄥ崟鍙傛暟 form: {}, @@ -450,7 +481,10 @@ return "statistics-warning-row"; } }, - + getRowId(row) + { + return row.id + }, /** 鏌ヨ瑙掕壊鍒楄〃 */ getList() { this.loading = true; @@ -458,14 +492,21 @@ this.queryParams.happenEndTime = this.dateRange.length > 0 && this.dateRange[1] // console.log(this.queryParams) + let _this = this // listProperty(this.addDateRange(this.queryParams, this.dateRange)).then(response => { listProperty(this.queryParams).then(response => { // alert(123) // console.log(response.data) - this.propertyList = response.data.data; + if(response.msg=="鎮ㄦ病鍔犲叆鍒板搴旂殑瀹跺涵锛岃鑱旂郴绠$悊鍛�") + { + _this.$modal.msgSuccess("鎮ㄦ病鍔犲叆鍒板搴旂殑瀹跺涵锛岃鑱旂郴绠$悊鍛�"); + _this.loading = false; + }else{ + _this.propertyList = response.data.data; - this.total = response.data.total; - this.loading = false; + _this.total = response.data.total; + _this.loading = false; + } } ); }, @@ -473,15 +514,27 @@ getCateInfor() { let _this = this + _this.typeOptions = [] getCategory().then(response=>{ - - response.data.itemValues.replace("{","").replace("}","").split(",").map(elem=>{ - _this.typeOptions.push({"label":elem.split(":")[0], "value":elem.split(":")[0]}) + console.log(response.data) + // alert(9801) + 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]}) + // }) }) }, 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) @@ -593,6 +646,13 @@ 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]); + } }, requestUpload(params) { @@ -600,10 +660,11 @@ 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}) @@ -619,41 +680,56 @@ }, /** 鍒犻櫎鎸夐挳鎿嶄綔 */ handleDelete(row) { + //alert(23) const Ids = row.id || this.ids; - this.$modal.confirm('鏄惁纭鍒犻櫎璧勪骇缂栧彿涓�"' + Ids + '"鐨勬暟鎹」锛�').then(function() { + this.$modal.confirm('鏄惁纭鍒犻櫎鎵�閫夋暟鎹」锛�').then(function() { return delProperty(Ids); }).then(() => { this.getList(); this.$modal.msgSuccess("鍒犻櫎鎴愬姛"); }).catch(() => {}); }, + //瀵煎叆妯℃澘 + handleExportTemplate(){ + this.download('/family/property/model', { + + }, `property${new Date().getTime()}.xlsx`) + }, /** 瀵煎嚭鎸夐挳鎿嶄綔 */ handleExport() { - this.download('family/property/export', { - ...this.queryParams - }, `property_${new Date().getTime()}.xlsx`) + const Ids = this.ids; + + if(Ids.length==0) + { + this.download('family/property/export', { + ...this.queryParams + }, `property_${new Date().getTime()}.xlsx`) + } + else{ + this.download('family/property/export1/'+Ids, { + }, `property_${new Date().getTime()}.xlsx`) + } }, + /** 瀵煎叆鎿嶄綔*/ handleEnport(params){ var file = params.file; var formData = new FormData(); formData.append('excelImport', file); let _this = this - alert(file) + enload(formData).then(response => { _this.getList(); Message({ message: "瀵煎叆鎴愬姛", type: 'warning' }) - }).catch(err) - { - Message({ message: "瀵煎叆澶辫触", type: 'error' }) - } + }).catch(() => { Message({ message: "瀵煎叆澶辫触", type: 'error' })}); } } + }; </script> -<style> +<style scoped=""> .el-table__row.statistics-warning-row { background: #E0EEFE; @@ -662,4 +738,10 @@ background: #FFEFF2; } +.el-table__cell { + font-size: 14px; /* 璁剧疆瀛椾綋澶у皬 */ +} +.button-container { + display: inline-flex; /* 璁剧疆鎸夐挳瀹瑰櫒涓鸿鍐呭厓绱� */ +} </style> -- Gitblit v1.9.1