From 695a1d56442b734d44212269f1e4c44220f9d9f0 Mon Sep 17 00:00:00 2001 From: yz3456 <2753272399@qq.com> Date: 星期二, 13 八月 2024 19:18:09 +0800 Subject: [PATCH] 完成了所有的分享模块 --- ruoyi-ui/src/api/wish/index.js | 50 + ruoyi-ui/src/views/secret/index.vue | 379 ++++++++++ ruoyi-ui/src/views/wish/index.vue | 382 ++++++++++ ruoyi-ui/src/views/doctor/index.vue | 4 ruoyi-ui/src/views/honor/index.vue | 378 ++++++++++ ruoyi-ui/src/views/self/show.vue | 373 ++++++++++ ruoyi-ui/src/api/selfeconomy/index.js | 51 + ruoyi-ui/src/api/secret/index.js | 52 + ruoyi-ui/src/api/honor/index.js | 50 + ruoyi-ui/src/api/self/index.js | 1 ruoyi-ui/src/views/selfeconomy/index.vue | 387 ++++++++++ ruoyi-ui/src/api/memo/index.js | 52 + ruoyi-ui/src/views/note/index.vue | 38 13 files changed, 2,180 insertions(+), 17 deletions(-) diff --git a/ruoyi-ui/src/api/honor/index.js b/ruoyi-ui/src/api/honor/index.js index 66046ef..60feeda 100644 --- a/ruoyi-ui/src/api/honor/index.js +++ b/ruoyi-ui/src/api/honor/index.js @@ -87,3 +87,53 @@ params: {'id':21} }) } +// ------------------------------- +// 鍒嗕韩 +export function share(data) { + return request({ + url: '/zHonorShare/share', + method: 'post', + data: data + }) +} +// 鏌ョ湅鍒嗕韩缁欒皝浜嗕粈涔堟暟鎹� +export function shareToWho(data,query) { + return request({ + url: '/zHonorShare/getInfoByUserId', + method: 'post', + data: data, + params: query + }) +} +// 鏌ョ湅璋佸垎浜簡鏁版嵁 +export function getWhoShare(query) { + return request({ + url: '/zHonorShare/getInfoByShareId', + method: 'get', + params: query + }) +} +// 涓嬭浇鍒嗕韩鐨勬暟鎹� +export function downShareData(data) { + return request({ + url: '/zHonorShare/downloadDate', + method: 'post', + data: data + }) +} +// 鏀跺洖鍒嗕韩鏁版嵁 +export function deleteShareData(data) { + return request({ + url: '/zHonorShare/deleteInfoByUserId', + method: 'post', + data: data + }) +} +// 灞曠ず涓嬭浇鐨勬暟鎹� +export function showShareData(query) { + return request({ + url: '/zHonorShare/all', + method: 'get', + params: query + }) +} diff --git a/ruoyi-ui/src/api/memo/index.js b/ruoyi-ui/src/api/memo/index.js index b71ec0e..3b67d07 100644 --- a/ruoyi-ui/src/api/memo/index.js +++ b/ruoyi-ui/src/api/memo/index.js @@ -70,3 +70,55 @@ }) } +// ------------------------------- +// 鍒嗕韩 +export function share(data) { + return request({ + url: '/zSelfNoteShare/share', + method: 'post', + data: data + }) +} +// 鏌ョ湅鍒嗕韩缁欒皝浜嗕粈涔堟暟鎹� +export function shareToWho(data,query) { + return request({ + url: '/zSelfNoteShare/getInfoByUserId', + method: 'post', + data: data, + params: query + }) +} +// 鏌ョ湅璋佸垎浜簡鏁版嵁 +export function getWhoShare(query) { + return request({ + url: '/zSelfNoteShare/getInfoByShareId', + method: 'get', + params: query + }) +} +// 涓嬭浇鍒嗕韩鐨勬暟鎹� +export function downShareData(data) { + return request({ + url: '/zSelfNoteShare/downloadDate', + method: 'post', + data: data + }) +} +// 鏀跺洖鍒嗕韩鏁版嵁 +export function deleteShareData(data) { + return request({ + url: '/zSelfNoteShare/deleteInfoByUserId', + method: 'post', + data: data + }) +} +// 灞曠ず涓嬭浇鐨勬暟鎹� +export function showShareData(query) { + return request({ + url: '/zSelfNoteShare/all', + method: 'get', + params: query + }) +} + + diff --git a/ruoyi-ui/src/api/secret/index.js b/ruoyi-ui/src/api/secret/index.js index e7adf51..1dfaf33 100644 --- a/ruoyi-ui/src/api/secret/index.js +++ b/ruoyi-ui/src/api/secret/index.js @@ -78,4 +78,54 @@ method: 'get', // params: {'id':22} }) -} \ No newline at end of file +} +// ------------------------------- +// 鍒嗕韩 +export function share(data) { + return request({ + url: '/zSecretShare/share', + method: 'post', + data: data + }) +} +// 鏌ョ湅鍒嗕韩缁欒皝浜嗕粈涔堟暟鎹� +export function shareToWho(data,query) { + return request({ + url: '/zSecretShare/getInfoByUserId', + method: 'post', + data: data, + params: query + }) +} +// 鏌ョ湅璋佸垎浜簡鏁版嵁 +export function getWhoShare(query) { + return request({ + url: '/zSecretShare/getInfoByShareId', + method: 'get', + params: query + }) +} +// 涓嬭浇鍒嗕韩鐨勬暟鎹� +export function downShareData(data) { + return request({ + url: '/zSecretShare/downloadDate', + method: 'post', + data: data + }) +} +// 鏀跺洖鍒嗕韩鏁版嵁 +export function deleteShareData(data) { + return request({ + url: '/zSecretShare/deleteInfoByUserId', + method: 'post', + data: data + }) +} +// 灞曠ず涓嬭浇鐨勬暟鎹� +export function showShareData(query) { + return request({ + url: '/zSecretShare/all', + method: 'get', + params: query + }) +} diff --git a/ruoyi-ui/src/api/self/index.js b/ruoyi-ui/src/api/self/index.js index e29e54f..804a6c9 100644 --- a/ruoyi-ui/src/api/self/index.js +++ b/ruoyi-ui/src/api/self/index.js @@ -256,3 +256,4 @@ responseType: 'blob' }) } + diff --git a/ruoyi-ui/src/api/selfeconomy/index.js b/ruoyi-ui/src/api/selfeconomy/index.js index 27e63df..5124d49 100644 --- a/ruoyi-ui/src/api/selfeconomy/index.js +++ b/ruoyi-ui/src/api/selfeconomy/index.js @@ -71,5 +71,54 @@ data: data }) } - +// ------------------------------- +// 鍒嗕韩 +export function share(data) { + return request({ + url: '/zPropertyShare/share', + method: 'post', + data: data + }) +} +// 鏌ョ湅鍒嗕韩缁欒皝浜嗕粈涔堟暟鎹� +export function shareToWho(data,query) { + return request({ + url: '/zPropertyShare/getInfoByUserId', + method: 'post', + data: data, + params: query + }) +} +// 鏌ョ湅璋佸垎浜簡鏁版嵁 +export function getWhoShare(query) { + return request({ + url: '/zPropertyShare/getInfoByShareId', + method: 'get', + params: query + }) +} +// 涓嬭浇鍒嗕韩鐨勬暟鎹� +export function downShareData(data) { + return request({ + url: '/zPropertyShare/downloadDate', + method: 'post', + data: data + }) +} +// 鏀跺洖鍒嗕韩鏁版嵁 +export function deleteShareData(data) { + return request({ + url: '/zPropertyShare/deleteInfoByUserId', + method: 'post', + data: data + }) +} +// 灞曠ず涓嬭浇鐨勬暟鎹� +export function showShareData(query) { + return request({ + url: '/zPropertyShare/all', + method: 'get', + params: query + }) +} diff --git a/ruoyi-ui/src/api/wish/index.js b/ruoyi-ui/src/api/wish/index.js index 5495b14..9c69315 100644 --- a/ruoyi-ui/src/api/wish/index.js +++ b/ruoyi-ui/src/api/wish/index.js @@ -80,3 +80,53 @@ // responseType: 'blob' // }) // } +// ------------------------------- +// 鍒嗕韩 +export function share(data) { + return request({ + url: '/zIdeaShare/share', + method: 'post', + data: data + }) +} +// 鏌ョ湅鍒嗕韩缁欒皝浜嗕粈涔堟暟鎹� +export function shareToWho(data,query) { + return request({ + url: '/zIdeaShare/getInfoByUserId', + method: 'post', + data: data, + params: query + }) +} +// 鏌ョ湅璋佸垎浜簡鏁版嵁 +export function getWhoShare(query) { + return request({ + url: '/zIdeaShare/getInfoByShareId', + method: 'get', + params: query + }) +} +// 涓嬭浇鍒嗕韩鐨勬暟鎹� +export function downShareData(data) { + return request({ + url: '/zIdeaShare/downloadDate', + method: 'post', + data: data + }) +} +// 鏀跺洖鍒嗕韩鏁版嵁 +export function deleteShareData(data) { + return request({ + url: '/zIdeaShare/deleteInfoByUserId', + method: 'post', + data: data + }) +} +// 灞曠ず涓嬭浇鐨勬暟鎹� +export function showShareData(query) { + return request({ + url: '/zIdeaShare/all', + method: 'get', + params: query + }) +} diff --git a/ruoyi-ui/src/views/doctor/index.vue b/ruoyi-ui/src/views/doctor/index.vue index 1995bb0..3ec4f18 100644 --- a/ruoyi-ui/src/views/doctor/index.vue +++ b/ruoyi-ui/src/views/doctor/index.vue @@ -175,10 +175,6 @@ >灞曠ず涓嬭浇鐨勫垎浜暟鎹�</el-button> </el-col> - - - - <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> </el-row> </div> diff --git a/ruoyi-ui/src/views/honor/index.vue b/ruoyi-ui/src/views/honor/index.vue index c502674..e070a9b 100644 --- a/ruoyi-ui/src/views/honor/index.vue +++ b/ruoyi-ui/src/views/honor/index.vue @@ -113,6 +113,47 @@ </el-upload> </el-col> + <el-col :span="1.5"> + <el-button + type="primary" + plain + icon="el-icon-top" + size="mini" + :disabled="multiple" + @click="handleShare" + + >鍒嗕韩</el-button> + </el-col> + + <el-col :span="1.5"> + <el-button + type="primary" + plain + icon="el-icon-top" + size="mini" + @click="handleWho" + >鍒嗕韩缁欒皝浜嗕粈涔堟暟鎹�</el-button> + </el-col> + + <el-col :span="1.5"> + <el-button + type="primary" + plain + icon="el-icon-top" + size="mini" + @click="whoShare" + >鍒嗕韩缁欐垜鐨勬暟鎹�</el-button> + </el-col> + + <el-col :span="1.5"> + <el-button + type="primary" + plain + icon="el-icon-top" + size="mini" + @click="showData" + >灞曠ず涓嬭浇鐨勫垎浜暟鎹�</el-button> + </el-col> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> </el-row> </div> @@ -193,6 +234,12 @@ icon="el-icon-d-arrow-right" @click="handleCheck(scope.row)"> <span style="font-size: 14px;">鏌ョ湅璇︽儏</span></el-button> + <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> @@ -379,6 +426,132 @@ </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 label="绫诲埆" prop="type" sortable :show-overflow-tooltip="true" width="120" align="center" > + <template slot-scope="scope">{{scope.row.type? scope.row.type: '鈥斺�斺�斺��'}}</template> + <!-- <template slot-scope="scope">{{ getSrc1(scope.row.type) }}</template>--> + </el-table-column> + <el-table-column label="鍚嶇О" prop="name" sortable :show-overflow-tooltip="true" width="120" align="center" > + <template slot-scope="scope">{{scope.row.name? scope.row.name: '鈥斺�斺�斺��'}}</template> + </el-table-column> + <el-table-column label="璇佸彿/涓撲笟" prop="idNo" sortable :show-overflow-tooltip="true" width="170" align="center" > + <template slot-scope="scope">{{scope.row.idNo? scope.row.idNo: '鈥斺�斺�斺��'}}</template> + </el-table-column> + <el-table-column label="绾у埆" prop="grade" sortable :show-overflow-tooltip="true" width="120" align="center"> + <template slot-scope="scope">{{scope.row.grade? scope.row.grade: '鈥斺�斺�斺��'}}</template> + </el-table-column> + <el-table-column label="鏈夋晥鏃堕棿" prop="validityDate" :show-overflow-tooltip="true" sortable width="170" align="center" > + <template slot-scope="scope">{{scope.row.validityDate? scope.row.validityDate: '鈥斺�斺�斺��'}}</template> + </el-table-column> + <el-table-column label="鑾峰緱鏃堕棿" prop="getDate" sortable :show-overflow-tooltip="true" width="170" align="center" > + <template slot-scope="scope">{{scope.row.getDate? scope.row.getDate: '鈥斺�斺�斺��'}}</template> + </el-table-column> + <el-table-column label="瀛樻斁浣嶇疆" prop="location" sortable :show-overflow-tooltip="true" width="170" align="center" > + <template slot-scope="scope">{{scope.row.location? scope.row.location: '鈥斺�斺�斺��'}}</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="澶囨敞" prop="remark" sortable width="120" align="center"> + <template slot-scope="scope">{{scope.row.remark? scope.row.remark: '鈥斺�斺�斺��'}}</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> @@ -389,14 +562,46 @@ //瀵煎叆鎺ュ彛鍑芥暟 -import {listHonor,listType,enload, addHonor,updateHonor, delHonor,uploadPic,getCategory} from "@/api/honor/index"; - +import {listHonor,listType,enload, addHonor,updateHonor, delHonor,uploadPic,getCategory, + share,shareToWho,getWhoShare,downShareData,deleteShareData,showShareData +} from "@/api/honor/index"; +import {listUserAll} from "@/api/root/index"; import { Notification, MessageBox, Message, Loading } from 'element-ui' export default { name: "index", dicts: ['sys_normal_disable'], data() { return { + // 鍒嗕韩缁欒皝鐨刲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: [], + userId: undefined, // 閬僵灞� disabled: false, @@ -536,11 +741,180 @@ }; }, created() { + this.getList1(); this.getList(); this.getTypeOptions(); this.getInfo() }, 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; + this.queryParams1.happenStartTime = this.dateRange1.length > 0 && this.dateRange1[0] + this.queryParams1.happenEndTime = this.dateRange1.length > 0 && this.dateRange1[1] + listUserAll(this.queryParams1).then(response => { + this.listRoot = response.data.data; + const kon = {} + 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,'userListuserListuserList') + this.loading1 = false; + } + ); + }, + // 纭鍒嗕韩 + subShare(row) { + const shareList = {} + shareList.shareContents = this.id1 || this.ids; + shareList.shareIds = this.ids1 + console.log(shareList,'sharelistsharelist') + this.$modal.confirm('鏄惁纭鍒嗕韩锛�').then(function() { + return share(shareList); + }).then(() => { + + this.getList(); + this.$modal.msgSuccess("鍒嗕韩鎴愬姛"); + this.id1 = undefined + this.open1 = false; + }).catch(() => {}); + }, + // ------------------------------------------------------------------ + getInfo(){ console.log('-----------------') getInfo().then(response=>{ diff --git a/ruoyi-ui/src/views/note/index.vue b/ruoyi-ui/src/views/note/index.vue index d5885ae..e725ba0 100644 --- a/ruoyi-ui/src/views/note/index.vue +++ b/ruoyi-ui/src/views/note/index.vue @@ -371,10 +371,44 @@ list-type="picture-card" :http-request="requestUpload1" > - <template #tip> + <!-- <template #tip> <div class="el-upload__tip"> </div> - </template> + </template> --> + + <i slot="default" class="el-icon-plus"></i> + <div slot="file" slot-scope="{file}"> + <!-- 娣诲姞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/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 + + class="el-upload-list__item-delete" + @click="handleRemoveFile(file)" + > + <i class="el-icon-delete"></i> + </span> + </span> + + </div> + + </el-upload> <el-button style="margin-left: 10px" diff --git a/ruoyi-ui/src/views/secret/index.vue b/ruoyi-ui/src/views/secret/index.vue index 010bc0e..ce05d69 100644 --- a/ruoyi-ui/src/views/secret/index.vue +++ b/ruoyi-ui/src/views/secret/index.vue @@ -124,6 +124,48 @@ </el-upload> </el-col> + + <el-col :span="1.5"> + <el-button + type="primary" + plain + icon="el-icon-top" + size="mini" + :disabled="multiple" + @click="handleShare" + + >鍒嗕韩</el-button> + </el-col> + + <el-col :span="1.5"> + <el-button + type="primary" + plain + icon="el-icon-top" + size="mini" + @click="handleWho" + >鍒嗕韩缁欒皝浜嗕粈涔堟暟鎹�</el-button> + </el-col> + + <el-col :span="1.5"> + <el-button + type="primary" + plain + icon="el-icon-top" + size="mini" + @click="whoShare" + >鍒嗕韩缁欐垜鐨勬暟鎹�</el-button> + </el-col> + + <el-col :span="1.5"> + <el-button + type="primary" + plain + icon="el-icon-top" + size="mini" + @click="showData" + >灞曠ず涓嬭浇鐨勫垎浜暟鎹�</el-button> + </el-col> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> </el-row> @@ -199,6 +241,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> @@ -399,6 +447,131 @@ </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 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="type" sortable width="100" /> + <el-table-column label="璐﹀彿" prop="accNo" sortable width="100" /> + <el-table-column label="鏈夋晥鏈�" prop="validityDate" sortable width="150" align="center"> + <template slot-scope="scope">{{scope.row.validityDate? scope.row.validityDate: '鈥斺�斺�斺��'}}</template> + </el-table-column> + <el-table-column label="瀵嗙爜" prop="password" sortable width="100" /> + <el-table-column label="鏄惁寮�鍚寚绾�" prop="isFinger" sortable width="130" > + <template slot-scope="scope">{{scope.row.isFinger===1 ?'鏄�': '鍚�'}}</template> + </el-table-column>> + <el-table-column label="鏄惁寮�鍚汉鑴�" prop="isFace" sortable width="130" > + <template slot-scope="scope">{{scope.row.isFace===1 ?'鏄�': '鍚�'}}</template> + </el-table-column> + <el-table-column label="绉佹湁/鍏湁" prop="isPrivate" sortable width="100" > + <template slot-scope="scope">{{scope.row.isPrivate===1 ?'绉佹湁': '鍏湁'}}</template> + </el-table-column> + <el-table-column label="瀛樻斁浣嶇疆" prop="location" sortable width="100" > + <template slot-scope="scope">{{scope.row.location? scope.row.location: '鈥斺�斺�斺��'}}</template> + </el-table-column> + <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="url" align="center" sortable width="110" > + <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="鎿嶄綔" 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> @@ -409,13 +582,48 @@ //鍦╯ystem/note/index.js涓鍏ユ帴鍙e嚱鏁� --鎺ュソ浜� - import {listSecret,enload,delSecret, addSecret, uploadPic,getCategory} from "@/api/secret/index"; + import {listSecret,enload,delSecret, addSecret, uploadPic,getCategory, + share,shareToWho,getWhoShare,downShareData,deleteShareData,showShareData + } from "@/api/secret/index"; + + import {listUserAll} from "@/api/root/index"; + import { Notification, MessageBox, Message, Loading } from 'element-ui' export default { name: "Role", dicts: ['sys_normal_disable'], data() { return { + // 鍒嗕韩缁欒皝鐨刲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: [], + userId: undefined, // 閬僵灞� disabled: false, @@ -566,12 +774,181 @@ }; }, created() { + this.getList1(); this.getList(); this.getCateInfo(); this.getInfo() }, 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; + this.queryParams1.happenStartTime = this.dateRange1.length > 0 && this.dateRange1[0] + this.queryParams1.happenEndTime = this.dateRange1.length > 0 && this.dateRange1[1] + listUserAll(this.queryParams1).then(response => { + this.listRoot = response.data.data; + const kon = {} + 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,'userListuserListuserList') + this.loading1 = false; + } + ); + }, + // 纭鍒嗕韩 + subShare(row) { + const shareList = {} + shareList.shareContents = this.id1 || this.ids; + shareList.shareIds = this.ids1 + console.log(shareList,'sharelistsharelist') + this.$modal.confirm('鏄惁纭鍒嗕韩锛�').then(function() { + return share(shareList); + }).then(() => { + + this.getList(); + this.$modal.msgSuccess("鍒嗕韩鎴愬姛"); + this.id1 = undefined + this.open1 = false; + }).catch(() => {}); + }, + // ------------------------------------------------------------------ + getInfo(){ console.log('-----------------') getInfo().then(response=>{ diff --git a/ruoyi-ui/src/views/self/show.vue b/ruoyi-ui/src/views/self/show.vue index 9fb10c6..a4510b4 100644 --- a/ruoyi-ui/src/views/self/show.vue +++ b/ruoyi-ui/src/views/self/show.vue @@ -173,6 +173,49 @@ </el-upload> </el-col> + + <el-col :span="1.5"> + <el-button + type="primary" + plain + icon="el-icon-top" + size="mini" + :disabled="multiple" + @click="handleShare" + + >鍒嗕韩</el-button> + </el-col> + + <el-col :span="1.5"> + <el-button + type="primary" + plain + icon="el-icon-top" + size="mini" + @click="handleWho" + >鍒嗕韩缁欒皝浜嗕粈涔堟暟鎹�</el-button> + </el-col> + + <el-col :span="1.5"> + <el-button + type="primary" + plain + icon="el-icon-top" + size="mini" + @click="whoShare" + >鍒嗕韩缁欐垜鐨勬暟鎹�</el-button> + </el-col> + + <el-col :span="1.5"> + <el-button + type="primary" + plain + icon="el-icon-top" + size="mini" + @click="showData" + >灞曠ず涓嬭浇鐨勫垎浜暟鎹�</el-button> + </el-col> + <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> </el-row> </div> @@ -245,6 +288,12 @@ icon="el-icon-d-arrow-right" @click="handleCheck1(scope.row)"> <span style="font-size: 14px;">鏌ョ湅璇︽儏</span></el-button> + <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> @@ -887,6 +936,123 @@ </div> </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 label="鏃堕棿" prop="happenTime" sortable :show-overflow-tooltip="true" width="150" align="center" > + <template slot-scope="scope">{{scope.row.happenTime? scope.row.happenTime: '鈥斺�斺�斺��'}}</template> + </el-table-column> + <el-table-column label="浜虹墿" prop="people" sortable :show-overflow-tooltip="true" width="150" align="center" > + <template slot-scope="scope">{{scope.row.people? scope.row.people: '鈥斺�斺�斺��'}}</template> + </el-table-column> + <el-table-column label="鍦扮偣" prop="address" sortable :show-overflow-tooltip="true" width="160" align="center" > + <template slot-scope="scope">{{scope.row.address? scope.row.address: '鈥斺�斺�斺��'}}</template> + </el-table-column> + <el-table-column label="浜嬩欢鏍囬" prop="title" sortable :show-overflow-tooltip="true" width="160" align="center"> + <template slot-scope="scope">{{scope.row.title? scope.row.title: '鈥斺�斺�斺��'}}</template> + </el-table-column> + <el-table-column label="澶囨敞" prop="remark" sortable :show-overflow-tooltip="true" width="150" align="center"> + <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="330" 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> @@ -903,13 +1069,17 @@ getCertificateList, addCertificate, updateCertificate, delCertificate, getAbroadList, addAbroad, updateAbroad, delAbroad, listType, getAutobiographyList, getAutobiographyTermList, addAutobiography, updateAutobiography,delAutobiography, - getCategory,download + getCategory,download, + } from "@/api/self/index"; +import {listUserAll} from "@/api/root/index"; // import { listRole, getRole, delRole, addRole, updateRole, dataScope,changeRoleStatus, deptTreeSelect } from "@/api/system/role"; // import { treeselect as menuTreeselect, roleMenuTreeselect } from "@/api/system/menu"; //瀵煎叆鎺ュ彛鍑芥暟 -import {listNote,enload,getNote, addNote,updateNote, delNote,uploadPic} from "@/api/memo/index"; +import {listNote,enload,getNote, addNote,updateNote, delNote,uploadPic, + share,shareToWho,getWhoShare,downShareData,deleteShareData,showShareData +} from "@/api/memo/index"; import {getInfo} from "@/api/login"; import { Notification, MessageBox, Message, Loading } from 'element-ui' //import { delFamilyevent, uploadPic } from '../../api/bignote' @@ -923,6 +1093,36 @@ data() { return { + // 鍒嗕韩缁欒皝鐨刲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: [], + userId: undefined, uploadFileList: [], uploadFileList1: [], @@ -1294,11 +1494,180 @@ }; }, created() { + this.getList1(); this.getList(); this.getAutobiographyInfor() this.getInfo() }, 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; + this.queryParams1.happenStartTime = this.dateRange1.length > 0 && this.dateRange1[0] + this.queryParams1.happenEndTime = this.dateRange1.length > 0 && this.dateRange1[1] + listUserAll(this.queryParams1).then(response => { + this.listRoot = response.data.data; + const kon = {} + 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,'userListuserListuserList') + this.loading1 = false; + } + ); + }, + // 纭鍒嗕韩 + subShare(row) { + const shareList = {} + shareList.shareContents = this.id1 || this.ids; + shareList.shareIds = this.ids1 + console.log(shareList,'sharelistsharelist') + this.$modal.confirm('鏄惁纭鍒嗕韩锛�').then(function() { + return share(shareList); + }).then(() => { + + this.getList(); + this.$modal.msgSuccess("鍒嗕韩鎴愬姛"); + this.id1 = undefined + this.open1 = false; + }).catch(() => {}); + }, + // ------------------------------------------------------------------ + getInfo(){ console.log('-----------------') getInfo().then(response=>{ diff --git a/ruoyi-ui/src/views/selfeconomy/index.vue b/ruoyi-ui/src/views/selfeconomy/index.vue index a7c3ccd..6cd6e4c 100644 --- a/ruoyi-ui/src/views/selfeconomy/index.vue +++ b/ruoyi-ui/src/views/selfeconomy/index.vue @@ -131,6 +131,49 @@ icon="el-icon-top" >瀵煎叆</el-button> </el-upload> </el-col> + + <el-col :span="1.5"> + <el-button + type="primary" + plain + icon="el-icon-top" + size="mini" + :disabled="multiple" + @click="handleShare" + + >鍒嗕韩</el-button> + </el-col> + + <el-col :span="1.5"> + <el-button + type="primary" + plain + icon="el-icon-top" + size="mini" + @click="handleWho" + >鍒嗕韩缁欒皝浜嗕粈涔堟暟鎹�</el-button> + </el-col> + + <el-col :span="1.5"> + <el-button + type="primary" + plain + icon="el-icon-top" + size="mini" + @click="whoShare" + >鍒嗕韩缁欐垜鐨勬暟鎹�</el-button> + </el-col> + + <el-col :span="1.5"> + <el-button + type="primary" + plain + icon="el-icon-top" + size="mini" + @click="showData" + >灞曠ず涓嬭浇鐨勫垎浜暟鎹�</el-button> + </el-col> + <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> </el-row> </div> @@ -222,6 +265,12 @@ >鏌ョ湅璇︽儏</el-button> </el-dropdown> + <el-button + size="mini" + type="text" + icon="el-icon-d-arrow-right" + @click="handleShare(scope.row)"> + <span style="font-size: 1em;">鍒嗕韩</span></el-button> </div> </template> </el-table-column> @@ -418,6 +467,137 @@ </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 label="鏃ユ湡" prop="happenTime" sortable width="100" align="center"> + <template slot-scope="scope">{{scope.row.happenTime? scope.row.happenTime: '鈥斺�斺�斺��'}}</template> + </el-table-column> + <el-table-column label="璐骇绫诲埆" prop="type" sortable width="120" align="center"> + <template slot-scope="scope">{{scope.row.type? scope.row.type: '鈥斺�斺�斺��'}}</template> + </el-table-column> + <el-table-column label="璐骇鍚嶇О" prop="incomeName" sortable :show-overflow-tooltip="true" width="120" align="center" > + <template slot-scope="scope">{{scope.row.incomeName? scope.row.incomeName: '鈥斺�斺�斺��'}}</template> + </el-table-column> + <el-table-column label="浠峰�硷紙閲戦锛�" prop="price" sortable width="140" align="center" > + <template slot-scope="scope">{{scope.row.price? scope.row.price: '鈥斺�斺�斺��'}}</template> + </el-table-column> + <el-table-column label="鏈熼檺" prop="timeLimit" sortable width="110" align="center"> + <template slot-scope="scope">{{scope.row.timeLimit? scope.row.timeLimit: '鈥斺�斺�斺��'}}</template> + </el-table-column> + <el-table-column label="鍙樻洿/娉ㄩ攢" prop="isChange" sortable width="140" align="center"> + <template slot-scope="scope">{{scope.row.isChange? scope.row.isChange: '鈥斺�斺�斺��'}}</template> + </el-table-column> + <el-table-column label="浜ф潈" prop="propertyRight" sortable width="110" align="center"> + <template slot-scope="scope">{{scope.row.propertyRight? scope.row.propertyRight: '鈥斺�斺�斺��'}}</template> + </el-table-column> + <el-table-column label="瀛樻斁浣嶇疆" prop="location" sortable width="110" align="center"> + <template slot-scope="scope">{{scope.row.location? scope.row.location: '鈥斺�斺�斺��'}}</template> + </el-table-column> + <el-table-column label="鏄惁娉ㄩ攢" prop="status" sortable width="100" align="center"> + <template slot-scope="scope">{{scope.row.status===1? '鏄�': '鍚�'}}</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="澶囨敞" prop="remark" sortable width="90" align="center"> + <template slot-scope="scope">{{scope.row.remark? scope.row.remark: '鈥斺�斺�斺��'}}</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> @@ -428,8 +608,11 @@ //瀵煎叆鎺ュ彛鍑芥暟 - import {listSelfEconomy, getSelfEconomyInfo,enload, addSelfEconomy,delSelfEconomy, updateSelfEconomy,uploadPic,downloadModel} from "@/api/selfeconomy/index"; - import {Message} from "element-ui"; + import {listSelfEconomy, getSelfEconomyInfo,enload, addSelfEconomy,delSelfEconomy, updateSelfEconomy,uploadPic,downloadModel, + share,shareToWho,getWhoShare,downShareData,deleteShareData,showShareData + } from "@/api/selfeconomy/index"; +import {listUserAll} from "@/api/root/index"; +import { Notification, MessageBox, Message, Loading } from 'element-ui' export default { @@ -437,6 +620,37 @@ dicts: ['sys_normal_disable'], data() { return { + // 鍒嗕韩缁欒皝鐨刲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: [], + + userId: undefined, // 閬僵灞� disabled: false, @@ -599,6 +813,7 @@ }; }, created() { + this.getList1() this.getList(); this.getCateInfor() this.getInfo() @@ -607,6 +822,174 @@ // } }, 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; + this.queryParams1.happenStartTime = this.dateRange1.length > 0 && this.dateRange1[0] + this.queryParams1.happenEndTime = this.dateRange1.length > 0 && this.dateRange1[1] + listUserAll(this.queryParams1).then(response => { + this.listRoot = response.data.data; + const kon = {} + 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,'userListuserListuserList') + this.loading1 = false; + } + ); + }, + // 纭鍒嗕韩 + subShare(row) { + const shareList = {} + shareList.shareContents = this.id1 || this.ids; + shareList.shareIds = this.ids1 + console.log(shareList,'sharelistsharelist') + this.$modal.confirm('鏄惁纭鍒嗕韩锛�').then(function() { + return share(shareList); + }).then(() => { + + this.getList(); + this.$modal.msgSuccess("鍒嗕韩鎴愬姛"); + this.id1 = undefined + this.open1 = false; + }).catch(() => {}); + }, + // ------------------------------------------------------------------ + getInfo(){ console.log('-----------------') getInfo().then(response=>{ diff --git a/ruoyi-ui/src/views/wish/index.vue b/ruoyi-ui/src/views/wish/index.vue index ea6bfbf..423e692 100644 --- a/ruoyi-ui/src/views/wish/index.vue +++ b/ruoyi-ui/src/views/wish/index.vue @@ -149,6 +149,49 @@ icon="el-icon-top" >瀵煎叆</el-button> </el-upload> </el-col> + + <el-col :span="1.5"> + <el-button + type="primary" + plain + icon="el-icon-top" + size="mini" + :disabled="multiple" + @click="handleShare" + + >鍒嗕韩</el-button> + </el-col> + + <el-col :span="1.5"> + <el-button + type="primary" + plain + icon="el-icon-top" + size="mini" + @click="handleWho" + >鍒嗕韩缁欒皝浜嗕粈涔堟暟鎹�</el-button> + </el-col> + + <el-col :span="1.5"> + <el-button + type="primary" + plain + icon="el-icon-top" + size="mini" + @click="whoShare" + >鍒嗕韩缁欐垜鐨勬暟鎹�</el-button> + </el-col> + + <el-col :span="1.5"> + <el-button + type="primary" + plain + icon="el-icon-top" + size="mini" + @click="showData" + >灞曠ず涓嬭浇鐨勫垎浜暟鎹�</el-button> + </el-col> + <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> </el-row> </div> @@ -230,6 +273,12 @@ icon="el-icon-d-arrow-right" @click="handleCheck(scope.row)"> <span style="font-size: 14px;">鏌ョ湅璇︽儏</span></el-button> + <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> @@ -416,6 +465,133 @@ </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 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="title" sortable :show-overflow-tooltip="true" width="160" align="center"> + <template slot-scope="scope">{{scope.row.title? scope.row.title: '鈥斺�斺�斺��'}}</template> + </el-table-column> + <el-table-column label="濮嬩簬浣曞洜" prop="cause" sortable :show-overflow-tooltip="true" width="140" align="center" > + <template slot-scope="scope">{{scope.row.cause? scope.row.cause: '鈥斺�斺�斺��'}}</template> + </el-table-column> + <el-table-column label="鍙楁儬浜�" prop="beneficiary" sortable :show-overflow-tooltip="true" width="140" align="center" > + <template slot-scope="scope">{{scope.row.beneficiary? scope.row.beneficiary: '鈥斺�斺�斺��'}}</template> + </el-table-column> + <el-table-column label="缁ф壙浜�" prop="heir" sortable :show-overflow-tooltip="true" width="140" align="center"> + <template slot-scope="scope">{{scope.row.heir? scope.row.heir: '鈥斺�斺�斺��'}}</template> + </el-table-column> + <el-table-column label="瀹炵幇闅惧害" prop="difficulty" :show-overflow-tooltip="true" sortable width="120" align="center"> + <template slot-scope="scope">{{scope.row.difficulty? scope.row.difficulty: '鈥斺�斺�斺��'}}</template> + </el-table-column> + <el-table-column label="鏄惁渚濇棫鏈夋晥" prop="isEffective" sortable width="160" align="center"> + <template slot-scope="scope"> + {{ getSrc1(scope.row.isEffective) }} + </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="澶囨敞" prop="remark" sortable :show-overflow-tooltip="true" width="90" align="center"> + <template slot-scope="scope">{{scope.row.remark? scope.row.remark: '鈥斺�斺�斺��'}}</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> @@ -426,9 +602,12 @@ //瀵煎叆鎺ュ彛鍑芥暟 -import {listWish, getWish, addWish,updateWish, delWish,uploadPic,downloadModel,enload} from "@/api/wish/index"; +import {listWish, getWish, addWish,updateWish, delWish,uploadPic,downloadModel,enload, + share,shareToWho,getWhoShare,downShareData,deleteShareData,showShareData +} from "@/api/wish/index"; -import {Message} from "element-ui"; +import {listUserAll} from "@/api/root/index"; +import { Notification, MessageBox, Message, Loading } from 'element-ui' export default { @@ -436,6 +615,36 @@ dicts: ['sys_normal_disable'], data() { return { + // 鍒嗕韩缁欒皝鐨刲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: [], + userId: undefined, // 閬僵灞� disabled: false, @@ -569,6 +778,7 @@ }; }, created() { + this.getList1(); this.getList(); this.getInfo() // this.getCateInfor() @@ -577,6 +787,174 @@ // } }, 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; + this.queryParams1.happenStartTime = this.dateRange1.length > 0 && this.dateRange1[0] + this.queryParams1.happenEndTime = this.dateRange1.length > 0 && this.dateRange1[1] + listUserAll(this.queryParams1).then(response => { + this.listRoot = response.data.data; + const kon = {} + 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,'userListuserListuserList') + this.loading1 = false; + } + ); + }, + // 纭鍒嗕韩 + subShare(row) { + const shareList = {} + shareList.shareContents = this.id1 || this.ids; + shareList.shareIds = this.ids1 + console.log(shareList,'sharelistsharelist') + this.$modal.confirm('鏄惁纭鍒嗕韩锛�').then(function() { + return share(shareList); + }).then(() => { + + this.getList(); + this.$modal.msgSuccess("鍒嗕韩鎴愬姛"); + this.id1 = undefined + this.open1 = false; + }).catch(() => {}); + }, + // ------------------------------------------------------------------ + getInfo(){ console.log('-----------------') getInfo().then(response=>{ -- Gitblit v1.9.1