From 3910b79b0549b583387ff96ef5a21a2ad5313631 Mon Sep 17 00:00:00 2001 From: feige <feige@qq.com> Date: 星期五, 15 十一月 2024 10:43:02 +0800 Subject: [PATCH] 修改了相关bug --- ruoyi-ui/src/views/device/index.vue | 475 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 440 insertions(+), 35 deletions(-) diff --git a/ruoyi-ui/src/views/device/index.vue b/ruoyi-ui/src/views/device/index.vue index c08a8e6..c0cc85f 100644 --- a/ruoyi-ui/src/views/device/index.vue +++ b/ruoyi-ui/src/views/device/index.vue @@ -75,7 +75,7 @@ </el-form-item> </el-form> - <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" @@ -134,11 +134,29 @@ </el-upload> </el-col> - <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> + <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 :parentValue.sync="valueFromParent" :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> + </el-row> <!-- 搴忓彿銆佽澶囧悕绉般�佹椂闂淬�佽喘涔颁汉銆佷簨椤瑰唴瀹广�佸瓨鏀惧湴鐐广�佺數瀛愭枃浠躲�佸娉� 鎿嶄綔--> <!-- 杩欓噷鏈変釜familyList鏁扮粍 鏄湪data()涓畾涔夌殑 --> - <el-table v-loading="loading" :data="equipmentList" :row-key="getRowId" ref="multipleTable" @selection-change="handleSelectionChange" :row-class-name="tableRowClassName" style="background: #FFEFF2; border-radius: 14px 14px 14px 14px;"> + <el-table v-loading="loading" border :data="equipmentList" :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" :reserve-selection="true" width="55" align="center" /> <el-table-column fixed label="搴忓彿" sortable type="index" :index="(queryParams.pageNum-1)*queryParams.pageSize+1" width="120"/> <el-table-column label="璁惧鍚嶇О" prop="name" sortable width="150" /> @@ -187,7 +205,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 @@ -210,6 +228,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> @@ -302,13 +326,13 @@ </div> - + </el-upload> <el-button style="margin-left: 10px" size="small" type="success" - + @click="picUpload" >涓婁紶鍒版湇鍔″櫒</el-button> <h4 class="form-header">鍏朵粬闄勪欢 </h4> @@ -319,8 +343,8 @@ multiple :on-remove="handleRemoveFile" - - + + ref="upload1" :on-change="handleChange1" :auto-upload="false" @@ -328,7 +352,7 @@ :http-request="requestUpload1" :show-file-list="true" > - + <i slot="default" class="el-icon-plus"></i> <div slot="file" slot-scope="{file}"> <!-- 娣诲姞video鍏冪礌鐢ㄤ簬鏄剧ず瑙嗛 --> @@ -341,11 +365,11 @@ ></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> - + <span class="el-upload-list__item-actions"> <span class="el-upload-list__item-name">{{ file.name }}</span> <span @@ -354,16 +378,16 @@ > <i class="el-icon-zoom-in"></i> </span>A - + <span - + class="el-upload-list__item-delete" @click="handleRemoveFile(file)" > <i class="el-icon-delete"></i> </span> </span> - + </div> <template #tip> <div class="el-upload__tip"> @@ -390,22 +414,189 @@ </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" border :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="name" sortable width="150" /> + + <el-table-column label="鏃堕棿" align="happenTime" sortable prop="happenTime" width="140"> + <template slot-scope="scope">{{scope.row.happenTime? scope.row.happenTime: '鈥斺�斺�斺��'}}</template> + </el-table-column> + <el-table-column label="鏄惁娉ㄩ攢" align="center" sortable prop="status" width="140"> + <template slot-scope="scope"> + {{ getSrc1(scope.row.status) }} + </template> + </el-table-column> + <el-table-column label="璐拱浜�" prop="buyer" sortable width="140" /> + <el-table-column label="浜嬮」鍐呭" prop="content" sortable :show-overflow-tooltip="true" width="150" /> + <el-table-column label="瀛樻斁鍦扮偣" prop="location" sortable width="120" /> + + <el-table-column label="澶囨敞" prop="remark" sortable width="100" > + <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="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 { treeselect as menuTreeselect, roleMenuTreeselect } from "@/api/system/menu"; - +import {getInfo} from "@/api/login"; +import {getAllInfo} from "@/api/system/user" //鍦╯ystem/note/index.js涓鍏ユ帴鍙e嚱鏁� --鎺ュソ浜� -import {listEquipment,enload,delEquipment, addEquipment, uploadPic} from "@/api/device/index"; +import {listEquipment,enload,delEquipment, addEquipment, uploadPic, + share,shareToWho,getWhoShare,downShareData,deleteShareData,showShareData +} from "@/api/device/index"; +import {listUserAll} from "@/api/root/index"; +import { Notification, MessageBox, Message, Loading } from 'element-ui' +import {showShareUser} from "@/api/bignote/index"; + export default { - name: "Role", + name: "ZfDevice", dicts: ['sys_normal_disable'], data() { return { + // 鍒嗕韩缁欒皝鐨刲ist + total1: 0, + 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, value:"", @@ -437,8 +628,8 @@ 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'], + fileList:[ ], fileList1:[], @@ -471,7 +662,8 @@ buyer:undefined, location:undefined, createDate:undefined, - happenTime:undefined + happenTime:undefined, + name:undefined, }, // 琛ㄥ崟鍙傛暟 form: {}, @@ -531,11 +723,210 @@ }; }, created() { + // alert(1233) this.getList(); // this.getCateInfor() + this.getInfo() + this.getList1(); }, methods: { + // 鍒嗛〉 + 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 + + this.userOptions = [] + showShareUser(userId, 2017).then(response=>{ + console.log("===========ddddddddddddd") + console.log(response.data) + console.log("--------------------") + response.data.forEach(element =>{ + this.userOptions.push({label: element.oldName,value: element.userId}) + }) + }) + + + 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 + }) + }, getSrc1(status) { if (status === 1) { @@ -566,9 +957,21 @@ getList() { this.loading = true; - this.queryParams.happenStartTime = this.dateRange.length > 0 && this.dateRange[0] - this.queryParams.happenEndTime = this.dateRange.length > 0 && this.dateRange[1] - // console.log(this.queryParams) + console.log(this.dateRange) + if(this.dateRange!=null) + { + this.queryParams.happenStartTime = this.dateRange.length > 0 && this.dateRange[0] + this.queryParams.happenEndTime = this.dateRange.length > 0 && this.dateRange[1] + console.log(this.queryParams) + } + else + { + this.queryParams.happenStartTime = null + this.queryParams.happenEndTime = null + } + + console.log(this.queryParams) + //alert(this.queryParams.name) // listProperty(this.addDateRange(this.queryParams, this.dateRange)).then(response => { let _this = this listEquipment(this.queryParams).then(response => { @@ -619,7 +1022,7 @@ deptCheckStrictly: true, remark: undefined }; - this.resetForm("form"); + this.resetForm("elForm"); }, /** 鎼滅储鎸夐挳鎿嶄綔 */ handleQuery() { @@ -651,6 +1054,8 @@ /** 鏌ョ湅璇︾粏淇℃伅 */ handleCheck(row){ const id = row.id; + this.open2 = false; + // alert(988) this.$router.push("/familymodel/Device/equipmentInfo/" + id); }, /** 淇敼鎸夐挳鎿嶄綔 */ @@ -682,7 +1087,7 @@ this.$delete(this.fileList,i); this.$delete(this.uploadFileList,i); } - + } }, handleRemoveFile(file) { @@ -690,10 +1095,10 @@ { if(this.fileListOther[i].url==file.url) { - + this.$delete(this.fileListOther,i); this.$delete(this.uploadFileList1,i); - + } } }, @@ -735,7 +1140,7 @@ }, handleChange(file, fileList1) { //瀹氫箟涓�涓叏灞�鏁扮粍uploadFileList鏉ュ仛瀛樺偍 - + // this.uploadFileList.push(file.raw); console.log("=========5555=========") console.log(file) @@ -758,7 +1163,7 @@ }, fileUpload(){ // var file = params.file; - + var formData = new FormData(); this.$refs.upload1.submit(); // formData.append('uploadFile', file); @@ -768,18 +1173,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() { @@ -794,7 +1199,7 @@ //console.log(this.uploadFileList) this.uploadFileList.forEach((elem)=>{ formData.append("files", elem) - + }) //alert(90) let _this = this @@ -804,7 +1209,7 @@ _this.formDat.url = _this.formDat.url+","+response.fileNames _this.uploadFileList = [] _this.$modal.msgSuccess("鍥剧墖涓婁紶鎴愬姛"); - + }); }, requestUpload(params) { -- Gitblit v1.9.1