release/3.0.0.2502.01-合并业务线

This commit is contained in:
lys 2025-02-27 18:25:52 +08:00
parent f211fadcb8
commit bdfc9513c8
8 changed files with 55 additions and 40 deletions

View File

@ -90,7 +90,7 @@ class WaterMarkSetModal extends Component {
};
render() {
const { wmClassify, wmNoTransparent, wmRotate, wmImg, wmcontSet } = this.state;
const { wmClassify, wmNoTransparent, wmRotate, wmImg, wmcontSet } = this.state, { showOperateBtn } = this.props;
return (
<WeaSlideModal
{...this.props} className="waterMarkSetWrapper"
@ -103,7 +103,7 @@ class WaterMarkSetModal extends Component {
<WeaFormItem label={getLabel(111, "水印类型")} labelCol={{ span: 5 }} wrapperCol={{ span: 10 }}>
<div style={{ display: "flex", alignItems: "center" }}>
<WeaSelect
value={wmClassify} detailtype={3}
value={wmClassify} detailtype={3} viewAttr={showOperateBtn ? 2 : 1}
options={[
{ key: "text", showname: getLabel(111, "文本") },
{ key: "image", showname: getLabel(111, "图片") }
@ -119,8 +119,11 @@ class WaterMarkSetModal extends Component {
wmClassify === "text" ?
<WeaError tipPosition="bottom" ref="watermarkContError" error={getLabel(385869, "此项必填")}>
<div className="textSetting">
<i className="icon-coms-Flow-setting"
onClick={() => this.setState({ wmcontSet: { ...wmcontSet, visible: true } })}/>
{
showOperateBtn &&
<i className="icon-coms-Flow-setting"
onClick={() => this.setState({ wmcontSet: { ...wmcontSet, visible: true } })}/>
}
{
_.isEmpty(wmcontSet.textSet) ? <img src="/images/BacoError_wev9.png" alt=""/> :
<span className="previewBtn txtPrew"
@ -159,21 +162,24 @@ class WaterMarkSetModal extends Component {
</WeaFormItem>
<WeaFormItem label={getLabel(111, "不透明(百分比)")} labelCol={{ span: 5 }} wrapperCol={{ span: 10 }}>
<WeaInputNumber
min={0} max={80} precision={2} value={wmNoTransparent}
min={0} max={80} precision={2} value={wmNoTransparent} disabled={!showOperateBtn}
onChange={wmNoTransparent => this.setState({ wmNoTransparent })}
/>
</WeaFormItem>
<WeaFormItem label={getLabel(111, "旋转角度(逆时针)")} labelCol={{ span: 5 }} wrapperCol={{ span: 10 }}>
<WeaInputNumber
min={0} max={360} precision={2} value={wmRotate}
min={0} max={360} precision={2} value={wmRotate} disabled={!showOperateBtn}
onChange={wmRotate => this.setState({ wmRotate })}
/>
</WeaFormItem>
</WeaSearchGroup>
<div className="slideBottom">
<Button type="primary" onClick={this.handleCustomSave}>{getLabel(111, "确定")}</Button>
<Button type="ghost" onClick={this.props.onClose}>{getLabel(111, "取消")}</Button>
</div>
{
showOperateBtn &&
<div className="slideBottom">
<Button type="primary" onClick={this.handleCustomSave}>{getLabel(111, "确定")}</Button>
<Button type="ghost" onClick={this.props.onClose}>{getLabel(111, "取消")}</Button>
</div>
}
{/* 水印内容设置弹框*/}
<WmContentSetModal {...wmcontSet}
onClose={textSet => this.setState({

View File

@ -104,6 +104,7 @@ class TemplateBaseSettings extends Component {
};
render() {
const { showOperateBtn } = this.props;
const { watermarkStatus, watermark, watermarkSet, ackFeedbackSetting, salaryBillViewingLimitSetting } = this.state;
const { ackStatus, feedbackStatus, autoAckDays, feedBackUrl, mobileFeedbackUrl } = ackFeedbackSetting;
const { monthType = "SALARY_DATE", limitMonth, burningAfterReadingMin } = salaryBillViewingLimitSetting;
@ -111,14 +112,14 @@ class TemplateBaseSettings extends Component {
<React.Fragment>
<WeaSearchGroup title={getLabel(111, "水印设置")} showGroup needTigger className="waterMarkWrapper">
<WeaFormItem label={getLabel(111, "启用水印")} labelCol={{ span: 2 }} wrapperCol={{ span: 4 }}>
<WeaCheckbox value={watermarkStatus} display="switch"
<WeaCheckbox value={watermarkStatus} display="switch" viewAttr={showOperateBtn ? 2 : 1}
onChange={watermarkStatus => this.setState({ watermarkStatus, watermark: "DEFAULT" })}/>
</WeaFormItem>
{
watermarkStatus === "1" &&
<WeaFormItem label={getLabel(111, "水印类型")} labelCol={{ span: 2 }} wrapperCol={{ span: 4 }}>
<WeaSelect
value={watermark}
value={watermark} viewAttr={showOperateBtn ? 2 : 1}
options={[
{ key: "DEFAULT", showname: getLabel(111, "系统默认水印") },
{ key: "CUSTOM", showname: getLabel(111, "自定义水印") }
@ -134,7 +135,7 @@ class TemplateBaseSettings extends Component {
}
})}>{getLabel(111, "水印设置")}</span>
}
<WaterMarkSetModal {...watermarkSet}
<WaterMarkSetModal {...watermarkSet} showOperateBtn={showOperateBtn}
onClose={() => this.setState({ watermarkSet: { ...watermarkSet, visible: false } })}
onChange={wmSetting => this.setState({ wmSetting })}
/>
@ -143,7 +144,7 @@ class TemplateBaseSettings extends Component {
</WeaSearchGroup>
<WeaSearchGroup title={getLabel(111, "工资单确认反馈设置")} showGroup needTigger className="waterMarkWrapper">
<WeaFormItem label={getLabel(111, "启用工资单确认")} labelCol={{ span: 2 }} wrapperCol={{ span: 4 }}>
<WeaCheckbox value={ackStatus} display="switch"
<WeaCheckbox value={ackStatus} display="switch" viewAttr={showOperateBtn ? 2 : 1}
onChange={ackStatus => this.setState({
ackFeedbackSetting: {
...ackFeedbackSetting, ackStatus, autoAckDays: 7
@ -155,7 +156,7 @@ class TemplateBaseSettings extends Component {
<React.Fragment>
<WeaFormItem label={getLabel(111, "自动确认超时天数")} labelCol={{ span: 2 }} wrapperCol={{ span: 4 }}>
<WeaInputNumber
min={1} value={autoAckDays} viewAttr={3}
min={1} value={autoAckDays} viewAttr={3} disabled={!showOperateBtn}
style={{ width: "90%" }}
onChange={autoAckDays => this.setState({
ackFeedbackSetting: {
@ -170,7 +171,7 @@ class TemplateBaseSettings extends Component {
</React.Fragment>
}
<WeaFormItem label={getLabel(111, "启用工资单反馈")} labelCol={{ span: 2 }} wrapperCol={{ span: 4 }}>
<WeaCheckbox value={feedbackStatus} display="switch"
<WeaCheckbox value={feedbackStatus} display="switch" viewAttr={showOperateBtn ? 2 : 1}
onChange={feedbackStatus => this.setState({
ackFeedbackSetting: {
...ackFeedbackSetting, feedbackStatus
@ -182,7 +183,7 @@ class TemplateBaseSettings extends Component {
<React.Fragment>
<WeaFormItem label={getLabel(111, "PC端反馈流程地址")} labelCol={{ span: 2 }} wrapperCol={{ span: 4 }}>
<WeaInput
value={feedBackUrl} viewAttr={3}
value={feedBackUrl} viewAttr={3} disabled={!showOperateBtn}
onChange={feedBackUrl => this.setState({
ackFeedbackSetting: {
...ackFeedbackSetting, feedBackUrl
@ -191,7 +192,7 @@ class TemplateBaseSettings extends Component {
</WeaFormItem>
<WeaFormItem label={getLabel(111, "移动端反馈流程地址")} labelCol={{ span: 2 }} wrapperCol={{ span: 4 }}>
<WeaInput
value={mobileFeedbackUrl} viewAttr={3}
value={mobileFeedbackUrl} viewAttr={3} disabled={!showOperateBtn}
onChange={mobileFeedbackUrl => this.setState({
ackFeedbackSetting: {
...ackFeedbackSetting, mobileFeedbackUrl
@ -207,12 +208,12 @@ class TemplateBaseSettings extends Component {
<WeaSelect
value={monthType} onChange={monthType => this.setState({
salaryBillViewingLimitSetting: { ...salaryBillViewingLimitSetting, monthType }
})}
})} viewAttr={2} disabled={!showOperateBtn}
options={[
{ key: "SALARY_DATE", showname: getLabel(111, "薪资所属月"), selected: true },
{ key: "SEND_DATE", showname: getLabel(111, "发放日期") }
]}/>
<WeaInputNumber min={0} value={limitMonth}
<WeaInputNumber min={0} value={limitMonth} viewAttr={2} disabled={!showOperateBtn}
onChange={limitMonth => this.setState({
salaryBillViewingLimitSetting: {
...salaryBillViewingLimitSetting, limitMonth
@ -226,7 +227,7 @@ class TemplateBaseSettings extends Component {
</div>
<div className="agingBox">
<span>{getLabel(111, "首次查看")}</span>
<WeaInputNumber min={0} value={burningAfterReadingMin}
<WeaInputNumber min={0} value={burningAfterReadingMin} viewAttr={2} disabled={!showOperateBtn}
onChange={burningAfterReadingMin => this.setState({
salaryBillViewingLimitSetting: {
...salaryBillViewingLimitSetting, burningAfterReadingMin

View File

@ -140,7 +140,7 @@ class Index extends Component {
>{getLabel(83110, "查看详情")}</a>
}
{
sendNum === sendTotal && !showGrant &&
(!record.opts.includes("admin") || (sendNum === sendTotal && !showGrant)) &&
<Dropdown
overlay={<Menu onClick={e => this.handleOpts(e, record)}>
<Menu.Item key="log">{getLabel(545781, "操作日志")}</Menu.Item>
@ -151,7 +151,7 @@ class Index extends Component {
</Dropdown>
}
{
sendNum !== sendTotal && !showGrant &&
sendNum !== sendTotal && !showGrant && record.opts.includes("admin") &&
<Dropdown
overlay={<Menu onClick={e => this.handleOpts(e, record)}>
<Menu.Item key="template">{getLabel(543603, "更新模板")}</Menu.Item>

View File

@ -86,7 +86,9 @@ class Index extends Component {
return reqBtns;
};
renderContent = () => {
const { taxAgentStore: { PageAndOptAuth } } = this.props;
const { selectedKey, queryParams, isRefresh } = this.state;
const showOperateBtn = PageAndOptAuth.opts.includes("admin");
let dom = null;
switch (selectedKey) {
case "grant":
@ -104,7 +106,7 @@ class Index extends Component {
break;
case "watermark":
dom = <TemplateBaseSettings
ref={dom => this.baseSetRef = dom}
ref={dom => this.baseSetRef = dom} showOperateBtn={showOperateBtn}
onChangeLoading={loading => this.setState({ baseSetSaveLoading: loading })}
/>;
break;

View File

@ -68,7 +68,7 @@ class Index extends Component {
label: o.name,
labelcol: 6,
value: detail[`${String(o.id)}_variableItem`] || "",
viewAttr: 2, dataType: o.dataType
viewAttr: !_.isEmpty(detail) ? detail.viewAttr : 2, dataType: o.dataType
})),
title: "", col: 2,
defaultshow: true
@ -119,14 +119,17 @@ class Index extends Component {
});
};
renderTitle = () => {
const { loading } = this.state, { title } = this.props;
const { loading } = this.state, { title, detail } = this.props;
return <div className="titleDialog">
<div className="titleCol titleLeftBox">
<div className="titleIcon"><i className="icon-coms-fa"/></div>
<div className="title">{title}</div>
</div>
<div className="titleCol titleRightBox">
<Button type="primary" loading={loading} onClick={this.save}>{getLabel(537558, "保存")}</Button>
{
(_.isEmpty(detail) || detail.viewAttr === 2) &&
<Button type="primary" loading={loading} onClick={this.save}>{getLabel(537558, "保存")}</Button>
}
</div>
</div>;
};

View File

@ -91,7 +91,8 @@ class Index extends Component {
this.handleDelete([params.id]);
break;
case "EDIT":
this.handleView(params.id);
case "VIEW":
this.handleView(params.id, id === "VIEW");
break;
default:
break;
@ -118,9 +119,9 @@ class Index extends Component {
}
});
};
handleView = (id) => {
handleView = (id, view) => {
API.getVariableSalaryDetail({ id }).then(({ status, data }) => {
if (status) this.props.onViewSalaryFile(data.data);
if (status) this.props.onViewSalaryFile({ ...data.data, viewAttr: view ? 1 : 2 });
});
};
handleDelete = (ids) => {
@ -157,7 +158,7 @@ class Index extends Component {
const i18n = {
"操作": getLabel(30585, "操作"), "编辑": getLabel(111, "编辑"),
"共": getLabel(18609, "共"), "条": getLabel(18256, "条"),
"删除": getLabel(111, "删除")
"删除": getLabel(111, "删除"), "查看": getLabel(111, "查看")
};
const childFrameObj = document.getElementById("unitTable");
childFrameObj && childFrameObj.contentWindow.postMessage(JSON.stringify({ ...payload, i18n }), "*");

View File

@ -46,7 +46,7 @@ class Index extends Component {
columns: [
..._.filter(columns, o => o.dataIndex !== "id"),
{
title: getLabel(111, "操作"), dataIndex: "oprate",
title: getLabel(111, "操作"), dataIndex: "operate",
render: (__, record) => (<React.Fragment>
<a href="javascript: void(0)" style={{ marginRight: 10 }}
onClick={() => this.handleEdit(record.id)}>{getLabel(111, "编辑")}</a>
@ -85,7 +85,7 @@ class Index extends Component {
};
render() {
const { columns, dataSource, loading, pageInfo } = this.state;
const { columns, dataSource, loading, pageInfo } = this.state, { showOperateBtn } = this.props;
const pagination = {
...pageInfo,
showTotal: total => `${getLabel(18609, "共")} ${total} ${getLabel(18256, "条")}`,
@ -104,8 +104,9 @@ class Index extends Component {
}
};
return (<Spin spinning={loading && pageInfo.total === 0}>
<WeaTable columns={columns} dataSource={dataSource} loading={loading} bordered
pagination={pagination} scroll={{ y: `calc(100vh - 170px)` }}/>
<WeaTable columns={showOperateBtn ? columns : _.filter(columns, o => o.dataIndex !== "operate")}
dataSource={dataSource} loading={loading} bordered pagination={pagination}
scroll={{ y: `calc(100vh - 170px)` }}/>
</Spin>
);
}

View File

@ -109,11 +109,12 @@ class Index extends Component {
})}>{getLabel(111, "新建")}</Button>,
<AdvanceInputBtn onAdvanceSearch={this.handleAdvanceSearch}/>
] : [<AdvanceInputBtn onAdvanceSearch={this.handleAdvanceSearch}/>],
children: <SalaryItemList {...this.props} isQuery={isQuery} onEditSalaryItem={data => this.setState({
SIDialog: { visible: true, id: data.id, title: getLabel(111, "编辑薪资项目") }
}, () => VSSalaryItemForm.updateFields({
name: data.name, dataType: data.dataType
}))}/>
children: <SalaryItemList {...this.props} isQuery={isQuery} showOperateBtn={showOperateBtn}
onEditSalaryItem={data => this.setState({
SIDialog: { visible: true, id: data.id, title: getLabel(111, "编辑薪资项目") }
}, () => VSSalaryItemForm.updateFields({
name: data.name, dataType: data.dataType
}))}/>
}
];
return (