|
|
|
@ -94,6 +94,8 @@ |
|
|
|
<template slot-scope="scope"> |
|
|
|
<a v-if="isAuth('sys:user:update')" type="text" size="small" |
|
|
|
@click="addOrUpdateHandle(scope.row.userId)">修改</a> |
|
|
|
<a v-if="isAuth('sys:user:update')" type="text" size="small" |
|
|
|
@click="accessSiteModal(scope.row)">工厂权限</a> |
|
|
|
<a v-if="isAuth('sys:user:delete')" type="text" size="small" @click="deleteHandle(scope.row.userId)">删除</a> |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
@ -109,7 +111,77 @@ |
|
|
|
</el-pagination> |
|
|
|
<!-- 弹窗, 新增 / 修改 --> |
|
|
|
<add-or-update v-if="addOrUpdateVisible" ref="addOrUpdate" @refreshDataList="getDataList"></add-or-update> |
|
|
|
|
|
|
|
<el-dialog title="工厂权限" :close-on-click-modal="false" v-drag :visible.sync="accessSiteFlag" width="800px"> |
|
|
|
<div style="font-size: 12px"> |
|
|
|
用户ID:<el-input v-model="userData.username" style="width: 120px"></el-input> |
|
|
|
用户姓名:<el-input v-model="userData.userDisplay" style="width: 120px"></el-input> |
|
|
|
</div> |
|
|
|
<el-container style="margin-top: -12px;"> |
|
|
|
<el-main style="width: 300px"> |
|
|
|
<span style="font-size: 12px" >可选工厂:</span> |
|
|
|
<el-table |
|
|
|
height="300px" |
|
|
|
:data="SiteList1" |
|
|
|
border |
|
|
|
@row-click="clickSite1" |
|
|
|
highlight-current-row |
|
|
|
v-loading="dataListLoading" |
|
|
|
style="width: 100%"> |
|
|
|
<el-table-column |
|
|
|
prop="siteID" |
|
|
|
header-align="center" |
|
|
|
align="left" |
|
|
|
min-width="110" |
|
|
|
label="工厂ID"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="siteName" |
|
|
|
header-align="center" |
|
|
|
align="left" |
|
|
|
min-width="170" |
|
|
|
label="工厂名称"> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
</el-main> |
|
|
|
<el-main style="width: 100px"> |
|
|
|
<div style="margin-top: 100px"> |
|
|
|
<el-button type="primary" @click="addSite()">添加>></el-button> |
|
|
|
</div> |
|
|
|
<div style="margin-top: 20px"> |
|
|
|
<el-button type="primary" @click="deleteSite()">删除<<</el-button> |
|
|
|
</div> |
|
|
|
</el-main> |
|
|
|
<el-main style="width: 300px"> |
|
|
|
<span style="font-size: 12px" >已选工厂:</span> |
|
|
|
<el-table |
|
|
|
height="300px" |
|
|
|
:data="SiteList2" |
|
|
|
border |
|
|
|
@row-click="clickSite2" |
|
|
|
highlight-current-row |
|
|
|
v-loading="dataListLoading" |
|
|
|
style="width: 100%"> |
|
|
|
<el-table-column |
|
|
|
prop="siteID" |
|
|
|
header-align="center" |
|
|
|
align="left" |
|
|
|
min-width="110" |
|
|
|
label="工厂ID"> |
|
|
|
</el-table-column> |
|
|
|
<el-table-column |
|
|
|
prop="siteName" |
|
|
|
header-align="center" |
|
|
|
align="left" |
|
|
|
min-width="170" |
|
|
|
label="工厂名称"> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
</el-main> |
|
|
|
</el-container> |
|
|
|
<!-- <el-footer style="height:40px;margin-top: 20px;text-align:center">--> |
|
|
|
<!-- <el-button type="primary" @click="routingModelFlag = false">关闭</el-button>--> |
|
|
|
<!-- </el-footer>--> |
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
</div> |
|
|
|
</template> |
|
|
|
@ -118,7 +190,12 @@ |
|
|
|
import AddOrUpdate from './user-add-or-update' |
|
|
|
|
|
|
|
import {debounce, throttle} from "../../../utils/common"; |
|
|
|
|
|
|
|
import { |
|
|
|
getUnSelectedSiteData, |
|
|
|
getAccessSiteData, |
|
|
|
addAccessSite, |
|
|
|
deleteAccessSite, |
|
|
|
} from "@/api/base/site.js" |
|
|
|
|
|
|
|
export default { |
|
|
|
data() { |
|
|
|
@ -202,7 +279,16 @@ |
|
|
|
totalPage: 0, |
|
|
|
dataListLoading: false, |
|
|
|
dataListSelections: [], |
|
|
|
addOrUpdateVisible: false |
|
|
|
addOrUpdateVisible: false, |
|
|
|
accessSiteFlag: false, |
|
|
|
SiteList1:[], |
|
|
|
SiteList2:[], |
|
|
|
SiteRow1:null, |
|
|
|
SiteRow2:null, |
|
|
|
userData:{ |
|
|
|
username:'', |
|
|
|
userDisplay:'', |
|
|
|
}, |
|
|
|
} |
|
|
|
}, |
|
|
|
components: { |
|
|
|
@ -217,6 +303,75 @@ |
|
|
|
}) |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
accessSiteModal(row){ |
|
|
|
let inData={ |
|
|
|
username:row.username |
|
|
|
} |
|
|
|
getUnSelectedSiteData(inData).then(({data}) => { |
|
|
|
this.SiteList1 = data.rows; |
|
|
|
}) |
|
|
|
getAccessSiteData(inData).then(({data}) => { |
|
|
|
this.SiteList2 = data.rows; |
|
|
|
}) |
|
|
|
this.userData.username=row.username; |
|
|
|
this.userData.userDisplay=row.userDisplay; |
|
|
|
this.accessSiteFlag=true; |
|
|
|
|
|
|
|
}, |
|
|
|
clickSite1(row){ |
|
|
|
this.SiteRow1 = JSON.parse(JSON.stringify(row)); |
|
|
|
}, |
|
|
|
clickSite2(row){ |
|
|
|
this.SiteRow2 = JSON.parse(JSON.stringify(row)); |
|
|
|
}, |
|
|
|
addSite(){ |
|
|
|
if(this.SiteRow1==null){ |
|
|
|
this.$alert("请选择可选工厂!", '错误', { |
|
|
|
confirmButtonText: '确定' |
|
|
|
}) |
|
|
|
return false; |
|
|
|
} |
|
|
|
let inSiteData={ |
|
|
|
site:this.SiteRow1.siteID, |
|
|
|
userID:this.userData.username, |
|
|
|
} |
|
|
|
addAccessSite(inSiteData).then(({data}) => { |
|
|
|
let inData={ |
|
|
|
username:this.userData.username |
|
|
|
} |
|
|
|
getUnSelectedSiteData(inData).then(({data}) => { |
|
|
|
this.SiteList1 = data.rows; |
|
|
|
}) |
|
|
|
getAccessSiteData(inData).then(({data}) => { |
|
|
|
this.SiteList2 = data.rows; |
|
|
|
}) |
|
|
|
this.SiteRow1=null; |
|
|
|
}) |
|
|
|
}, |
|
|
|
deleteSite(){ |
|
|
|
if(this.SiteRow2==null){ |
|
|
|
this.$alert("请选择已选工厂!", '错误', { |
|
|
|
confirmButtonText: '确定' |
|
|
|
}) |
|
|
|
return false; |
|
|
|
} |
|
|
|
let inSiteData={ |
|
|
|
site:this.SiteRow2.siteID, |
|
|
|
userID:this.userData.username, |
|
|
|
} |
|
|
|
deleteAccessSite(inSiteData).then(({data}) => { |
|
|
|
let inData={ |
|
|
|
username:this.userData.username |
|
|
|
} |
|
|
|
getUnSelectedSiteData(inData).then(({data}) => { |
|
|
|
this.SiteList1 = data.rows; |
|
|
|
}) |
|
|
|
getAccessSiteData(inData).then(({data}) => { |
|
|
|
this.SiteList2 = data.rows; |
|
|
|
}) |
|
|
|
this.SiteRow2=null; |
|
|
|
}) |
|
|
|
}, |
|
|
|
// 选中行 |
|
|
|
handleCurrentChange(val) { |
|
|
|
this.selectUser = val |
|
|
|
|