Browse Source

完善登录

master
guoxing 11 months ago
parent
commit
7a08b39096
  1. 112
      src/api/Common/dictcommons.js
  2. 4
      src/api/system/userManage/index.js
  3. 9
      src/layout/components/Navbar.vue
  4. 60
      src/views/login/login.vue
  5. 35
      src/views/purchase/purchaseOrder/purchaseOrderAdd.vue
  6. 24
      src/views/purchase/purchaseOrder/purchaseOrderInfo.vue
  7. 215
      src/views/system/menuManage/menuManage.vue
  8. 4
      src/views/system/userManage/userManageAdd.vue
  9. 5
      src/views/system/userManage/userManageList.vue

112
src/api/Common/dictcommons.js

@ -34,15 +34,87 @@ export function fetchBySid(sid) {
})
}
// 根据当前登录用户sid获取本分公司下的销售部门和销售专员
export function selectOrgList(data) {
return request({
url: '/portal/v1/sysorganization/selectOrgList',
method: 'get',
params: data
})
}
// 当前用户创建申请时判断该用户是否有该菜单的操作权限
export function selectHaveMessage(data) {
return request({
url: '/portal/v1/sysuser/selectHaveMessage ',
method: 'post',
data: data,
headers: {
'Content-Type': 'application/json'
}
})
}
// 根据当前登录用户的角色获取菜单分页列表页面右上角按钮的隐藏
export function getButtonPermissions(data) {
return request({
url: '/portal/v1/sysfunction/getButtonPermissions',
method: 'post',
data: data,
headers: {
'Content-Type': 'application/json'
}
})
}
// 根据当前登录用户的全路径查询相应部门下的所有人
export function selAllByOrgSidPath(data) {
return request({
url: '/portal/v1/sysstafforg/selAllByOrgSidPath',
url: '/oms/apiadmin/sysstafforg/selAllByOrgSidPath',
method: 'post',
params: data
})
}
// 分公司全路径sid获取工种
export function getServiceType(data) {
return request({
url: '/as/v1/AsServiceItem/getServiceType',
method: 'get',
params: data
})
}
// 分公司全路径sid获取科目
export function selSubjectInfo(data) {
return request({
url: '/as/v1/asservicepackage/selSubjectInfo',
method: 'get',
params: data
})
}
// 分公司全路径sid获取班组
export function getGroupList(data) {
return request({
url: '/as/v1/asservicegroup/getGroupList',
method: 'post',
params: data
})
}
// 查询分页列表 -- 客户列表
export function customerListPage(params) {
return request({
url: '/yxtcrm/apiadmin/v1/crmcustomer/customerListPage',
method: 'post',
data: params,
headers: {
'Content-Type': 'application/json'
}
})
}
// 获取省
export function getProvince() {
return request({
@ -67,10 +139,31 @@ export function getCounty(data) {
})
}
// 获取供应商信息
export function choiceSupplierInfo(data) {
return request({
url: '/oms/apiadmin/supplierinfo/choiceSupplierInfo',
method: 'get',
params: data
})
}
// 查询分页列表 -- 商品列表
export function chooseproducts(params) {
return request({
url: '/yxtbase/apiadmin/base/basegoodssku/getGoodsListPage',
method: 'post',
data: params,
headers: {
'Content-Type': 'application/json'
}
})
}
// 查询所有仓库
export function getWareHouse(params) {
export function getWarehouses(params) {
return request({
url: '/oms/apiadmin/warehouseinfo/getWareHouse',
url: '/oms/apiadmin/base/wmswarehouseinfo/listAll',
method: 'post',
data: params,
headers: {
@ -78,3 +171,16 @@ export function getWareHouse(params) {
}
})
}
// 根据仓库查询库位
export function getWarehouseareas(data) {
return request({
url: '/oms/apiadmin/base/wmswarehousearea/selectAll',
method: 'get',
params: data,
headers: {
'Content-Type': 'application/json'
}
})
}

4
src/api/system/userManage/index.js

@ -30,7 +30,7 @@ export function userAdd(data) {
// 初始化 用户
export function initUserInfo(data) {
return request({
url: '/wms/apiadmin/sysstaffinfo/fetchBySid/' + data.sid,
url: '/oms/apiadmin/sysstaffinfo/fetchBySid/' + data.sid,
method: 'get',
data: data,
headers: {
@ -128,7 +128,7 @@ export function roleList(data) {
// 查询部门列表
export function orgList(data) {
return request({
url: '/oms/apiadmin/sysorganization/list',
url: '/oms/apiadmin/sysorganization/list/' + data,
method: 'get',
data: data,
headers: {

9
src/layout/components/Navbar.vue

@ -6,7 +6,7 @@
<!-- <h3 class="breadcrumb-container">汇融银行供应链贷后监管平台</h3> -->
<div class="right-menu">
<!-- <p>{{Orgname}} {{departmentName}} 欢迎, {{name}}</p>-->
<p>{{Orgname}}欢迎您{{pNameAndDepartmentNameAndPostName}} {{name}}</p>
<p>欢迎您{{pNameAndDepartmentNameAndPostName}} - {{defaultRoleName}} - {{name}}</p>
<!-- <img src="@/assets/images/info.png"> -->
<!-- <img src="@/assets/images/dy.png" @click="logout"> -->
<span class="backToHome" @click="logout"><i class="el-icon-back"></i>退出登录</span>
@ -23,6 +23,7 @@
Orgname: '',
departmentName: '',
name: '',
defaultRoleName: '',
year: '',
pNameAndDepartmentNameAndPostName: ''
}
@ -30,8 +31,9 @@
mounted() {
this.Orgname = window.sessionStorage.getItem('orgName')
this.departmentName = window.sessionStorage.getItem('departmentName')
this.name = window.sessionStorage.getItem('userName')
this.pNameAndDepartmentNameAndPostName = window.sessionStorage.getItem('defaultOrgPathName')
this.name = window.sessionStorage.getItem('name')
this.defaultRoleName = window.sessionStorage.getItem('defaultRoleName')
this.pNameAndDepartmentNameAndPostName = window.sessionStorage.getItem('pNameAndDepartmentNameAndPostName')
var nowDate = new Date()
this.year = nowDate.getFullYear()
},
@ -43,7 +45,6 @@
type: 'warning'
}).then(() => {
window.sessionStorage.clear()
this.$router.push({
path: '/login'
})

60
src/views/login/login.vue

@ -15,9 +15,11 @@
<div class="main-right-table">
<div :class="tableIndex == 1 ? 'main-right-table-text1' : 'main-right-table-text3'" @click="tableClick(1)">
<div style="cursor:pointer;" :class="tableIndex == 1 ? 'main-right-table-text1' : 'main-right-table-text3'"
@click="tableClick(1)">
密码登录</div>
<div :class="tableIndex == 2 ? 'main-right-table-text2' : 'main-right-table-text4'" @click="tableClick(2)">
<div style="cursor:pointer;" :class="tableIndex == 2 ? 'main-right-table-text2' : 'main-right-table-text4'"
@click="tableClick(2)">
验证码登录</div>
</div>
@ -49,9 +51,9 @@
<div class="main-right-bom-right">
<span @click="forgetClick">忘记密码</span>
<span @click="forgetClick" style="cursor:pointer;">忘记密码</span>
<div style="margin-left: 8px;margin-right: 8px;width: 1px; height: 18px;background: #999;"></div>
<span @click="registerClick">去注册</span>
<span @click="registerClick" style="cursor:pointer;">去注册</span>
</div>
@ -216,7 +218,8 @@
check: false,
registerInfo: {
mobile: '',
userSid: ""
userSid: "",
sourceSid: 'd936f1ba-03c3-11ec-bf08-48452053aa44', // oms sid
},
loginForm: {
userName: '',
@ -509,21 +512,23 @@
loading.close()
window.sessionStorage.setItem('token', response.data.token)
window.sessionStorage.setItem('userSid', response.data.sid)
window.sessionStorage.setItem('staffSid', response.data.staffSid)
window.sessionStorage.setItem('userName', response.data.userName)
window.sessionStorage.setItem('orgName', response.data.orgName)
window.sessionStorage.setItem('mobile', response.data.mobile)
window.sessionStorage.setItem('orgSid', response.data.orgSid)
window.sessionStorage.setItem('departmentName', response.data.departmentName)
window.sessionStorage.setItem('departmentSid', response.data.departmentSid)
window.sessionStorage.setItem('defaultOrgPath', response.data.orgSid)
window.sessionStorage.setItem('orgNamePath', response.data.orgNamePath)
window.sessionStorage.setItem('orgSidPath', response.data.orgSidPath)
window.sessionStorage.setItem('pNameAndDepartmentNameAndPostName', response.data
.pNameAndDepartmentNameAndPostName)
window.sessionStorage.setItem('token', response.data.token)
window.sessionStorage.setItem('staffSid', response.data.staffSid)
window.sessionStorage.setItem('userSid', response.data.sid)
window.sessionStorage.setItem('name', response.data.name)
window.sessionStorage.setItem('userName', response.data.userName)
window.sessionStorage.setItem('mobile', response.data.mobile)
window.sessionStorage.setItem('orgName', response.data.orgName)
window.sessionStorage.setItem('orgSid', response.data.orgSid)
window.sessionStorage.setItem('defaultDeptName', response.data.defaultDeptName)
window.sessionStorage.setItem('defaultDeptSid', response.data.defaultDeptSid)
window.sessionStorage.setItem('defaultRoleName', response.data.defaultRoleName)
window.sessionStorage.setItem('defaultRoleSid', response.data.defaultRoleSid)
window.sessionStorage.setItem('orgSidPath', response.data.orgSidPath)
window.sessionStorage.setItem('defaultOrgPath', response.data.defaultOrgPath)
window.sessionStorage.setItem('defaultOrgPathName', response.data.defaultOrgPathName)
window.sessionStorage.setItem('pNameAndDepartmentNameAndPostName', response.data
.pNameAndDepartmentNameAndPostName)
}
}).catch(() => {
@ -557,17 +562,20 @@
loading.close()
window.sessionStorage.setItem('token', response.data.token)
window.sessionStorage.setItem('userSid', response.data.sid)
window.sessionStorage.setItem('staffSid', response.data.staffSid)
window.sessionStorage.setItem('userSid', response.data.sid)
window.sessionStorage.setItem('name', response.data.name)
window.sessionStorage.setItem('userName', response.data.userName)
window.sessionStorage.setItem('orgName', response.data.orgName)
window.sessionStorage.setItem('mobile', response.data.mobile)
window.sessionStorage.setItem('orgName', response.data.orgName)
window.sessionStorage.setItem('orgSid', response.data.orgSid)
window.sessionStorage.setItem('departmentName', response.data.departmentName)
window.sessionStorage.setItem('departmentSid', response.data.departmentSid)
window.sessionStorage.setItem('defaultOrgPath', response.data.orgSid)
window.sessionStorage.setItem('orgNamePath', response.data.orgNamePath)
window.sessionStorage.setItem('defaultDeptName', response.data.defaultDeptName)
window.sessionStorage.setItem('defaultDeptSid', response.data.defaultDeptSid)
window.sessionStorage.setItem('defaultRoleName', response.data.defaultRoleName)
window.sessionStorage.setItem('defaultRoleSid', response.data.defaultRoleSid)
window.sessionStorage.setItem('orgSidPath', response.data.orgSidPath)
window.sessionStorage.setItem('defaultOrgPath', response.data.defaultOrgPath)
window.sessionStorage.setItem('defaultOrgPathName', response.data.defaultOrgPathName)
window.sessionStorage.setItem('pNameAndDepartmentNameAndPostName', response.data
.pNameAndDepartmentNameAndPostName)
}

35
src/views/purchase/purchaseOrder/purchaseOrderAdd.vue

@ -43,7 +43,8 @@
<div class="span-sty"><span class="must">*</span> 供应商</div>
<el-form-item prop="supplierName"> <el-select v-model="formobj.supplierName" filterable clearable
placeholder="请选择供应商" class="addinputw addinputInfo" @change="supplierNameSelect">
<el-option v-for="item in supplierList" :key="item.sid" :label="item.supplierName" :value="item.sid">
<el-option v-for="(item,index ) in supplierList" :key="index" :label="item.supplierName"
:value="item.sid">
</el-option>
</el-select></el-form-item>
</el-col>
@ -52,7 +53,7 @@
<el-form-item prop="wareHouseName">
<el-select v-model="formobj.wareHouseName" placeholder="请选择收货仓库" class="addinputw addinputInfo"
@change="selectWarehouseName">
<el-option v-for="item in warehouseList" :key="item.sid" :label="item.warehouseName"
<el-option v-for="(item,index ) in warehouseList" :key="index" :label="item.warehouseName"
:value="item.sid" />
</el-select>
</el-form-item>
@ -62,7 +63,7 @@
<el-form-item prop="purchaserName">
<el-select v-model="formobj.purchaserName" filterable clearable placeholder="请选择业务员"
class="addinputw addinputInfo" @change="allOrgperSelect">
<el-option v-for="item in allOrgperList" :key="item.sid" :label="item.name" :value="item.sid">
<el-option v-for="(item,index ) in allOrgperList" :key="index" :label="item.name" :value="item.sid">
</el-option>
</el-select>
@ -83,7 +84,7 @@
<el-form-item prop="currencyValue">
<el-select v-model="formobj.purchaseBillAmount.currencyValue" placeholder="请选择货币类别"
class="addinputw addinputInfo" @change="selectCurrency">
<el-option v-for="(item,i) in currencyTypeList" :key="item.dictKey" :label="item.dictValue"
<el-option v-for="(item,index) in currencyTypeList" :key="index" :label="item.dictValue"
:value="item.dictKey" />
</el-option>
</el-select>
@ -103,7 +104,7 @@
<el-form-item prop="freightShareTypeValue">
<el-select v-model="formobj.purchaseBillAmount.freightShareTypeValue" placeholder="请选择分摊方式"
class="addinputw addinputInfo" @change="selectFreightShareType">
<el-option v-for="item in shareTypeList" :key="item.dictKey" :label="item.dictValue"
<el-option v-for="(item,index ) in shareTypeList" :key="index" :label="item.dictValue"
:value="item.dictKey" />
</el-select>
</el-form-item>
@ -113,7 +114,7 @@
<el-form-item prop="settleAccountValue">
<el-select v-model="formobj.purchaseBillAmount.settleAccountValue" filterable clearable
placeholder="请选择结算账户" class="addinputw addinputInfo" @change="selectSettleAccount">
<el-option v-for="item in settlementList" :key="item.dictKey" :label="item.dictValue"
<el-option v-for="(item,index ) in settlementList" :key="index" :label="item.dictValue"
:value="item.dictKey" />
</el-option>
</el-select>
@ -136,7 +137,7 @@
<el-form-item prop="otherShareTypeValue">
<el-select v-model="formobj.purchaseBillAmount.otherShareTypeValue" placeholder="请选择分摊方式"
class="addinputw addinputInfo" @change="selectOtherShareType">
<el-option v-for="item in shareTypeList" :key="item.dictKey" :label="item.dictValue"
<el-option v-for="(item,index ) in shareTypeList" :key="index" :label="item.dictValue"
:value="item.dictKey" />
</el-select>
</el-form-item>
@ -175,7 +176,7 @@
<el-table v-loading="listLoading" :data="formobj.purchaseBillDetailList" border style="width: 100%;">
<!-- <el-table-column fixed width="50" type="selection" align="center" /> -->
<el-table-column fixed width="80" label="序号" type="index" :index="indexMethod" align="center" />
<el-table-column fixed label="操作" wid align="center" width="150">
<el-table-column fixed label="操作" wid align="center" width="100">
<template slot-scope="scope">
<el-button type="primary" size="mini" @click="deleteGoods(scope.row)">删除</el-button>
</template>
@ -184,24 +185,24 @@
<el-table-column label="商品名称" prop="goodsSpuName" width="150" align="center" />
<el-table-column label="商品规格" prop="goodsSkuOwnSpec" width="150" align="center" />
<el-table-column label="单位" prop="unit" width="120" align="center" />
<el-table-column label="采购数量" align="center" width="180">
<el-table-column label="采购数量" align="center" width="150">
<template slot-scope="scope">
<el-input v-model="scope.row.count" clearable placeholder=""
oninput="value=value.replace(/^(0+)|[^\d]+/g,'')" @input="calculation(scope.row)" />
</template>
</el-table-column>
<el-table-column label="单价" prop="cost" width="120" align="center" />
<el-table-column label="折扣率(%)" align="center" width="180">
<el-table-column label="折扣率(%)" align="center" width="150">
<template slot-scope="scope">
<el-input v-model="scope.row.discountRate" clearable placeholder=""
oninput="value=value.replace(/[^\d.]/g, '').replace(/\.{2,}/g, '.').replace('.', '$#$').replace(/\./g, '').replace('$#$', '.').replace(/^(\-)*(\d+)\.(\d\d).*$/, '$1$2.$3').replace(/^\./g, '')"
@input="calculation(scope.row)" />
</template>
</el-table-column>
<el-table-column prop="discountPrice" label="折扣单价" width="150" align="center" />
<el-table-column prop="discountPrice" label="折扣单价" width="120" align="center" />
<!-- <el-table-column prop="shareAmount" label="分摊金额" width="150" align="center" /> -->
<el-table-column prop="amount" label="总价" width="120" align="center" />
<el-table-column label="预计到货日期" align="center" width="180">
<el-table-column label="预计到货日期" align="center" min-width="250">
<template slot-scope="scope">
<el-date-picker v-model="scope.row.deliveryDate" type="date" value-format="yyyy-MM-dd"
placeholder="选择日期" />
@ -474,7 +475,7 @@
"goodsSkuOwnSpec": value[i].goodsSkuOwnSpec,
"unit": value[i].unit,
"cost": value[i].cost,
"count": "1",
"count": "0",
"discountRate": value[i].discountRate,
"discountPrice": "0.00",
"shareAmount": "0.00",
@ -558,6 +559,7 @@
handleReturn(isreload) {
if (isreload === 'true') this.$emit('reloadlist')
this.submitdisabled = false
this.imgList = []
this.formobj = {
"sid": "",
"remarks": "",
@ -627,13 +629,18 @@
},
showAdd() {
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.init()
this.title = '【新增】'
},
showEdit(row) {
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.init()
this.title = '【编辑】'

24
src/views/purchase/purchaseOrder/purchaseOrderInfo.vue

@ -37,28 +37,28 @@
<el-row>
<el-col :span="8">
<div class="span-sty"><span class="must">*</span> 供应商</div>
<div class="span-sty">供应商</div>
<el-form-item><span class="addinputInfo">{{ formobj.supplierName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty"><span class="must">*</span> 收货仓库</div>
<div class="span-sty">收货仓库</div>
<el-form-item><span class="addinputInfo">{{ formobj.wareHouseName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty"><span class="must">*</span> 业务员</div>
<div class="span-sty">业务员</div>
<el-form-item><span class="addinputInfo">{{ formobj.purchaserName }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="16">
<div class="span-sty"><span class="must">*</span> 银行账号</div>
<div class="span-sty">银行账号</div>
<el-form-item><span
class="addinputInfo">{{ formobj.purchaseBillAmount.bankAccount }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty"><span class="must">*</span> 货币类别</div>
<div class="span-sty">货币类别</div>
<el-form-item><span
class="addinputInfo">{{ formobj.purchaseBillAmount.currencyValue }}</span></el-form-item>
</el-col>
@ -66,16 +66,16 @@
<el-row>
<el-col :span="8">
<div class="span-sty"><span class="must">*</span> 采购运费</div>
<div class="span-sty">采购运费</div>
<el-form-item><span class="addinputInfo">{{ formobj.purchaseBillAmount.freight }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty"><span class="must">*</span> 运费分摊方式</div>
<div class="span-sty">运费分摊方式</div>
<el-form-item><span
class="addinputInfo">{{ formobj.purchaseBillAmount.freightShareTypeValue }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty"><span class="must">*</span> 结算账户</div>
<div class="span-sty">结算账户</div>
<el-form-item><span
class="addinputInfo">{{ formobj.purchaseBillAmount.settleAccountValue }}</span></el-form-item>
</el-col>
@ -83,25 +83,25 @@
<el-row>
<el-col :span="8">
<div class="span-sty"><span class="must">*</span> 其他费用</div>
<div class="span-sty">其他费用</div>
<el-form-item><span
class="addinputInfo">{{ formobj.purchaseBillAmount.otherAmountName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty"><span class="must">*</span> 其他费用分摊方式</div>
<div class="span-sty">其他费用分摊方式</div>
<el-form-item><span
class="addinputInfo">{{ formobj.purchaseBillAmount.otherShareTypeValue }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty"><span class="must">*</span> 预付金额</div>
<div class="span-sty">预付金额</div>
<el-form-item><span class="addinputInfo">{{ formobj.purchaseBillAmount.prepayment }}</span></el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="24">
<div class="span-sty"><span class="must">*</span> 附件</div>
<div class="span-sty">附件</div>
<el-form-item><el-image class="addinputInfo" style="width: 150px;height: 150px"
v-for="(item, index) in formobj.purchaseAppendixList" :key="index" :src="item.url"
:preview-src-list="formobj.purchaseAppendixList" /></el-form-item>

215
src/views/system/menuManage/menuManage.vue

@ -62,14 +62,18 @@
<el-input v-model="scope.row.sortNo" size="mini"/>
</template>
</el-table-column>-->
<el-table-column prop="pageUrl" width="120" label="类型" align="center" />
<el-table-column prop="pageUrl" label="链接地址" align="center" />
<el-table-column prop="isShow" label="可见性" align="center">
<el-table-column prop="menuTypeValue" width="120" label="类型" align="center" />
<el-table-column prop="pageUrl" label="路由路径" align="center" />
<el-table-column prop="menuUrl" label="路由名称" align="center" />
<el-table-column prop="pageName" label="组件路径" align="center" />
<el-table-column prop="cid" label="权限标识" align="center" />
<el-table-column prop="isShow" label="状态" align="center">
<template slot-scope="scope">
<el-switch v-model="scope.row.isShow" active-color="#13ce66" inactive-color="#ff4949" active-value="1"
inactive-value="0" @change="enabledChange(scope.row.isShow,scope.row)" />
</template>
</el-table-column>
<el-table-column prop="sortNo" label="排序" align="center" />
</el-table>
</div>
</div>
@ -77,16 +81,35 @@
<!-- 编辑功能信息 -->
<el-dialog :title="dialogTitle + '功能信息'" :visible.sync="editDialog" width="40%">
<table class="e-table" cellspacing="0">
<!-- <tr>
<tr>
<td>资源名称</td>
<td>
<el-input v-model="form.sourceName" :disabled="true" style="width:300px" />
</td>
</tr>
<tr>
<td>上级菜单</td>
<td>
<el-input v-model="form.pname" :disabled="true" style="width:300px" />
<!-- <el-input v-model="form.pname" :disabled="true" style="width:300px" /> -->
<el-select v-model="form.pname" placeholder="请选择" style="width:300px">
<el-option hidden :key="form.psid" :label="form.pname" :value="form.pname"></el-option>
<el-tree :data="treedata" ref="Tree" show-checkbox accordion node-key="sid"
:default-checked-keys="checkedId" :default-expand-all='true' :check-strictly='true'
:props="defaultProps" @check-change="checkchange" @node-click="departmentClick">
</el-tree>
</el-select>
</td>
</tr> -->
</tr>
<tr>
<td>资源名称</td>
<td>类型分类</td>
<td>
<el-input v-model="form.sourceName" :disabled="true" style="width:300px" />
<el-radio-group v-model="editMenuType" @change="menuTypeChangeRadio">
<el-radio :label="'0'">目录</el-radio>
<el-radio :label="'1'">菜单</el-radio>
<el-radio :label="'2'">按钮</el-radio>
</el-radio-group>
</td>
</tr>
<tr>
@ -96,36 +119,41 @@
</td>
</tr>
<tr>
<td>菜单路由</td>
<td>路由路径</td>
<td>
<el-input v-model="form.menuUrl" />
</td>
</tr>
<tr>
<td>菜单图片路径</td>
<td>路由名称</td>
<td>
<el-input v-model="form.pageUrl" />
</td>
</tr>
<tr>
<td>菜单图片</td>
<td>
<el-input v-model="form.iconUrl" />
</td>
</tr>
<tr>
<td>前端页面名称</td>
<td>组件路径</td>
<td>
<el-input v-model="form.pageName" />
</td>
</tr>
<tr>
<td>前端页面路径</td>
<tr v-show="editMenuType=='2'">
<td>权限标识</td>
<td>
<el-input v-model="form.pageUrl" />
<el-input v-model="form.cid" />
</td>
</tr>
<tr>
<td>类型分类</td>
<td>是否手机端权限</td>
<td>
<el-radio-group v-model="editMenuType" @change="menuTypeChangeRadio">
<el-radio :label="'1'">目录</el-radio>
<el-radio :label="'2'">菜单</el-radio>
<el-radio :label="'3'">按钮</el-radio>
<el-radio-group v-model="editPhoneFunction" @change="changeRadio4">
<el-radio :label="'0'"></el-radio>
<el-radio :label="'1'"></el-radio>
</el-radio-group>
</td>
</tr>
@ -158,7 +186,7 @@
</el-dialog>
</el-tab-pane>
<el-tab-pane label="新增菜单" name="addrole">
<el-tab-pane label="新增菜单" name="addrole" class="listconadd">
<!-- 添加 -->
<!--<el-dialog :title="dialogTitle + '菜单管理'" :visible.sync="editDialog" width="40%">-->
<table class="e-table" cellspacing="0">
@ -174,6 +202,32 @@
<el-input v-model="form.sourceName" :disabled="true" style="width:300px" />
</td>
</tr>
<tr>
<td>上级菜单</td>
<td>
<!-- <el-tree v-loading="loading" :data="treedata" ref="sourceTree" accordion node-key="sid"
:props="defaultProps" @check-change="checkchange">
</el-tree> -->
<el-select v-model="form.pname" placeholder="请选择" style="width:300px">
<el-option hidden :key="form.psid" :label="form.pname" :value="form.pname"></el-option>
<el-tree :data="treedata" ref="Tree" show-checkbox accordion node-key="sid"
:default-checked-keys="checkedId" :default-expand-all='true' :check-strictly='true'
:props="defaultProps" @check-change="checkchange" @node-click="departmentClick">
</el-tree>
</el-select>
</td>
</tr>
<tr>
<td>类型分类</td>
<td>
<el-radio-group v-model="addMenuType" @change="menuTypeChangeRadio2">
<el-radio :label="'0'">目录</el-radio>
<el-radio :label="'1'">菜单</el-radio>
<el-radio :label="'2'">按钮</el-radio>
</el-radio-group>
</td>
</tr>
<tr>
<td>菜单名称</td>
<td>
@ -181,36 +235,41 @@
</td>
</tr>
<tr>
<td>菜单路由</td>
<td>路由路径</td>
<td>
<el-input v-model="form.pageUrl" style="width:300px" />
</td>
</tr>
<tr>
<td>路由名称</td>
<td>
<el-input v-model="form.menuUrl" style="width:300px" />
</td>
</tr>
<tr>
<td>菜单图片路径</td>
<td>菜单图片</td>
<td>
<el-input v-model="form.iconUrl" style="width:300px" />
</td>
</tr>
<tr>
<td>前端页面名称</td>
<td>组件路径</td>
<td>
<el-input v-model="form.pageName" style="width:300px" />
</td>
</tr>
<tr>
<td>前端页面路径</td>
<tr v-show="addMenuType=='2'">
<td>权限标识</td>
<td>
<el-input v-model="form.pageUrl" style="width:300px" />
<el-input v-model="form.cid" />
</td>
</tr>
<tr>
<td>类型分类</td>
<td>是否手机端权限</td>
<td>
<el-radio-group v-model="addMenuType" @change="menuTypeChangeRadio2">
<el-radio :label="'1'">目录</el-radio>
<el-radio :label="'2'">菜单</el-radio>
<el-radio :label="'3'">按钮</el-radio>
<el-radio-group v-model="addPhoneFunction" @change="changeRadio3">
<el-radio :label="'0'"></el-radio>
<el-radio :label="'1'"></el-radio>
</el-radio-group>
</td>
</tr>
@ -251,7 +310,8 @@
saveMenusInfo,
putMenusInfo,
delMenus,
IsEnable
IsEnable,
sourceMenuTree,
} from '@/api/system/menu/index.js'
export default {
@ -263,7 +323,7 @@
dialogTitle: '',
checked: '',
form: {
pname: '顶级菜单',
pname: '',
iconUrl: '',
isShow: '1',
menuName: '',
@ -275,10 +335,11 @@
psid: '',
remarks: '',
sortNo: 0,
cid: '',
sourceName: 'wms',
phoneFunction: "0",
sourceSid: 'd936f1ba-03c3-11ec-bf08-48452053aa33'
},
formBackup: Object.assign({}, this.form),
tableData: [],
page: {
current: 1,
@ -296,8 +357,18 @@
isadd: false,
editShow: '1',
addShow: '1',
addMenuType: '1',
editMenuType: '1',
addMenuType: '0',
editMenuType: '0',
addPhoneFunction: "0",
editPhoneFunction: "0",
//
loading: false,
defaultProps: {
children: 'children',
label: 'name'
},
checkedId: [], //
treedata: [], //
}
},
mounted() {
@ -309,6 +380,31 @@
// })
},
methods: {
departmentClick(data) {
console.log("departmentClick", data);
this.form.psid = data.sid
this.form.pname = data.name
this.$refs.Tree.visible = false
},
checkchange(data, checked) {
console.log("checkchange", data);
console.log("checkchange", checked);
if (checked) {
this.form.psid = data.sid
this.form.pname = data.name
let arr = []
arr = [data.sid];
this.$refs.Tree.setCheckedKeys(arr);
console.log("checkchange", this.form.pname);
console.log("checkchange", this.form.psid);
return;
}
},
menuTypeChangeRadio(val) {
console.log('menuTypeChangeRadio', val)
this.form.menuType = val
@ -325,6 +421,14 @@
console.log('changeRadio2', val)
this.form.isShow = val
},
changeRadio3(val) {
console.log('changeRadio', val)
this.form.phoneFunction = val
},
changeRadio4(val) {
console.log('changeRadio2', val)
this.form.phoneFunction = val
},
pagination(val) { //
this.page.current = val.pageNum
this.page.size = val.pageSize
@ -341,6 +445,7 @@
const treedata = res.data
console.log('菜单列表', res)
this.tableData = treedata
this.treedata = treedata
this.page.total = res.data.total
})
},
@ -355,14 +460,14 @@
handleClick(tab, event) {
if (tab.name == 'addrole') {
this.dialogTitle = '新增'
this.form = Object.assign({}, this.formBackup)
this.form.isShow = '1'
this.form.menuType = '1'
this.form.menuType = '0'
// this.form.psid = row.sid || 0
this.form.pname = '顶级菜单'
this.form.sourceName = 'wms'
this.form.sourceSid = 'd936f1ba-03c3-11ec-bf08-48452053aa33'
this.form.psid = 0
this.form.pname = ''
this.form.psid = '0'
// this.sourceMenus()
} else {
this.getPageList()
}
@ -376,11 +481,11 @@
// }
// this.dialogTitle = ''
// this.editDialog = true
this.form = Object.assign({}, this.formBackup)
this.form.isShow = '1'
this.form.menuType = '1'
this.form.menuType = '0'
// this.form.psid = row.sid || 0
this.form.pname = row.name || '顶级菜单'
this.form.pname = ''
this.form.psid = ''
this.form.sourceName = row.sourceName
this.form.sourceSid = row.sourceSid
if (row.isSource == '1') {
@ -406,6 +511,7 @@
putMenusInfo(this.form).then(res => {
this.editDialog = false
this.getPageList()
this.rest()
this.$message({
message: res.msg,
type: 'success'
@ -415,12 +521,35 @@
saveMenusInfo(this.form).then(res => {
this.activeName = 'roleList'
this.getPageList()
this.rest()
this.$message({
message: res.msg,
type: 'success'
})
})
}
},
rest() {
this.form = {
pname: '',
iconUrl: '',
isShow: '1',
menuName: '',
menuUrl: '',
pageAliasName: '',
pageName: '',
pageUrl: '',
pageUrlRedirect: '',
psid: '',
remarks: '',
cid: '',
sortNo: 0,
sourceName: 'wms',
phoneFunction: "0",
sourceSid: 'd936f1ba-03c3-11ec-bf08-48452053aa33'
}
},
deleteRow(row) {
this.$confirm('确定要删除该菜单吗, 是否继续?', '提示', {

4
src/views/system/userManage/userManageAdd.vue

@ -114,7 +114,9 @@
},
methods: {
getRoleList() {
var param = {}
var param = {
orgSid: window.sessionStorage.getItem('orgSid')
}
roleList(param).then(res => {
if (res.code === '200') {
this.roleListAll = res.data

5
src/views/system/userManage/userManageList.vue

@ -384,7 +384,9 @@
this.getOrgUserList()
},
getRoleList() {
var param = {}
var param = {
orgSid: window.sessionStorage.getItem('orgSid')
}
roleList(param).then(res => {
if (res.code === '200') {
this.roleListAll = res.data
@ -433,6 +435,7 @@
this.roleDialog = true
this.roleForm.sid = row.sid
this.roleForm.userSid = row.sid
this.roleForm.orgsid = window.sessionStorage.getItem('orgSid')
setRole(this.roleForm).then(res => {
this.roleList = res.data
for (let i = 0; i < res.data.length; i++) {

Loading…
Cancel
Save