Commit 4de21424 authored by 皮倩雯's avatar 皮倩雯

fix: '修改事件描述,流程中心编辑流程禁止流程名称和编码前缀'

parent c2a47831
Pipeline #82011 passed with stages
......@@ -627,7 +627,7 @@ const AddModal = props => {
useEffect(() => {
setValue('');
setModalLoading(true)
setModalLoading(true);
// 关闭时不会调用
if (visible) {
getRole();
......@@ -651,7 +651,7 @@ const AddModal = props => {
`${window.location.origin}/civweb4/assets/images/caseCenter/events/通用问题1.png`,
);
setIm('assets/images/caseCenter/events/通用问题1.png');
setModalLoading(false)
setModalLoading(false);
} else if (type === 'edit') {
setChee();
getEventData1();
......@@ -689,7 +689,7 @@ const AddModal = props => {
if (res.data.root) {
setNu(res.data.root);
setFiled(formateArrDataA(res.data.root, 'group'));
setModalLoading(false)
setModalLoading(false);
}
});
// 外部字段逻辑处理
......@@ -1407,7 +1407,7 @@ const AddModal = props => {
return (
<Drawer
title={type === 'add' ? '添加事件类型' : '编辑事件类型'}
title={type === 'add' ? '添加事件' : '编辑事件'}
width="600px"
destroyOnClose
{...props}
......@@ -1421,9 +1421,10 @@ const AddModal = props => {
// confirmLoading={loading}
>
<Spin tip="loading..." spinning={modalLoading}>
{modalLoading ? null : <Form form={form}>
<Row>
{/* <Col span={24}>
{modalLoading ? null : (
<Form form={form}>
<Row>
{/* <Col span={24}>
<Item
label={
<div style={{ display: 'flex', alignItems: 'center', fontWeight: 'bold' }}>
......@@ -1446,103 +1447,103 @@ const AddModal = props => {
</Radio.Group>
</Item>
</Col> */}
<Col span={24}>
<Item name="CreateMode" labelCol={{ span: 5 }}>
<div
style={{ display: 'flex', alignItems: 'center', justifyContent: 'center' }}
className={styles.eventType}
>
<Tooltip title="直接发起工单,上报权限使用工作流首节点字段配置和权限">
<img
onClick={() => onChange2(1)}
style={{
width: '100%',
flex: 1
}}
src={value === 1 ? caseChooseImg : caseImg}
alt=""
<Col span={24}>
<Item name="CreateMode" labelCol={{ span: 5 }}>
<div
style={{ display: 'flex', alignItems: 'center', justifyContent: 'center' }}
className={styles.eventType}
>
<Tooltip title="直接发起工单,上报权限使用工作流首节点字段配置和权限">
<img
onClick={() => onChange2(1)}
style={{
width: '100%',
flex: 1,
}}
src={value === 1 ? caseChooseImg : caseImg}
alt=""
/>
</Tooltip>
<Tooltip title="事件填报后仅上报,进入调度箱进行办理,事件上报权限单独管理">
<img
onClick={() => onChange2(0)}
style={{
flex: 1,
width: '100%',
}}
src={value === 0 ? eventChooseImg : eventImg}
alt=""
/>
</Tooltip>
</div>
</Item>
</Col>
<Col span={15}>
<Item
label="事件名称"
labelCol={{ span: 8 }}
name="Name"
rules={[
{
required: true,
message: '请输入事件名称',
},
]}
>
<Input
onChange={prefix}
placeholder="请输入事件名称"
style={{ marginLeft: '-3px' }}
/>
</Tooltip>
<Tooltip title="事件填报后仅上报,进入调度箱进行办理,事件上报权限单独管理">
<img
onClick={() => onChange2(0)}
style={{
flex: 1,
width: '100%'
}}
src={value === 0 ? eventChooseImg : eventImg}
alt=""
</Item>
</Col>
<Col span={9}>
<Item
label="编码前缀"
labelCol={{ span: 12 }}
name="Code"
rules={[
{
required: true,
message: '请输入编码前缀',
},
{
validator: (rule, value) => {
let regex = new RegExp(/^[A-Z]{2,6}$/g);
if (!regex.test(value)) {
return Promise.reject('编码只能输入2-6位纯大写英文!');
}
return Promise.resolve();
},
},
]}
>
<Input
value={prefixName}
placeholder="请输入编码前缀"
style={{ marginLeft: '-3px' }}
maxLength={6}
/>
</Tooltip>
</div>
</Item>
</Col>
<Col span={15}>
<Item
label="事件类型"
labelCol={{ span: 8 }}
name="Name"
rules={[
{
required: true,
message: '请输入事件类型',
},
]}
>
<Input
onChange={prefix}
placeholder="请输入事件类型"
style={{ marginLeft: '-3px' }}
/>
</Item>
</Col>
<Col span={9}>
<Item
label="编码前缀"
labelCol={{ span: 12 }}
name="Code"
rules={[
{
required: true,
message: '请输入编码前缀',
},
{
validator: (rule, value) => {
let regex = new RegExp(/^[A-Z]{2,6}$/g);
if (!regex.test(value)) {
return Promise.reject('编码只能输入2-6位纯大写英文!');
}
return Promise.resolve();
},
},
]}
>
<Input
value={prefixName}
placeholder="请输入编码前缀"
style={{ marginLeft: '-3px' }}
maxLength={6}
/>
</Item>
</Col>
<Col span={24}>
<Item
label="业务类型"
name="BusinessType"
labelCol={{ span: 5 }}
rules={[
{
required: true,
validator: (rule, value) => {
if (form.getFieldsValue().BusinessType == '') {
return Promise.reject('业务类型必填');
}
return Promise.resolve();
},
},
]}
>
{/* <div>
</Item>
</Col>
<Col span={24}>
<Item
label="业务类型"
name="BusinessType"
labelCol={{ span: 5 }}
rules={[
{
required: true,
validator: (rule, value) => {
if (form.getFieldsValue().BusinessType == '') {
return Promise.reject('业务类型必填');
}
return Promise.resolve();
},
},
]}
>
{/* <div>
<Input
className="ue-editable-select-input"
onChange={inputType}
......@@ -1586,56 +1587,56 @@ const AddModal = props => {
</Dropdown>
</div> */}
<Select
placeholder="选择业务类型"
// onChange={inputType}
onSearch={inputType}
showSearch
style={{ marginLeft: '-3px' }}
>
{treeData
? treeData.map((item, index) => (
<Option key={index} value={item}>
{item}
</Option>
))
: ''}
</Select>
</Item>
</Col>
<Col span={24}>
<Item
label="事件主表"
name="TableName"
labelCol={{ span: 5 }}
rules={[
{
required: true,
message: '请选择事件主表',
},
]}
>
<Select
placeholder="选择事件主表"
onChange={changTable}
// onSearch={onSearch}
showSearch
style={{ marginLeft: '-3px' }}
>
{standingTable
? standingTable.map((item, index) => (
<Option key={index} value={item.text}>
{item.text}
</Option>
))
: ''}
</Select>
</Item>
</Col>
</Row>
{/* </Item> */}
<Select
placeholder="选择业务类型"
// onChange={inputType}
onSearch={inputType}
showSearch
style={{ marginLeft: '-3px' }}
>
{treeData
? treeData.map((item, index) => (
<Option key={index} value={item}>
{item}
</Option>
))
: ''}
</Select>
</Item>
</Col>
<Col span={24}>
<Item
label="事件主表"
name="TableName"
labelCol={{ span: 5 }}
rules={[
{
required: true,
message: '请选择事件主表',
},
]}
>
<Select
placeholder="选择事件主表"
onChange={changTable}
// onSearch={onSearch}
showSearch
style={{ marginLeft: '-3px' }}
>
{standingTable
? standingTable.map((item, index) => (
<Option key={index} value={item.text}>
{item.text}
</Option>
))
: ''}
</Select>
</Item>
</Col>
</Row>
{/* </Item> */}
{/* <Col span={5}>
{/* <Col span={5}>
<Item />
</Col>
<Col span={19}>
......@@ -1645,8 +1646,8 @@ const AddModal = props => {
</Checkbox>
</Item>
</Col> */}
<Row>
{/* <Col span={24}>
<Row>
{/* <Col span={24}>
<Item
label={
<div style={{ display: 'flex', alignItems: 'center' }}>
......@@ -1669,167 +1670,167 @@ const AddModal = props => {
</Radio.Group>
</Item>
</Col> */}
<Col span={24}>
<Item
label={
<div style={{ display: 'flex', alignItems: 'center' }}>
<Tooltip title={`存在${summaryValue}个外部字段`}>
<InfoCircleOutlined
style={{
color: 'red',
display: summaryIsShow,
}}
<Col span={24}>
<Item
label={
<div style={{ display: 'flex', alignItems: 'center' }}>
<Tooltip title={`存在${summaryValue}个外部字段`}>
<InfoCircleOutlined
style={{
color: 'red',
display: summaryIsShow,
}}
/>
</Tooltip>
<span>摘要字段</span>
</div>
}
name="SummaryFields"
labelCol={{ span: 5 }}
rules={[
{
validator: (rule, value) => {
console.log(checkedList1);
let aa = form.getFieldValue().SummaryFields;
let bb = [];
console.log(aa.split(','));
aa.split(',').map(i => {
if (i != '') {
bb.push(i);
}
});
console.log(bb);
if (aa == '') {
return Promise.reject('摘要字段必选');
}
// if (bb.length < 1 || aa.split(',').length > 5) {
// return Promise.reject('最少配置一个字段,最多配置五个字段');
// }
if (bb.length < 1) {
return Promise.reject('最少配置一个字段');
}
return Promise.resolve();
},
},
{
required: true,
message: '请选择摘要字段',
},
]}
>
<div style={{ display: 'flex' }}>
<Form.Item name="SummaryFields" style={{ marginBottom: 0, width: '100%' }}>
<Input placeholder="请选择摘要字段" allowClear />
</Form.Item>
<Button
type="dashed"
onClick={() => pickFiled('SummaryFields')}
icon={<PlusOutlined style={{ marginTop: '5px' }} />}
style={{ marginLeft: '10px', width: '70px' }}
/>
</Tooltip>
</div>
</Item>
</Col>
{value === 0 ? (
<Col span={24}>
<Item
label={
<div style={{ display: 'flex', alignItems: 'center' }}>
<Tooltip title={`存在${reportValue}个外部字段`}>
<InfoCircleOutlined
style={{
color: 'red',
<span>摘要字段</span>
</div>
}
name="SummaryFields"
labelCol={{ span: 5 }}
rules={[
{
validator: (rule, value) => {
console.log(checkedList1);
let aa = form.getFieldValue().SummaryFields;
let bb = [];
console.log(aa.split(','));
aa.split(',').map(i => {
if (i != '') {
bb.push(i);
}
});
console.log(bb);
if (aa == '') {
return Promise.reject('摘要字段必选');
}
// if (bb.length < 1 || aa.split(',').length > 5) {
// return Promise.reject('最少配置一个字段,最多配置五个字段');
// }
if (bb.length < 1) {
return Promise.reject('最少配置一个字段');
}
return Promise.resolve();
},
},
{
required: true,
message: '请选择摘要字段',
},
]}
>
<div style={{ display: 'flex' }}>
<Form.Item name="SummaryFields" style={{ marginBottom: 0, width: '100%' }}>
<Input placeholder="请选择摘要字段" allowClear />
</Form.Item>
<Button
type="dashed"
onClick={() => pickFiled('SummaryFields')}
icon={<PlusOutlined style={{ marginTop: '5px' }} />}
style={{ marginLeft: '10px', width: '70px' }}
/>
</div>
</Item>
</Col>
{value === 0 ? (
<Col span={24}>
<Item
label={
<div style={{ display: 'flex', alignItems: 'center' }}>
<Tooltip title={`存在${reportValue}个外部字段`}>
<InfoCircleOutlined
style={{
color: 'red',
display: reportIsShow,
}}
/>
</Tooltip>
display: reportIsShow,
}}
<span>上报字段</span>
</div>
}
name="ReportFields"
labelCol={{ span: 5 }}
rules={[
{
validator: (rule, value) => {
if (form.getFieldValue().ReportFields == '') {
return Promise.reject('上报字段必选');
}
return Promise.resolve();
},
},
{
required: true,
message: '请选择上报字段',
},
]}
>
<div style={{ display: 'flex' }}>
<Form.Item name="ReportFields" style={{ marginBottom: 0, width: '100%' }}>
<Input placeholder="请选择上报字段" allowClear />
</Form.Item>
<Button
type="dashed"
onClick={() => pickFiled('ReportFields')}
icon={<PlusOutlined style={{ marginTop: '5px' }} />}
style={{ marginLeft: '10px', width: '70px' }}
/>
</Tooltip>
</div>
</Item>
</Col>
) : null}
{value === 0 ? (
<Col span={24}>
<Item
label={
<div style={{ display: 'flex', alignItems: 'center' }}>
<Tooltip title={`存在${displayValue}个外部字段`}>
<InfoCircleOutlined
style={{
color: 'red',
<span>上报字段</span>
</div>
}
name="ReportFields"
labelCol={{ span: 5 }}
rules={[
{
validator: (rule, value) => {
if (form.getFieldValue().ReportFields == '') {
return Promise.reject('上报字段必选');
}
return Promise.resolve();
},
},
{
required: true,
message: '请选择上报字段',
},
]}
>
<div style={{ display: 'flex' }}>
<Form.Item name="ReportFields" style={{ marginBottom: 0, width: '100%' }}>
<Input placeholder="请选择上报字段" allowClear />
</Form.Item>
<Button
type="dashed"
onClick={() => pickFiled('ReportFields')}
icon={<PlusOutlined style={{ marginTop: '5px' }} />}
style={{ marginLeft: '10px', width: '70px' }}
/>
</div>
</Item>
</Col>
) : null}
{value === 0 ? (
<Col span={24}>
<Item
label={
<div style={{ display: 'flex', alignItems: 'center' }}>
<Tooltip title={`存在${displayValue}个外部字段`}>
<InfoCircleOutlined
style={{
color: 'red',
display: displayIsShow,
}}
/>
</Tooltip>
display: displayIsShow,
}}
<span>显示字段</span>
</div>
}
name="DisplayFields"
labelCol={{ span: 5 }}
rules={[
{
validator: (rule, value) => {
if (form.getFieldValue().DisplayFields == '') {
return Promise.reject('显示字段必选');
}
return Promise.resolve();
},
},
{
required: true,
message: '请选择显示字段',
},
]}
>
<div style={{ display: 'flex' }}>
<Form.Item name="DisplayFields" style={{ marginBottom: 0, width: '100%' }}>
<Input placeholder="请选择显示字段" allowClear />
</Form.Item>
<Button
type="dashed"
onClick={() => pickFiled('DisplayFields')}
icon={<PlusOutlined style={{ marginTop: '5px' }} />}
style={{ marginLeft: '10px', width: '70px' }}
/>
</Tooltip>
<span>显示字段</span>
</div>
}
name="DisplayFields"
labelCol={{ span: 5 }}
rules={[
{
validator: (rule, value) => {
if (form.getFieldValue().DisplayFields == '') {
return Promise.reject('显示字段必选');
}
return Promise.resolve();
},
},
{
required: true,
message: '请选择显示字段',
},
]}
>
<div style={{ display: 'flex' }}>
<Form.Item name="DisplayFields" style={{ marginBottom: 0, width: '100%' }}>
<Input placeholder="请选择显示字段" allowClear />
</Form.Item>
<Button
type="dashed"
onClick={() => pickFiled('DisplayFields')}
icon={<PlusOutlined style={{ marginTop: '5px' }} />}
style={{ marginLeft: '10px', width: '70px' }}
/>
</div>
</Item>
</Col>
) : null}
{/* <Col span={24}>
</div>
</Item>
</Col>
) : null}
{/* <Col span={24}>
<Item
label={
<div style={{ display: 'flex', alignItems: 'center' }}>
......@@ -1876,44 +1877,44 @@ const AddModal = props => {
</div>
</Item>
</Col> */}
<Col span={24}>
<Item
label={
<div style={{ display: 'flex', alignItems: 'center' }}>
<Tooltip title={`存在${displayColumns}个外部字段`}>
<InfoCircleOutlined
style={{
color: 'red',
marginRight: '2px',
display: transitIsShow,
}}
<Col span={24}>
<Item
label={
<div style={{ display: 'flex', alignItems: 'center' }}>
<Tooltip title={`存在${displayColumns}个外部字段`}>
<InfoCircleOutlined
style={{
color: 'red',
marginRight: '2px',
display: transitIsShow,
}}
/>
</Tooltip>
<span>显示列字段</span>
</div>
}
name="DisplayColumns"
labelCol={{ span: 5 }}
>
<div style={{ display: 'flex' }}>
<Form.Item name="DisplayColumns" style={{ marginBottom: 0, width: '100%' }}>
<Input placeholder="请选择显示列字段" allowClear />
</Form.Item>
<Button
type="dashed"
onClick={() => pickFiled('DisplayColumns')}
icon={<PlusOutlined style={{ marginTop: '5px' }} />}
style={{ marginLeft: '10px', width: '70px' }}
/>
</Tooltip>
<span>显示列字段</span>
</div>
}
name="DisplayColumns"
labelCol={{ span: 5 }}
>
<div style={{ display: 'flex' }}>
<Form.Item name="DisplayColumns" style={{ marginBottom: 0, width: '100%' }}>
<Input placeholder="请选择显示列字段" allowClear />
</Form.Item>
<Button
type="dashed"
onClick={() => pickFiled('DisplayColumns')}
icon={<PlusOutlined style={{ marginTop: '5px' }} />}
style={{ marginLeft: '10px', width: '70px' }}
/>
</div>
</Item>
</Col>
{/* <Col span={24}>
</div>
</Item>
</Col>
{/* <Col span={24}>
<Item label="置顶条件" name="TopWhere" labelCol={{ span: 5 }}>
<Input placeholder="请输入置顶条件" allowClear />
</Item>
</Col> */}
{/* <Col span={24}>
{/* <Col span={24}>
<Item label="上报视图" name="ReportPage" labelCol={{ span: 5 }}>
<Input placeholder="请输入上报视图" allowClear />
</Item>
......@@ -1924,12 +1925,12 @@ const AddModal = props => {
</Item>
</Col> */}
{/* <Col span={24}>
{/* <Col span={24}>
<Item label="关联事件" name="RelatedEvents" labelCol={{ span: 5 }}>
<Input placeholder="请输入关联事件" allowClear />
</Item>
</Col> */}
{/* <Col span={24}>
{/* <Col span={24}>
<Item
label={
<div>
......@@ -1961,183 +1962,190 @@ const AddModal = props => {
</div>
</Item>
</Col> */}
<Col span={24}>
<Item
name="Reportable"
label={
<div style={{ display: 'flex', alignItems: 'center' }}>
<Tooltip
title = {<div>标准使用,使用标准工单系统,可通过勾选 前端/手持,来控制是否展示事件的填报入口,勾选即展示;<br/>内置使用,使用第三方完整功能,仅调用接口、表结构和流程,工单系统中无法使用</div>}
// title="标准使用,使用标准工单系统,可通过勾选 前端/手持,来控制是否展示事件的填报入口,勾选即展示;
// 内置使用,使用第三方完整功能,仅调用接口、表结构和流程,工单系统中无法使用。"
>
<InfoCircleOutlined
style={{
color: '#1890ff',
marginRight: '2px',
}}
<Col span={24}>
<Item
name="Reportable"
label={
<div style={{ display: 'flex', alignItems: 'center' }}>
<Tooltip
title={
<div>
标准使用,使用标准工单系统,可通过勾选
前端/手持,来控制是否展示事件的填报入口,勾选即展示;
<br />
内置使用,使用第三方完整功能,仅调用接口、表结构和流程,工单系统中无法使用
</div>
}
// title="标准使用,使用标准工单系统,可通过勾选 前端/手持,来控制是否展示事件的填报入口,勾选即展示;
// 内置使用,使用第三方完整功能,仅调用接口、表结构和流程,工单系统中无法使用。"
>
<InfoCircleOutlined
style={{
color: '#1890ff',
marginRight: '2px',
}}
/>
</Tooltip>
<span>使用方式</span>
</div>
}
labelCol={{ span: 5 }}
>
<div style={{ display: 'flex' }}>
{/* <span style={{ marginRight: '5px' }}>内置使用</span> */}
<Switch
checkedChildren="标准用法"
unCheckedChildren="内置用法"
checked={visibleChecked}
onChange={change}
/>
</Tooltip>
<span>使用方式</span>
</div>
}
labelCol={{ span: 5 }}
>
<div style={{ display: 'flex' }}>
{/* <span style={{ marginRight: '5px' }}>内置使用</span> */}
<Switch
checkedChildren="标准用法"
unCheckedChildren="内置用法"
checked={visibleChecked}
onChange={change}
/>
</div>
</Item>
</Col>
<div style={{ display: 'inline-block', marginLeft: '112px', marginRight: '50px' }}>
<Item name="ReportFromWeb">
<Checkbox
onChange={onChange3}
checked={ReportFromWeb && visibleChecked}
disabled={!visibleChecked}
>
前端
</Checkbox>
</Item>
</div>
</Item>
</Col>
<div style={{ display: 'inline-block', marginLeft: '112px', marginRight: '50px' }}>
<Item name="ReportFromWeb">
<Checkbox
onChange={onChange3}
checked={ReportFromWeb && visibleChecked}
disabled={!visibleChecked}
>
前端
</Checkbox>
</Item>
</div>
<div style={{ display: 'inline-block' }}>
<Item name="ReportFromMobile">
<Checkbox
onChange={onChange4}
checked={ReportFromMobile && visibleChecked}
disabled={!visibleChecked}
>
手持
</Checkbox>
</Item>
</div>
{value === 0 ? (
<Col span={24}>
<Item
label="上报权限"
name="Roles"
labelCol={{ span: 5 }}
rules={[
{
required: true,
message: '请选择上报权限',
},
]}
>
<div style={{ display: 'flex' }}>
<Form.Item name="Roles" style={{ marginBottom: 0, width: '100%' }}>
<Input placeholder="请选择上报权限" allowClear />
</Form.Item>
<Button
type="dashed"
onClick={() => pickFiled1('Roles')}
icon={<PlusOutlined style={{ marginTop: '5px' }} />}
style={{ marginLeft: '10px', width: '70px' }}
/>
</div>
</Item>
</Col>
) : null}
<Col span={24}>
<Item label="接口配置" name="InterfaceConfig" labelCol={{ span: 5 }}>
<Input placeholder="请输入接口配置" />
</Item>
</Col>
</Row>
{/* <Item style={{ marginBottom: '0px' }}>
<div style={{ display: 'inline-block' }}>
<Item name="ReportFromMobile">
<Checkbox
onChange={onChange4}
checked={ReportFromMobile && visibleChecked}
disabled={!visibleChecked}
>
手持
</Checkbox>
</Item>
</div>
{value === 0 ? (
<Col span={24}>
<Item
label="上报权限"
name="Roles"
labelCol={{ span: 5 }}
rules={[
{
required: true,
message: '请选择上报权限',
},
]}
>
<div style={{ display: 'flex' }}>
<Form.Item name="Roles" style={{ marginBottom: 0, width: '100%' }}>
<Input placeholder="请选择上报权限" allowClear />
</Form.Item>
<Button
type="dashed"
onClick={() => pickFiled1('Roles')}
icon={<PlusOutlined style={{ marginTop: '5px' }} />}
style={{ marginLeft: '10px', width: '70px' }}
/>
</div>
</Item>
</Col>
) : null}
<Col span={24}>
<Item label="接口配置" name="InterfaceConfig" labelCol={{ span: 5 }}>
<Input placeholder="请输入接口配置" />
</Item>
</Col>
</Row>
{/* <Item style={{ marginBottom: '0px' }}>
<span style={{ marginLeft: '112px' }}>客户端上报(需配置事件权限、受理流程)</span>
</Item> */}
<Row>
<Col span={10}>
<Item
label="图标"
name="ImageExpression"
style={{ height: '112px' }}
labelCol={{ span: 12 }}
>
{imageUrl ? (
<div
style={{
width: '104px',
height: '104px',
border: '1px solid #d9d9d9',
borderRadius: '2px',
padding: '8px',
position: 'relative',
}}
onMouseEnter={() => setShow('visible')}
onMouseLeave={() => setShow('hidden')}
<Row>
<Col span={10}>
<Item
label="图标"
name="ImageExpression"
style={{ height: '112px' }}
labelCol={{ span: 12 }}
>
<img
src={imageUrl}
alt="singleFile"
style={{
width: '100%',
backgroundColor: '#2881a1',
}}
/>
{show == 'visible' ? (
<>
<div className={styles.imgg} />
<DeleteOutlined
onClick={() => {
setImageUrl('');
setIm('');
setKeepImgeUrl('');
form.setFieldsValue({ ImageExpression: '' });
}}
style={{
position: 'absolute',
fontSize: '18px',
left: '24px',
top: '45px',
color: 'white',
zIndex: '999',
}}
/>
<PictureOutlined
onClick={pictruePreview}
{imageUrl ? (
<div
style={{
width: '104px',
height: '104px',
border: '1px solid #d9d9d9',
borderRadius: '2px',
padding: '8px',
position: 'relative',
}}
onMouseEnter={() => setShow('visible')}
onMouseLeave={() => setShow('hidden')}
>
<img
src={imageUrl}
alt="singleFile"
style={{
position: 'absolute',
fontSize: '18px',
left: '54px',
top: '45px',
color: 'white',
zIndex: '999',
width: '100%',
backgroundColor: '#2881a1',
}}
/>
</>
{show == 'visible' ? (
<>
<div className={styles.imgg} />
<DeleteOutlined
onClick={() => {
setImageUrl('');
setIm('');
setKeepImgeUrl('');
form.setFieldsValue({ ImageExpression: '' });
}}
style={{
position: 'absolute',
fontSize: '18px',
left: '24px',
top: '45px',
color: 'white',
zIndex: '999',
}}
/>
<PictureOutlined
onClick={pictruePreview}
style={{
position: 'absolute',
fontSize: '18px',
left: '54px',
top: '45px',
color: 'white',
zIndex: '999',
}}
/>
</>
) : (
<></>
)}
</div>
) : (
<></>
<Image
width="104px"
// height={100}
src="error"
onClick={pictruePreview}
fallback="data:image/png;base64,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"
/>
)}
</div>
) : (
<Image
width="104px"
// height={100}
src="error"
onClick={pictruePreview}
fallback="data:image/png;base64,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"
/>
)}
</Item>
</Col>
{/* <Col span={12}>
</Item>
</Col>
{/* <Col span={12}>
<Item>
<Button type="primary" onClick={pictruePreview} style={{ marginTop: '33px' }}>
从图片库中选择
</Button>
</Item>
</Col> */}
</Row>
</Form>}
</Row>
</Form>
)}
</Spin>
{/* <ChangeAdd
visible={isVisible}
......
......@@ -93,11 +93,11 @@ const incident = () => {
const columns = [
{
title: '事件类型',
title: '事件名称',
dataIndex: 'name',
key: 'name',
width: 150,
render: (text,record) => (
render: (text, record) => (
<Tooltip placement="topLeft" title={text}>
{searchStyle(text)}
</Tooltip>
......@@ -143,7 +143,7 @@ const incident = () => {
width: 80,
render: record => (
<Tooltip placement="topLeft" title={record}>
<span style={{color:record == '(无)'?'grey':'black'}}>{record}</span>
<span style={{ color: record == '(无)' ? 'grey' : 'black' }}>{record}</span>
</Tooltip>
),
},
......@@ -232,14 +232,24 @@ const incident = () => {
width: 80,
render: item => {
if (item === '均可') {
return <span><Tag color="processing">前端</Tag><Tag color="processing">手持</Tag></span>;
} if (item === ''||item==='否') {
return (
<span>
<Tag color="processing">前端</Tag>
<Tag color="processing">手持</Tag>
</span>
);
}
if (item === '' || item === '否') {
return <Tag color="warning">内置</Tag>;
}if (item==='是') {
return <span style={{color: 'grey'}}>(无)</span>;
}
return <span><Tag color="processing">{item}</Tag></span>;
}
if (item === '是') {
return <span style={{ color: 'grey' }}>(无)</span>;
}
return (
<span>
<Tag color="processing">{item}</Tag>
</span>
);
},
},
{
......@@ -281,7 +291,7 @@ const incident = () => {
width: 150,
render: record => (
<Space size="middle">
<Tooltip title="编辑事件类型">
<Tooltip title="编辑事件">
<EditTwoTone onClick={() => editEventType(record)} style={{ fontSize: '16px' }} />
</Tooltip>
<Tooltip title="受理流程">
......@@ -302,7 +312,7 @@ const incident = () => {
style={{ fontSize: '16px', color: '#1890FF' }}
/>
</Tooltip>
<Tooltip title="删除事件类型">
<Tooltip title="删除事件">
<Popconfirm
placement="bottomRight"
title={<p>即将删除事件类型表,是否确认删除?</p>}
......@@ -321,7 +331,7 @@ const incident = () => {
useEffect(() => {
setTreeLoading(true);
GetCM_Event_LoadEventTable({
filter: searchValue
filter: searchValue,
}).then(res => {
setTreeLoading(false);
if (res.code === 0) {
......@@ -381,10 +391,10 @@ const incident = () => {
console.log(rember);
console.log(newArr[rember]);
console.log(newArr, 'newArr');
if(!newArr[rember]){
setRember(0)
if (!newArr[rember]) {
setRember(0);
setPickItem(newArr[0]);
setRember1(newArr[0])
setRember1(newArr[0]);
}
setTreeData(newArr);
} else {
......@@ -637,7 +647,7 @@ const incident = () => {
>
事件列表
</span>
<Tooltip title="添加事件类型">
<Tooltip title="添加事件">
<PlusSquareFilled
onClick={() => addIncident()}
style={{
......@@ -714,22 +724,26 @@ const incident = () => {
})}
>
<div style={{ height: '50px', lineHeight: '50px' }}>
{pickItem?<span><span className={styles.titleName}>{pickItem}</span>
{pickItem ? (
<span>
<Tooltip title="编辑业务类型名称">
<FormOutlined className={styles.iconSize} onClick={editBusiness} />
</Tooltip>
</span></span>:null}
<span className={styles.titleName}>{pickItem}</span>
<span>
<Tooltip title="编辑业务类型名称">
<FormOutlined className={styles.iconSize} onClick={editBusiness} />
</Tooltip>
</span>
</span>
) : null}
<span>
<span style={{ marginLeft: '20px', marginRight: '5px' }}>快速检索</span>
<span style={{ marginLeft: '20px', marginRight: '5px' }}>快速检索</span>
<Search
allowClear
placeholder='请输入事件类型或事件主表'
placeholder="请输入事件类型或事件主表"
onSearch={handleSearch}
onChange={handleChange}
value={searchValue}
enterButton
style={{ width: '300px',marginTop: '10px' }}
style={{ width: '300px', marginTop: '10px' }}
/>
</span>
<span className={styles.buttonList}>
......
......@@ -564,6 +564,7 @@ const FlowModal = props => {
onChange={e => {
prefix(e.target.value);
}}
disabled={modalType === 'edit'}
/>
</Form.Item>
<Form.Item
......@@ -612,7 +613,7 @@ const FlowModal = props => {
},
]}
>
<Input placeholder="请输入编码前缀" maxLength={6} />
<Input placeholder="请输入编码前缀" maxLength={6} disabled={modalType === 'edit'} />
</Form.Item>
<Form.Item label="流程描述" name="Text">
<Input placeholder="请输入流程描述" />
......
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