优化给仓库分配用户的功能
This commit is contained in:
@@ -49,6 +49,8 @@
|
|||||||
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
|
:rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
|
||||||
@change="handleTableChange">
|
@change="handleTableChange">
|
||||||
<span slot="action" slot-scope="text, record">
|
<span slot="action" slot-scope="text, record">
|
||||||
|
<a v-if="btnEnableList.indexOf(1)>-1 && depotFlag === '1' && quickBtn.user.indexOf(1)>-1 " @click="btnSetUser(record)">分配用户</a>
|
||||||
|
<a-divider v-if="btnEnableList.indexOf(1)>-1 && depotFlag === '1' && quickBtn.user.indexOf(1)>-1 " type="vertical" />
|
||||||
<a-popconfirm v-if="btnEnableList.indexOf(1)>-1" title="确定设为默认吗?" @confirm="() => handleSetDefault(record.id)">
|
<a-popconfirm v-if="btnEnableList.indexOf(1)>-1" title="确定设为默认吗?" @confirm="() => handleSetDefault(record.id)">
|
||||||
<a>设为默认</a>
|
<a>设为默认</a>
|
||||||
</a-popconfirm>
|
</a-popconfirm>
|
||||||
@@ -73,21 +75,26 @@
|
|||||||
<!-- table区域-end -->
|
<!-- table区域-end -->
|
||||||
<!-- 表单区域 -->
|
<!-- 表单区域 -->
|
||||||
<depot-modal ref="modalForm" @ok="modalFormOk"></depot-modal>
|
<depot-modal ref="modalForm" @ok="modalFormOk"></depot-modal>
|
||||||
|
<depot-user-modal ref="depotUserModal"></depot-user-modal>
|
||||||
</a-card>
|
</a-card>
|
||||||
</a-col>
|
</a-col>
|
||||||
</a-row>
|
</a-row>
|
||||||
</template>
|
</template>
|
||||||
<!-- BY cao_yu_li -->
|
<!-- BY cao_yu-li -->
|
||||||
<script>
|
<script>
|
||||||
import DepotModal from './modules/DepotModal'
|
import DepotModal from './modules/DepotModal'
|
||||||
|
import DepotUserModal from './modules/DepotUserModal'
|
||||||
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
|
import { JeecgListMixin } from '@/mixins/JeecgListMixin'
|
||||||
import JDate from '@/components/jeecg/JDate'
|
import JDate from '@/components/jeecg/JDate'
|
||||||
import { postAction } from '@api/manage'
|
import { postAction } from '@api/manage'
|
||||||
|
import { getCurrentSystemConfig } from '@/api/api'
|
||||||
|
import Vue from 'vue'
|
||||||
export default {
|
export default {
|
||||||
name: "DepotList",
|
name: "DepotList",
|
||||||
mixins:[JeecgListMixin],
|
mixins:[JeecgListMixin],
|
||||||
components: {
|
components: {
|
||||||
DepotModal,
|
DepotModal,
|
||||||
|
DepotUserModal,
|
||||||
JDate
|
JDate
|
||||||
},
|
},
|
||||||
data () {
|
data () {
|
||||||
@@ -101,6 +108,10 @@
|
|||||||
},
|
},
|
||||||
// 查询条件
|
// 查询条件
|
||||||
queryParam: {name:'',remark:''},
|
queryParam: {name:'',remark:''},
|
||||||
|
depotFlag: '0',
|
||||||
|
quickBtn: {
|
||||||
|
user: ''
|
||||||
|
},
|
||||||
// 表头
|
// 表头
|
||||||
columns: [
|
columns: [
|
||||||
{
|
{
|
||||||
@@ -143,10 +154,29 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
computed: {
|
created() {
|
||||||
|
this.getSystemConfig()
|
||||||
|
this.initQuickBtn()
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
getSystemConfig() {
|
||||||
|
getCurrentSystemConfig().then((res) => {
|
||||||
|
if(res.code === 200 && res.data){
|
||||||
|
this.depotFlag = res.data.depotFlag
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
//加载快捷按钮:分配用户
|
||||||
|
initQuickBtn() {
|
||||||
|
let btnStrList = Vue.ls.get('winBtnStrList') //按钮功能列表 JSON字符串
|
||||||
|
if (btnStrList) {
|
||||||
|
for (let i = 0; i < btnStrList.length; i++) {
|
||||||
|
if (btnStrList[i].btnStr) {
|
||||||
|
this.quickBtn.user = btnStrList[i].url === '/system/user'?btnStrList[i].btnStr:this.quickBtn.user
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
handleSetDefault: function (id) {
|
handleSetDefault: function (id) {
|
||||||
if(!this.url.setDefault){
|
if(!this.url.setDefault){
|
||||||
this.$message.error("请设置url.delete属性!")
|
this.$message.error("请设置url.delete属性!")
|
||||||
@@ -168,6 +198,11 @@
|
|||||||
if(this.btnEnableList.indexOf(1)===-1) {
|
if(this.btnEnableList.indexOf(1)===-1) {
|
||||||
this.$refs.modalForm.isReadOnly = true
|
this.$refs.modalForm.isReadOnly = true
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
btnSetUser(record) {
|
||||||
|
this.$refs.depotUserModal.edit(record)
|
||||||
|
this.$refs.depotUserModal.title = "分配用户给:" + record.name
|
||||||
|
this.$refs.depotUserModal.disableSubmit = false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,7 +24,7 @@
|
|||||||
@check="onCheck"
|
@check="onCheck"
|
||||||
:selectedKeys="selectedKeys"
|
:selectedKeys="selectedKeys"
|
||||||
:checkedKeys="checkedKeys"
|
:checkedKeys="checkedKeys"
|
||||||
:treeData="roleFunctionTree"
|
:treeData="customerUserTree"
|
||||||
:checkStrictly="checkStrictly"
|
:checkStrictly="checkStrictly"
|
||||||
:expandedKeys="iExpandedKeys"
|
:expandedKeys="iExpandedKeys"
|
||||||
:autoExpandParent="true"
|
:autoExpandParent="true"
|
||||||
@@ -50,7 +50,7 @@
|
|||||||
model: {},
|
model: {},
|
||||||
customerId: 0,
|
customerId: 0,
|
||||||
iExpandedKeys: [],
|
iExpandedKeys: [],
|
||||||
roleFunctionTree: [],
|
customerUserTree: [],
|
||||||
checkedKeys: [],
|
checkedKeys: [],
|
||||||
selectedKeys: [],
|
selectedKeys: [],
|
||||||
checkStrictly: false,
|
checkStrictly: false,
|
||||||
@@ -112,17 +112,17 @@
|
|||||||
loadTree(id) {
|
loadTree(id) {
|
||||||
let that = this
|
let that = this
|
||||||
that.treeData = []
|
that.treeData = []
|
||||||
that.roleFunctionTree = []
|
that.customerUserTree = []
|
||||||
let params = {};
|
let params = {};
|
||||||
params.id='';
|
params.id='';
|
||||||
getAction('/supplier/getCustomerUser?UBType=UserCustomer&UBValue='+id).then((res) => {
|
getAction('/user/getUserWithChecked?UBType=UserCustomer&UBValue='+id).then((res) => {
|
||||||
if (res) {
|
if (res) {
|
||||||
//机构全选后,再添加机构,选中数量增多
|
//机构全选后,再添加机构,选中数量增多
|
||||||
this.allTreeKeys = [];
|
this.allTreeKeys = [];
|
||||||
for (let i = 0; i < res.length; i++) {
|
for (let i = 0; i < res.length; i++) {
|
||||||
let temp = res[i]
|
let temp = res[i]
|
||||||
that.treeData.push(temp)
|
that.treeData.push(temp)
|
||||||
that.roleFunctionTree.push(temp)
|
that.customerUserTree.push(temp)
|
||||||
that.setThisExpandedKeys(temp)
|
that.setThisExpandedKeys(temp)
|
||||||
that.getAllKeys(temp);
|
that.getAllKeys(temp);
|
||||||
}
|
}
|
||||||
|
|||||||
172
jshERP-web/src/views/system/modules/DepotUserModal.vue
Normal file
172
jshERP-web/src/views/system/modules/DepotUserModal.vue
Normal file
@@ -0,0 +1,172 @@
|
|||||||
|
<template>
|
||||||
|
<div ref="container">
|
||||||
|
<a-modal
|
||||||
|
:title="title"
|
||||||
|
:width="800"
|
||||||
|
:visible="visible"
|
||||||
|
:confirmLoading="confirmLoading"
|
||||||
|
:getContainer="() => $refs.container"
|
||||||
|
:maskStyle="{'top':'93px','left':'154px'}"
|
||||||
|
:wrapClassName="wrapClassNameInfo()"
|
||||||
|
:mask="isDesktop()"
|
||||||
|
:maskClosable="false"
|
||||||
|
@ok="handleOk"
|
||||||
|
@cancel="handleCancel"
|
||||||
|
cancelText="取消"
|
||||||
|
okText="保存"
|
||||||
|
style="top:5%;height: 95%;">
|
||||||
|
<a-spin :spinning="confirmLoading">
|
||||||
|
<a-col :md="10" :sm="24">
|
||||||
|
<template>
|
||||||
|
<a-tree
|
||||||
|
checkable
|
||||||
|
multiple
|
||||||
|
@check="onCheck"
|
||||||
|
:selectedKeys="selectedKeys"
|
||||||
|
:checkedKeys="checkedKeys"
|
||||||
|
:treeData="depotUserTree"
|
||||||
|
:checkStrictly="checkStrictly"
|
||||||
|
:expandedKeys="iExpandedKeys"
|
||||||
|
:autoExpandParent="true"
|
||||||
|
@expand="onExpand"/>
|
||||||
|
</template>
|
||||||
|
</a-col>
|
||||||
|
</a-spin>
|
||||||
|
</a-modal>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
<script>
|
||||||
|
import pick from 'lodash.pick'
|
||||||
|
import {mixinDevice} from '@/utils/mixin'
|
||||||
|
import {updateOneValueByKeyIdAndType} from '@/api/api'
|
||||||
|
import {getAction} from '../../../api/manage'
|
||||||
|
export default {
|
||||||
|
name: "DepotUserModal",
|
||||||
|
mixins: [mixinDevice],
|
||||||
|
data () {
|
||||||
|
return {
|
||||||
|
title:"操作",
|
||||||
|
visible: false,
|
||||||
|
model: {},
|
||||||
|
depotId: 0,
|
||||||
|
iExpandedKeys: [],
|
||||||
|
depotUserTree: [],
|
||||||
|
checkedKeys: [],
|
||||||
|
selectedKeys: [],
|
||||||
|
checkStrictly: false,
|
||||||
|
hiding: true,
|
||||||
|
labelCol: {
|
||||||
|
xs: { span: 24 },
|
||||||
|
sm: { span: 5 },
|
||||||
|
},
|
||||||
|
wrapperCol: {
|
||||||
|
xs: { span: 24 },
|
||||||
|
sm: { span: 16 },
|
||||||
|
},
|
||||||
|
confirmLoading: false,
|
||||||
|
form: this.$form.createForm(this),
|
||||||
|
}
|
||||||
|
},
|
||||||
|
created () {
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
edit (record) {
|
||||||
|
this.form.resetFields();
|
||||||
|
this.model = Object.assign({}, {});
|
||||||
|
this.visible = true
|
||||||
|
this.depotId = record.id
|
||||||
|
this.checkedKeys = []
|
||||||
|
this.loadTree(record.id)
|
||||||
|
},
|
||||||
|
close () {
|
||||||
|
this.$emit('close');
|
||||||
|
this.visible = false;
|
||||||
|
},
|
||||||
|
handleOk () {
|
||||||
|
const that = this;
|
||||||
|
// 触发表单验证
|
||||||
|
this.form.validateFields((err, values) => {
|
||||||
|
if (!err) {
|
||||||
|
that.confirmLoading = true;
|
||||||
|
let formData = Object.assign(this.model, values);
|
||||||
|
formData.type = 'UserDepot'
|
||||||
|
formData.keyIds = this.checkedKeys
|
||||||
|
formData.oneValue = this.depotId
|
||||||
|
updateOneValueByKeyIdAndType(formData).then((res)=>{
|
||||||
|
if(res.code === 200){
|
||||||
|
that.$message.info('保存成功');
|
||||||
|
that.$emit('ok');
|
||||||
|
}else{
|
||||||
|
that.$message.warning(res.data.message);
|
||||||
|
}
|
||||||
|
}).finally(() => {
|
||||||
|
that.confirmLoading = false;
|
||||||
|
that.close();
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleCancel () {
|
||||||
|
this.close()
|
||||||
|
},
|
||||||
|
loadTree(id) {
|
||||||
|
let that = this
|
||||||
|
that.treeData = []
|
||||||
|
that.depotUserTree = []
|
||||||
|
let params = {};
|
||||||
|
params.id='';
|
||||||
|
getAction('/user/getUserWithChecked?UBType=UserDepot&UBValue='+id).then((res) => {
|
||||||
|
if (res) {
|
||||||
|
//机构全选后,再添加机构,选中数量增多
|
||||||
|
this.allTreeKeys = [];
|
||||||
|
for (let i = 0; i < res.length; i++) {
|
||||||
|
let temp = res[i]
|
||||||
|
that.treeData.push(temp)
|
||||||
|
that.depotUserTree.push(temp)
|
||||||
|
that.setThisExpandedKeys(temp)
|
||||||
|
that.getAllKeys(temp);
|
||||||
|
}
|
||||||
|
console.log(JSON.stringify(this.checkedKeys))
|
||||||
|
this.loading = false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
onCheck(checkedKeys, info) {
|
||||||
|
console.log('onCheck', checkedKeys, info)
|
||||||
|
this.hiding = false
|
||||||
|
if(this.checkStrictly){
|
||||||
|
this.checkedKeys = checkedKeys.checked;
|
||||||
|
}else{
|
||||||
|
this.checkedKeys = checkedKeys
|
||||||
|
}
|
||||||
|
},
|
||||||
|
setThisExpandedKeys(node) {
|
||||||
|
if(node.checked==true) {
|
||||||
|
this.checkedKeys.push(node.key)
|
||||||
|
}
|
||||||
|
if (node.children && node.children.length > 0) {
|
||||||
|
this.iExpandedKeys.push(node.key)
|
||||||
|
for (let a = 0; a < node.children.length; a++) {
|
||||||
|
this.setThisExpandedKeys(node.children[a])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
getAllKeys(node) {
|
||||||
|
// console.log('node',node);
|
||||||
|
this.allTreeKeys.push(node.key)
|
||||||
|
if (node.children && node.children.length > 0) {
|
||||||
|
for (let a = 0; a < node.children.length; a++) {
|
||||||
|
this.getAllKeys(node.children[a])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onExpand(expandedKeys) {
|
||||||
|
console.log('onExpand', expandedKeys)
|
||||||
|
this.iExpandedKeys = expandedKeys
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
<style scoped>
|
||||||
|
|
||||||
|
</style>
|
||||||
Reference in New Issue
Block a user