Commit 0e127f3e by 张恒

refactor(jcsj/gylx): 重构工艺路线组件配置和数据模型

- 移除公司字段和批次号字段
- 添加备注字段替换批次号功能
- 将表单布局从垂直改为水平
- 调整网格列宽配置
- 更新工作流程权限配置中的字段映射
- 修改子表字段配置,将工序名称从弹窗改为输入框
- 交换工序类别和采集方案字段配置
- 添加排序字段和工序ID字段
- 更新API参数模型接口定义
- 优化子表表格配置和列设置
parent bd405549
...@@ -6,11 +6,7 @@ import { BasicPageParams, BasicFetchResult } from '/@/api/model/baseModel'; ...@@ -6,11 +6,7 @@ import { BasicPageParams, BasicFetchResult } from '/@/api/model/baseModel';
export interface RokeRoutingPageParams extends BasicPageParams { export interface RokeRoutingPageParams extends BasicPageParams {
code: string; code: string;
companyId: string;
name: string; name: string;
lotRuleId: string;
} }
/** /**
...@@ -21,11 +17,9 @@ export interface RokeRoutingPageModel { ...@@ -21,11 +17,9 @@ export interface RokeRoutingPageModel {
code: string; code: string;
companyId: string;
name: string; name: string;
lotRuleId: string; note: string;
} }
/** /**
...@@ -170,6 +164,10 @@ export interface RokeRoutingProcessModel { ...@@ -170,6 +164,10 @@ export interface RokeRoutingProcessModel {
routingId: string; routingId: string;
processId: string; processId: string;
px: string;
processName: string;
} }
/** /**
......
...@@ -9,43 +9,11 @@ export const searchFormSchema: FormSchema[] = [ ...@@ -9,43 +9,11 @@ export const searchFormSchema: FormSchema[] = [
component: 'Input', component: 'Input',
}, },
{ {
field: 'companyId',
label: '公司',
defaultValue: undefined,
component: 'XjrSelect',
componentProps: {
datasourceType: 'api',
apiConfig: {
path: '/bmxx/getCompanyList',
method: 'GET',
apiId: 'copy1765431632890d13798',
apiParams: [
{ key: '1', title: 'Query Params', tableInfo: [] },
{ key: '2', title: 'Header', tableInfo: [] },
{ key: '3', title: 'Body' },
],
script:
'var sql="select id as value,name as label from res_company";\r\nreturn db.select(sql);',
},
labelField: 'label',
valueField: 'value',
mode: 'multiple',
showSearch: true,
getPopupContainer: () => document.body,
},
},
{
field: 'name', field: 'name',
label: '名称', label: '名称',
defaultValue: undefined, defaultValue: undefined,
component: 'Input', component: 'Input',
}, },
{
field: 'lotRuleId',
label: '批次号',
defaultValue: undefined,
component: 'Input',
},
]; ];
export const columns: BasicColumn[] = [ export const columns: BasicColumn[] = [
...@@ -64,19 +32,6 @@ export const columns: BasicColumn[] = [ ...@@ -64,19 +32,6 @@ export const columns: BasicColumn[] = [
{ {
resizable: true, resizable: true,
dataIndex: 'companyId',
title: '公司',
componentType: 'select',
fixed: false,
sorter: true,
styleConfig: undefined,
listStyle: undefined,
},
{
resizable: true,
dataIndex: 'name', dataIndex: 'name',
title: '名称', title: '名称',
componentType: 'input', componentType: 'input',
...@@ -90,9 +45,9 @@ export const columns: BasicColumn[] = [ ...@@ -90,9 +45,9 @@ export const columns: BasicColumn[] = [
{ {
resizable: true, resizable: true,
dataIndex: 'lotRuleId', dataIndex: 'note',
title: '批次号', title: '备注',
componentType: 'auto-code', componentType: 'textarea',
fixed: false, fixed: false,
sorter: true, sorter: true,
...@@ -169,7 +124,7 @@ export const formEventConfigs = { ...@@ -169,7 +124,7 @@ export const formEventConfigs = {
export const formProps: FormProps = { export const formProps: FormProps = {
labelCol: { span: 3, offset: 0 }, labelCol: { span: 3, offset: 0 },
labelAlign: 'right', labelAlign: 'right',
layout: 'vertical', layout: 'horizontal',
size: 'default', size: 'default',
schemas: [ schemas: [
{ {
...@@ -181,7 +136,7 @@ export const formProps: FormProps = { ...@@ -181,7 +136,7 @@ export const formProps: FormProps = {
component: 'Grid', component: 'Grid',
children: [ children: [
{ {
span: 6, span: 8,
list: [ list: [
{ {
key: '536715321b4c49df8b63b2fcb7cc14ab', key: '536715321b4c49df8b63b2fcb7cc14ab',
...@@ -206,56 +161,10 @@ export const formProps: FormProps = { ...@@ -206,56 +161,10 @@ export const formProps: FormProps = {
style: { width: '100%' }, style: { width: '100%' },
}, },
}, },
{
key: '62dc90bd2b2548f39626c59222f2c208',
field: 'companyId',
label: '公司',
type: 'select',
component: 'XjrSelect',
colProps: { span: 24 },
componentProps: {
width: '100%',
span: 7,
placeholder: '请选择下拉选择',
showLabel: true,
showSearch: false,
isMultiple: false,
clearable: false,
disabled: false,
staticOptions: [
{ key: 1, label: 'Option 1', value: 'Option 1' },
{ key: 2, label: 'Option 2', value: 'Option 2' },
{ key: 3, label: 'Option 3', value: 'Option 3' },
],
defaultSelect: '',
datasourceType: 'api',
labelField: 'label',
valueField: 'value',
apiConfig: {
path: '/bmxx/getCompanyList',
method: 'GET',
apiId: 'copy1765431632890d13798',
apiParams: [
{ key: '1', title: 'Query Params', tableInfo: [] },
{ key: '2', title: 'Header', tableInfo: [] },
{ key: '3', title: 'Body' },
],
script:
'var sql="select id as value,name as label from res_company";\r\nreturn db.select(sql);',
},
dicOptions: [],
required: false,
rules: [],
events: {},
isShow: true,
tooltipConfig: { visible: false, title: '提示文本' },
style: { width: '100%' },
},
},
], ],
}, },
{ {
span: 6, span: 8,
list: [ list: [
{ {
key: '8d9ef135306242729fb4673b9e2dd918', key: '8d9ef135306242729fb4673b9e2dd918',
...@@ -293,35 +202,7 @@ export const formProps: FormProps = { ...@@ -293,35 +202,7 @@ export const formProps: FormProps = {
], ],
}, },
{ {
span: 6, span: 8,
list: [
{
key: '2a666ef333114556a7e018a75573fd92',
field: 'lotRuleId',
label: '批次号',
type: 'auto-code',
component: 'AutoCodeRule',
colProps: { span: 24 },
componentProps: {
width: '100%',
span: 7,
placeholder: '自动生成',
prefix: '',
suffix: '',
addonBefore: '',
addonAfter: '',
showLabel: true,
autoCodeRule: 'GYPC',
required: false,
isShow: true,
tooltipConfig: { visible: false, title: '提示文本' },
style: { width: '100%' },
},
},
],
},
{
span: 6,
list: [ list: [
{ {
key: '6636f959cd3a4c239aeb3ab43505a27b', key: '6636f959cd3a4c239aeb3ab43505a27b',
...@@ -383,10 +264,10 @@ export const formProps: FormProps = { ...@@ -383,10 +264,10 @@ export const formProps: FormProps = {
defaultValue: '', defaultValue: '',
componentProps: { componentProps: {
width: '100%', width: '100%',
span: 7, span: 2,
defaultValue: '', defaultValue: '',
placeholder: '请输入备注备注', placeholder: '请输入备注备注备注',
rows: 4, rows: 3,
autoSize: false, autoSize: false,
showCount: false, showCount: false,
disabled: false, disabled: false,
...@@ -459,79 +340,35 @@ export const formProps: FormProps = { ...@@ -459,79 +340,35 @@ export const formProps: FormProps = {
mainKey: 'rokeRoutingProcessList', mainKey: 'rokeRoutingProcessList',
columns: [ columns: [
{ {
key: '9e9467d976174786a67851ccb34bb8f7', key: 'bffa8112410f4112b3e5fcd32ac28f0e',
title: '名称', title: '名称',
dataIndex: 'processId', dataIndex: 'processName',
componentType: 'MultiplePopup', componentType: 'Input',
defaultValue: '',
componentProps: { componentProps: {
popupType: 'associate',
width: '100%', width: '100%',
span: '', span: '',
placeholder: '请选择工序', defaultValue: '',
showLabel: true, placeholder: '',
maxlength: null,
prefix: '',
suffix: '',
addonBefore: '',
addonAfter: '',
disabled: false, disabled: false,
datasourceType: 'api', allowClear: false,
labelField: 'label', showLabel: true,
valueField: 'value',
pageSize: 10,
assoTitle: '选择工序',
apiConfig: {
path: '/jcxx/gxlb',
method: 'GET',
apiId: '8a735bb14d5f4a709efb65b34691acd3',
apiParams: [
{ key: '1', title: 'Query Params', tableInfo: [] },
{ key: '2', title: 'Header', tableInfo: [] },
{ key: '3', title: 'Body' },
],
script:
'var sql="select * from roke_process where delete_mark = 0";\r\nreturn db.select(sql);',
outputParams: [
{
name: 'code',
tableTitle: '编码',
bindField: 'code',
show: true,
width: 150,
component: '8f0c524797e64b40bc4124837d406cdb',
bindTable: 'roke_routing_process',
},
{ name: 'name', tableTitle: '名称', show: true, width: 150 },
{
name: 'collection_scheme_id',
tableTitle: '',
bindField: 'collectionSchemeId',
show: false,
width: 150,
component: 'bfdf4979bec74654ae607c3339e56ef2',
bindTable: 'roke_routing_process',
},
{
name: 'category_id',
tableTitle: '',
bindField: 'categoryId',
show: false,
width: 150,
component: 'a56d6b8d54aa4d7c8246feb647f8da8b',
bindTable: 'roke_routing_process',
},
{
name: 'rated_working_hours',
tableTitle: '',
bindField: 'ratedWorkingHours',
show: false,
width: 150,
component: 'd7f88b9a824042b8b717ba4ffc0aa729',
bindTable: 'roke_routing_process',
},
],
},
dicOptions: [],
required: false, required: false,
rules: [], rules: [],
events: {}, events: {},
listStyle: '',
isSave: false,
isShow: true, isShow: true,
scan: false,
bordered: true,
isShowAi: false,
tooltipConfig: { visible: false, title: '提示文本' }, tooltipConfig: { visible: false, title: '提示文本' },
prestrainField: 'name',
}, },
}, },
{ {
...@@ -544,7 +381,7 @@ export const formProps: FormProps = { ...@@ -544,7 +381,7 @@ export const formProps: FormProps = {
width: '100%', width: '100%',
span: '', span: '',
defaultValue: '', defaultValue: '',
placeholder: '请输入编码', placeholder: '',
prefix: '', prefix: '',
suffix: '', suffix: '',
addonBefore: '', addonBefore: '',
...@@ -562,30 +399,31 @@ export const formProps: FormProps = { ...@@ -562,30 +399,31 @@ export const formProps: FormProps = {
bordered: true, bordered: true,
isShowAi: false, isShowAi: false,
tooltipConfig: { visible: false, title: '提示文本' }, tooltipConfig: { visible: false, title: '提示文本' },
prestrainField: 'code',
}, },
}, },
{ {
key: 'a56d6b8d54aa4d7c8246feb647f8da8b', key: 'bfdf4979bec74654ae607c3339e56ef2',
title: '工序类别', title: '采集方案',
dataIndex: 'categoryId', dataIndex: 'collectionSchemeId',
componentType: 'XjrSelect', componentType: 'XjrSelect',
componentProps: { componentProps: {
width: '100%', width: '100%',
span: '', span: '',
placeholder: '请选择下拉选择', placeholder: '',
showLabel: true, showLabel: true,
showSearch: false, showSearch: false,
isMultiple: false, isMultiple: false,
clearable: false, clearable: false,
disabled: true, disabled: false,
staticOptions: [ staticOptions: [
{ key: 1, label: 'Option 1', value: 'Option 1' }, { key: 1, label: 'Option 1', value: 'Option 1' },
{ key: 2, label: 'Option 2', value: 'Option 2' }, { key: 2, label: 'Option 2', value: 'Option 2' },
{ key: 3, label: 'Option 3', value: 'Option 3' }, { key: 3, label: 'Option 3', value: 'Option 3' },
], ],
datasourceType: 'dic', defaultSelect: '',
params: { itemId: '2005547790246666242' }, datasourceType: 'api',
labelField: 'name', labelField: 'label',
valueField: 'value', valueField: 'value',
apiConfig: { apiConfig: {
path: '/jcxx/getCollectionSchemeList', path: '/jcxx/getCollectionSchemeList',
...@@ -603,21 +441,21 @@ export const formProps: FormProps = { ...@@ -603,21 +441,21 @@ export const formProps: FormProps = {
required: false, required: false,
rules: [], rules: [],
events: {}, events: {},
isShow: true, isShow: false,
tooltipConfig: { visible: false, title: '提示文本' }, tooltipConfig: { visible: false, title: '提示文本' },
itemId: '2005547790246666242', prestrainField: 'collection_scheme_id',
listStyle: "return 'border: 0'", listStyle: "return 'border: 0'",
}, },
}, },
{ {
key: 'bfdf4979bec74654ae607c3339e56ef2', key: 'a56d6b8d54aa4d7c8246feb647f8da8b',
title: '采集方案', title: '工序类别',
dataIndex: 'collectionSchemeId', dataIndex: 'categoryId',
componentType: 'XjrSelect', componentType: 'XjrSelect',
componentProps: { componentProps: {
width: '100%', width: '100%',
span: '', span: '',
placeholder: '请选择下拉选择', placeholder: '',
showLabel: true, showLabel: true,
showSearch: false, showSearch: false,
isMultiple: false, isMultiple: false,
...@@ -628,9 +466,9 @@ export const formProps: FormProps = { ...@@ -628,9 +466,9 @@ export const formProps: FormProps = {
{ key: 2, label: 'Option 2', value: 'Option 2' }, { key: 2, label: 'Option 2', value: 'Option 2' },
{ key: 3, label: 'Option 3', value: 'Option 3' }, { key: 3, label: 'Option 3', value: 'Option 3' },
], ],
defaultSelect: '', datasourceType: 'dic',
datasourceType: 'api', params: { itemId: '2005547790246666242' },
labelField: 'label', labelField: 'name',
valueField: 'value', valueField: 'value',
apiConfig: { apiConfig: {
path: '/jcxx/getCollectionSchemeList', path: '/jcxx/getCollectionSchemeList',
...@@ -650,6 +488,8 @@ export const formProps: FormProps = { ...@@ -650,6 +488,8 @@ export const formProps: FormProps = {
events: {}, events: {},
isShow: true, isShow: true,
tooltipConfig: { visible: false, title: '提示文本' }, tooltipConfig: { visible: false, title: '提示文本' },
itemId: '2005547790246666242',
prestrainField: 'category_id',
listStyle: "return 'border: 0'", listStyle: "return 'border: 0'",
}, },
}, },
...@@ -673,39 +513,193 @@ export const formProps: FormProps = { ...@@ -673,39 +513,193 @@ export const formProps: FormProps = {
rules: [], rules: [],
events: {}, events: {},
tooltipConfig: { visible: false, title: '提示文本' }, tooltipConfig: { visible: false, title: '提示文本' },
prestrainField: 'rated_working_hours',
listStyle: "return 'width:100%'", listStyle: "return 'width:100%'",
}, },
}, },
{
key: '750b63c0c1804f27abd10e748d7d15f3',
title: '排序',
dataIndex: 'px',
componentType: 'InputNumber',
defaultValue: '',
componentProps: {
width: '100%',
span: '',
defaultValue: '',
min: 0,
step: 1,
disabled: false,
showLabel: true,
controls: true,
required: true,
subTotal: false,
isShow: true,
rules: [],
events: {},
placeholder: '请输入排序',
tooltipConfig: { visible: false, title: '提示文本' },
listStyle: "return 'width:100%'",
},
},
{
key: '8534d25739fe413788dea3fc99ac7580',
title: '工序ID',
dataIndex: 'processId',
componentType: 'Input',
defaultValue: '',
componentProps: {
width: '100%',
span: '',
defaultValue: '',
placeholder: '',
maxlength: null,
prefix: '',
suffix: '',
addonBefore: '',
addonAfter: '',
disabled: false,
allowClear: false,
showLabel: true,
required: false,
rules: [],
events: {},
listStyle: '',
isSave: false,
isShow: false,
scan: false,
bordered: true,
isShowAi: false,
tooltipConfig: { visible: false, title: '提示文本' },
prestrainField: 'id',
},
},
{ title: '操作', key: 'action', fixed: 'right', width: '50px' }, { title: '操作', key: 'action', fixed: 'right', width: '50px' },
], ],
span: 7, span: 7,
preloadType: 'api', preloadType: 'api',
apiConfig: {}, apiConfig: {
path: '/jcxx/gxlb',
method: 'GET',
apiId: '8a735bb14d5f4a709efb65b34691acd3',
apiParams: [
{ key: '1', title: 'Query Params', tableInfo: [] },
{ key: '2', title: 'Header', tableInfo: [] },
{ key: '3', title: 'Body' },
],
script:
'var sql="select *,id as value,name as label from roke_process where delete_mark = 0";\r\nreturn db.select(sql);',
outputParams: [
{ name: 'code', tableTitle: '编码' },
{ name: 'name', tableTitle: '名称' },
{ name: 'category_id', tableTitle: '工序类别' },
{ name: 'id', tableTitle: 'ID' },
{ tableTitle: '采集方案ID', name: 'collection_scheme_id' },
{ name: 'rated_working_hours', tableTitle: '额工时定' },
],
},
itemId: '', itemId: '',
dicOptions: [], dicOptions: [],
useSelectButton: false, useSelectButton: true,
buttonName: '选择数据', buttonName: '新增',
showLabel: true, showLabel: true,
showComponentBorder: true, showComponentBorder: true,
showBorder: false, showBorder: false,
bordercolor: '#f0f0f0', bordercolor: '#f0f0f0',
bordershowtype: [true, true, true, true], bordershowtype: [true, true, true, true],
borderwidth: 1, borderwidth: 10,
showIndex: false, showIndex: true,
isShow: true, isShow: true,
multipleHeads: [], multipleHeads: [],
buttonList: [], buttonList: [],
topButtonList: [], topButtonList: [],
isExport: false, isExport: false,
isImport: false, isImport: false,
isDeleteSelected: false, isDeleteSelected: true,
isListView: false, isListView: false,
viewList: [], viewList: [
isShowAdd: true, {
key: '9e9467d976174786a67851ccb34bb8f7',
label: '名称',
field: 'process_id',
componentType: 'associate-popup',
checked: true,
},
{
key: '8f0c524797e64b40bc4124837d406cdb',
label: '编码',
field: 'code',
componentType: 'input',
checked: true,
},
{
key: 'a56d6b8d54aa4d7c8246feb647f8da8b',
label: '工序类别',
field: 'category_id',
componentType: 'select',
checked: true,
},
{
key: 'bfdf4979bec74654ae607c3339e56ef2',
label: '采集方案',
field: 'collection_scheme_id',
componentType: 'select',
checked: true,
},
{
key: 'd7f88b9a824042b8b717ba4ffc0aa729',
label: '额定工时',
field: 'rated_working_hours',
componentType: 'number',
checked: true,
},
],
isShowAdd: false,
isShowDelete: true, isShowDelete: true,
hasCheckedCol: false, hasCheckedCol: true,
events: {}, events: {},
showPagenation: true, showPagenation: true,
rowResize: false,
showColunmSet: false,
widths: [
{
key: '9e9467d976174786a67851ccb34bb8f7',
name: '名称',
bindField: 'process_id',
resizable: false,
isEdit: true,
},
{
key: '8f0c524797e64b40bc4124837d406cdb',
name: '编码',
bindField: 'code',
resizable: false,
isEdit: true,
},
{
key: 'a56d6b8d54aa4d7c8246feb647f8da8b',
name: '工序类别',
bindField: 'category_id',
resizable: false,
isEdit: false,
},
{
key: 'bfdf4979bec74654ae607c3339e56ef2',
name: '采集方案',
bindField: 'collection_scheme_id',
resizable: false,
isEdit: true,
},
{
key: 'd7f88b9a824042b8b717ba4ffc0aa729',
name: '额定工时',
bindField: 'rated_working_hours',
resizable: false,
isEdit: true,
},
],
type: 1,
event: [],
}, },
}, },
], ],
......
...@@ -16,22 +16,6 @@ export const permissionList = [ ...@@ -16,22 +16,6 @@ export const permissionList = [
options: {}, options: {},
}, },
{ {
required: false,
view: true,
edit: true,
disabled: false,
isSaveTable: false,
tableName: '',
fieldName: '公司',
fieldId: 'companyId',
isSubTable: false,
showChildren: true,
type: 'select',
key: '62dc90bd2b2548f39626c59222f2c208',
children: [],
options: {},
},
{
required: true, required: true,
view: true, view: true,
edit: true, edit: true,
...@@ -51,22 +35,6 @@ export const permissionList = [ ...@@ -51,22 +35,6 @@ export const permissionList = [
{ {
required: false, required: false,
view: true, view: true,
edit: false,
disabled: true,
isSaveTable: false,
tableName: '',
fieldName: '批次号',
fieldId: 'lotRuleId',
isSubTable: false,
showChildren: true,
type: 'auto-code',
key: '2a666ef333114556a7e018a75573fd92',
children: [],
options: {},
},
{
required: false,
view: true,
edit: true, edit: true,
disabled: false, disabled: false,
isSaveTable: false, isSaveTable: false,
...@@ -121,9 +89,9 @@ export const permissionList = [ ...@@ -121,9 +89,9 @@ export const permissionList = [
showChildren: false, showChildren: false,
tableName: 'rokeRoutingProcessList', tableName: 'rokeRoutingProcessList',
fieldName: '名称', fieldName: '名称',
fieldId: 'processId', fieldId: 'processName',
type: 'MultiplePopup', type: 'Input',
key: '9e9467d976174786a67851ccb34bb8f7', key: 'bffa8112410f4112b3e5fcd32ac28f0e',
children: [], children: [],
}, },
{ {
...@@ -150,10 +118,10 @@ export const permissionList = [ ...@@ -150,10 +118,10 @@ export const permissionList = [
isSaveTable: false, isSaveTable: false,
showChildren: false, showChildren: false,
tableName: 'rokeRoutingProcessList', tableName: 'rokeRoutingProcessList',
fieldName: '工序类别', fieldName: '采集方案',
fieldId: 'categoryId', fieldId: 'collectionSchemeId',
type: 'XjrSelect', type: 'XjrSelect',
key: 'a56d6b8d54aa4d7c8246feb647f8da8b', key: 'bfdf4979bec74654ae607c3339e56ef2',
children: [], children: [],
}, },
{ {
...@@ -165,10 +133,10 @@ export const permissionList = [ ...@@ -165,10 +133,10 @@ export const permissionList = [
isSaveTable: false, isSaveTable: false,
showChildren: false, showChildren: false,
tableName: 'rokeRoutingProcessList', tableName: 'rokeRoutingProcessList',
fieldName: '采集方案', fieldName: '工序类别',
fieldId: 'collectionSchemeId', fieldId: 'categoryId',
type: 'XjrSelect', type: 'XjrSelect',
key: 'bfdf4979bec74654ae607c3339e56ef2', key: 'a56d6b8d54aa4d7c8246feb647f8da8b',
children: [], children: [],
}, },
{ {
...@@ -186,6 +154,36 @@ export const permissionList = [ ...@@ -186,6 +154,36 @@ export const permissionList = [
key: 'd7f88b9a824042b8b717ba4ffc0aa729', key: 'd7f88b9a824042b8b717ba4ffc0aa729',
children: [], children: [],
}, },
{
required: true,
view: true,
edit: true,
disabled: false,
isSubTable: false,
isSaveTable: false,
showChildren: false,
tableName: 'rokeRoutingProcessList',
fieldName: '排序',
fieldId: 'px',
type: 'InputNumber',
key: '750b63c0c1804f27abd10e748d7d15f3',
children: [],
},
{
required: true,
view: true,
edit: true,
disabled: false,
isSubTable: false,
isSaveTable: false,
showChildren: false,
tableName: 'rokeRoutingProcessList',
fieldName: '工序ID',
fieldId: 'processId',
type: 'Input',
key: '8534d25739fe413788dea3fc99ac7580',
children: [],
},
], ],
}, },
]; ];
...@@ -382,4 +382,4 @@ ...@@ -382,4 +382,4 @@
</style> </style>
\ 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