Browse Source

收藏夹+demo

master
ruanqi 2 years ago
parent
commit
281f7e35f6
  1. 1
      src/utils/index.js
  2. 64
      src/views/main-navbar.vue
  3. 207
      src/views/modules/Project/demo.vue
  4. 1
      src/views/modules/base/factoryInformation.vue
  5. 2
      src/views/modules/sys/user.vue

1
src/utils/index.js

@ -16,7 +16,6 @@ export function getUUID () {
* @param {*} key * @param {*} key
*/ */
export function isAuth (key) { export function isAuth (key) {
console.log(sessionStorage.getItem('permissions'))
// console.log(key) // console.log(key)
// console.log(JSON.parse(sessionStorage.getItem('permissions') || '[]').indexOf(key) !== -1 || false) // console.log(JSON.parse(sessionStorage.getItem('permissions') || '[]').indexOf(key) !== -1 || false)
return JSON.parse(sessionStorage.getItem('permissions') || '[]').indexOf(key) !== -1 || false return JSON.parse(sessionStorage.getItem('permissions') || '[]').indexOf(key) !== -1 || false

64
src/views/main-navbar.vue

@ -21,6 +21,11 @@
<el-menu <el-menu
class="site-navbar__menu site-navbar__menu--right" class="site-navbar__menu site-navbar__menu--right"
mode="horizontal"> mode="horizontal">
<el-menu-item class="site-navbar__avatar" index="0">
<span @click="favoriteFunction()">
<icon-svg :name="favorite?'xiangqufill':'xiangqu'" class="sl-svg"></icon-svg>
</span>
</el-menu-item>
<el-menu-item class="site-navbar__avatar" index="1"> <el-menu-item class="site-navbar__avatar" index="1">
<span class="el-dropdown-link" @click="userSetting"> <span class="el-dropdown-link" @click="userSetting">
<icon-svg name="editTable" style="width: 25px;height: 25px;margin-top: 5px"></icon-svg> <icon-svg name="editTable" style="width: 25px;height: 25px;margin-top: 5px"></icon-svg>
@ -91,12 +96,14 @@ import {
searchSysLanguage, searchSysLanguage,
} from "@/api/sysLanguage.js" } from "@/api/sysLanguage.js"
import {userFavoriteList, saveUserFavorite, removeUserFavorite} from '@/api/userFavorite.js'
export default { export default {
inject: ['refresh'], inject: ['refresh'],
data() { data() {
return { return {
favorite: false,
route:this.$route.meta.menuId,
visible: false, visible: false,
updatePassowrdVisible: false, updatePassowrdVisible: false,
updateLanguageVisible: false, updateLanguageVisible: false,
@ -195,6 +202,12 @@ export default {
this.pending.pendingSum = this.pending.pendingReview this.pending.pendingSum = this.pending.pendingReview
} }
}, },
$route: {
deep: true,
handler: function (newV, oldV) {
this.favoriteIsOk();
}
},
}, },
components: { components: {
UpdatePassword, UpdatePassword,
@ -332,7 +345,54 @@ export default {
}) })
}).catch(() => { }).catch(() => {
}) })
}
},
// //
favoriteIsOk() {
let userFavorite = {
userId: this.$store.state.user.id,
languageCode: 'cn'
}
userFavoriteList(userFavorite).then(({data}) => {
this.favorite = false
for (let i = 0; i < data.list.length; i++) {
if(this.$route.meta.menuId==data.list[i].menuId){
this.favorite = true
// flag=true;
}
}
})
},
// OR
favoriteFunction() {
let userFavorite = {
userId: this.$store.state.user.id,
functionId: this.$route.meta.menuId,
}
if (this.favorite) {
//
this.$confirm(`确定取消收藏`, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
removeUserFavorite(userFavorite).then(({data}) => {
this.$message.success(data.msg)
this.favorite = false
})
})
} else {
//
saveUserFavorite(userFavorite).then(({data}) => {
this.$message.success(data.msg)
this.favorite = true
})
}
},
}, },
created() { created() {
this.getLanguageList() this.getLanguageList()

207
src/views/modules/Project/demo.vue

@ -0,0 +1,207 @@
<template>
<div class="mod-config">
<el-form :inline="true" label-position="top" label-width="100px" style="margin-top: -10px;">
<el-button @click="getData()" type="primary" style="margin-left: 2px;margin-top: 33px">查询</el-button>
</el-form>
<el-table
:height="height"
:data="dataList"
border
v-loading="dataListLoading"
style="width: 100%;">
<el-table-column
header-align="center"
align="center"
width="150"
label="操作">
<template slot-scope="scope">
<a type="text" size="small" @click="addOrUpdateHandle(scope.row.id)">修改</a>
<a type="text" size="small" @click="deleteHandle(scope.row.id)">删除</a>
</template>
</el-table-column>
<el-table-column
v-for="(item,index) in columnList" :key="index"
:sortable="item.columnSortable"
:prop="item.columnProp"
:header-align="item.headerAlign"
:show-overflow-tooltip="item.showOverflowTooltip"
:align="item.align"
:fixed="item.fixed==''?false:item.fixed"
:width="item.columnWidth"
:label="item.columnLabel">
<template slot-scope="scope">
<span v-if="!item.columnHidden"> {{scope.row[item.columnProp]}}</span>
<span v-if="item.columnImage"><img :src="scope.row[item.columnProp]"
style="width: 100px; height: 80px"/></span>
</template>
</el-table-column>
</el-table>
</div>
</template>
<script>
import {
getTableDefaultListLanguage,
getTableUserListLanguage,
} from "@/api/table.js"
import {userFavoriteList, saveUserFavorite, removeUserFavorite} from '@/api/userFavorite.js'
export default {
name: "null",
data() {
return {
//
favorite: false,
//
visible: false,
queryTable: {
functionId: this.$route.meta.menuId,
tableId: "mainTable",
languageCode: this.$i18n.locale
},
// table
queryTableUser: {
userId: this.$store.state.user.name,
functionId: this.$route.meta.menuId,
tableId: "mainTable",
status: true,
languageCode: this.$i18n.locale
},
//
height: 200,
dataList:[],
dataListLoading: false,
columnList: [
{
userId: this.$store.state.user.name,
functionId: 104001001,
serialNumber: '104001001Table3OrderNo',
tableId: "104001001Table3",
tableName: "生产订单数据获取表",
columnProp: "orderNo",
headerAlign: "center",
align: "left",
columnLabel: "订单号",
columnHidden: false,
columnImage: false,
columnSortable: false,
sortLv: 0,
status: true,
fixed: '',
columnWidth: 120
},
],
}
},
watch: {
// $route: {
// handler: function (val, oldVal) {
// this.$router.onReady(() => {
// if (this.$route.query.order) {
// this.modelData.orderNo = this.$route.query.order
// this.modelData.site = this.$route.query.site
// this.modelData.user = this.$route.query.user
// if (this.modelData.orderNo) {
// this.tableHanddle(this.modelData)
// }
// }
// })
// },
// //
// deep: true
// },
// updateData: {
// deep: true,
// handler: function (newV, oldV) {
// this.updateData.projectID = this.updateData.projectID.toUpperCase();
// this.updateData.oriSOOrderNo = this.updateData.oriSOOrderNo.toUpperCase();
// this.updateData.orderType = this.updateData.orderType.toUpperCase();
// }
// }
},
mounted() {
this.$nextTick(() => {
this.height = window.innerHeight - 240;
})
},
methods: {
//
async getTableUserColumn(tableId, columnId) {
let queryTableUser = {
userId: this.$store.state.user.name,
functionId: this.$route.meta.menuId,
tableId: tableId,
status: true,
languageCode: this.$i18n.locale
}
await getTableUserListLanguage(queryTableUser).then(({data}) => {
if (data.rows.length > 0) {
//this.columnList = []
switch (columnId) {
case 1:
this.columnList = data.rows
break;
// case 2:
// this.columnList1 = data.rows
// break;
// case 3:
// this.columnList2 = data.rows
// break;
// case 4:
// this.columnList3 = data.rows
// break;
}
} else {
this.getColumnList(tableId, columnId)
}
})
},
// tableDefault
async getColumnList(tableId, columnId) {
this.queryTable.tableId = tableId
let queryTable= {
functionId: this.$route.meta.menuId,
tableId: tableId,
languageCode: this.$i18n.locale
}
await getTableDefaultListLanguage(queryTable).then(({data}) => {
if (!data.rows.length == 0) {
switch (columnId) {
case 1:
this.columnList = data.rows
break;
// case 2:
// this.columnList1 = data.rows
// break;
// case 3:
// this.columnList2 = data.rows
// break;
// case 4:
// this.columnList3 = data.rows
// break;
}
} else {
// this.showDefault = true
}
})
},
//
},
created() {
this.getTableUserColumn(this.queryTable.functionId+'table',1)
}
}
</script>
<style scoped>
</style>

1
src/views/modules/base/factoryInformation.vue

@ -362,6 +362,7 @@
companyInformation:'查看会计单位信息', companyInformation:'查看会计单位信息',
save:'保存', save:'保存',
close:'关闭', close:'关闭',
}, },
queryButton: { queryButton: {
functionId: functionId, functionId: functionId,

2
src/views/modules/sys/user.vue

@ -66,7 +66,7 @@
</el-table-column> </el-table-column>
<el-table-column <el-table-column
prop="createTime" prop="createTime"
header-align="center"0
header-align="center"
align="center" align="center"
width="180" width="180"
:label="buttons.createTime||'创建时间'"> :label="buttons.createTime||'创建时间'">

Loading…
Cancel
Save