业务线配置

pull/1/head
杨世强 1 year ago
parent 34b73590c9
commit 1dfb48cc2e

@ -127,5 +127,7 @@ public interface BusinessWarehouseMapper extends BaseMapperX<BusinessWarehouseDO
); );
} }
IPage<BusinessUserVO> queryBusinessUserList(Page<BusinessUserVO> page, BusinessUserVO req);
} }

@ -99,7 +99,7 @@ public class BusinessWarehouseServiceImpl implements BusinessWarehouseService {
@Override @Override
public PageResult<BusinessUserVO> getBusinessUserList(BusinessUserVO reqVO) { public PageResult<BusinessUserVO> getBusinessUserList(BusinessUserVO reqVO) {
Page<BusinessUserVO> page = new Page<>(1, 10); Page<BusinessUserVO> page = new Page<>(1, 10);
IPage<BusinessUserVO> result = businessWarehouseMapper.selectBusinessUserPage(page,reqVO); IPage<BusinessUserVO> result = businessWarehouseMapper.queryBusinessUserList(page,reqVO);
return new PageResult<>(result.getRecords(), result.getTotal()); return new PageResult<>(result.getRecords(), result.getTotal());
} }

@ -13,4 +13,34 @@
SELECT * from system_business_warehouse where id in (SELECT business_id from system_business_user_relational where user_id = #{id}) SELECT * from system_business_warehouse where id in (SELECT business_id from system_business_user_relational where user_id = #{id})
</select> </select>
<select id="queryBusinessUserList" resultType="com.yunxi.scm.module.system.controller.admin.businesswarehouse.vo.BusinessUserVO">
SELECT
t2.*,
t2.STATUS AS accountStatus,
t3.NAME AS deptName,
GROUP_CONCAT(distinct t5.NAME) AS postName,
GROUP_CONCAT(distinct t.NAME) AS businessName
FROM
system_business_warehouse t
LEFT JOIN system_business_user_relational t1 ON ( t1.business_id = t.id )
AND t1.tenant_id = 1
LEFT JOIN system_users t2 ON ( t2.id = t1.user_id )
AND t2.tenant_id = 1
LEFT JOIN system_dept t3 ON ( t3.id = t2.dept_id )
AND t3.tenant_id = 1
LEFT JOIN system_user_post t4 ON ( t4.user_id = t2.id )
AND t4.tenant_id = 1
LEFT JOIN system_post t5 ON ( t5.id = t4.post_id )
AND t5.tenant_id = 1
WHERE
t.deleted = 0
AND t1.deleted = 0
AND t2.deleted = 0
AND t3.deleted = 0
AND t4.deleted = 0
AND t5.deleted = 0
AND t.tenant_id = 1
GROUP BY t2.id
</select>
</mapper> </mapper>

@ -3,7 +3,7 @@ import type { UnwrapRef, VueElement, nextTick } from 'vue'
import { createVNode, getCurrentInstance, h, onMounted, reactive, ref, watch } from 'vue' import { createVNode, getCurrentInstance, h, onMounted, reactive, ref, watch } from 'vue'
import { ExclamationCircleOutlined, PlusOutlined, RedoOutlined, SearchOutlined, UserOutlined } from '@ant-design/icons-vue' import { ExclamationCircleOutlined, PlusOutlined, RedoOutlined, SearchOutlined, UserOutlined } from '@ant-design/icons-vue'
import type { FormProps, ItemType, MenuProps, SelectProps, TableColumnsType } from 'ant-design-vue' import type { FormProps, ItemType, MenuProps, SelectProps, TableColumnsType } from 'ant-design-vue'
import type { Dayjs } from 'dayjs' import dayjs from 'dayjs'
import { Modal } from 'ant-design-vue' import { Modal } from 'ant-design-vue'
import { listSimpleBusiness, getBusinessUserList } from '@/api/xxjj/businessWarehouse' import { listSimpleBusiness, getBusinessUserList } from '@/api/xxjj/businessWarehouse'
@ -77,27 +77,15 @@ async function fetchMenuItems() {
} }
// let dataSource =reactive({
// data:[]
// })
let params=reactive({ let params=reactive({
nickname: '长江云息', // nickname: '',
}) })
// let fetchData1 = async ()=>{
// const data = await defHttp.get('/system/business-warehouse/business-user',params)
// data = userList.list
// console.log(' dataSource.data', data);
// }
// 使 // 使
async function fetchData() { async function fetchData() {
try { try {
const userList = await getBusinessUserList(params)
dataSource.data = userList.list
console.log(' dataSource.data', dataSource.data);
const data = await listSimpleBusiness() const data = await listSimpleBusiness()
console.log(data) console.log('树状列表',data)
// 使 // 使
// itemsreactivefetchData使spliceitemsfetchDataitems // itemsreactivefetchData使spliceitemsfetchDataitems
@ -121,7 +109,10 @@ interface FormState {
} }
const formState: UnwrapRef<FormState> = reactive({ const formState: UnwrapRef<FormState> = reactive({
username: '', nickname: '',
deptname: '',
createTime: [],
}) })
@ -424,23 +415,45 @@ function showDeleteConfirm() {
}) })
} }
onMounted(() => { const state = reactive({
dataSource: [],
})
onMounted( async () => {
const userList = await getBusinessUserList(params);
state.dataSource = userList.list
state.dataSource.forEach(item => {
item.loginDate = dayjs(item.loginDate).format('YYYY-MM-DD HH:mm:ss')
item.createTime = dayjs(item.createTime).format('YYYY-MM-DD HH:mm:ss')
item.updateTime = dayjs(item.updateTime).format('YYYY-MM-DD HH:mm:ss')
});
console.log('state',state);
fetchData() fetchData()
// fetchData1()
}) })
const menusubhandleClick: MenuProps['onClick'] = (e) => { const menusubhandleClick: MenuProps['onClick'] = (e) => {
console.log('-------');
debugger
console.log('e',e);
// console.log('click', JSON.parse(JSON.stringify(e.item.originItemValue)) ) // console.log('click', JSON.parse(JSON.stringify(e.item.originItemValue)) )
// alert(`${e.key}`) // alert(`${e.key}`)
title.label = JSON.parse(JSON.stringify(e.item.originItemValue)) title.title = JSON.parse(JSON.stringify(e.item.originItemValue))
} }
// watch(navopenKeys, (val) => { // function menusubhandleClick(e){
// console.log('-----------') // debugger
// console.log('navopenKeys', val) // console.log('e',e);
// })
// title.label = e.businessName
// }
watch(navopenKeys, (val) => {
console.log('-----------')
console.log('navopenKeys', val)
})
</script> </script>
<template> <template>
@ -483,11 +496,11 @@ const menusubhandleClick: MenuProps['onClick'] = (e) => {
@finishFailed="onFinishFailed" @finishFailed="onFinishFailed"
> >
<a-form-item <a-form-item
name="username" name="nickname"
style="width: 240px;" style="width: 240px;"
:rules="[{ required: true, message: '输入姓名/工号/手机号/邮箱!' }]" :rules="[{ required: true, message: '输入姓名/工号/手机号/邮箱!' }]"
> >
<a-input v-model:value="formState.username" placeholder="输入姓名/工号/手机号/邮箱"> <a-input v-model:value="formState.nickname" placeholder="输入姓名/工号/手机号/邮箱">
<template #prefix> <template #prefix>
<UserOutlined class="site-form-item-icon" /> <UserOutlined class="site-form-item-icon" />
</template> </template>
@ -495,7 +508,7 @@ const menusubhandleClick: MenuProps['onClick'] = (e) => {
</a-form-item> </a-form-item>
<a-form-item <a-form-item
name="username" name="deptName"
:rules="[{ required: true, message: '请选择部门!' }]" :rules="[{ required: true, message: '请选择部门!' }]"
> >
<a-select <a-select
@ -523,7 +536,7 @@ const menusubhandleClick: MenuProps['onClick'] = (e) => {
</a-select> </a-select>
</a-form-item> </a-form-item>
<a-form-item <a-form-item
name="username" name="createTime"
style="width: 240px;" style="width: 240px;"
:rules="[{ required: true, message: '选择时间!' }]" :rules="[{ required: true, message: '选择时间!' }]"
> >
@ -556,7 +569,7 @@ const menusubhandleClick: MenuProps['onClick'] = (e) => {
<a-row> <a-row>
<a-col :span="24"> <a-col :span="24">
<a-table <a-table
class="ant-table-striped" :data-source="dataSource" :row-selection="rowSelection" class="ant-table-striped" :data-source="state.dataSource" :row-selection="rowSelection"
style="width: 1000px;" style="width: 1000px;"
:columns="columns" :columns="columns"
:row-class-name="(_record, index) => (index % 2 === 1 ? 'table-tr-b' : 'table-tr-a')" :scroll="{ x: 1500, y: 500 }" :row-class-name="(_record, index) => (index % 2 === 1 ? 'table-tr-b' : 'table-tr-a')" :scroll="{ x: 1500, y: 500 }"
@ -612,8 +625,8 @@ const menusubhandleClick: MenuProps['onClick'] = (e) => {
</a-col> </a-col>
</a-row> </a-row>
</template> </template>
<template v-else-if="column.key === 'k5'"> <template v-else-if="column.key === 'accountStatus'">
<template v-if="record.k5 == true"> <template v-if="record.accountStatus == 0">
<a-row> <a-row>
<a-col :span="6"> <a-col :span="6">
<div class="dot-true" /> <div class="dot-true" />
@ -623,7 +636,7 @@ const menusubhandleClick: MenuProps['onClick'] = (e) => {
</a-col> </a-col>
</a-row> </a-row>
</template> </template>
<template v-else> <template v-else-if="record.accountStatus == 1">
<a-row> <a-row>
<a-col :span="6"> <a-col :span="6">
<div class="dot-false" /> <div class="dot-false" />

Loading…
Cancel
Save