You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
120 lines
4.3 KiB
120 lines
4.3 KiB
import { jsx as _jsx } from "react/jsx-runtime"; |
|
import { ProTable } from '@ant-design/pro-components'; |
|
import { getExperList, onDisable } from './action'; |
|
import { useMemo } from 'react'; |
|
import { useRoutes, themeMessage } from '@component/utils'; |
|
import { Button, message, Modal } from 'antd'; |
|
import { ExclamationCircleOutlined } from '@ant-design/icons'; |
|
import { useRequest } from 'ahooks'; |
|
const { confirm } = Modal; |
|
export default function ({ params }) { |
|
const { historyPush } = useRoutes(); |
|
const { loading, runAsync } = useRequest(onDisable, { |
|
manual: true, |
|
onSuccess(result, params) { |
|
themeMessage(result); |
|
}, |
|
onError(result) { |
|
message.error(result.message); |
|
}, |
|
}); |
|
const showConfirm = (record, action) => { |
|
const { userId, status } = record; |
|
confirm({ |
|
title: '禁用提醒', |
|
icon: _jsx(ExclamationCircleOutlined, {}), |
|
content: status == '2' |
|
? '确定启用吗?' |
|
: '禁用后,服务人员将不能登录专家App端进行事故预防服务,确定禁用?', |
|
onOk() { |
|
runAsync({ userId, status: status == '1' ? '2' : '1' }).then((result) => { |
|
if (result.type === 'success') { |
|
action === null || action === void 0 ? void 0 : action.reload(); |
|
} |
|
}); |
|
}, |
|
}); |
|
}; |
|
const columns = useMemo(() => [ |
|
{ |
|
title: '用户工号', |
|
dataIndex: 'userNo', |
|
ellipsis: true, |
|
search: false, |
|
}, |
|
{ |
|
title: '专家姓名', |
|
dataIndex: 'userName', |
|
ellipsis: true, |
|
fieldProps: { |
|
placeholder: '工号/姓名', |
|
}, |
|
formItemProps: { |
|
name: 'keyword', |
|
label: '关键字', |
|
}, |
|
render: (_, record) => [ |
|
_jsx("a", Object.assign({ onClick: () => historyPush('expertDetail', { userId: record.userId }) }, { children: record.userName })), |
|
], |
|
}, |
|
{ |
|
title: '性别', |
|
dataIndex: 'sex', |
|
search: false, |
|
ellipsis: true, |
|
render: (_, record) => record.sex == '1' ? '男' : record.sex == '2' ? '女' : null, |
|
}, |
|
{ |
|
title: '年龄', |
|
dataIndex: 'age', |
|
ellipsis: true, |
|
search: false, |
|
}, |
|
{ |
|
title: '手机号', |
|
dataIndex: 'desensitizationPhone', |
|
ellipsis: true, |
|
search: false, |
|
}, |
|
{ |
|
title: '账号状态', |
|
dataIndex: 'status', |
|
ellipsis: true, |
|
search: false, |
|
render: (_, record) => record.status == '1' ? (_jsx("span", Object.assign({ style: { color: '#0067D3' } }, { children: "\u542F\u7528" }))) : record.status == '2' ? (_jsx("span", Object.assign({ style: { color: '#BF341F' } }, { children: "\u7981\u7528" }))) : null, |
|
}, |
|
{ |
|
title: '服务区域', |
|
dataIndex: 'scopeGridName', |
|
ellipsis: true, |
|
search: false, |
|
}, |
|
{ |
|
title: '主要服务项目', |
|
dataIndex: 'skilledWorkName', |
|
ellipsis: true, |
|
search: false, |
|
}, |
|
{ |
|
title: '操作', |
|
width: 70, |
|
valueType: 'option', |
|
align: 'center', |
|
key: 'option', |
|
fixed: 'right', |
|
render: (text, record, _, action) => { |
|
if (record.status == '2') { |
|
return (_jsx(Button, Object.assign({ type: "link", onClick: () => showConfirm(record, action) }, { children: "\u542F\u7528" }))); |
|
} |
|
else { |
|
return (_jsx(Button, Object.assign({ type: "link", danger: true, onClick: () => showConfirm(record, action) }, { children: "\u7981\u7528" }))); |
|
} |
|
}, |
|
}, |
|
]); |
|
return (_jsx("div", Object.assign({ className: "page-content-detail-tabs" }, { children: _jsx(ProTable, { columns: columns, request: getExperList, rowKey: "userId", params: { |
|
serviceOrganId: params.organId, |
|
}, options: false, pagination: { |
|
pageSize: 15, |
|
} }) }))); |
|
}
|
|
|