From 43e1199ca0c75787fb6b52bef7d595abd115ceab Mon Sep 17 00:00:00 2001 From: feige <791364011@qq.com> Date: 星期四, 02 一月 2025 21:44:58 +0800 Subject: [PATCH] 修改bug --- ruoyi-ui/src/views/bignote/index.vue | 463 ++++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 435 insertions(+), 28 deletions(-) diff --git a/ruoyi-ui/src/views/bignote/index.vue b/ruoyi-ui/src/views/bignote/index.vue index c8ef1fd..8384fbe 100644 --- a/ruoyi-ui/src/views/bignote/index.vue +++ b/ruoyi-ui/src/views/bignote/index.vue @@ -1,5 +1,5 @@ <template> - <div class="app-container" style="opacity: 1;"> + <div class="app-container" style="opacity: 1;" > <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" > <el-form-item label="澶т簨鏍囬" prop="title"> @@ -80,7 +80,7 @@ <!--color: #000000;--> <!--line-height: 21px;--> <!--">瀹跺ぇ浜嬭</div>--> - <el-row :gutter="10" class="mb8"> + <el-row :gutter="10" class="mb8" v-if="userId != 2"> <el-col :span="1.5"> <el-button type="primary" @@ -139,12 +139,27 @@ </el-upload> </el-col> + <el-dropdown placement="鍒嗕韩鐩稿叧"> + <el-button size="mini" type="primary" + plain + icon="el-icon-top">鍒嗕韩鐩稿叧</el-button> + <template #dropdown> + <el-dropdown-menu> + <el-dropdown-item :disabled="multiple" icon="el-icon-top" style="height: 32px;width:240px;color: #0099ff;" @click.native="handleShare">鍒嗕韩</el-dropdown-item> + + <el-dropdown-item icon="el-icon-top" @click.native="whoShare">鍒嗕韩缁欐垜鐨勬暟鎹�</el-dropdown-item> + <el-dropdown-item icon="el-icon-top" @click.native="handleWho">鍒嗕韩缁欒皝浜嗕粈涔堟暟鎹�</el-dropdown-item> + <el-dropdown-item icon="el-icon-top" @click.native="showData">灞曠ず涓嬭浇鐨勫垎浜暟鎹�</el-dropdown-item> + </el-dropdown-menu> + </template> + </el-dropdown> + - <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> + <right-toolbar :parentValue.sync="valueFromParent" :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> </el-row> <!-- 搴忓彿銆佹椂闂淬�佷汉鐗┿�佸湴鐐广�佸ぇ浜嬫爣棰樸�佺數瀛愭枃浠躲�佸娉� --> <!-- 杩欓噷鏈変釜familyList鏁扮粍 鏄湪data()涓畾涔夌殑 --> - <el-table v-loading="loading" :data="familyList" :row-key="getRowId" ref="multipleTable" @selection-change="handleSelectionChange" :row-class-name="tableRowClassName"> + <el-table v-loading="loading" border :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 fixed label="搴忓彿" sortable type="index" :index="(queryParams.pageNum-1)*queryParams.pageSize+1" width="80px"/> @@ -185,7 +200,7 @@ ></div> </template> </el-table-column> - <el-table-column label="鎿嶄綔" align="center" width="250" class-name="small-padding fixed-width"> + <el-table-column fixed="right" label="鎿嶄綔" align="center" width="250" class-name="small-padding fixed-width" v-if="userId != 2"> <template slot-scope="scope" v-if="scope.row.roleId !== 1"> <div class="button-container"> <el-button @@ -208,6 +223,12 @@ <el-button size="mini" type="text" icon="el-icon-d-arrow-right" @click="handleCheck(scope.row)">鏌ョ湅璇︽儏</el-button> </el-dropdown> + <el-button + size="mini" + type="text" + icon="el-icon-d-arrow-right" + @click="handleShare(scope.row)"> + <span style="font-size: 14px;">鍒嗕韩</span></el-button> </div> </template> </el-table-column> @@ -223,7 +244,7 @@ /> <!-- 娣诲姞鎴栦慨鏀硅祫浜т俊鎭厤缃璇濇 --> - <el-dialog :title="title" :visible.sync="open" width="800px" append-to-body> + <el-dialog :title="title" @click.native="handleDialogClick" :visible.sync="open" width="800px" :append-to-body="true"> <el-form ref="elForm" :model="formDat" :rules="rules" size="medium" label-width="100px"> @@ -241,8 +262,12 @@ </el-form-item> <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 v-model="formDat.happenTime" type="date" placeholder="璇烽�夋嫨鏃ユ湡" + @click.native.stop + ref="datePicker" + + + :editable="false" :clearable="false" :style="{width: '100%'}" value-format="yyyy-MM-dd" ></el-date-picker> </el-form-item> <el-form-item label="澶囨敞" prop="remark"> @@ -310,7 +335,7 @@ :http-request="requestUpload1" :show-file-list="true" > -<i slot="default" class="el-icon-plus"></i> + <i slot="default" class="el-icon-plus"></i> <div slot="file" slot-scope="{file}"> <!-- 娣诲姞video鍏冪礌鐢ㄤ簬鏄剧ず瑙嗛 --> <video @@ -322,7 +347,7 @@ ></video> <img v-else class="el-upload-list__item-thumbnail" - :src="file.url" + src="../../assets/images/deviceLis.png" alt="" style="width: 100%; height: 100%" fit="cover"></img> @@ -335,9 +360,9 @@ > <i class="el-icon-zoom-in"></i> </span> - + <span - + class="el-upload-list__item-delete" @click="handleRemoveFile(file)" > @@ -369,25 +394,181 @@ </el-dialog> + + <!-- 鍒嗕韩瀵硅瘽妗�1 --> + <el-dialog :title="title1" :visible.sync="open1" width="500px" append-to-body @close="handleClose2"> + + <el-table v-loading="loading1" :data="listRoot" :row-key="getRowId1" ref="table1" @selection-change="handleSelectionChange1" :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="(queryParams1.pageNum-1)*queryParams1.pageSize+1" width="130"/> + <!-- <el-table-column label="韬唤" prop="identity" sortable width="130" > + <template slot-scope="scope" > + <span v-if="scope.row.isMyFamily==1">绗瑊{scope.row.identity}}浠�</span> + <span v-else>鈥斺��</span> + </template> + </el-table-column> --> + <el-table-column label="濮撳悕" prop="nickName" sortable :show-overflow-tooltip="true" width="145" align="center"/> + </el-table> + + <div slot="footer" class="dialog-footer"> + <el-button type="primary" @click="subShare">鍒� 浜�</el-button> + </div> + + </el-dialog> + + <!-- 鍒嗕韩瀵硅瘽妗�2 --> + <el-dialog :title="title2" :visible.sync="open2" width="85%" append-to-body @close="handleClose"> + <div> + <el-select v-if="ifNum == 1" + v-model="user" id="userSelect" + placeholder="璇烽�夋嫨鍒嗕韩鐨勫璞�" clearable + style="width: 240px; + height: 35px; + border-radius: 16px 16px 16px 16px; + margin-bottom: 5px; + opacity: 0.5;" filterable allow-create + @change="selectValue"> + <el-option v-for="item in userOptions" + :key="item.value" :label="item.label" :value="item.value"/> + </el-select> + </div> + + <el-table v-loading="loading2" :data="shareList1" :row-key="getRowId2" ref="multipleTable" @selection-change="handleSelectionChange2" :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 fixed label="搴忓彿" sortable type="index" align="center" :index="(queryParams.pageNum-1)*queryParams.pageSize+1" width="60"/> --> + <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="url" width="160" align="center"> + <template slot-scope="scope" > + <div> + <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" width="250" class-name="small-padding fixed-width" v-if="userId != 2"> + <template slot-scope="scope" v-if="scope.row.roleId !== 1"> + <div class="button-container"> + <el-button + v-if="ifNum == 2" + size="mini" + type="text" + icon="el-icon-d-arrow-right" + @click="handleDown(scope.row)"> + <span style="font-size: 14px;">涓嬭浇</span></el-button> + <el-button + v-if="ifNum == 1" + size="mini" + type="text" + icon="el-icon-d-arrow-right" + @click="handleBack(scope.row)"> + <span style="font-size: 14px;">鏀跺洖</span></el-button> + <el-button + size="mini" + type="text" + icon="el-icon-d-arrow-right" + @click="handleCheck(scope.row)"> + <span style="font-size: 14px;">鏌ョ湅璇︽儏</span></el-button> + </div> + </template> + </el-table-column> + </el-table> + + <pagination + v-show="total1>0" + :total="total1" + :page.sync="queryParams2.pageNo" + :limit.sync="queryParams2.pageSize" + @pagination='fenYe' + style="background: #FEF7FC;" + /> + + </el-dialog> + </div> </template> <script> -import { listRole, getRole, delRole, addRole, updateRole, dataScope, changeRoleStatus, deptTreeSelect } from "@/api/system/role"; +import { listRole, getRole, delRole, addRole, +updateRole, dataScope, changeRoleStatus, deptTreeSelect } from "@/api/system/role"; import { treeselect as menuTreeselect, roleMenuTreeselect } from "@/api/system/menu"; import { Notification, MessageBox, Message, Loading } from 'element-ui' - +import {getAllInfo} from "@/api/system/user" //鍦╯ystem/note/index.js涓鍏ユ帴鍙e嚱鏁� --鎺ュソ浜� -import {listFamilyevent,enload, delFamilyevent , addFamilyevent , uploadPic} from "@/api/bignote/index"; +import {listFamilyevent,enload, delFamilyevent , addFamilyevent , uploadPic, + share,shareToWho,getWhoShare,downShareData,deleteShareData,showShareData,showShareUser + } from "@/api/bignote/index"; +import {listUserAll} from "@/api/root/index"; +import {getInfo} from "@/api/login"; export default { - name: "Role", + name: "ZfEvent", dicts: ['sys_normal_disable'], data() { return { + + total1: 0, + // 鍒嗕韩缁欒皝鐨刲ist + listRoot: [], + open1:false, + open2:false, + id1: undefined, + shareList1: [], + // shareList2: [], + userOptions:[], + user:undefined, + userList:[], + ifNum:undefined, + selectWho:undefined, + title1: "", + title2: "", + loading1: false, + loading2: false, + // 鏌ヨ鍙傛暟1 + queryParams1: { + pageNum: 1, + pageSize: 10, + }, + queryParams2: { + pageNo: 1, + pageSize: 10, + }, + ids1: [], + single1: true, + multiple1: true, + dateRange1: [], + + +valueFromParent: "瀹跺ぇ浜嬭", + userId: undefined, // 閬僵灞� disabled: false, @@ -406,7 +587,7 @@ // 瀹跺ぇ浜嬭琛ㄦ牸鏁版嵁 familyList: [], - + // 寮瑰嚭灞傛爣棰� title: "", // 鏄惁鏄剧ず寮瑰嚭灞� @@ -421,7 +602,7 @@ dateRange: [], // 鏁版嵁鑼冨洿閫夐」 fot:['.bmp','.jpg','.jpeg','.png','.tif','.gif','.pcx','.tga','.exif','.fpx', - '.svg','.psd','.cdr','.pcd','.dxf','.ufo','.eps','.ai','.aw','.WMF','.webp','.apng'], + '.svg','.psd','.cdr','.pcd','.dxf','.ufo','.eps','.ai','.aw','.WMF','.webp','.apng','.m4a','.M4A'], fileList:[], fileList1:[], uploadFileList: [], @@ -493,12 +674,225 @@ typeOptions: [], }; }, + created() { this.getList(); // this.getCateInfor() + this.getInfo() + + this.getList1(); + }, methods: { + handleDialogClick() + { + // 鍏抽棴鏃ユ湡閫夋嫨鍣� + this.$refs.datePicker.handleClose(); + }, + // 鍒嗛〉 + fenYe(){ + // @pagination='ifNum === 1 ? selectValue : (ifNum === 2 ? whoShare : showData)' + if(this.ifNum === 1){ + this.selectValue(this.selectWho) + }else if(this.ifNum === 2){ + this.whoShare() + }else{ + this.showData() + } + }, + // 鍏抽棴寮圭獥鍚� + handleClose(){ + this.user = '' + this.queryParams2.pageNo = 1 + this.total1 = 0 + }, + handleClose2(){ + this.$refs.table1.clearSelection() + }, + + // 涓嬭浇浠栦汉缁欐垜鍒嗕韩鐨勬暟鎹� + handleDown(row){ + const a = {"downloadContent" : row.id} + downShareData(a).then(() => { + Message({ message: "涓嬭浇鎴愬姛", type: 'success' }) + }) + }, + + // 鏀跺洖鍒嗕韩缁欏埆浜虹殑鏁版嵁 + handleBack(row){ + // 鍒嗕韩缁欒皝鐨勶細this.selectWho + const list = {"shareIds": [this.selectWho],"shareContents": [row.id]} + deleteShareData(list).then(()=>{ + Message({ message: "鏀跺洖鎴愬姛", type: 'success' }) + + const list2 = {"shareIds": [this.selectWho]} + shareToWho(list2,this.queryParams2).then(response => { + this.shareList1 = response.data.data + this.total1 = response.data.total; + }) + }) + }, + // 灞曠ず涓嬭浇鐨勫垎浜暟鎹� + showData(){ + this.shareList1 = [] + this.ifNum = 3 + this.open2 = true + this.title2 = "涓嬭浇鐨勫垎浜暟鎹�"; + showShareData(this.queryParams2).then(response => { + this.shareList1 = response.data.data + this.total1 = response.data.total; + // console.log(response,'灞曠ず涓嬭浇鐨勫垎浜暟鎹睍绀轰笅杞界殑鍒嗕韩鏁版嵁') + }) + }, + // 灞曠ず鍒嗕韩缁欐垜鐨勬暟鎹� + whoShare(){ + this.shareList1 = [] + this.ifNum = 2 + this.open2 = true + this.title2 = "鍒嗕韩缁欐垜鐨勬暟鎹�"; + // const list = {"shareId": this.userList} + // const list = {"shareId": 111} + getWhoShare(this.queryParams2).then(response => { + const data = response.data.data + this.total1 = response.data.total + console.log(response,'灞曠ず鍒嗕韩缁欐垜鐨勬暟鎹睍绀哄垎浜粰鎴戠殑鏁版嵁s') + for(let i in data){ + console.log(i,'灞曠ず鍒嗕韩缁欐垜鐨勬暟鎹睍绀哄垎浜粰鎴戠殑鏁版嵁') + this.shareList1.push(data[i]) + } + }) + }, + + // 鍒嗕韩缁欒皝浜嗕粈涔堟暟鎹� + selectValue(value){ + this.selectWho = value + this.shareList1 = [] + const list = {"shareIds": [this.selectWho]} + shareToWho(list,this.queryParams2).then(response => { + // this.loading2 = true; + response.data.data.forEach(res=>{ + if(res){ + this.shareList1.push(res) + } + }) + // this.shareList1 = response.data.data + this.total1 = response.data.total; + // this.loading2 = false; + console.log(response.data,'鍒嗕韩缁欒皝浜嗕粈涔堟暟鎹垎浜粰璋佷簡浠�涔堟暟鎹�') + }) + }, + handleWho(){ + this.ifNum = 1 + this.open2 = true + this.title2 = "鍒嗕韩缁欒皝浜嗕粈涔堟暟鎹�"; + this.shareList1 = [] + }, + + /** 鍒嗕韩鎿嶄綔 */ + handleShare(row) { + if(row.id){ + this.id1 = [row.id] + } + this.open1 = true; + this.title1 = "鍒嗕韩"; + }, + // 澶氶�夋閫変腑鏁版嵁 + handleSelectionChange1(selection) { + this.ids1 = selection.map(item => item.userId) + this.single1 = selection.length!=1 + this.multiple1 = !selection.length + }, + // 澶氶�夋閫変腑鏁版嵁 + handleSelectionChange2(selection) { + // this.ids1 = selection.map(item => item.userId) + // // console.log(selection) + // console.log(this.ids1,'ids1ids1ids1ids1') + // this.single1 = selection.length!=1 + // this.multiple1 = !selection.length + }, + getRowId1(row) + { + return row.id + }, + getRowId2(row) + { + return row.id + }, + getList1() { + this.loading1 = true; + let userId = this.$store.state.user.userId + // alert(userId) + + showShareUser(userId, 2013).then(response=>{ + console.log("===========ddddddddddddd") + console.log(response.data) + console.log("--------------------") + response.data.forEach(element =>{ + this.userOptions.push({label: element.oldName,value: element.userId}) + }) + }) + // this.queryParams1.happenStartTime = this.dateRange1.length > 0 && this.dateRange1[0] + // this.queryParams1.happenEndTime = this.dateRange1.length > 0 && this.dateRange1[1] + // // alert(this.$store.state.user.clanId) + // this.listRoot = [] + let clanId = this.$store.state.user.clanId + getAllInfo(clanId).then(response => { + this.listRoot = response.data; + const kon = {} + console.log(response.data,'userListuserListuserList99999999999999') + this.listRoot.forEach(element => { + kon[element['nickName']] = element['userId'] + }) + // for(let i in kon){ + // this.userOptions.push({label: i,value: kon[i]}) + // } + // for(let i in this.userOptions){ + // this.userList.push(this.userOptions[i].value) + // } + // console.log(this.userList,'userListuserListuserList99999999999999') + this.loading1 = false; + } + ); + }, + // 纭鍒嗕韩 + subShare(row) { + const shareList = {} + shareList.shareContents = this.id1 || this.ids; + shareList.shareIds = this.ids1 + if(shareList.shareIds.length==0) + { + this.$modal.msgSuccess("璇烽�夋嫨鍒嗕韩瀵硅薄"); + return; + } + console.log(shareList,'sharelistsharelist') + + + + + this.$modal.confirm('鏄惁纭鍒嗕韩锛�').then(function() { + return share(shareList); + }).then(() => { + + this.getList(); + this.getList1(); + this.$modal.msgSuccess("鍒嗕韩鎴愬姛"); + this.id1 = undefined + this.open1 = false; + }).catch(() => {}); + }, + + // ------------------------------------------------------------------ + + + + getInfo(){ + console.log('-----------------') + getInfo().then(response=>{ + console.log(response.user.roles[0].roleId,'roleID') + this.userId = response.user.roles[0].roleId + }) + }, isImage(fileType) { return fileType.startsWith('image/'); @@ -506,8 +900,16 @@ isInFot(fileName) { return this.fot.includes(fileName); }, + + close(){ + //alert(234) + + + this.open = false + }, // 鍙栨秷鎸夐挳 cancelData() { + this.open = false; this.reset(); }, @@ -544,7 +946,7 @@ _this.loading = false; }else{ _this.familyList = response.data.data; - + console.log(_this.familyList,'familyListfamilyListfamilyList') _this.total = response.data.total; _this.loading = false; } @@ -583,7 +985,7 @@ deptCheckStrictly: true, remark: undefined }; - this.resetForm("form"); + this.resetForm("elForm"); }, /** 鎼滅储鎸夐挳鎿嶄綔 */ handleQuery() { @@ -615,6 +1017,7 @@ /** 鏌ョ湅璇︾粏淇℃伅 */ handleCheck(row){ const id = row.id; + this.open2 = false; this.$router.push("/familymodel/bignote/familyeventInfo/" + id); }, /** 淇敼鎸夐挳鎿嶄綔 */ @@ -654,12 +1057,13 @@ for(let i = 0; i < this.fileListOther.length; i++) { if(this.fileListOther[i].url==file.url) - { + { this.$delete(this.fileListOther,i); - this.$delete(this.uploadFileList1,i); + this.$delete(this.uploadFileList1,i); } } }, + handlePictureCardPreview(file) { this.dialogImageUrl = file.url; this.dialogVisible = true; @@ -700,7 +1104,7 @@ }, handleChange(file, fileList1) { //瀹氫箟涓�涓叏灞�鏁扮粍uploadFileList鏉ュ仛瀛樺偍 - + // this.uploadFileList.push(file.raw); console.log("=========5555=========") console.log(file) @@ -733,18 +1137,18 @@ } this.uploadFileList1.forEach((elem)=>{ formData.append("files", elem) - + }) let _this = this - + this.uploading = true; uploadPic(formData).then(response => { _this.uploadFileList1 = [] _this.formDat.url = _this.formDat.url+","+response.fileNames _this.$modal.msgSuccess("鏂囦欢涓婁紶鎴愬姛!"); }) - + }, picUpload() { @@ -759,15 +1163,18 @@ //console.log(this.uploadFileList) this.uploadFileList.forEach((elem)=>{ formData.append("files", elem) - + }) + // console.log(formData,'465456456') //alert(90) let _this = this //alert(9) uploadPic(formData).then(response => { // alert("dds") + // console.log(response,'123123123') + // console.log(_this.formDat.url,'666') _this.formDat.url = _this.formDat.url+","+response.fileNames - // alert(_this.formDat.url) + // alert(_this.formDat.url) _this.uploadFileList = [] _this.$modal.msgSuccess("鍥剧墖涓婁紶鎴愬姛"); -- Gitblit v1.9.1