@bchr/bchr-front-lib 0.3.124 → 0.3.129
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/base/AppFormulaFunctions.js +6 -0
- package/lib/base/layout/ProcessLink.js +14 -2
- package/lib/base/layout/addTabOrBlankLink.js +2 -0
- package/lib/base/layout/ui_tpl/form/FormForModify.js +6 -0
- package/package.json +1 -1
- package/src/base/AppFormulaFunctions.js +8 -0
- package/src/base/layout/ProcessLink.js +24 -6
- package/src/base/layout/addTabOrBlankLink.js +2 -0
- package/src/base/layout/ui_tpl/form/FormForModify.js +6 -2
|
@@ -5,6 +5,12 @@ var _moment = _interopRequireDefault(require("moment"));
|
|
|
5
5
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
|
|
6
6
|
|
|
7
7
|
window.AppFormulaFunctions = {
|
|
8
|
+
getCurrentMonthFirstDay: function getCurrentMonthFirstDay() {
|
|
9
|
+
return (0, _moment["default"])().date(1).format("YYYY-MM-DD");
|
|
10
|
+
},
|
|
11
|
+
getCurrentDateNextMonthFirstDay: function getCurrentDateNextMonthFirstDay() {
|
|
12
|
+
return (0, _moment["default"])().add(1, 'months').date(1).format("YYYY-MM-DD");
|
|
13
|
+
},
|
|
8
14
|
currentMonthStartDay: function currentMonthStartDay(dateStr) {
|
|
9
15
|
if (dateStr) {
|
|
10
16
|
var baseDate = (0, _moment["default"])(dateStr, "YYYY-MM-DD");
|
|
@@ -30,12 +30,18 @@ var ProcessLink = function ProcessLink(props) {
|
|
|
30
30
|
}
|
|
31
31
|
|
|
32
32
|
return data.map(function (item) {
|
|
33
|
+
var cardContent = (item.deal_process = 0 || item[status] == WorkflowLinkContext.setUp) ? null : /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("p", null, "\u5904\u7406\u4EBA\u540D\u79F0\uFF1A", item.handler_ext_name)), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("p", null, "\u5904\u7406\u4EBA\u6240\u5C5E\u516C\u53F8\uFF1A", item.handler_corp_ext_name)), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("p", null, "\u5904\u7406\u4EBA\u6240\u5C5E\u90E8\u95E8\uFF1A", item.handler_dept_ext_name)), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("p", null, "\u5904\u7406\u4EBA\u6240\u5C5E\u5C97\u4F4D\uFF1A", item.handler_post_ext_name)), /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("p", null, "\u5904\u7406\u4EBA\u529E\u516C\u7535\u8BDD\uFF1A", item.handler_mobile)));
|
|
33
34
|
var status_css_class = "process-item-status-set-up",
|
|
34
35
|
status_icon_css_class = "icon-bchr-time";
|
|
36
|
+
var handlerTipTitle = cardContent;
|
|
35
37
|
|
|
36
38
|
if (item[status] === WorkflowLinkContext.haveInHand) {
|
|
37
39
|
status_css_class = "process-item-status-have-in-hand";
|
|
38
40
|
status_icon_css_class = "icon-bchr-refresh";
|
|
41
|
+
|
|
42
|
+
if (!item.b_assign_handler) {
|
|
43
|
+
handlerTipTitle = "工单还未分配处理人";
|
|
44
|
+
}
|
|
39
45
|
} else if (item[status] === WorkflowLinkContext.approved) {
|
|
40
46
|
status_css_class = "process-item-status-finish";
|
|
41
47
|
status_icon_css_class = "icon-bchr-tick";
|
|
@@ -45,6 +51,7 @@ var ProcessLink = function ProcessLink(props) {
|
|
|
45
51
|
} else {
|
|
46
52
|
status_css_class = "process-item-status-set-up";
|
|
47
53
|
status_icon_css_class = "icon-bchr-time";
|
|
54
|
+
handlerTipTitle = "工单处理还未到此环节";
|
|
48
55
|
}
|
|
49
56
|
|
|
50
57
|
return /*#__PURE__*/_react["default"].createElement("div", {
|
|
@@ -56,7 +63,12 @@ var ProcessLink = function ProcessLink(props) {
|
|
|
56
63
|
}, /*#__PURE__*/_react["default"].createElement("span", null, item[tag])), /*#__PURE__*/_react["default"].createElement("div", {
|
|
57
64
|
className: "process-item-label",
|
|
58
65
|
title: item[field]
|
|
59
|
-
}, item[field]), /*#__PURE__*/_react["default"].createElement(
|
|
66
|
+
}, item[field]), /*#__PURE__*/_react["default"].createElement(_antd.Tooltip, {
|
|
67
|
+
title: handlerTipTitle,
|
|
68
|
+
color: "#5cb85c",
|
|
69
|
+
key: item.segment_pk,
|
|
70
|
+
placement: "bottom"
|
|
71
|
+
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
60
72
|
className: "process-item-status"
|
|
61
73
|
}, /*#__PURE__*/_react["default"].createElement("div", {
|
|
62
74
|
className: "process-item-status-bar"
|
|
@@ -64,7 +76,7 @@ var ProcessLink = function ProcessLink(props) {
|
|
|
64
76
|
className: "process-item-status-tag"
|
|
65
77
|
}, /*#__PURE__*/_react["default"].createElement("span", {
|
|
66
78
|
className: "iconfont ".concat(status_icon_css_class)
|
|
67
|
-
}))));
|
|
79
|
+
})))));
|
|
68
80
|
});
|
|
69
81
|
};
|
|
70
82
|
|
|
@@ -41,6 +41,8 @@ var addTabOrBlankLink = function addTabOrBlankLink(location) {
|
|
|
41
41
|
host += "3016";
|
|
42
42
|
} else if (location.url.indexOf('talent') !== -1) {
|
|
43
43
|
host += "3017";
|
|
44
|
+
} else if (location.url.indexOf('lzyq') !== -1) {
|
|
45
|
+
host += "3062";
|
|
44
46
|
}
|
|
45
47
|
|
|
46
48
|
if (pageTargetBlankObj && !pageTargetBlank) {
|
|
@@ -344,6 +344,7 @@ var FormForModify = /*#__PURE__*/function (_React$Component) {
|
|
|
344
344
|
display_code = display_code || code;
|
|
345
345
|
var initialValue = data[code];
|
|
346
346
|
var displayValue = data[display_code];
|
|
347
|
+
var dataType = "any";
|
|
347
348
|
var component, valuePropName;
|
|
348
349
|
|
|
349
350
|
if (custom_form_items && custom_form_items[code + "_form_item"] && typeof custom_form_items[code + "_form_item"] === "function") {
|
|
@@ -365,6 +366,7 @@ var FormForModify = /*#__PURE__*/function (_React$Component) {
|
|
|
365
366
|
|
|
366
367
|
switch (ui_render_type) {
|
|
367
368
|
case _consts.UI_RENDER_TYPE.INPUT:
|
|
369
|
+
dataType = "string";
|
|
368
370
|
component = b_readonly ? /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("span", null, displayValue)) : /*#__PURE__*/_react["default"].createElement(_antd.Input, _extends({
|
|
369
371
|
key: form_id + "_" + code,
|
|
370
372
|
placeholder: "请填写" + name,
|
|
@@ -386,6 +388,7 @@ var FormForModify = /*#__PURE__*/function (_React$Component) {
|
|
|
386
388
|
break;
|
|
387
389
|
|
|
388
390
|
case _consts.UI_RENDER_TYPE.INPUT_PASSWORD:
|
|
391
|
+
dataType = "string";
|
|
389
392
|
component = b_readonly ? /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement(_InputPassword["default"], {
|
|
390
393
|
ui_render_type: 'browse',
|
|
391
394
|
initValue: displayValue
|
|
@@ -399,6 +402,7 @@ var FormForModify = /*#__PURE__*/function (_React$Component) {
|
|
|
399
402
|
break;
|
|
400
403
|
|
|
401
404
|
case _consts.UI_RENDER_TYPE.TEXT_AREA:
|
|
405
|
+
dataType = "string";
|
|
402
406
|
component = b_readonly ? /*#__PURE__*/_react["default"].createElement("div", null, /*#__PURE__*/_react["default"].createElement("span", null, displayValue)) : /*#__PURE__*/_react["default"].createElement(_antd.Input.TextArea, _extends({
|
|
403
407
|
key: form_id + "_" + code,
|
|
404
408
|
placeholder: "请填写" + name,
|
|
@@ -640,11 +644,13 @@ var FormForModify = /*#__PURE__*/function (_React$Component) {
|
|
|
640
644
|
rules: [{
|
|
641
645
|
required: !dataItem.b_readonly && b_required,
|
|
642
646
|
message: "请填写" + name,
|
|
647
|
+
type: dataType,
|
|
643
648
|
whitespace: true,
|
|
644
649
|
validator: _this2.validator.bind(_assertThisInitialized(_this2), !dataItem.b_readonly && b_required, ui_render_type)
|
|
645
650
|
}, {
|
|
646
651
|
required: false,
|
|
647
652
|
message: name + "格式不正确",
|
|
653
|
+
type: dataType,
|
|
648
654
|
whitespace: true,
|
|
649
655
|
validator: _this2.formatValidator.bind(_assertThisInitialized(_this2)),
|
|
650
656
|
pattern: regexp_pattern
|
package/package.json
CHANGED
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
import moment from "moment";
|
|
2
2
|
|
|
3
3
|
window.AppFormulaFunctions = {
|
|
4
|
+
getCurrentMonthFirstDay : function () {
|
|
5
|
+
return moment().date(1).format("YYYY-MM-DD");
|
|
6
|
+
},
|
|
7
|
+
|
|
8
|
+
getCurrentDateNextMonthFirstDay : function () {
|
|
9
|
+
return moment().add(1,'months').date(1).format("YYYY-MM-DD");
|
|
10
|
+
},
|
|
11
|
+
|
|
4
12
|
currentMonthStartDay : function (dateStr) {
|
|
5
13
|
if (dateStr) {
|
|
6
14
|
let baseDate = moment(dateStr, "YYYY-MM-DD");
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import React from "react";
|
|
2
|
-
import {Empty} from "antd";
|
|
2
|
+
import {Empty, Tooltip} from "antd";
|
|
3
3
|
|
|
4
4
|
const WorkflowLinkContext = {
|
|
5
5
|
setUp: 0,
|
|
@@ -21,11 +21,25 @@ const ProcessLink = (props) => {
|
|
|
21
21
|
return <Empty/>
|
|
22
22
|
}
|
|
23
23
|
return data.map(item => {
|
|
24
|
+
|
|
25
|
+
let cardContent = (item.deal_process = 0 || item[status] == WorkflowLinkContext.setUp) ? null : <div>
|
|
26
|
+
<div><p>处理人名称:{item.handler_ext_name}</p></div>
|
|
27
|
+
<div><p>处理人所属公司:{item.handler_corp_ext_name}</p></div>
|
|
28
|
+
<div><p>处理人所属部门:{item.handler_dept_ext_name}</p></div>
|
|
29
|
+
<div><p>处理人所属岗位:{item.handler_post_ext_name}</p></div>
|
|
30
|
+
<div><p>处理人办公电话:{item.handler_mobile}</p></div>
|
|
31
|
+
</div>
|
|
32
|
+
|
|
24
33
|
let status_css_class = "process-item-status-set-up",
|
|
25
34
|
status_icon_css_class = "icon-bchr-time";
|
|
35
|
+
let handlerTipTitle = cardContent;
|
|
26
36
|
if (item[status] === WorkflowLinkContext.haveInHand) {
|
|
27
37
|
status_css_class = "process-item-status-have-in-hand";
|
|
28
38
|
status_icon_css_class = "icon-bchr-refresh";
|
|
39
|
+
|
|
40
|
+
if (!item.b_assign_handler) {
|
|
41
|
+
handlerTipTitle = "工单还未分配处理人"
|
|
42
|
+
}
|
|
29
43
|
} else if (item[status] === WorkflowLinkContext.approved) {
|
|
30
44
|
status_css_class = "process-item-status-finish";
|
|
31
45
|
status_icon_css_class = "icon-bchr-tick";
|
|
@@ -35,16 +49,20 @@ const ProcessLink = (props) => {
|
|
|
35
49
|
} else {
|
|
36
50
|
status_css_class = "process-item-status-set-up";
|
|
37
51
|
status_icon_css_class = "icon-bchr-time";
|
|
52
|
+
handlerTipTitle = "工单处理还未到此环节";
|
|
38
53
|
}
|
|
54
|
+
|
|
39
55
|
return <div key={item.pk} className={`process-item ${status_css_class}`}>
|
|
40
56
|
{tag && <div className="process-item-tag" title={item[tag]}><span>{item[tag]}</span></div>}
|
|
41
57
|
<div className="process-item-label" title={item[field]}>{item[field]}</div>
|
|
42
|
-
<
|
|
43
|
-
<div className="process-item-status
|
|
44
|
-
|
|
45
|
-
<
|
|
58
|
+
<Tooltip title={handlerTipTitle} color={"#5cb85c"} key={item.segment_pk} placement="bottom">
|
|
59
|
+
<div className="process-item-status">
|
|
60
|
+
<div className="process-item-status-bar"/>
|
|
61
|
+
<div className="process-item-status-tag">
|
|
62
|
+
<span className={`iconfont ${status_icon_css_class}`}/>
|
|
63
|
+
</div>
|
|
46
64
|
</div>
|
|
47
|
-
</
|
|
65
|
+
</Tooltip>
|
|
48
66
|
</div>
|
|
49
67
|
})
|
|
50
68
|
}
|
|
@@ -33,6 +33,8 @@ const addTabOrBlankLink = (location) => {
|
|
|
33
33
|
host += "3016";
|
|
34
34
|
} else if (location.url.indexOf('talent') !== -1) {
|
|
35
35
|
host += "3017";
|
|
36
|
+
} else if (location.url.indexOf('lzyq') !== -1) {
|
|
37
|
+
host += "3062";
|
|
36
38
|
}
|
|
37
39
|
|
|
38
40
|
if (pageTargetBlankObj && !pageTargetBlank) {
|
|
@@ -338,6 +338,7 @@ class FormForModify extends React.Component{
|
|
|
338
338
|
display_code = display_code || code;
|
|
339
339
|
let initialValue = data[code];
|
|
340
340
|
let displayValue = data[display_code];
|
|
341
|
+
let dataType= "any";
|
|
341
342
|
|
|
342
343
|
let component, valuePropName;
|
|
343
344
|
if (custom_form_items && custom_form_items[code + "_form_item"] && typeof custom_form_items[code + "_form_item"] === "function") {
|
|
@@ -358,6 +359,7 @@ class FormForModify extends React.Component{
|
|
|
358
359
|
|
|
359
360
|
switch (ui_render_type) {
|
|
360
361
|
case UI_RENDER_TYPE.INPUT:
|
|
362
|
+
dataType = "string";
|
|
361
363
|
component = b_readonly ? (
|
|
362
364
|
<div>
|
|
363
365
|
<span>{displayValue}</span>
|
|
@@ -395,6 +397,7 @@ class FormForModify extends React.Component{
|
|
|
395
397
|
);
|
|
396
398
|
break;
|
|
397
399
|
case UI_RENDER_TYPE.INPUT_PASSWORD:
|
|
400
|
+
dataType = "string";
|
|
398
401
|
component = b_readonly ? (
|
|
399
402
|
<div>
|
|
400
403
|
<InputPassword ui_render_type={'browse'} initValue={displayValue}/>
|
|
@@ -413,6 +416,7 @@ class FormForModify extends React.Component{
|
|
|
413
416
|
);
|
|
414
417
|
break;
|
|
415
418
|
case UI_RENDER_TYPE.TEXT_AREA:
|
|
419
|
+
dataType = "string";
|
|
416
420
|
component = b_readonly ? (
|
|
417
421
|
<div>
|
|
418
422
|
<span>{displayValue}</span>
|
|
@@ -728,8 +732,8 @@ class FormForModify extends React.Component{
|
|
|
728
732
|
name={code}
|
|
729
733
|
initialValue={initialValue}
|
|
730
734
|
rules={[
|
|
731
|
-
{required: (!dataItem.b_readonly && b_required), message: ("请填写" + name), whitespace: true, validator: this.validator.bind(this, (!dataItem.b_readonly && b_required), ui_render_type)},
|
|
732
|
-
{required: false, message: (name + "格式不正确"), whitespace: true, validator: this.formatValidator.bind(this), pattern: regexp_pattern}
|
|
735
|
+
{required: (!dataItem.b_readonly && b_required), message: ("请填写" + name), type: dataType, whitespace: true, validator: this.validator.bind(this, (!dataItem.b_readonly && b_required), ui_render_type)},
|
|
736
|
+
{required: false, message: (name + "格式不正确"), type: dataType, whitespace: true, validator: this.formatValidator.bind(this), pattern: regexp_pattern}
|
|
733
737
|
]}
|
|
734
738
|
hasFeedback={(!dataItem.b_readonly && b_required)}
|
|
735
739
|
valuePropName={valuePropName ? valuePropName : "value"}
|