zhaoy пре 11 месеци
родитељ
комит
c0e3a1fa33
16 измењених фајлова са 300 додато и 138 уклоњено
  1. +70
    -18
      src/pages/company/account/components/MenuForm.jsx
  2. +1
    -1
      src/pages/company/account/index.jsx
  3. +1
    -1
      src/pages/database/goods/goodstypemanage/components/CreateForm.jsx
  4. +31
    -11
      src/pages/device/deviceInfo/index.jsx
  5. +32
    -20
      src/pages/device/deviceVesion/index.jsx
  6. +2
    -13
      src/pages/device/product/index.jsx
  7. +3
    -3
      src/pages/device/productmanage/components/CreateForm.jsx
  8. +43
    -35
      src/pages/device/productmanage/index.jsx
  9. +5
    -0
      src/pages/device/productmanage/services.js
  10. +1
    -1
      src/pages/org/orgamange/components/CreateForm.jsx
  11. +75
    -15
      src/pages/org/roles/components/MenuForm.jsx
  12. +12
    -2
      src/pages/org/roles/index.jsx
  13. +7
    -0
      src/pages/org/roles/service.js
  14. +2
    -2
      src/pages/sys/dictionary/dictdata/components/CreateForm.jsx
  15. +15
    -15
      src/pages/sys/dictionary/dictdata/index.jsx
  16. +0
    -1
      src/pages/sys/menus/index.jsx

+ 70
- 18
src/pages/company/account/components/MenuForm.jsx Прегледај датотеку

@@ -1,36 +1,76 @@
import React, { useState, useEffect } from 'react';
import { Modal, Tree, Row, Col, List,Tag } from 'antd';
import { Modal, Tree, Row, Col, Checkbox } from 'antd';
import api from '../service';
import Enumerable from 'linq';

const MenuForm = (props) => {
const [load, setLoad] = useState();
const [selectedRowsState, setSelectedRows] = useState();
const [load, setLoad] = useState([]);
const [checkedKeys, setCheckedKeys] = useState();
const [indeterminate, setindeterminate] = useState(false);
const [checkAll,setcheckAll] = useState(false);
useEffect(async () => {
var arr = [];
var filteredArr=[]
Enumerable.from(props.values).forEach(t => {
if(!t.isParentMenu){
arr.push(t.id);
}

if(t.id !== null && typeof t.id !== "undefined"){
filteredArr.push(t);
}
});
setCheckedKeys(arr)
console.log("props.values",props.datas)
var parm={getType:'ALL',type:props.datas.type}
var ret = await api.GetMenu(parm);
var data = Enumerable.from(ret.data).toArray();
var data =props.treeData;
if(getTreeLength(data)===filteredArr.length){
setcheckAll(true)
setindeterminate(false);
}else{
setcheckAll(false);
if(props.values.length==0){
setindeterminate(false);
}else{
setindeterminate(true);
}
}
setLoad(data);
}, [props.modalVisible])

const lbl = () => {
var arr = [];
Enumerable.from(props.values).forEach(t => {
arr.push(<Tag style={{ width: 100, margin: 'Center' }} color="processing">{t.name}</Tag>);
});
return arr;
function getTreeLength(tree) {
let length = tree.length; // 初始化计算器为根节点的子节点数量
for (let i = 0; i < tree.length; i++) {
if (Array.isArray(tree[i].children)) { // 如果当前节点有子节点
length += getTreeLength(tree[i].children); // 将子节点的长度加到计算器上
}
}
return length;
}
const onCheckAllChange = (e) => {
if(!checkAll){
var data=getAllIds(load,[]);
setCheckedKeys(data)
setcheckAll(true)
setindeterminate(false);
}else{
setCheckedKeys([])
setcheckAll(false)
setindeterminate(false);
}
};
function getAllIds(tree, result) {
console.log(tree)
//遍历树 获取id数组
for (const i in tree) {
result.push(tree[i].key); // 遍历项目满足条件后的操作
if (tree[i].children) {
//存在子节点就递归
getAllIds(tree[i].children, result);
}
}
return result;
}

var html = <Modal width={700}
bodyStyle={{ padding: '32px 40px 48px' }}
destroyOnClose
@@ -41,9 +81,21 @@ const MenuForm = (props) => {
maskClosable={false}>
<Row>
<Col span={8}>
<Checkbox indeterminate={indeterminate} onChange={onCheckAllChange} checked={checkAll}>
全选
</Checkbox>
<Tree treeData={load}
onCheck={(keys, e) => { setCheckedKeys(keys) }}
defaultExpandAll={true}
onCheck={(keys, e) => {
if(getTreeLength(props.treeData)==keys.length){
setcheckAll(true)
setindeterminate(false);
}else{
setcheckAll(false)
setindeterminate(true);
}
setCheckedKeys(keys) ;
}}
defaultExpandAll={false}
checkedKeys={checkedKeys}
checkable />
</Col>


+ 1
- 1
src/pages/company/account/index.jsx Прегледај датотеку

@@ -123,7 +123,7 @@ const companyManage = () => {
var parm={getType:'ALL',type:0}
api.GetMenu(parm).then((r) => {
if(r.data){
setTreeData(r.data.data);
setTreeData(r.data);
}
});


+ 1
- 1
src/pages/database/goods/goodstypemanage/components/CreateForm.jsx Прегледај датотеку

@@ -26,7 +26,7 @@ const CreateForm = (props) => {
<Form.Item name="id" hidden={true}>
<Input />
</Form.Item>
<Form.Item name="pid" label="上级名称" rules={[{ required: true }]}>
<Form.Item name="pid" label="上级名称" rules={[{ required: false }]}>
<TreeSelect
allowClear
showSearch


+ 31
- 11
src/pages/device/deviceInfo/index.jsx Прегледај датотеку

@@ -1,5 +1,5 @@
import { PlusOutlined } from '@ant-design/icons';
import { Modal, Button, message } from 'antd';
import { Modal, Button, message,Popconfirm } from 'antd';
import React, { useState, useRef, useEffect } from 'react';
import { PageContainer, FooterToolbar } from '@ant-design/pro-layout';
import ProTable from '@ant-design/pro-table';
@@ -192,7 +192,27 @@ const GoodsTypeManage = () => {
>
更新
</a>,
<Popconfirm
type="primary"
key="primary"
title="确认删除吗?"
okText="是"
cancelText="否"
onConfirm={async () => {
await DelDeviceInfo([record.id]).then((r) => {
if(r.data){
message.success('删除成功,即将刷新');
actionRef.current.reload();
}else{
message.error('删除失败');
}
});
}}
onCancel={() => { }}
>
<a href="#">删除</a>
</Popconfirm>,
// <a
// key="copy"
// onClick={() => {
@@ -326,15 +346,15 @@ const handleRemove = async (selectedRows) => {
>
<PlusOutlined /> 新建
</Button>,
<Button
onClick={async () => {
await handleRemove(selectedRowsState);
setSelectedRows([]);
actionRef.current?.reloadAndRest?.();
}}
>
删除
</Button>,
// <Button
// onClick={async () => {
// await handleRemove(selectedRowsState);
// setSelectedRows([]);
// actionRef.current?.reloadAndRest?.();
// }}
// >
// 删除
// </Button>,
]}
request={async (params) => {
var data = [];


+ 32
- 20
src/pages/device/deviceVesion/index.jsx Прегледај датотеку

@@ -6,7 +6,7 @@ import { PlusOutlined } from '@ant-design/icons';
import ProTable from '@ant-design/pro-table';
import CreateForm from './components/CreateForm';
import { GetDeviceVesionPage, AddDeviceVesion, DelDeviceVesion, UpdateDeviceVesion, GetProductList,UpdateStatus } from "./services"
import { history } from 'umi';
const key = 'message';

//添加
@@ -140,6 +140,7 @@ const GoodsTypeManage = () => {
title: '是否存在模板',
dataIndex: 'templatePath',
valueType: 'textarea',
hideInSearch: true,
render: (_, record) => [
<div>
<Tag color="#f50" style={{ textAlign: "center", display: (record.templatePath == null||record.templatePath == "") ? "none" : "block" }} >存在模板</Tag>
@@ -182,26 +183,37 @@ const GoodsTypeManage = () => {
>
<a href="#">删除</a>
</Popconfirm>,
<a
key="config"
onClick={() => {
setCurrentRow(record);
setIsModalOpen(true);
setIsAddGoodsTemplate(false);
}} > 上传设备工艺模型</a>,
<a
key="config"
onClick={() => {
setCurrentRow(record);
setIsModalOpen(true);
setIsAddGoodsTemplate(true);
}} > 上传商品工艺模版</a>,
<a
key="config"
href={record.templatePath}

> 下载工艺模板</a>
// <a
// key="config"
// onClick={() => {
// setCurrentRow(record);
// setIsModalOpen(true);
// setIsAddGoodsTemplate(false);
// }} > 上传设备工艺模型</a>,
// <a
// key="config"
// onClick={() => {
// setCurrentRow(record);
// setIsModalOpen(true);
// setIsAddGoodsTemplate(true);
// }} > 上传商品工艺模版</a>,
// <a
// key="config"
// href={record.templatePath}

// > 下载工艺模板</a>,
<a
key="config"
onClick={() => {
history.push({
pathname: '/device/productmanage',
query: {
isAdd: false,
values: record,
tabStatus: 'basis'
},
});
}} > 管理</a>,
],
},
];


+ 2
- 13
src/pages/device/product/index.jsx Прегледај датотеку

@@ -6,7 +6,7 @@ import { PlusOutlined } from '@ant-design/icons';
import ProTable from '@ant-design/pro-table';
import CreateForm from './components/CreateForm';
import { GetProductPage, AddProduct, DelProduct, UpdateProduct,UpdateStatus } from "./services"
import { history } from 'umi';
const key = 'message';
const { Paragraph, Text } = Typography;
const GoodsTypeManage = () => {
@@ -75,18 +75,7 @@ const GoodsTypeManage = () => {
>
<a href="#">删除</a>
</Popconfirm>,
<a
key="config"
onClick={() => {
history.push({
pathname: '/device/productmanage',
query: {
isAdd: false,
values: record,
tabStatus: 'basis'
},
});
}} > 管理</a>,
],
},
];


+ 3
- 3
src/pages/device/productmanage/components/CreateForm.jsx Прегледај датотеку

@@ -50,7 +50,7 @@ const CreateForm = (props) => {
form.setFieldsValue({
id: props?.values?.id,
type: props?.values?.type,
deviceVersionKey: props?.values?.deviceVersionKey,
//deviceVersionKey: props?.values?.deviceVersionKey,
name: props?.values?.name,
dataType: props?.values?.dataType,
dataRange: props?.values?.dataRange,
@@ -200,7 +200,7 @@ const onChangeboolLabel1=(e)=>{
<Form.Item name="id" hidden={true}>
<Input />
</Form.Item>
<Form.Item label={'产品版本'} name="deviceVersionKey" rules={[{ required: true }]}>
{/* <Form.Item label={'产品版本'} name="deviceVersionKey" rules={[{ required: true }]}>
<Select>
{props.DeviceVesionData.map((item, index) => {
return (
@@ -210,7 +210,7 @@ const onChangeboolLabel1=(e)=>{
);
})}
</Select>
</Form.Item>
</Form.Item> */}
<Form.Item name="type" label="功能类型">
<Radio.Group name="type" defaultValue={0} value={arttue} onChange={onchagetype} disabled={disabled}>
<Radio.Button value={0}>属性</Radio.Button>


+ 43
- 35
src/pages/device/productmanage/index.jsx Прегледај датотеку

@@ -16,7 +16,8 @@ import {
getproducttopicspage,
addproducttopics,
updateproducttopics,
deleteproducttopics
deleteproducttopics,
GetProduct
} from './services';
import { history } from 'umi';
const { Paragraph, Text } = Typography;
@@ -78,8 +79,9 @@ const bomtechnology = (props) => {
const [selectedRowsState, setSelectedRows] = useState([]);
const [dataSource,setdataSource]=useState([]);
const [datafunctionSource,setdatafunctionSource]=useState([]);
const [DeviceVesionData, setDeviceVesionData] = useState([]);
const [DeviceVesionEnum, setDeviceVesionEnum] = useState({});
// const [DeviceVesionData, setDeviceVesionData] = useState([]);
// const [DeviceVesionEnum, setDeviceVesionEnum] = useState({});
const [Product, setProduct] = useState({});
const [total,settotal]=useState(0);
const [totalfun,settotalfun]=useState(0);
/** 国际化配置 */
@@ -92,17 +94,21 @@ const bomtechnology = (props) => {
SetCurrTabKey(tabStatus.tabActiveKey);
if(!props.location.query.values.id){
history.push({
pathname: '/device/product',
pathname: '/device/deviceVesion',
});
}else{
GetDeviceVesion(props.location.query.values.id).then((res)=>{
let list = {};
res.data.forEach((item) => {
list[item.id] = { text: item.vesion };
});
setDeviceVesionData(res.data)
setDeviceVesionEnum(list)
var params={productId:props.location.query.values.id,deviceTypeKey:props.location.query.values.id,current:1,pageSize:10}
// GetDeviceVesion(props.location.query.values.id).then((res)=>{
// let list = {};
// res.data.forEach((item) => {
// list[item.id] = { text: item.vesion };
// });
// setDeviceVesionData(res.data)
// setDeviceVesionEnum(list)
// })
GetProduct(props.location.query.values.productId).then((res)=>{
setProduct(res.data)
var params={productId:props.location.query.values.productId,deviceTypeKey:props.location.query.values.productId,current:1,pageSize:10}
LoadfunData(params)
LoadtopisData(params);
})
@@ -195,14 +201,14 @@ const bomtechnology = (props) => {
},
},
},
{
title: '版本',
dataIndex: 'vesion',
valueType: 'select',
ellipsis: true,
search: true,
valueEnum:DeviceVesionEnum
},
// {
// title: '版本',
// dataIndex: 'vesion',
// valueType: 'select',
// ellipsis: true,
// search: true,
// valueEnum:DeviceVesionEnum
// },
{
title: '创建时间',
dataIndex: 'createAt',
@@ -293,7 +299,7 @@ const bomtechnology = (props) => {
await deleteproducttopics([record.id]).then((r) => {
message.success('删除成功,即将刷新');
var params={productId:props.location.query.values.id,current:1,pageSize:10}
var params={productId:props.location.query.values.productId,current:1,pageSize:10}
LoadtopisData(params)
});
}}
@@ -312,7 +318,7 @@ const bomtechnology = (props) => {
},
{
key: 'topis',
tab: 'topis类列表',
tab: 'topics类列表',
},
];
@@ -341,7 +347,7 @@ const handleAdd = async (fields) => {
await addgoodstechnology(JSON.stringify(fields)).then((r) => {
if (r.data) {
message.success('添加成功');
var params={productId:props.location.query.values.id,deviceTypeKey:props.location.query.values.id,current:1,pageSize:10}
var params={productId:props.location.query.values.productId,deviceTypeKey:props.location.query.values.productId,current:1,pageSize:10}
LoadfunData(params)
handleModalVisible(false);
if (actionRef.current) {
@@ -366,7 +372,7 @@ const handleRemove = async (ids) => {
deletegoodstechnology(ids).then((r) => {
if (r.data) {
message.success('删除成功');
var params={productId:props.location.query.values.id,deviceTypeKey:props.location.query.values.id,current:1,pageSize:10}
var params={productId:props.location.query.values.productId,deviceTypeKey:props.location.query.values.productId,current:1,pageSize:10}
LoadfunData(params)
} else {
message.error(r.errors);
@@ -392,7 +398,7 @@ const handleRemove = async (ids) => {
updategoodstechnology(fields).then((r) => {
if (r.data) {
message.success('修改成功');
var params={productId:props.location.query.values.id,deviceTypeKey:props.location.query.values.id,current:1,pageSize:10}
var params={productId:props.location.query.values.productId,deviceTypeKey:props.location.query.values.productId,current:1,pageSize:10}
LoadfunData(params)
handleModalVisible(false);
if (actionRef.current) {
@@ -472,7 +478,7 @@ const handleRemove = async (ids) => {
request={async (params) => {
var data = [];
var total = 0;
params.deviceTypeKey=props.location.query.values.id
params.deviceTypeKey=props.location.query.values.productId
await getGoodstechnologypage(params).then((r) => {
data = r.data.data;
@@ -496,7 +502,8 @@ const handleRemove = async (ids) => {
onFinish={async (value) => {
console.log("jnlaile ")
console.log(value)
value.productId=props.location.query.values.id
value.productId=props.location.query.values.productId
value.deviceVersionKey=props.location.query.values.id;
var success = false;
if (value.id) {
await handleUpdate(value);
@@ -510,7 +517,7 @@ const handleRemove = async (ids) => {
}}
createModalVisible={createModalVisible}
values={currentRow || {}}
DeviceVesionData={DeviceVesionData}
// DeviceVesionData={DeviceVesionData}
/>
<ActionForm actionFormModalVisible={actionFormModalVisible}
values={currentRow || {} }
@@ -552,16 +559,16 @@ const handleRemove = async (ids) => {
},
}}
></ProTable>
<CreateTopis createModalVisible={createTopisModalVisible} productCode={props.location.query.values.key}
<CreateTopis createModalVisible={createTopisModalVisible} productCode={Product.key}
values={currenttopsRow || {}}
onFinish={async (value) => {
value.productId=props.location.query.values.id
value.productId=props.location.query.values.productId
if (value.id) {
await updateproducttopics(value).then((r)=>{
if (r.data) {
message.success('修改成功');
setcreateTopisModalVisible(false)
var params={productId:props.location.query.values.id,current:1,pageSize:10}
var params={productId:props.location.query.values.productId,current:1,pageSize:10}
LoadtopisData(params)
} else {
message.error(r.errors);
@@ -571,7 +578,7 @@ const handleRemove = async (ids) => {
await addproducttopics(value).then((r)=>{
if (r.data) {
message.success('添加成功');
var params={productId:props.location.query.values.id,current:1,pageSize:10}
var params={productId:props.location.query.values.productId,current:1,pageSize:10}
LoadtopisData(params)
setcreateTopisModalVisible(false)
} else {
@@ -597,13 +604,14 @@ const handleRemove = async (ids) => {
title: [<a key="back"
onClick={() => {
history.push({
pathname: '/device/product',
pathname: '/device/deviceVesion',
});
}}><ArrowLeftOutlined />返回</a>,
<div style={{backgroundColor:'#f3eaea',width:'1640px',height: '54px'}}>
<div style={{fontSize: '14px',color: 'cornflowerblue'}}>
<span style={{marginRight:20,marginLeft:10,marginTop:10,float:'left' }}>产品名称:<span style={{marginLeft:10}}>{props.location.query.values.name}</span></span>
<span style={{marginRight:120,marginLeft:10,marginTop:10,float:'right'}}>产品key: <Paragraph style={{display:'inline'}} copyable>{props.location.query.values.key}</Paragraph></span></div>
<span style={{marginRight:20,marginLeft:10,marginTop:10,float:'left' }}>产品版本:<span style={{marginLeft:10}}>{props.location.query.values?.vesion}</span></span>
<span style={{marginRight:20,marginLeft:10,marginTop:10,float:'left' }}>产品名称:<span style={{marginLeft:10}}>{Product?.name}</span></span>
<span style={{marginRight:120,marginLeft:10,marginTop:10,float:'right'}}>产品key: <Paragraph style={{display:'inline'}} copyable>{Product?.key}</Paragraph></span></div>
</div>
],
breadcrumb: {},


+ 5
- 0
src/pages/device/productmanage/services.js Прегледај датотеку

@@ -77,4 +77,9 @@ export async function addgoodstechnology(data) {
return request(getDataBaseUrl()+`/api/devicevesion/getdevicevesion?productId=${TypeCode}`, {
method: 'Get',
});
}
export async function GetProduct(productId) {
return request(getDataBaseUrl()+`/api/product/getproduct?productId=${productId}`, {
method: 'Get',
});
}

+ 1
- 1
src/pages/org/orgamange/components/CreateForm.jsx Прегледај датотеку

@@ -41,7 +41,7 @@ const CreateForm = (props) => {
<Form.Item name="id" hidden={true}>
<Input />
</Form.Item>
<Form.Item name="pid" label="上级名称" rules={[{ required: true }]}>
<Form.Item name="pid" label="上级名称" rules={[{ required: false }]}>
<TreeSelect
style={{ width: '100%' }}
dropdownStyle={{ maxHeight: 400, overflow: 'auto' }}


+ 75
- 15
src/pages/org/roles/components/MenuForm.jsx Прегледај датотеку

@@ -1,31 +1,79 @@
import React, { useState, useEffect } from 'react';
import { Modal, Tree, Row, Col, List,Tag } from 'antd';
import api from './service';
import { Modal, Tree, Row, Col, Checkbox } from 'antd';
import Enumerable from 'linq';

const MenuForm = (props) => {
const [load, setLoad] = useState();
const [selectedRowsState, setSelectedRows] = useState();
const [checkedKeys, setCheckedKeys] = useState();
const [indeterminate, setindeterminate] = useState(false);
const [checkAll,setcheckAll] = useState(false);
useEffect(async () => {
var arr = [];
var filteredArr=[]
Enumerable.from(props.values).forEach(t => {
arr.push(t.id);
if(!t.isParentMenu){
arr.push(t.id);
}
if(t.id !== null && typeof t.id !== "undefined"){
filteredArr.push(t);
}
});
setCheckedKeys(arr)
var ret = await api.SelectTree();
var data = Enumerable.from(ret.data).toArray();
var data =props.treeData;
console.log("props.values",props.values)
console.log("data",data)
console.log("filteredArr",filteredArr)
if(getTreeLength(data)===filteredArr.length){
setcheckAll(true)
setindeterminate(false);
}else{
setcheckAll(false);
if(props.values.length==0){
setindeterminate(false);
}else{
setindeterminate(true);
}
}
setLoad(data);
}, [props.modalVisible])
function getTreeLength(tree) {
let length = tree.length; // 初始化计算器为根节点的子节点数量
for (let i = 0; i < tree.length; i++) {
if (Array.isArray(tree[i].children)) { // 如果当前节点有子节点
length += getTreeLength(tree[i].children); // 将子节点的长度加到计算器上
}
}
return length;
}
const onCheckAllChange = (e) => {
if(!checkAll){
var data=getAllIds(load,[]);
setCheckedKeys(data)
setcheckAll(true)
setindeterminate(false);
}else{
setCheckedKeys([])
setcheckAll(false)
setindeterminate(false);
}
};

const lbl = () => {
var arr = [];
Enumerable.from(props.values).forEach(t => {
arr.push(<Tag style={{ width: 68, margin: 'Center' }} color="processing">{t.name}</Tag>);
});
return arr;
function getAllIds(tree, result) {
console.log(tree)
//遍历树 获取id数组
for (const i in tree) {
result.push(tree[i].key); // 遍历项目满足条件后的操作
if (tree[i].children) {
//存在子节点就递归
getAllIds(tree[i].children, result);
}
}
return result;
}

var html = <Modal width={700}
bodyStyle={{ padding: '32px 40px 48px' }}
destroyOnClose
@@ -38,9 +86,21 @@ const MenuForm = (props) => {
maskClosable={false}>
<Row>
<Col span={12}>
<Checkbox indeterminate={indeterminate} onChange={onCheckAllChange} checked={checkAll}>
全选
</Checkbox>
<Tree treeData={load}
onCheck={(keys, e) => { setCheckedKeys(keys) }}
defaultExpandAll={true}
onCheck={(keys, e) => {
if(getTreeLength(props.treeData)==keys.length){
setcheckAll(true)
setindeterminate(false);
}else{
setcheckAll(false)
setindeterminate(true);
}
setCheckedKeys(keys) ;
}}
defaultExpandAll={false}
checkedKeys={checkedKeys}
checkable />
</Col>


+ 12
- 2
src/pages/org/roles/index.jsx Прегледај датотеку

@@ -5,7 +5,7 @@ import { PageContainer, FooterToolbar } from '@ant-design/pro-layout';
import ProTable, { ProColumns, ActionType, TableDropdown } from '@ant-design/pro-table';
import Enumerable from 'linq'
import CreateForm from './components/CreateForm';
import { Page, add, edit, removeRole, setMenu, setUserGrantData, Enable, Disable, GetRoleMenu, SetDataRole } from './service';
import { Page, add, edit, removeRole, setMenu, GetMenu, GetRoleMenu, SetDataRole } from './service';
import { useAccess } from 'umi';
import MenuForm from './components/MenuForm';
import OrgForm from './components/OrgForm';
@@ -105,7 +105,7 @@ const roleManager = () => {
const [row, setRow] = useState();
const [selectedRowsState, setSelectedRows] = useState();
const [selectData, setSelectData] = useState([]);
const [treeData, setTreeData] = useState();
/**
* 删除节点
* @param selectedRows
@@ -190,6 +190,15 @@ const roleManager = () => {
return arr;
}

useEffect(() => {
var parm={getType:'ALL',type:0}
GetMenu(parm).then((r) => {
if(r.data){
setTreeData(r.data);
}
});
}, []);

const columns = [
{
@@ -342,6 +351,7 @@ const roleManager = () => {
}}
modalVisible={updateMenuModalVisible}
values={row || {}}
treeData={treeData}
/>

) : null}


+ 7
- 0
src/pages/org/roles/service.js Прегледај датотеку

@@ -64,3 +64,10 @@ export async function SetDataRole(params) {
data:params
});
}
/** 查询功能菜单*/
export async function GetMenu(params) {
return request(getDataBaseUrl()+`​/api/menu/menuparmytrees?getType=${params.getType}&&type=${params.type}`,
{
method: 'Get',
});
}

+ 2
- 2
src/pages/sys/dictionary/dictdata/components/CreateForm.jsx Прегледај датотеку

@@ -34,7 +34,7 @@ const CreateForm = (props) => {
<Form.Item name="code" label="字典编码" rules={[{ required: true, max: 64 }]}>
<Input placeholder="请输入字典编码" />
</Form.Item>
<Form.Item
{/* <Form.Item
name="typeId"
label="字典类型"
rules={[{ required: true, message: '请选择字典类型' }]}
@@ -48,7 +48,7 @@ const CreateForm = (props) => {
);
})}
</Select>
</Form.Item>
</Form.Item> */}
{/* <Form.Item
name="status"
label="状态"


+ 15
- 15
src/pages/sys/dictionary/dictdata/index.jsx Прегледај датотеку

@@ -133,20 +133,20 @@ const DictDataManage = (props) => {
dataIndex: 'code',
ellipsis:true
},
{
title: '字典类型',
dataIndex: 'typeName',
hideInForm: true,
hideInSearch: true,
},
{
title: '字典类型',
dataIndex: 'typeId',
hideInForm: true,
hideInTable: true,
hideInSearch: true,
valueEnum: typeNames,
},
// {
// title: '字典类型',
// dataIndex: 'typeName',
// hideInForm: true,
// hideInSearch: true,
// },
// {
// title: '字典类型',
// dataIndex: 'typeId',
// hideInForm: true,
// hideInTable: true,
// hideInSearch: true,
// valueEnum: typeNames,
// },
{
title: '备注',
dataIndex: 'remark',
@@ -279,7 +279,7 @@ const DictDataManage = (props) => {
<CreateForm
typeNameData={typeNames}
onFinish={async (value) => {
value.typeId=props.currentRow.id;
var success = false;
if (value.id) {
success = await handleUpdate(value);


+ 0
- 1
src/pages/sys/menus/index.jsx Прегледај датотеку

@@ -179,7 +179,6 @@ const handleUpdate = async (fields) => {
{
title: '创建时间',
dataIndex: 'createAt',
sorter: true,
hideInSearch: true,
},
{


Loading…
Откажи
Сачувај