Commit 07e6443e authored by TZW's avatar TZW

111

parent 9c01ca81
export default [
{
path: '/welcome',
name: '欢迎',
icon: 'smile',
component: './Welcome',
"path": "/welcome",
"name": "欢迎",
"icon": "smile",
"component": "./Welcome"
},
{
name: '基础设置',
icon: 'setting',
path: '/setting',
routes: [
"name": "基础设置",
"icon": "setting",
"path": "/setting",
"routes": [
{
name: '用户管理',
path: '/setting/users',
component: './setting/users',
"name": "用户管理",
"path": "/setting/users",
"component": "./setting/users"
},
{
name: '角色管理',
path: '/setting/role',
component: './setting/role',
"name": "角色管理",
"path": "/setting/role",
"component": "./setting/role"
},
{
name: '组织管理',
path: '/setting/organization',
component: './setting/organization',
"name": "组织管理",
"path": "/setting/organization",
"component": "./setting/organization"
},
{
name: '工厂管理',
path: '/setting/factory',
component: './setting/factory',
"name": "工厂管理",
"path": "/setting/factory",
"component": "./setting/factory"
},
{
name: '车间管理',
path: '/setting/workshop',
component: './setting/workshop',
"name": "车间管理",
"path": "/setting/workshop",
"component": "./setting/workshop"
},
{
name: '工段管理',
path: '/setting/section',
component: './setting/section',
"name": "工段管理",
"path": "/setting/section",
"component": "./setting/section"
},
{
name: '产线管理',
path: '/setting/production',
component: './setting/production',
},
],
"name": "产线管理",
"path": "/setting/production",
"component": "./setting/production"
}
]
},
{
name: '设备管理',
icon: 'bulb',
path: '/device',
routes: [
"name": "设备管理",
"icon": "bulb",
"path": "/device",
"routes": [
{
name: '设备台账',
path: '/device/account',
component: './device/account',
"name": "设备台账",
"path": "/device/account",
"component": "./device/account"
},
{
name: '设备类型',
path: '/device/type',
component: './device/type',
"name": "设备类型",
"path": "/device/type",
"component": "./device/type"
},
{
name: '设备型号',
path: '/device/model',
component: './device/model',
"name": "设备型号",
"path": "/device/model",
"component": "./device/model"
},
{
name: '设备供应商',
path: '/device/supplier',
component: './device/supplier',
},
],
"name": "设备供应商",
"path": "/device/supplier",
"component": "./device/supplier"
}
]
},
{
name: '维修管理',
path: '/repair',
icon: 'tool',
routes: [
"name": "维修管理",
"path": "/repair",
"icon": "tool",
"routes": [
{
name: '接单平台',
path: '/repair/platform',
icon: '',
component: './repair/platform',
"name": "接单平台",
"path": "/repair/platform",
"icon": "",
"component": "./repair/platform"
},
{
name: '故障报修',
path: '/repair/failure',
icon: '',
component: './repair/failure',
"name": "故障报修",
"path": "/repair/failure",
"icon": "",
"component": "./repair/failure"
},
{
name: '维修工单',
path: '/repair/order',
icon: '',
component: './repair/order',
"name": "维修工单",
"path": "/repair/order",
"icon": "",
"component": "./repair/order"
},
{
name: '追踪工单',
path: '/repair/track',
icon: '',
component: './repair/track',
"name": "追踪工单",
"path": "/repair/track",
"icon": "",
"component": "./repair/track"
},
{
name: '外协工单',
path: '/repair/outsourcing',
icon: '',
component: './repair/outsourcing',
"name": "外协工单",
"path": "/repair/outsourcing",
"icon": "",
"component": "./repair/outsourcing"
},
{
name: '故障设置',
path: '/repair/fault',
icon: '',
component: './repair/fault',
},
],
"name": "故障设置",
"path": "/repair/fault",
"icon": "",
"component": "./repair/fault"
}
]
},
{
name: '系统管理',
path: '/system',
icon: 'desktop',
routes: [
"name": "系统管理",
"path": "/system",
"icon": "desktop",
"routes": [
{
name: '数据字典',
path: '/system/dictionary',
icon: '',
component: './system/dictionary',
"name": "数据字典",
"path": "/system/dictionary",
"icon": "",
"component": "./system/dictionary"
},
{
name: '扩展字段',
path: '/system/field',
icon: '',
component: './system/field',
"name": "扩展字段",
"path": "/system/field",
"icon": "",
"component": "./system/field"
},
{
name: '编号规则',
path: '/system/rules',
icon: '',
component: './system/rules',
"name": "编号规则",
"path": "/system/rules",
"icon": "",
"component": "./system/rules"
},
{
name: '推送配置',
path: '/system/pushsetting',
icon: '',
component: './system/pushsetting',
},
],
"name": "推送配置",
"path": "/system/pushsetting",
"icon": "",
"component": "./system/pushsetting"
}
]
},
{
name: '备件管理',
path: '/spare',
icon: 'sliders',
routes: [
"name": "备件管理",
"path": "/spare",
"icon": "sliders",
"routes": [
{
name: ' 备件库存',
path: '/spare/stock',
icon: '',
component: './spare/stock',
"name": " 备件库存",
"path": "/spare/stock",
"icon": "",
"component": "./spare/stock"
},
{
name: '入库管理',
path: '/spare/instore',
icon: '',
component: './spare/instore',
"name": "入库管理",
"path": "/spare/instore",
"icon": "",
"component": "./spare/instore"
},
{
name: '出库管理',
path: '/spare/outstore',
icon: '',
component: './spare/outstore',
"name": "出库管理",
"path": "/spare/outstore",
"icon": "",
"component": "./spare/outstore"
},
{
name: '出入库记录',
path: '/spare/record',
icon: '',
component: './spare/record',
"name": "出入库记录",
"path": "/spare/record",
"icon": "",
"component": "./spare/record"
},
{
name: '备件领用',
path: '/spare/requisition',
icon: '',
component: './spare/requisition',
"name": "备件领用",
"path": "/spare/requisition",
"icon": "",
"component": "./spare/requisition"
},
{
name: '备件回冲',
path: '/spare/spareback',
icon: '',
component: './spare/spareback',
"name": "备件回冲",
"path": "/spare/spareback",
"icon": "",
"component": "./spare/spareback"
},
{
name: ' 线边库存',
path: '/spare/edgestore',
icon: '',
component: './spare/edgestore',
"name": " 线边库存",
"path": "/spare/edgestore",
"icon": "",
"component": "./spare/edgestore"
},
{
name: '备件供应商',
path: '/spare/supplier',
icon: '',
component: './spare/supplier',
"name": "备件供应商",
"path": "/spare/supplier",
"icon": "",
"component": "./spare/supplier"
},
{
name: ' 备件设置',
path: '/spare/setting',
icon: '',
component: './spare/setting',
},
],
"name": " 备件设置",
"path": "/spare/setting",
"icon": "",
"component": "./spare/setting"
}
]
},
{
name: '点检管理',
path: '/check',
icon: 'check-circle',
routes: [
"name": "点检管理",
"path": "/check",
"icon": "check-circle",
"routes": [
{
name: ' 点检标准',
path: '/check/standard',
icon: '',
component: './check/standard',
"name": " 点检标准",
"path": "/check/standard",
"icon": "",
"component": "./check/standard"
},
{
name: '点检计划',
path: '/check/plan',
icon: '',
component: './check/plan',
"name": "点检计划",
"path": "/check/plan",
"icon": "",
"component": "./check/plan"
},
{
name: '点检接单',
path: '/check/order',
icon: '',
component: './check/order',
"name": "点检接单",
"path": "/check/order",
"icon": "",
"component": "./check/order"
},
{
name: '点检工单',
path: '/check/task',
icon: '',
component: './check/task',
},
],
"name": "点检工单",
"path": "/check/task",
"icon": "",
"component": "./check/task"
}
]
},
];
{
"name": "保养管理",
"path": "/maintain",
"icon": "dashboard",
"routes": [
{
"name": "保养接单",
"path": "/maintain/orders",
"icon": "",
"component": "./maintain/orders"
},
{
"name": "保养工单",
"path": "/maintain/workOrder",
"icon": "",
"component": "./maintain/workOrder"
},
{
"name": " 保养标准",
"path": "/maintain/criterion",
"icon": "",
"component": "./maintain/criterion"
},
{
"name": "保养计划",
"path": "/maintain/plan",
"icon": "",
"component": "./maintain/plan"
}
]
}
];
\ No newline at end of file
......@@ -13,7 +13,7 @@ export default {
dev: {
[defaultSetting.proxypath]: {
// 要代理的地址
target: 'http://192.168.40.64:28000', //jf哥
target: 'http://192.168.40.64:28001', //jf哥
// target: 'http://192.168.40.64:28000', //gc哥
// target: 'http://192.168.40.203:8000', //dj哥
changeOrigin: true,
......
......@@ -904,6 +904,7 @@ function LinkRadio({ item, colProps, formRef, name, curindex }) {
let curoption = item.options ?? null,
curlinkparams = curoption?.linkParams ?? {}, //获取linkParams下声明的key
extraParams = curoption?.extraParams ?? {};
console.log(extraParams);
return (
<>
<ProFormDependency name={Object.keys(curlinkparams)}>
......
......@@ -30,6 +30,11 @@ const loginOut = async () => {
};
const AvatarDropdown = ({ menu }) => {
const getUserApp = useRequest(async () => {
let res = await doFetch({ url: '/auth/sysUser/userApp/selection', params: {} });
return res?.data?.dataList || {};
});
console.log(getUserApp);
const { initialState, setInitialState } = useModel('@@initialState');
const [visible, cv] = useState(false),
[formRef] = Form.useForm(),
......@@ -158,7 +163,9 @@ const AvatarDropdown = ({ menu }) => {
);
const handleChange = (value) => {
console.log(value);
if (value) {
window.location.href = value;
}
};
return (
......@@ -192,17 +199,8 @@ const AvatarDropdown = ({ menu }) => {
</Modal>
<Select
style={{ width: 150, marginRight: 8 }}
defaultValue="a"
options={[
{
value: 'a',
label: 'EMS',
},
{
value: 'b',
label: '导航',
},
]}
defaultValue="http://ems.nangaoyun.com:8089"
options={getUserApp.data}
onChange={handleChange}
/>
<HeaderDropdown overlay={menuHeaderDropdown}>
......
import * as React from 'react';
import { useState, useMemo, useRef } from 'react';
import ModalPro from '@/components/ModalPro';
import AutoTable from '@/components/AutoTable';
import PremButton from '@/components/PremButton';
import procolumns from './procolumns';
import { useRequest } from 'ahooks';
import { doFetch } from '@/utils/doFetch';
function Project({ equipmentMaintainStandardId }) {
const actionRef = useRef(),
formRef = useRef();
const [drawer, setdrawer] = useState({
open: false,
});
const pathconfig = useMemo(() => {
let pathconf = procolumns(setdrawer)?.pathconfig ?? {};
return pathconf;
}, []);
const { run, loading } = useRequest(doFetch, {
manual: true,
onSuccess: (res, params) => {
if (res?.code == '0000') {
actionRef?.current?.reload();
setdrawer((s) => ({
...s,
open: false,
}));
}
},
});
const detail = (text, row, _, action) => {
return (
<PremButton
btn={{
size: 'small',
type: 'link',
onClick: () => {
setdrawer((s) => ({
...s,
open: true,
item: row,
title: '详情',
val: 'detail',
title: '详细信息',
}));
},
}}
>
详情
</PremButton>
);
};
const edit = (text, row, _, action) => {
return (
<PremButton
btn={{
size: 'small',
onClick: () => {
setdrawer((s) => ({
...s,
open: true,
item: row,
title: '编辑',
val: 'edit',
id: row?.id,
}));
},
}}
>
编辑
</PremButton>
);
};
const remove = (text, row, _, action) => {
return (
<PremButton
pop={{
title: '是否删除?',
okText: '确认',
cancelText: '取消',
onConfirm: () => {
run({ url: pathconfig?.delete || '/delete', params: { id: row?.id } });
},
}}
btn={{
size: 'small',
type: 'danger',
}}
>
删除
</PremButton>
);
};
const columns = useMemo(() => {
let defcolumn = procolumns(drawer?.id)?.columns;
return defcolumn.concat({
title: '操作',
valueType: 'option',
width: 150,
render: (text, row, _, action) => [
pathconfig?.enableedit && edit(text, row, _, action),
pathconfig?.enabledelete && remove(text, row, _, action),
],
});
}, [drawer?.id]);
return (
<div style={{ position: 'relative' }}>
<AutoTable
columns={columns}
actionRef={actionRef}
path={pathconfig?.list || '/ngic-auth/sysUser/query/page'}
pageextra={pathconfig?.enableadd ? 'add' : null}
resizeable={false}
addconfig={{
// access: 'sysDepartment_save',
btn: {
disabled: false,
onClick: () => {
setdrawer((s) => ({
...s,
open: true,
item: null,
title: '新增',
val: 'add',
id: null,
}));
},
},
}}
extraparams={{ equipmentMaintainStandardId }}
/>
<ModalPro
fields={columns}
params={{ id: drawer?.item?.id }}
formRef={formRef}
placement="right"
detailpath={pathconfig?.detail || null}
detailData={drawer?.item}
defaultFormValue={drawer?.item}
onClose={() => {
setdrawer((s) => ({
...s,
open: false,
}));
}}
{...drawer}
onFinish={(vals) => {
if (drawer?.val == 'add') {
run({
url: pathconfig?.add || '/add',
params: { ...vals, equipmentMaintainStandardId },
});
} else if (drawer?.val == 'edit') {
run({
url: pathconfig?.edit || '/edit',
params: { ...vals, id: drawer?.item?.id, equipmentMaintainStandardId },
});
}
}}
/>
</div>
);
}
export default Project;
function getcolumns(equipmentModelId) {
return {
columns: [
{
title: '标准编号',
dataIndex: 'standardNo',
key: 'standardNo',
hideInForm: true,
},
{
title: '保养类型',
dataIndex: 'maintainTypeName',
key: 'maintainType',
formItemProps: {
rules: [
{
required: true,
message: '此项为必填项',
},
],
},
valueType: 'select',
mode: 'radio',
options: [
{
label: '专业保养',
value: 2,
},
{
label: '自主保养',
value: 1,
},
],
},
{
title: '设备型号',
dataIndex: 'equipmentModelName',
key: 'equipmentModelId',
valueType: 'select',
formItemProps: {
rules: [
{
required: true,
message: '此项为必填项',
},
],
},
mode: 'radio',
options: {
path: '/maintain/umMaintainStandard/selected/queryList',
linkParams: {
maintainType: 'maintainType',
},
extraParams: {
equipmentModelId,
},
},
},
{
title: '备注',
dataIndex: 'remark',
key: 'remark',
valueType: 'textarea',
hideInSearch: true,
},
],
pathconfig: {
enableadd: true,
enableedit: true,
enabledelete: true,
enabledetail: false,
add: '/maintain/umMaintainStandard/save',
edit: '/maintain/umMaintainStandard/save',
list: '/maintain/umMaintainStandard/queryList',
delete: '/maintain/umMaintainStandard/deleteById',
detail: '',
},
};
}
export default getcolumns;
/* 保养标准
* @Author: Li Hanlin
* @Date: 2023-01-11 10:46:48
* @Last Modified by: Li Hanlin
* @Last Modified time: 2023-01-11 13:57:52
*/
import * as React from 'react';
import { useState, useMemo, useRef } from 'react';
import DrawerPro from '@/components/DrawerPro';
import AutoTable from '@/components/AutoTable';
import PremButton from '@/components/PremButton';
import getcolumns from './columns';
import { useRequest } from 'ahooks';
import { doFetch } from '@/utils/doFetch';
import Project from './Project';
function Criterion(props) {
const actionRef = useRef(),
formRef = useRef();
const [drawer, setdrawer] = useState({
open: false,
});
const pathconfig = useMemo(() => {
let pathconf = getcolumns(setdrawer)?.pathconfig ?? {};
return pathconf;
}, []);
const { run, loading } = useRequest(doFetch, {
manual: true,
onSuccess: (res, params) => {
if (res?.code == '0000') {
actionRef?.current?.reload();
setdrawer((s) => ({
...s,
open: false,
}));
}
},
});
const detail = (text, row, _, action) => {
return (
<PremButton
btn={{
size: 'small',
type: 'link',
onClick: () => {
setdrawer((s) => ({
...s,
open: true,
item: row,
title: '详情',
val: 'detail',
title: '详细信息',
}));
},
}}
>
详情
</PremButton>
);
};
const edit = (text, row, _, action) => {
return (
<PremButton
btn={{
size: 'small',
onClick: () => {
setdrawer((s) => ({
...s,
open: true,
item: row,
title: '编辑',
val: 'edit',
equipmentModelId: row?.equipmentModelId,
}));
},
}}
>
编辑
</PremButton>
);
};
const remove = (text, row, _, action) => {
return (
<PremButton
pop={{
title: '是否删除?',
okText: '确认',
cancelText: '取消',
onConfirm: () => {
run({ url: pathconfig?.delete || '/delete', params: { id: row?.id } });
},
}}
btn={{
size: 'small',
type: 'danger',
}}
>
删除
</PremButton>
);
};
const project = (text, row, _, action) => {
return (
<PremButton
btn={{
size: 'small',
onClick: () => {
setdrawer((s) => ({
...s,
open: true,
item: row,
title: '保养项目',
val: 'detailaddon',
id: row?.id,
}));
},
}}
>
项目明细
</PremButton>
);
};
const columns = useMemo(() => {
let defcolumn = getcolumns(drawer?.equipmentModelId)?.columns;
return defcolumn.concat({
title: '操作',
valueType: 'option',
width: 150,
render: (text, row, _, action) => [
project(text, row, _, action),
pathconfig?.enableedit && edit(text, row, _, action),
pathconfig?.enabledelete && remove(text, row, _, action),
],
});
}, [drawer?.equipmentModelId]);
return (
<div style={{ position: 'relative' }}>
<AutoTable
pagetitle=" 保养标准"
columns={columns}
actionRef={actionRef}
path={pathconfig?.list || '/ngic-auth/sysUser/query/page'}
pageextra={pathconfig?.enableadd ? 'add' : null}
resizeable={false}
addconfig={{
// access: 'sysDepartment_save',
name: '新增标准',
btn: {
disabled: false,
type: 'primary',
onClick: () => {
setdrawer((s) => ({
...s,
open: true,
item: null,
title: '新增',
val: 'add',
equipmentModelId: null,
}));
},
},
}}
/>
<DrawerPro
fields={columns}
params={{ id: drawer?.item?.id }}
formRef={formRef}
placement="right"
detailpath={pathconfig?.detail || null}
detailData={drawer?.item}
defaultFormValue={drawer?.item}
onClose={() => {
setdrawer((s) => ({
...s,
open: false,
}));
}}
{...drawer}
onFinish={(vals) => {
if (drawer?.val == 'add') {
run({ url: pathconfig?.add || '/add', params: { ...vals } });
} else if (drawer?.val == 'edit') {
run({ url: pathconfig?.edit || '/edit', params: { ...vals, id: drawer?.item?.id } });
}
}}
>
<Project equipmentMaintainStandardId={drawer?.id} />
</DrawerPro>
</div>
);
}
export default Criterion;
function procolumns(id) {
return {
columns: [
{
title: '保养项目',
dataIndex: 'maintainItemName',
key: 'maintainItemName',
formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
},
{
title: '保养部位',
dataIndex: 'maintainPosition',
key: 'maintainPosition',
formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
},
{
title: '保养方法',
dataIndex: 'maintainWay',
key: 'maintainWay',
colProps: { span: 24 },
valueType: 'textarea',
},
{
title: '保养频次',
dataIndex: 'maintainFrequencyName',
key: 'maintainFrequency',
colProps: { span: 24 },
valueType: 'select',
options: [
{ label: '周', value: 0 },
{ label: '月度', value: 1 },
{ label: '季度', value: 2 },
{ label: '半年', value: 3 },
{ label: '年度', value: 4 },
],
formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
},
{
title: '判定类型',
dataIndex: 'judgeTypeName',
key: 'judgeType',
formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
valueType: 'select',
options: [
{ label: '定性', value: 1 },
{ label: '定量', value: 2 },
],
hideInSearch: true,
},
{
title: '下限值',
dataIndex: 'lowerLimit',
key: 'lowerLimit',
formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
hideInForm: { judgeType: [1, null, undefined] },
valueType: 'digit',
hideInSearch: true,
},
{
title: '上限值',
dataIndex: 'upperLimit',
key: 'upperLimit',
formItemProps: { rules: [{ required: true, message: '此项为必填项' }] },
valueType: 'digit',
hideInForm: { judgeType: [1, null, undefined] },
hideInSearch: true,
},
{
title: '预计工时',
dataIndex: 'estimateWorkingHours',
key: 'estimateWorkingHours',
valueType: 'digit',
hideInSearch: true,
},
{
title: '备注',
dataIndex: 'remark',
key: 'remark',
colProps: { span: 24 },
valueType: 'textarea',
hideInSearch: true,
},
],
pathconfig: {
enableadd: true,
enableedit: true,
enabledelete: true,
enabledetail: false,
add: '/maintain/umMaintainItem/save',
edit: '/maintain/umMaintainItem/save',
list: '/maintain/umMaintainItem/queryList',
delete: '/maintain/umMaintainItem/deleteById',
detail: '',
},
};
}
export default procolumns;
function getcolumns(setdrawer) {
return {
"pathconfig": {
"enableadd": false,
"enableedit": false,
"enabledelete": false,
"enabledetail": false,
"add": "",
"edit": "",
"list": "/repair/umRepairOrder/queryRepairOrderList",
"delete": "",
"detail": ""
},
"columns": [
{
"title": "维修单号",
"dataIndex": "repairOrderNo",
"key": "repairOrderNo"
},
{
"title": "设备编号",
"dataIndex": "equipmentNo",
"key": "equipmentNo"
},
{
"title": "设备名称",
"dataIndex": "equipmentName",
"key": "equipmentName"
},
{
"title": "故障描述",
"dataIndex": "faultDescription",
"key": "faultDescription"
},
{
"title": "报修人员",
"dataIndex": "repairUserName",
"key": "repairUserName"
},
{
"title": "报修时间",
"dataIndex": "repairTime",
"key": "repairTimeList",
"valueType": "dateTimeRange"
},
{
"title": "报修单号",
"dataIndex": "repairNo",
"key": "repairNo"
},
{
"title": "工单状态",
"dataIndex": "statusName",
"key": "statusName"
}
]
};
}
export default getcolumns;
\ No newline at end of file
import * as React from 'react';
import { useState, useMemo, useRef } from 'react';
import DrawerPro from '@/components/DrawerPro';
import AutoTable from '@/components/AutoTable';
import PremButton from '@/components/PremButton';
import getcolumns from './columns';
import { useRequest } from 'ahooks';
import { doFetch } from '@/utils/doFetch';
function Orders(props) {
const actionRef = useRef(),
formRef = useRef();
const [drawer, setdrawer] = useState({
open: false,
});
const pathconfig = useMemo(() => {
let pathconf = getcolumns(setdrawer)?.pathconfig ?? {};
return pathconf;
}, []);
const { run, loading } = useRequest(doFetch, {
manual: true,
onSuccess: (res, params) => {
if (res?.code == '0000') {
actionRef?.current?.reload();
setdrawer((s) => ({
...s,
open: false,
}));
}
},
});
const detail = (text, row, _, action) => {
return (
<PremButton
btn={{
size: 'small',
type: 'link',
onClick: () => {
setdrawer((s) => ({
...s,
open: true,
item: row,
title: '详情',
val: 'detail',
title: '详细信息',
}));
},
}}
>
详情
</PremButton>
);
};
const edit = (text, row, _, action) => {
return (
<PremButton
btn={{
size: 'small',
onClick: () => {
setdrawer((s) => ({
...s,
open: true,
item: row,
title: '编辑',
val: 'edit',
}));
},
}}
>
编辑
</PremButton>
);
};
const remove = (text, row, _, action) => {
return (
<PremButton
pop={{
title: '是否删除?',
okText: '确认',
cancelText: '取消',
onConfirm: () => {
run({ url: pathconfig?.delete || '/delete', params: { id: row?.id } });
},
}}
btn={{
size: 'small',
type: 'danger',
}}
>
删除
</PremButton>
);
};
const columns = useMemo(() => {
let defcolumn = getcolumns(setdrawer)?.columns;
return defcolumn.concat({
title: '操作',
valueType: 'option',
width: 150,
render: (text, row, _, action) => [
pathconfig?.enabledetail && detail(text, row, _, action),
pathconfig?.enableedit && edit(text, row, _, action),
pathconfig?.enabledelete && remove(text, row, _, action),
],
});
}, []);
return (
<div style={{ position: 'relative' }}>
<AutoTable
pagetitle="保养接单"
columns={columns}
actionRef={actionRef}
path={pathconfig?.list || '/ngic-auth/sysUser/query/page'}
pageextra={pathconfig?.enableadd ? 'add' : null}
resizeable={true}
addconfig={{
// access: 'sysDepartment_save',
btn: {
disabled: false,
onClick: () => {
setdrawer((s) => ({
...s,
open: true,
item: null,
title: '新增',
val: 'add',
}));
},
},
}}
/>
<DrawerPro
fields={columns}
params={{ id: drawer?.item?.id }}
formRef={formRef}
placement="right"
detailpath={pathconfig?.detail || null}
detailData={drawer?.item}
defaultFormValue={drawer?.item}
onClose={() => {
setdrawer((s) => ({
...s,
open: false,
}));
}}
{...drawer}
onFinish={(vals) => {
if (drawer?.val == 'add') {
run({ url: pathconfig?.add || '/add', params: { ...vals } });
} else if (drawer?.val == 'edit') {
run({ url: pathconfig?.edit || '/edit', params: { ...vals, id: drawer?.item?.id } });
}
}}
/>
</div>
);
}
export default Orders;
\ No newline at end of file
function getcolumns(setdrawer) {
return {
"pathconfig": {
"enableadd": false,
"enableedit": false,
"enabledelete": false,
"enabledetail": false,
"add": "",
"edit": "",
"list": "/repair/umRepairOrder/queryRepairOrderList",
"delete": "",
"detail": ""
},
"columns": [
{
"title": "维修单号",
"dataIndex": "repairOrderNo",
"key": "repairOrderNo"
},
{
"title": "设备编号",
"dataIndex": "equipmentNo",
"key": "equipmentNo"
},
{
"title": "设备名称",
"dataIndex": "equipmentName",
"key": "equipmentName"
},
{
"title": "故障描述",
"dataIndex": "faultDescription",
"key": "faultDescription"
},
{
"title": "报修人员",
"dataIndex": "repairUserName",
"key": "repairUserName"
},
{
"title": "报修时间",
"dataIndex": "repairTime",
"key": "repairTimeList",
"valueType": "dateTimeRange"
},
{
"title": "报修单号",
"dataIndex": "repairNo",
"key": "repairNo"
},
{
"title": "工单状态",
"dataIndex": "statusName",
"key": "statusName"
}
]
};
}
export default getcolumns;
\ No newline at end of file
import * as React from 'react';
import { useState, useMemo, useRef } from 'react';
import DrawerPro from '@/components/DrawerPro';
import AutoTable from '@/components/AutoTable';
import PremButton from '@/components/PremButton';
import getcolumns from './columns';
import { useRequest } from 'ahooks';
import { doFetch } from '@/utils/doFetch';
function Plan(props) {
const actionRef = useRef(),
formRef = useRef();
const [drawer, setdrawer] = useState({
open: false,
});
const pathconfig = useMemo(() => {
let pathconf = getcolumns(setdrawer)?.pathconfig ?? {};
return pathconf;
}, []);
const { run, loading } = useRequest(doFetch, {
manual: true,
onSuccess: (res, params) => {
if (res?.code == '0000') {
actionRef?.current?.reload();
setdrawer((s) => ({
...s,
open: false,
}));
}
},
});
const detail = (text, row, _, action) => {
return (
<PremButton
btn={{
size: 'small',
type: 'link',
onClick: () => {
setdrawer((s) => ({
...s,
open: true,
item: row,
title: '详情',
val: 'detail',
title: '详细信息',
}));
},
}}
>
详情
</PremButton>
);
};
const edit = (text, row, _, action) => {
return (
<PremButton
btn={{
size: 'small',
onClick: () => {
setdrawer((s) => ({
...s,
open: true,
item: row,
title: '编辑',
val: 'edit',
}));
},
}}
>
编辑
</PremButton>
);
};
const remove = (text, row, _, action) => {
return (
<PremButton
pop={{
title: '是否删除?',
okText: '确认',
cancelText: '取消',
onConfirm: () => {
run({ url: pathconfig?.delete || '/delete', params: { id: row?.id } });
},
}}
btn={{
size: 'small',
type: 'danger',
}}
>
删除
</PremButton>
);
};
const columns = useMemo(() => {
let defcolumn = getcolumns(setdrawer)?.columns;
return defcolumn.concat({
title: '操作',
valueType: 'option',
width: 150,
render: (text, row, _, action) => [
pathconfig?.enabledetail && detail(text, row, _, action),
pathconfig?.enableedit && edit(text, row, _, action),
pathconfig?.enabledelete && remove(text, row, _, action),
],
});
}, []);
return (
<div style={{ position: 'relative' }}>
<AutoTable
pagetitle="保养计划"
columns={columns}
actionRef={actionRef}
path={pathconfig?.list || '/ngic-auth/sysUser/query/page'}
pageextra={pathconfig?.enableadd ? 'add' : null}
resizeable={true}
addconfig={{
// access: 'sysDepartment_save',
btn: {
disabled: false,
onClick: () => {
setdrawer((s) => ({
...s,
open: true,
item: null,
title: '新增',
val: 'add',
}));
},
},
}}
/>
<DrawerPro
fields={columns}
params={{ id: drawer?.item?.id }}
formRef={formRef}
placement="right"
detailpath={pathconfig?.detail || null}
detailData={drawer?.item}
defaultFormValue={drawer?.item}
onClose={() => {
setdrawer((s) => ({
...s,
open: false,
}));
}}
{...drawer}
onFinish={(vals) => {
if (drawer?.val == 'add') {
run({ url: pathconfig?.add || '/add', params: { ...vals } });
} else if (drawer?.val == 'edit') {
run({ url: pathconfig?.edit || '/edit', params: { ...vals, id: drawer?.item?.id } });
}
}}
/>
</div>
);
}
export default Plan;
\ No newline at end of file
function getcolumns(setdrawer) {
return {
"pathconfig": {
"enableadd": false,
"enableedit": false,
"enabledelete": false,
"enabledetail": false,
"add": "",
"edit": "",
"list": "/repair/umRepairOrder/queryRepairOrderList",
"delete": "",
"detail": ""
},
"columns": [
{
"title": "维修单号",
"dataIndex": "repairOrderNo",
"key": "repairOrderNo"
},
{
"title": "设备编号",
"dataIndex": "equipmentNo",
"key": "equipmentNo"
},
{
"title": "设备名称",
"dataIndex": "equipmentName",
"key": "equipmentName"
},
{
"title": "故障描述",
"dataIndex": "faultDescription",
"key": "faultDescription"
},
{
"title": "报修人员",
"dataIndex": "repairUserName",
"key": "repairUserName"
},
{
"title": "报修时间",
"dataIndex": "repairTime",
"key": "repairTimeList",
"valueType": "dateTimeRange"
},
{
"title": "报修单号",
"dataIndex": "repairNo",
"key": "repairNo"
},
{
"title": "工单状态",
"dataIndex": "statusName",
"key": "statusName"
}
]
};
}
export default getcolumns;
\ No newline at end of file
import * as React from 'react';
import { useState, useMemo, useRef } from 'react';
import DrawerPro from '@/components/DrawerPro';
import AutoTable from '@/components/AutoTable';
import PremButton from '@/components/PremButton';
import getcolumns from './columns';
import { useRequest } from 'ahooks';
import { doFetch } from '@/utils/doFetch';
function WorkOrder(props) {
const actionRef = useRef(),
formRef = useRef();
const [drawer, setdrawer] = useState({
open: false,
});
const pathconfig = useMemo(() => {
let pathconf = getcolumns(setdrawer)?.pathconfig ?? {};
return pathconf;
}, []);
const { run, loading } = useRequest(doFetch, {
manual: true,
onSuccess: (res, params) => {
if (res?.code == '0000') {
actionRef?.current?.reload();
setdrawer((s) => ({
...s,
open: false,
}));
}
},
});
const detail = (text, row, _, action) => {
return (
<PremButton
btn={{
size: 'small',
type: 'link',
onClick: () => {
setdrawer((s) => ({
...s,
open: true,
item: row,
title: '详情',
val: 'detail',
title: '详细信息',
}));
},
}}
>
详情
</PremButton>
);
};
const edit = (text, row, _, action) => {
return (
<PremButton
btn={{
size: 'small',
onClick: () => {
setdrawer((s) => ({
...s,
open: true,
item: row,
title: '编辑',
val: 'edit',
}));
},
}}
>
编辑
</PremButton>
);
};
const remove = (text, row, _, action) => {
return (
<PremButton
pop={{
title: '是否删除?',
okText: '确认',
cancelText: '取消',
onConfirm: () => {
run({ url: pathconfig?.delete || '/delete', params: { id: row?.id } });
},
}}
btn={{
size: 'small',
type: 'danger',
}}
>
删除
</PremButton>
);
};
const columns = useMemo(() => {
let defcolumn = getcolumns(setdrawer)?.columns;
return defcolumn.concat({
title: '操作',
valueType: 'option',
width: 150,
render: (text, row, _, action) => [
pathconfig?.enabledetail && detail(text, row, _, action),
pathconfig?.enableedit && edit(text, row, _, action),
pathconfig?.enabledelete && remove(text, row, _, action),
],
});
}, []);
return (
<div style={{ position: 'relative' }}>
<AutoTable
pagetitle="保养工单"
columns={columns}
actionRef={actionRef}
path={pathconfig?.list || '/ngic-auth/sysUser/query/page'}
pageextra={pathconfig?.enableadd ? 'add' : null}
resizeable={true}
addconfig={{
// access: 'sysDepartment_save',
btn: {
disabled: false,
onClick: () => {
setdrawer((s) => ({
...s,
open: true,
item: null,
title: '新增',
val: 'add',
}));
},
},
}}
/>
<DrawerPro
fields={columns}
params={{ id: drawer?.item?.id }}
formRef={formRef}
placement="right"
detailpath={pathconfig?.detail || null}
detailData={drawer?.item}
defaultFormValue={drawer?.item}
onClose={() => {
setdrawer((s) => ({
...s,
open: false,
}));
}}
{...drawer}
onFinish={(vals) => {
if (drawer?.val == 'add') {
run({ url: pathconfig?.add || '/add', params: { ...vals } });
} else if (drawer?.val == 'edit') {
run({ url: pathconfig?.edit || '/edit', params: { ...vals, id: drawer?.item?.id } });
}
}}
/>
</div>
);
}
export default WorkOrder;
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment