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. 44
      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'
})

44
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,19 +512,21 @@
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)
}
@ -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