|
@@ -186,6 +186,8 @@ const NewService = Form.create()(
|
|
|
},
|
|
|
getInitialState() {
|
|
|
return {
|
|
|
+ marks: "",
|
|
|
+ score: "",
|
|
|
type: "",
|
|
|
approvaType: [],
|
|
|
typeExplain: "",
|
|
@@ -399,7 +401,7 @@ const NewService = Form.create()(
|
|
|
title: "项目状态",
|
|
|
dataIndex: "projectStatus",
|
|
|
key: "projectStatus",
|
|
|
- width: 80,
|
|
|
+ width: 70, textAlign: "center",
|
|
|
render: (text) => {
|
|
|
return getProjectName(text);
|
|
|
},
|
|
@@ -466,7 +468,7 @@ const NewService = Form.create()(
|
|
|
title: "操作",
|
|
|
dataIndex: "ABC",
|
|
|
key: "ABC",
|
|
|
- width: 80,
|
|
|
+ width: 110,
|
|
|
render: (text, record) => {
|
|
|
return (
|
|
|
<div>
|
|
@@ -500,6 +502,43 @@ const NewService = Form.create()(
|
|
|
</Button>
|
|
|
</div>
|
|
|
}
|
|
|
+ {
|
|
|
+ record.scoreStatus == 1 &&
|
|
|
+ <div>
|
|
|
+ <Button
|
|
|
+ type="primary"
|
|
|
+ onClick={(e) => {
|
|
|
+ e.stopPropagation();
|
|
|
+ this.setState({
|
|
|
+ tid: record.id,
|
|
|
+ score: "add",
|
|
|
+ cSort: record.sort,
|
|
|
+ cname: record.commodityName,
|
|
|
+ tname: record.name,
|
|
|
+ })
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ 待评分
|
|
|
+ </Button>
|
|
|
+ </div>
|
|
|
+ }
|
|
|
+ {
|
|
|
+ !!record.scoreNumber &&
|
|
|
+ <Button
|
|
|
+ type="primary"
|
|
|
+ onClick={(e) => {
|
|
|
+ e.stopPropagation();
|
|
|
+ this.setState({
|
|
|
+ cSort: record.sort,
|
|
|
+ cname: record.commodityName,
|
|
|
+ tname: record.name,
|
|
|
+ })
|
|
|
+ this.queryByTid(record.id)
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ 已评{record.scoreNumber}分
|
|
|
+ </Button>
|
|
|
+ }
|
|
|
</div>
|
|
|
);
|
|
|
},
|
|
@@ -510,7 +549,7 @@ const NewService = Form.create()(
|
|
|
title: "变更状态",
|
|
|
dataIndex: "type",
|
|
|
key: "type",
|
|
|
- width: 70,
|
|
|
+ width: 70, textAlign: "center",
|
|
|
render: (text, record) => {
|
|
|
let str = "";
|
|
|
let color = "";
|
|
@@ -645,7 +684,7 @@ const NewService = Form.create()(
|
|
|
title: "操作",
|
|
|
dataIndex: "ABC",
|
|
|
key: "ABC",
|
|
|
- width: 80,
|
|
|
+ width: 70, textAlign: "center",
|
|
|
render: (text, record) => {
|
|
|
return (
|
|
|
<div>
|
|
@@ -1349,7 +1388,7 @@ const NewService = Form.create()(
|
|
|
}
|
|
|
return (
|
|
|
<div>
|
|
|
- <div style={{ width: 70, float: "left", marginRight: 5 }}>
|
|
|
+ <div style={{ width: 70, textAlign: "center", float: "left", marginRight: 5 }}>
|
|
|
<Select
|
|
|
placeholder="选择"
|
|
|
defaultValue={"金额"}
|
|
@@ -1382,7 +1421,7 @@ const NewService = Form.create()(
|
|
|
// if (this.state.boFlag) {
|
|
|
// return (
|
|
|
// <div>
|
|
|
- // <div style={{ width: 70, float: "left", marginRight: 5 }}>
|
|
|
+ // <div style={{ width: 70, textAlign: "center", float: "left", marginRight: 5 }}>
|
|
|
// <Select
|
|
|
// placeholder="选择"
|
|
|
// defaultValue={"金额"}
|
|
@@ -1820,7 +1859,7 @@ const NewService = Form.create()(
|
|
|
|
|
|
return (
|
|
|
<div>
|
|
|
- <div style={{ width: 70, float: "left", marginRight: 5 }}>
|
|
|
+ <div style={{ width: 70, textAlign: "center", float: "left", marginRight: 5 }}>
|
|
|
<Select
|
|
|
placeholder="选择"
|
|
|
defaultValue={"金额"}
|
|
@@ -1853,7 +1892,7 @@ const NewService = Form.create()(
|
|
|
// if (this.state.boFlag) {
|
|
|
// return (
|
|
|
// <div>
|
|
|
- // <div style={{ width: 70, float: "left", marginRight: 5 }}>
|
|
|
+ // <div style={{ width: 70, textAlign: "center", float: "left", marginRight: 5 }}>
|
|
|
// <Select
|
|
|
// placeholder="选择"
|
|
|
// defaultValue={"金额"}
|
|
@@ -5178,6 +5217,215 @@ const NewService = Form.create()(
|
|
|
});
|
|
|
},
|
|
|
|
|
|
+ getRadioList(val, cSort, name) {
|
|
|
+ let array = []
|
|
|
+ let list = []
|
|
|
+ let vlist1 = [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20]
|
|
|
+ let vlist2 = [20, 19, 18, 17, 16, 15, 14, 13]
|
|
|
+ let vlist3 = [15, 14, 13, 12, 11]
|
|
|
+ let vlist4 = [10, 9, 8, 7]
|
|
|
+
|
|
|
+ let mlist1 = [19, 18, 17, 16, 15, 14, 13, 12, 11, 10]
|
|
|
+ let mlist2 = [12, 11, 10, 9, 8, 7]
|
|
|
+ let mlist3 = [10, 9, 8, 7, 6]
|
|
|
+ let mlist4 = [6, 5, 4]
|
|
|
+
|
|
|
+ let clist1 = [9, 8, 7, 6, 5, 4, 3, 2, , 1]
|
|
|
+ let clist2 = [6, 5, 4, 3, 2, 1]
|
|
|
+ let clist3 = [5, 4, 3, 2, 1]
|
|
|
+ let clist4 = [3, 2, 1]
|
|
|
+
|
|
|
+ if (cSort == 6) {
|
|
|
+ if (name == "zyd" || name == "gtl" || name == "ydhb") {
|
|
|
+ list = [
|
|
|
+ { value: 1, list: vlist2 },
|
|
|
+ { value: 2, list: mlist2 },
|
|
|
+ { value: 3, list: clist2 },
|
|
|
+ { value: 4, list: [0] }
|
|
|
+ ]
|
|
|
+ } else if (name == "xyd" || name == "gcxx" || name == "fwtd" || name == "ndhb") {
|
|
|
+ list = [
|
|
|
+ { value: 1, list: vlist4 },
|
|
|
+ { value: 2, list: mlist4 },
|
|
|
+ { value: 3, list: clist4 },
|
|
|
+ { value: 4, list: [0] }
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (name == "zyd" || name == "gtl") {
|
|
|
+ list = [
|
|
|
+ { value: 1, list: vlist1 },
|
|
|
+ { value: 2, list: mlist1 },
|
|
|
+ { value: 3, list: clist1 },
|
|
|
+ { value: 4, list: [0] }
|
|
|
+ ]
|
|
|
+ } else if (name == "gcxx" || name == "fwtd") {
|
|
|
+ list = [
|
|
|
+ { value: 1, list: vlist3 },
|
|
|
+ { value: 2, list: mlist3 },
|
|
|
+ { value: 3, list: clist3 },
|
|
|
+ { value: 4, list: [0] }
|
|
|
+ ]
|
|
|
+ } else if (name == "xyd") {
|
|
|
+ list = [
|
|
|
+ { value: 1, list: vlist4 },
|
|
|
+ { value: 2, list: mlist4 },
|
|
|
+ { value: 3, list: clist4 },
|
|
|
+ { value: 4, list: [0] }
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ }
|
|
|
+ list.map(function (item) {
|
|
|
+ if (item.value == val) {
|
|
|
+ array = item.list
|
|
|
+ }
|
|
|
+ })
|
|
|
+ return array
|
|
|
+ },
|
|
|
+
|
|
|
+ getPaddingLeft(val) {
|
|
|
+ let num = 7
|
|
|
+ let arr = [
|
|
|
+ { value: 1, key: 7 },
|
|
|
+ { value: 2, key: 7 },
|
|
|
+ { value: 3, key: 7 },
|
|
|
+ { value: 4, key: 7 }
|
|
|
+ ]
|
|
|
+ arr.map(function (item) {
|
|
|
+ if (item.value == val) {
|
|
|
+ num = item.key
|
|
|
+ }
|
|
|
+ })
|
|
|
+ return num
|
|
|
+ },
|
|
|
+
|
|
|
+ getScore(name, cSort, val) {
|
|
|
+ let data = ""
|
|
|
+ let list = []
|
|
|
+ if (cSort == 6) {
|
|
|
+ if (name == "zyd" || name == "gtl" || name == "ydhb") {
|
|
|
+ list = [
|
|
|
+ { title: name == "zyd" ? "很专业" : "很满意", list: [20, 19, 18, 17, 16, 15, 14, 13] },
|
|
|
+ { title: name == "zyd" ? "专业" : "满意", list: [12, 11, 10, 9, 8, 7] },
|
|
|
+ { title: "一般", list: [6, 5, 4, 3, 2, 1] },
|
|
|
+ { title: name == "zyd" ? "不专业" : "不满意", list: [0] },
|
|
|
+ ]
|
|
|
+ } else if (name == "xyd" || name == "gcxx" || name == "fwtd" || name == "ndhb") {
|
|
|
+ list = [
|
|
|
+ { title: name == "xyd" ? "很速度" : "很满意", list: [10, 9, 8, 7] },
|
|
|
+ { title: name == "xyd" ? "速度" : "满意", list: [6, 5, 4] },
|
|
|
+ { title: "一般", list: [3, 2, 1] },
|
|
|
+ { title: name == "xyd" ? "很慢" : "不满意", list: [0] },
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if (name == "zyd" || name == "gtl") {
|
|
|
+ list = [
|
|
|
+ { title: name == "zyd" ? "很专业" : "很满意", list: [30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20] },
|
|
|
+ { title: name == "zyd" ? "专业" : "满意", list: [19, 18, 17, 16, 15, 14, 13, 12, 11, 10] },
|
|
|
+ { title: "一般", list: [9, 8, 7, 6, 5, 4, 3, 2, 1] },
|
|
|
+ { title: name == "zyd" ? "不专业" : "不满意", list: [0] },
|
|
|
+ ]
|
|
|
+ } else if (name == "gcxx" || name == "fwtd") {
|
|
|
+ list = [
|
|
|
+ { title: "很满意", list: [15, 14, 13, 12, 11] },
|
|
|
+ { title: "满意", list: [10, 9, 8, 7, 6] },
|
|
|
+ { title: "一般", list: [5, 4, 3, 2, 1] },
|
|
|
+ { title: "不满意", list: [0] },
|
|
|
+ ]
|
|
|
+ } else if (name == "xyd") {
|
|
|
+ list = [
|
|
|
+ { title: "很速度", list: [10, 9, 8, 7] },
|
|
|
+ { title: "速度", list: [6, 5, 4] },
|
|
|
+ { title: "一般", list: [3, 2, 1] },
|
|
|
+ { title: "很慢", list: [0] },
|
|
|
+ ]
|
|
|
+ }
|
|
|
+ }
|
|
|
+ list.map(function (item) {
|
|
|
+ if (item.list.includes(val)) {
|
|
|
+ data = item.title + "(" + val + "分)"
|
|
|
+ }
|
|
|
+ })
|
|
|
+ return data
|
|
|
+ },
|
|
|
+
|
|
|
+ updateByTid() {
|
|
|
+ $.ajax({
|
|
|
+ method: "POST",
|
|
|
+ dataType: "json",
|
|
|
+ crossDomain: false,
|
|
|
+ url: globalConfig.context + "/api/admin/taskScore/updateByTid",
|
|
|
+ data: {
|
|
|
+ tid: this.state.tid,
|
|
|
+ professionalism: this.state.professionalism,
|
|
|
+ communicationSkills: this.state.communicationSkills,
|
|
|
+ responsiveness: this.state.responsiveness,
|
|
|
+ publicImage: this.state.publicImage,
|
|
|
+ serviceAttitude: this.state.serviceAttitude,
|
|
|
+ monthlyReport: this.state.cSort == 6 ? this.state.monthlyReport : undefined,
|
|
|
+ yearReport: this.state.cSort == 6 ? this.state.yearReport : undefined,
|
|
|
+ remarks: this.state.marks,
|
|
|
+ },
|
|
|
+ success: function (data) {
|
|
|
+ if (data.error.length) {
|
|
|
+ this.setState({
|
|
|
+ loading: false,
|
|
|
+ });
|
|
|
+ message.error(data.error[0].message);
|
|
|
+ } else {
|
|
|
+ this.setState({
|
|
|
+ score: "",
|
|
|
+ cSort: "",
|
|
|
+ cname: "",
|
|
|
+ tname: "",
|
|
|
+ })
|
|
|
+ message.success("操作成功");
|
|
|
+ this.loadData();
|
|
|
+ }
|
|
|
+ }.bind(this),
|
|
|
+ }).always(
|
|
|
+ function () {
|
|
|
+ this.setState({
|
|
|
+ loading: false,
|
|
|
+ });
|
|
|
+ }.bind(this)
|
|
|
+ );
|
|
|
+ },
|
|
|
+
|
|
|
+ queryByTid(value) {
|
|
|
+ this.setState({
|
|
|
+ loading: true,
|
|
|
+ })
|
|
|
+ $.ajax({
|
|
|
+ method: "get",
|
|
|
+ dataType: "json",
|
|
|
+ crossDomain: false,
|
|
|
+ url: globalConfig.context + "/api/admin/taskScore/queryByTid",
|
|
|
+ data: {
|
|
|
+ tid: value,
|
|
|
+ },
|
|
|
+ success: function (data) {
|
|
|
+ if (data.error.length) {
|
|
|
+ this.setState({
|
|
|
+ loading: false,
|
|
|
+ });
|
|
|
+ message.warning(data.error[0].message);
|
|
|
+ } else {
|
|
|
+ this.setState({
|
|
|
+ score: "selcet",
|
|
|
+ dataScore: data.data,
|
|
|
+ });
|
|
|
+ }
|
|
|
+ }.bind(this),
|
|
|
+ }).always(
|
|
|
+ function () {
|
|
|
+ this.setState({
|
|
|
+ loading: false,
|
|
|
+ });
|
|
|
+ }.bind(this)
|
|
|
+ );
|
|
|
+ },
|
|
|
|
|
|
render() {
|
|
|
const expandedRowRender = (e) => {
|
|
@@ -5716,6 +5964,53 @@ const NewService = Form.create()(
|
|
|
)
|
|
|
},
|
|
|
},
|
|
|
+ {
|
|
|
+ title: "操作",
|
|
|
+ dataIndex: "op",
|
|
|
+ key: "op",
|
|
|
+ width: 110,
|
|
|
+ render: (text, record) => {
|
|
|
+ return (
|
|
|
+ <div>
|
|
|
+ {
|
|
|
+ record.scoreStatus == 1 &&
|
|
|
+ <Button
|
|
|
+ type="primary"
|
|
|
+ onClick={(e) => {
|
|
|
+ e.stopPropagation();
|
|
|
+ this.setState({
|
|
|
+ tid: record.id,
|
|
|
+ score: "add",
|
|
|
+ cSort: 6,
|
|
|
+ cname: record.taskName,
|
|
|
+ tname: record.receiverName,
|
|
|
+ })
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ 待评分
|
|
|
+ </Button>
|
|
|
+ }
|
|
|
+ {
|
|
|
+ !!record.scoreNumber &&
|
|
|
+ <Button
|
|
|
+ type="primary"
|
|
|
+ onClick={(e) => {
|
|
|
+ e.stopPropagation();
|
|
|
+ this.setState({
|
|
|
+ cSort: 6,
|
|
|
+ cname: record.taskName,
|
|
|
+ tname: record.receiverName,
|
|
|
+ })
|
|
|
+ this.queryByTid(record.id)
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ 已评{record.scoreNumber}分
|
|
|
+ </Button>
|
|
|
+ }
|
|
|
+ </div >
|
|
|
+ )
|
|
|
+ },
|
|
|
+ }
|
|
|
];
|
|
|
} else {
|
|
|
columns = [
|
|
@@ -8765,8 +9060,488 @@ const NewService = Form.create()(
|
|
|
onCancel={() => { this.setState({ infoVisible: false }) }}
|
|
|
/>
|
|
|
}
|
|
|
- </div >
|
|
|
- );
|
|
|
+
|
|
|
+ <Modal
|
|
|
+ maskClosable={false}
|
|
|
+ visible={this.state.score != ""}
|
|
|
+ footer=""
|
|
|
+ title="项目评分"
|
|
|
+ width={this.state.score == "selcet" ? 400 : 740}
|
|
|
+ onCancel={() => {
|
|
|
+ this.setState({
|
|
|
+ score: "",
|
|
|
+ tid: "",
|
|
|
+ cSort: "",
|
|
|
+ cname: "",
|
|
|
+ tname: "",
|
|
|
+ })
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ {
|
|
|
+ this.state.score == "add" &&
|
|
|
+ <div>
|
|
|
+ <div style={{ marginBottom: 10 }}>项目名称:{this.state.cname}</div>
|
|
|
+ <div style={{ marginBottom: 10 }}>项目咨询:{this.state.tname}</div>
|
|
|
+ <div>
|
|
|
+ <span style={{ width: 50, display: "inline-block" }}>专 业 度</span>:
|
|
|
+ <RadioGroup
|
|
|
+ onChange={e => {
|
|
|
+ this.setState({
|
|
|
+ zyd: e.target.value,
|
|
|
+ zydList: this.getRadioList(e.target.value, this.state.cSort, "zyd"),
|
|
|
+ professionalism: e.target.value == 4 ? 0 : undefined,
|
|
|
+ })
|
|
|
+ }}
|
|
|
+ value={this.state.zyd}>
|
|
|
+ {
|
|
|
+ [
|
|
|
+ { key: "很专业", value: 1, },
|
|
|
+ { key: "专业", value: 2, },
|
|
|
+ { key: "一般", value: 3, },
|
|
|
+ { key: "不专业", value: 4, },
|
|
|
+ ].map(item =>
|
|
|
+ <RadioButton style={{ width: 80, textAlign: "center" }} value={item.value} key={item.value}>{item.key}</RadioButton>
|
|
|
+ )
|
|
|
+ }
|
|
|
+ </RadioGroup>
|
|
|
+ </div>
|
|
|
+ <div
|
|
|
+ style={{
|
|
|
+ padding: "5px 0 10px 0",
|
|
|
+ paddingLeft: this.getPaddingLeft(this.state.zyd),
|
|
|
+ margin: "5px 0 10px 55px",
|
|
|
+ borderBottom: "1px dotted black"
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ <RadioGroup
|
|
|
+ onChange={e => {
|
|
|
+ this.setState({
|
|
|
+ professionalism: e.target.value
|
|
|
+ })
|
|
|
+ }}
|
|
|
+ value={this.state.professionalism}>
|
|
|
+ {
|
|
|
+ !!this.state.zydList && this.state.zydList.map(item =>
|
|
|
+ <RadioButton style={{ textAlign: "center" }} value={item} key={item}>{item}分</RadioButton>
|
|
|
+ )
|
|
|
+ }
|
|
|
+ </RadioGroup>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <span style={{ width: 50, display: "inline-block" }}>沟 通 力</span>:
|
|
|
+ <RadioGroup
|
|
|
+ onChange={e => {
|
|
|
+ this.setState({
|
|
|
+ gtl: e.target.value,
|
|
|
+ gtlList: this.getRadioList(e.target.value, this.state.cSort, "gtl"),
|
|
|
+ communicationSkills: e.target.value == 4 ? 0 : undefined,
|
|
|
+ })
|
|
|
+ }}
|
|
|
+ value={this.state.gtl}>
|
|
|
+ {
|
|
|
+ [
|
|
|
+ { key: "很满意", value: 1, },
|
|
|
+ { key: "满意", value: 2, },
|
|
|
+ { key: "一般", value: 3, },
|
|
|
+ { key: "不满意", value: 4, },
|
|
|
+ ].map(item =>
|
|
|
+ <RadioButton style={{ width: 80, textAlign: "center" }} value={item.value} key={item.value}>{item.key}</RadioButton>
|
|
|
+ )
|
|
|
+ }
|
|
|
+ </RadioGroup>
|
|
|
+ </div>
|
|
|
+ <div
|
|
|
+ style={{
|
|
|
+ padding: "5px 0 10px 0",
|
|
|
+ paddingLeft: this.getPaddingLeft(this.state.gtl),
|
|
|
+ margin: "5px 0 10px 55px",
|
|
|
+ borderBottom: "1px dotted black"
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ <RadioGroup
|
|
|
+ onChange={e => {
|
|
|
+ this.setState({
|
|
|
+ communicationSkills: e.target.value
|
|
|
+ })
|
|
|
+ }}
|
|
|
+ value={this.state.communicationSkills}>
|
|
|
+ {
|
|
|
+ !!this.state.gtlList && this.state.gtlList.map(item =>
|
|
|
+ <RadioButton style={{ textAlign: "center" }} value={item} key={item}>{item}分</RadioButton>
|
|
|
+ )
|
|
|
+ }
|
|
|
+ </RadioGroup>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <span style={{ width: 50, display: "inline-block" }}>响 应 度</span>:
|
|
|
+ <RadioGroup
|
|
|
+ onChange={e => {
|
|
|
+ this.setState({
|
|
|
+ xyd: e.target.value,
|
|
|
+ yxdList: this.getRadioList(e.target.value, this.state.cSort, "xyd"),
|
|
|
+ responsiveness: e.target.value == 4 ? 0 : undefined,
|
|
|
+ })
|
|
|
+ }}
|
|
|
+ value={this.state.xyd}>
|
|
|
+ {
|
|
|
+ [
|
|
|
+ { key: "很速度", value: 1, },
|
|
|
+ { key: "速度", value: 2, },
|
|
|
+ { key: "一般", value: 3, },
|
|
|
+ { key: "很慢", value: 4, },
|
|
|
+ ].map(item =>
|
|
|
+ <RadioButton style={{ width: 80, textAlign: "center" }} value={item.value} key={item.value}>{item.key}</RadioButton>
|
|
|
+ )
|
|
|
+ }
|
|
|
+ </RadioGroup>
|
|
|
+ </div>
|
|
|
+ <div
|
|
|
+ style={{
|
|
|
+ padding: "5px 0 10px 0",
|
|
|
+ paddingLeft: this.getPaddingLeft(this.state.xyd),
|
|
|
+ margin: "5px 0 10px 55px",
|
|
|
+ borderBottom: "1px dotted black"
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ <RadioGroup
|
|
|
+ onChange={e => {
|
|
|
+ this.setState({
|
|
|
+ responsiveness: e.target.value
|
|
|
+ })
|
|
|
+ }}
|
|
|
+ value={this.state.responsiveness}>
|
|
|
+ {
|
|
|
+ !!this.state.yxdList && this.state.yxdList.map(item =>
|
|
|
+ <RadioButton style={{ textAlign: "center" }} value={item} key={item}>{item}分</RadioButton>
|
|
|
+ )
|
|
|
+ }
|
|
|
+ </RadioGroup>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <span style={{ width: 50, display: "inline-block" }}>公出形象</span>:
|
|
|
+ <RadioGroup
|
|
|
+ onChange={e => {
|
|
|
+ this.setState({
|
|
|
+ gcxx: e.target.value,
|
|
|
+ gcxxList: this.getRadioList(e.target.value, this.state.cSort, "gcxx"),
|
|
|
+ publicImage: e.target.value == 4 ? 0 : undefined,
|
|
|
+ })
|
|
|
+ }}
|
|
|
+ value={this.state.gcxx}>
|
|
|
+ {
|
|
|
+ [
|
|
|
+ { key: "很满意", value: 1, },
|
|
|
+ { key: "满意", value: 2, },
|
|
|
+ { key: "一般", value: 3, },
|
|
|
+ { key: "不满意", value: 4, },
|
|
|
+ ].map(item =>
|
|
|
+ <RadioButton style={{ width: 80, textAlign: "center" }} value={item.value} key={item.value}>{item.key}</RadioButton>
|
|
|
+ )
|
|
|
+ }
|
|
|
+ </RadioGroup>
|
|
|
+ </div>
|
|
|
+ <div
|
|
|
+ style={{
|
|
|
+ padding: "5px 0 10px 0",
|
|
|
+ paddingLeft: this.getPaddingLeft(this.state.gcxx),
|
|
|
+ margin: "5px 0 10px 55px",
|
|
|
+ borderBottom: "1px dotted black"
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ <RadioGroup
|
|
|
+ onChange={e => {
|
|
|
+ this.setState({
|
|
|
+ publicImage: e.target.value
|
|
|
+ })
|
|
|
+ }}
|
|
|
+ value={this.state.publicImage}>
|
|
|
+ {
|
|
|
+ !!this.state.gcxxList && this.state.gcxxList.map(item =>
|
|
|
+ <RadioButton style={{ textAlign: "center" }} value={item} key={item}>{item}分</RadioButton>
|
|
|
+ )
|
|
|
+ }
|
|
|
+ </RadioGroup>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <span style={{ width: 50, display: "inline-block" }}>服务态度</span>:
|
|
|
+ <RadioGroup
|
|
|
+ onChange={e => {
|
|
|
+ this.setState({
|
|
|
+ fwtd: e.target.value,
|
|
|
+ fwtdList: this.getRadioList(e.target.value, this.state.cSort, "fwtd"),
|
|
|
+ serviceAttitude: e.target.value == 4 ? 0 : undefined,
|
|
|
+ })
|
|
|
+ }}
|
|
|
+ value={this.state.fwtd}>
|
|
|
+ {
|
|
|
+ [
|
|
|
+ { key: "很满意", value: 1, },
|
|
|
+ { key: "满意", value: 2, },
|
|
|
+ { key: "一般", value: 3, },
|
|
|
+ { key: "不满意", value: 4, },
|
|
|
+ ].map(item =>
|
|
|
+ <RadioButton style={{ width: 80, textAlign: "center" }} value={item.value} key={item.value}>{item.key}</RadioButton>
|
|
|
+ )
|
|
|
+ }
|
|
|
+ </RadioGroup>
|
|
|
+ </div>
|
|
|
+ <div
|
|
|
+ style={{
|
|
|
+ padding: "5px 0 10px 0",
|
|
|
+ paddingLeft: this.getPaddingLeft(this.state.fwtd),
|
|
|
+ margin: "5px 0 10px 55px",
|
|
|
+ borderBottom: this.state.cSort == 6 ? "1px dotted black" : 0
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ <RadioGroup
|
|
|
+ onChange={e => {
|
|
|
+ this.setState({
|
|
|
+ serviceAttitude: e.target.value
|
|
|
+ })
|
|
|
+ }}
|
|
|
+ value={this.state.serviceAttitude}>
|
|
|
+ {
|
|
|
+ !!this.state.fwtdList && this.state.fwtdList.map(item =>
|
|
|
+ <RadioButton style={{ textAlign: "center" }} value={item} key={item}>{item}分</RadioButton>
|
|
|
+ )
|
|
|
+ }
|
|
|
+ </RadioGroup>
|
|
|
+ </div>
|
|
|
+ {
|
|
|
+ this.state.cSort == 6 &&
|
|
|
+ <div>
|
|
|
+ <span style={{ width: 50, display: "inline-block" }}>月度汇报</span>:
|
|
|
+ <RadioGroup
|
|
|
+ onChange={e => {
|
|
|
+ this.setState({
|
|
|
+ ydhb: e.target.value,
|
|
|
+ ydhbList: this.getRadioList(e.target.value, this.state.cSort, "ydhb"),
|
|
|
+ monthlyReport: e.target.value == 4 ? 0 : undefined,
|
|
|
+ })
|
|
|
+ }}
|
|
|
+ value={this.state.ydhb}>
|
|
|
+ {
|
|
|
+ [
|
|
|
+ { key: "很满意", value: 1, },
|
|
|
+ { key: "满意", value: 2, },
|
|
|
+ { key: "一般", value: 3, },
|
|
|
+ { key: "不满意", value: 4, },
|
|
|
+ ].map(item =>
|
|
|
+ <RadioButton style={{ width: 80, textAlign: "center" }} value={item.value} key={item.value}>{item.key}</RadioButton>
|
|
|
+ )
|
|
|
+ }
|
|
|
+ </RadioGroup>
|
|
|
+ </div>
|
|
|
+ }
|
|
|
+ {
|
|
|
+ this.state.cSort == 6 &&
|
|
|
+ <div
|
|
|
+ style={{
|
|
|
+ padding: "5px 0 10px 0",
|
|
|
+ paddingLeft: this.getPaddingLeft(this.state.ydhb),
|
|
|
+ margin: "5px 0 10px 55px",
|
|
|
+ borderBottom: "1px dotted black"
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ <RadioGroup
|
|
|
+ onChange={e => {
|
|
|
+ this.setState({
|
|
|
+ monthlyReport: e.target.value
|
|
|
+ })
|
|
|
+ }}
|
|
|
+ value={this.state.monthlyReport}>
|
|
|
+ {
|
|
|
+ !!this.state.ydhbList && this.state.ydhbList.map(item =>
|
|
|
+ <RadioButton style={{ textAlign: "center" }} value={item} key={item}>{item}分</RadioButton>
|
|
|
+ )
|
|
|
+ }
|
|
|
+ </RadioGroup>
|
|
|
+ </div>
|
|
|
+ }
|
|
|
+ {
|
|
|
+ this.state.cSort == 6 &&
|
|
|
+ <div>
|
|
|
+ <span style={{ width: 50, display: "inline-block" }}>年度汇报</span>:
|
|
|
+ <RadioGroup
|
|
|
+ onChange={e => {
|
|
|
+ this.setState({
|
|
|
+ ndhb: e.target.value,
|
|
|
+ ndhbList: this.getRadioList(e.target.value, this.state.cSort, "ndhb"),
|
|
|
+ yearReport: e.target.value == 4 ? 0 : undefined,
|
|
|
+ })
|
|
|
+ }}
|
|
|
+ value={this.state.ndhb}>
|
|
|
+ {
|
|
|
+ [
|
|
|
+ { key: "很满意", value: 1, },
|
|
|
+ { key: "满意", value: 2, },
|
|
|
+ { key: "一般", value: 3, },
|
|
|
+ { key: "不满意", value: 4, },
|
|
|
+ ].map(item =>
|
|
|
+ <RadioButton style={{ width: 80, textAlign: "center" }} value={item.value} key={item.value}>{item.key}</RadioButton>
|
|
|
+ )
|
|
|
+ }
|
|
|
+ </RadioGroup>
|
|
|
+ </div>
|
|
|
+ }
|
|
|
+ {
|
|
|
+ this.state.cSort == 6 &&
|
|
|
+ <div
|
|
|
+ style={{
|
|
|
+ padding: "5px 0 10px 0",
|
|
|
+ paddingLeft: this.getPaddingLeft(this.state.ndhb),
|
|
|
+ margin: "5px 0 10px 55px",
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ <RadioGroup
|
|
|
+ onChange={e => {
|
|
|
+ this.setState({
|
|
|
+ yearReport: e.target.value
|
|
|
+ })
|
|
|
+ }}
|
|
|
+ value={this.state.yearReport}>
|
|
|
+ {
|
|
|
+ !!this.state.ndhbList && this.state.ndhbList.map(item =>
|
|
|
+ <RadioButton style={{ textAlign: "center" }} value={item} key={item}>{item}分</RadioButton>
|
|
|
+ )
|
|
|
+ }
|
|
|
+ </RadioGroup>
|
|
|
+ </div>
|
|
|
+ }
|
|
|
+
|
|
|
+ <div style={{ marginBottom: 5, display: "flex", flexDirection: "row" }}>
|
|
|
+ <span style={{ width: 50, display: "inline-block" }}>评分理由</span>:
|
|
|
+ <TextArea
|
|
|
+ style={{ width: 600 }}
|
|
|
+ rows={3}
|
|
|
+ value={this.state.marks}
|
|
|
+ onChange={(e) => {
|
|
|
+ this.setState({
|
|
|
+ marks: e.target.value,
|
|
|
+ })
|
|
|
+ }}
|
|
|
+ placeholder="请填写本次评分的判断依据,至少10字以上"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
+ <div style={{ marginTop: 10, textAlign: "center" }}>
|
|
|
+ <Button
|
|
|
+ type="primary"
|
|
|
+ onClick={() => {
|
|
|
+ if (!this.state.professionalism && this.state.professionalism != 0) {
|
|
|
+ message.warning("专业度未打分")
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if (!this.state.communicationSkills && this.state.communicationSkills != 0) {
|
|
|
+ message.warning("沟通力未打分")
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if (!this.state.responsiveness && this.state.responsiveness != 0) {
|
|
|
+ message.warning("响应度未打分")
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if (!this.state.publicImage && this.state.publicImage != 0) {
|
|
|
+ message.warning("公出形象未打分")
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if (!this.state.serviceAttitude && this.state.serviceAttitude != 0) {
|
|
|
+ message.warning("服务态度未打分")
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if (this.state.cSort == 6 && !this.state.monthlyReport && this.state.monthlyReport != 0) {
|
|
|
+ message.warning("月度汇报未打分")
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if (this.state.cSort == 6 && !this.state.yearReport && this.state.yearReport != 0) {
|
|
|
+ message.warning("年度汇报未打分")
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if (this.state.marks.length < 10) {
|
|
|
+ message.warning("请填写10字以上的评分依据")
|
|
|
+ return
|
|
|
+ }
|
|
|
+ const _this = this
|
|
|
+ confirm({
|
|
|
+ title: '您确定提交本次评分吗?',
|
|
|
+ content: '',
|
|
|
+ onOk() {
|
|
|
+ _this.updateByTid()
|
|
|
+ },
|
|
|
+ });
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ 确定
|
|
|
+ </Button>
|
|
|
+ </div>
|
|
|
+ <div style={{ textAlign: "center", marginBottom: 10, color: "red" }}>注:请公平公正为本项目咨询老师评分!评分后不可修改</div>
|
|
|
+ </div>
|
|
|
+ }
|
|
|
+
|
|
|
+ {
|
|
|
+ this.state.score == "selcet" &&
|
|
|
+ <div style={{ position: "relative" }}>
|
|
|
+ <div
|
|
|
+ style={{
|
|
|
+ position: "absolute",
|
|
|
+ right: 100,
|
|
|
+ top: 50,
|
|
|
+ fontSize: "40px",
|
|
|
+ color: "red"
|
|
|
+ }}
|
|
|
+ >{this.state.dataScore.professionalism + this.state.dataScore.communicationSkills + this.state.dataScore.responsiveness + this.state.dataScore.publicImage + this.state.dataScore.serviceAttitude + this.state.dataScore.monthlyReport + this.state.dataScore.yearReport}分</div>
|
|
|
+ <div>
|
|
|
+ <span style={{ width: 50, display: "inline-block", margin: "5px 0" }}>项目名称</span>:{this.state.cname}
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <span style={{ width: 50, display: "inline-block", margin: "5px 0" }}>项目咨询</span>:{this.state.tname}
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <span style={{ width: 50, display: "inline-block", margin: "5px 0" }}>专 业 度</span>:{this.getScore("zyd", this.state.cSort, this.state.dataScore.professionalism)}
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <span style={{ width: 50, display: "inline-block", margin: "5px 0" }}>沟 通 力</span>:{this.getScore("gtl", this.state.cSort, this.state.dataScore.communicationSkills)}
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <span style={{ width: 50, display: "inline-block", margin: "5px 0" }}>响 应 度</span>:{this.getScore("xyd", this.state.cSort, this.state.dataScore.responsiveness)}
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <span style={{ width: 50, display: "inline-block", margin: "5px 0" }}>公出形象</span>:{this.getScore("gcxx", this.state.cSort, this.state.dataScore.publicImage)}
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <span style={{ width: 50, display: "inline-block", margin: "5px 0" }}>服务态度</span>:{this.getScore("fwtd", this.state.cSort, this.state.dataScore.serviceAttitude)}
|
|
|
+ </div>
|
|
|
+ {this.state.cSort == 6 &&
|
|
|
+ <div>
|
|
|
+ <span style={{ width: 50, display: "inline-block", margin: "5px 0" }}>月度汇报</span>:{this.getScore("ydhb", this.state.cSort, this.state.dataScore.monthlyReport)}
|
|
|
+ </div>}
|
|
|
+ {this.state.cSort == 6 &&
|
|
|
+ <div>
|
|
|
+ <span style={{ width: 50, display: "inline-block", margin: "5px 0" }}>年度汇报</span>:{this.getScore("ndhb", this.state.cSort, this.state.dataScore.yearReport)}
|
|
|
+ </div>}
|
|
|
+ <div>
|
|
|
+ <span style={{ width: 50, display: "inline-block", margin: "5px 0" }}>评分理由</span>:{this.state.dataScore.remarks}
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <span style={{ width: 50, display: "inline-block", margin: "5px 0" }}>评分时间</span>:{moment(this.state.dataScore.createTime).format('YYYY-MM-DD HH:mm:ss')}
|
|
|
+ </div>
|
|
|
+ <div style={{ marginTop: 10, textAlign: "center" }}>
|
|
|
+ <Button
|
|
|
+ type="primary"
|
|
|
+ onClick={() => {
|
|
|
+ this.setState({
|
|
|
+ score: ""
|
|
|
+ })
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ 关闭
|
|
|
+ </Button>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ }
|
|
|
+
|
|
|
+ </Modal>
|
|
|
+
|
|
|
+
|
|
|
+ </div >);
|
|
|
},
|
|
|
})
|
|
|
);
|