release/3.0.0.2502.01-合并业务线

This commit is contained in:
lys 2025-02-27 16:53:46 +08:00
parent d47d74f856
commit f211fadcb8
12 changed files with 46 additions and 28 deletions

View File

@ -95,7 +95,7 @@ class PersonalScopeTable extends Component {
render() {
const { dataSource, columns, pageInfo, loading, selectedRowKeys } = this.state;
const { onChangeSelectKey } = this.props;
const { onChangeSelectKey, showOperateBtn } = this.props;
const pagination = {
...pageInfo,
showTotal: total => `${total}`,
@ -128,7 +128,7 @@ class PersonalScopeTable extends Component {
return (
<WeaTable
rowKey="id"
rowSelection={rowSelection}
rowSelection={showOperateBtn ? rowSelection : null}
dataSource={dataSource}
pagination={pagination}
loading={loading.query}

View File

@ -39,7 +39,7 @@ class CopyLedgerModal extends Component {
getTaxAgentSelectListAsAdmin = () => {
const { ledgerStore } = this.props;
const { copyForm: form } = ledgerStore;
postFetch("/api/bs/hrmsalary/taxAgent/listAuth", { filterType: "ADMIN_DATA" })
postFetch("/api/bs/hrmsalary/taxAgent/listAuth", { filterType: "QUERY_DATA" })
.then(({ status, data }) => {
if (status) {
const conditions = _.map(copyConditions, it => {

View File

@ -147,6 +147,10 @@
display: flex;
align-items: center;
.wea-ignore-node i {
display: none;
}
.wea-sortable-grid-item {
display: inline-block;
border: none;

View File

@ -61,10 +61,11 @@ class LedgerAccountApprRule extends Component {
}
renderForm = (form, conditions) => {
const { saveSalarySobId, editId } = this.props;
const { saveSalarySobId, editId, record } = this.props;
const { approvalItemGroup } = this.state;
const { isFormInit } = form;
const formParams = form.getFormParams();
const showOperateBtn = editId ? record.opts.includes("admin") : true;
let group = [];
isFormInit && conditions && conditions.map(c => {
let items = [];
@ -76,8 +77,8 @@ class LedgerAccountApprRule extends Component {
wrapperCol={{ span: `${fields.fieldcol}` }} error={form.getError(fields)}
tipPosition="bottom"
>
<WeaSwitch fieldConfig={fields} form={form} formParams={formParams}
onChange={this.handleFormItemChange}/>
<WeaSwitch fieldConfig={{ ...fields, viewAttr: showOperateBtn ? fields.viewAttr : 1 }} form={form}
formParams={formParams} onChange={this.handleFormItemChange}/>
</WeaFormItem>),
hide: fields.hide
});
@ -89,6 +90,7 @@ class LedgerAccountApprRule extends Component {
tipPosition="bottom"
>
<LedgerAccountSalaryItemsSet datas={approvalItemGroup} salarySobId={editId || saveSalarySobId}
showOperateBtn={showOperateBtn}
onAddItems={(groupId, items) => this.setState({
approvalItemGroup: _.map(approvalItemGroup, o => ({
...o,

View File

@ -55,26 +55,29 @@ class LedgerAccountSalaryItemsSet extends Component {
render() {
const { editDialog, salaryItemDialog } = this.state;
const { datas } = this.props;
const { datas, showOperateBtn = true } = this.props;
return (
<div>
<div style={{ textAlign: "right", padding: "10px 0" }}>
<WeaButtonIcon buttonType="add" type="primary"
onClick={() => this.setState({
editDialog: { visible: true, title: getLabel(111, "添加分类") }
})}/>
{
showOperateBtn && <WeaButtonIcon buttonType="add" type="primary"
onClick={() => this.setState({
editDialog: { visible: true, title: getLabel(111, "添加分类") }
})}/>
}
</div>
<div className={cs("salaryItemSettingWrapper", { required: _.isEmpty(datas) })}>
<WeaSortable
datas={datas}
datas={_.map(datas, o => ({ ...o, filter: !showOperateBtn }))}
onChange={list => this.props.onChange(list)}
renderNodeItem={(item) => {
return <div className="salaryItemWrapper">
<div className="salaryItemHeader">
<span className="titleWrapper">
<span className="salaryClassTitle">{item.groupName}</span>
<span className="iconWrapper">
{
showOperateBtn &&
<span className="iconWrapper">
<i className="icon-coms-edit" onClick={() => this.setState({
editDialog: {
visible: true, groupName: item.groupName, groupId: item.id, title: getLabel(111, "分类名称编辑")
@ -82,14 +85,17 @@ class LedgerAccountSalaryItemsSet extends Component {
})}/>
<i className="icon-coms-Delete" onClick={() => this.handleDeleteClick(item)}/>
</span>
}
</span>
<i className="icon-coms-Add-to" onClick={() => this.handleAddSalaryItems(item)}/>
{
showOperateBtn && <i className="icon-coms-Add-to" onClick={() => this.handleAddSalaryItems(item)}/>
}
</div>
<div className="salaryItemContent">
{
!_.isEmpty(item.approvalItems) ?
<WeaSortable
datas={item.approvalItems}
datas={_.map(item.approvalItems, o => ({ ...o, filter: !showOperateBtn }))}
onChange={(items) => this.props.onChange(
_.map(datas, child => {
if (child.id === item.id) {
@ -102,7 +108,10 @@ class LedgerAccountSalaryItemsSet extends Component {
return <div className="salaryItemList">
<div className="salaryItem" title={filed.salaryItemName}>
<div className="salaryItemName">{filed.salaryItemName}</div>
<Icon type="cross" onClick={() => this.handleDeleteClick(item, filed)}/>
{
showOperateBtn &&
<Icon type="cross" onClick={() => this.handleDeleteClick(item, filed)}/>
}
</div>
</div>;
}}

View File

@ -106,7 +106,7 @@ class LedgerBaseSetting extends Component {
});
};
getTaxAgentSelectListAsAdmin = () => {
postFetch("/api/bs/hrmsalary/taxAgent/listAuth", { filterType: "ADMIN_DATA" })
postFetch("/api/bs/hrmsalary/taxAgent/listAuth", { filterType: "QUERY_DATA" })
.then(({ status, data }) => {
if (status) {
this.setState({

View File

@ -51,17 +51,17 @@ class LedgerSalaryItemBaseInfo extends Component {
render() {
const { dataSource, onChangeSortableList, onPreview, editId, record } = this.props;
const admin = editId ? record.opts.includes("admin") : true;
const { empFieldListOptions } = this.state;
const options = _.map(empFieldListOptions, o => ({
...o, disabled: _.map(dataSource, g => g.fieldId).includes(o.key)
}));
if (_.isEmpty(dataSource) || _.isEmpty(options)) return null;
const admin = editId ? record.opts.includes("admin") : true;
return (
<WeaSearchGroup needTigger={false} showGroup title={<TitleComp onPreview={onPreview}/>}>
<div className="userInfoWrapper">
<WeaSortable
datas={dataSource}
datas={_.map(dataSource, o => ({ ...o, filter: !admin }))}
draggableType="icon"
onChange={onChangeSortableList}
renderNodeItem={(item) => {

View File

@ -182,6 +182,7 @@ class LedgerSalaryItemNormal extends Component {
>
<LedgerSalaryItemTable
tableData={items}
showOperateBtn={showOperateBtn}
dataSource={_.find(newDateSource, childItem => childItem.uuid === uuid).items}
salarySobId={editId || saveSalarySobId}
selectedRowKeys={field.selectedRowKeys || []}

View File

@ -231,7 +231,7 @@ class LedgerSalaryItemTable extends Component {
render() {
const { salaryItemPayload, editFormulModal, originRecord } = this.state;
const { onHandleItemhide } = this.props;
const { onHandleItemhide, showOperateBtn } = this.props;
const {
tableData, dataSource, onDropCategoryItem,
onChangeSelectedRowKeys, selectedRowKeys, onMoveTo
@ -315,16 +315,16 @@ class LedgerSalaryItemTable extends Component {
<React.Fragment>
<WeaTable
rowKey={record => record.id || record.key}
rowSelection={rowSelection}
rowSelection={showOperateBtn ? rowSelection : null}
dataSource={tableData}
columns={columns}
columns={showOperateBtn ? columns : _.filter(columns, o => (o.dataIndex !== "operate" && o.dataIndex !== "itemHide"))}
onRow={(record, index) => ({
index,
moveRow: record
})}
pagination={false}
onDrop={onDropCategoryItem}
draggable={dataSource.length === tableData.length}
draggable={dataSource.length === tableData.length && showOperateBtn}
/>
<LedgerSalaryItemEditSlide
{...salaryItemPayload}

View File

@ -46,7 +46,7 @@ class AdjustmentDefaultSlide extends Component {
};
render() {
const { visible, onCancel, taxAgentStore: { showOperateBtn }, dataSource } = this.props;
const { visible, onCancel, taxAgentStore: { PageAndOptAuth }, dataSource } = this.props;
const { loading } = this.state;
const columns = [
{
@ -82,6 +82,7 @@ class AdjustmentDefaultSlide extends Component {
}
}
];
const showOperateBtn = PageAndOptAuth.opts.includes("admin");
return (
<WeaSlideModal
className="adjustDefSlideWrapper"

View File

@ -236,7 +236,7 @@ class SupplementarySlide extends Component {
};
render() {
const { title, visible, onCancel, taxAgentStore: { showOperateBtn } } = this.props;
const { title, visible, onCancel, taxAgentStore: { PageAndOptAuth } } = this.props;
const { baseInfo, loading, businessAccounting, inputPaymentAmount } = this.state;
const baseItems = [
{
@ -366,6 +366,7 @@ class SupplementarySlide extends Component {
})
}
];
const showOperateBtn = PageAndOptAuth.opts.includes("admin");
return (
<WeaSlideModal
className="supplementarySlideWrapper"
@ -446,7 +447,7 @@ export const convertData = (dataSource) => {
perDisabled: !_.includes(_.map(itemList, o => o.paymentScopeSign), "per"),
perValidNum: !_.isEmpty(_.filter(itemList, i => i.paymentScopeSign === "per")) ? _.filter(itemList, i => i.paymentScopeSign === "per")[0].validNum : 2,
comDisabled: !_.includes(_.map(itemList, o => o.paymentScopeSign), "com"),
comValidNum: !_.isEmpty(_.filter(itemList, i => i.paymentScopeSign === "com")) ? _.filter(itemList, i => i.paymentScopeSign === "com")[0].validNum : 2,
comValidNum: !_.isEmpty(_.filter(itemList, i => i.paymentScopeSign === "com")) ? _.filter(itemList, i => i.paymentScopeSign === "com")[0].validNum : 2
});
});
return endList.push(data);

View File

@ -63,7 +63,7 @@ class Index extends Component {
};
} else if (getKey(o) === "paymentType" || getKey(o) === "sharedType") {
return {
...o, label: getLabel(o.lanId, o.label),
...o, label: getLabel(o.lanId, o.label), viewAttr: showOperateBtn ? o.viewAttr : 1,
options: _.map(o.options, k => ({ ...k, showname: getLabel(k.lanId, k.showname) }))
};
}