|
@@ -121,6 +121,8 @@ class NewAddProject extends Component {
|
|
|
serviceYear: '',
|
|
|
checkType: [], //会员项目勾选的类型
|
|
|
newCheck: [], // 子项勾选的类型
|
|
|
+
|
|
|
+ subProList: []
|
|
|
}
|
|
|
this.onSubmit = this.onSubmit.bind(this);
|
|
|
this.httpChange = this.httpChange.bind(this);
|
|
@@ -275,6 +277,17 @@ class NewAddProject extends Component {
|
|
|
return
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ let sonList = this.state.subProList.map(item => {
|
|
|
+ if (this.state.projectType == 1) {
|
|
|
+ item.htMember = item.newCheck.includes(1) ? 1 : 0
|
|
|
+ item.additionalDeduction = item.newCheck.includes(2) ? 1 : 0
|
|
|
+ item.rdAwardsubsidy = item.newCheck.includes(3) ? 1 : 0
|
|
|
+ }
|
|
|
+ delete item.newCheck;
|
|
|
+ return item;
|
|
|
+ })
|
|
|
+
|
|
|
this.setState({
|
|
|
loading: true,
|
|
|
});
|
|
@@ -335,15 +348,21 @@ class NewAddProject extends Component {
|
|
|
infor.days = this.state.days //天数
|
|
|
infor.scheme = this.state.scheme //方案
|
|
|
}
|
|
|
+ if (sonList.length) {
|
|
|
+ infor.sonList = sonList;
|
|
|
+ }
|
|
|
+
|
|
|
$.ajax({
|
|
|
method: "POST",
|
|
|
dataType: "json",
|
|
|
+ contentType: 'application/json',
|
|
|
+ // dataType: 'application/json; charset=utf-8',
|
|
|
crossDomain: false,
|
|
|
url: globalConfig.context +
|
|
|
this.props.type == "change"
|
|
|
? "/api/admin/orderChange/addChangeTask"
|
|
|
: "/api/admin/newOrder/addOrderTask",
|
|
|
- data: infor,
|
|
|
+ data: JSON.stringify(infor),
|
|
|
}).done(
|
|
|
function (data) {
|
|
|
this.setState({
|
|
@@ -352,11 +371,12 @@ class NewAddProject extends Component {
|
|
|
if (!data.error.length) {
|
|
|
message.success("保存成功!");
|
|
|
if (this.state.isVip == 6) {
|
|
|
- this.setState({
|
|
|
- isEdit: true,
|
|
|
- editName: true,
|
|
|
- tid: data.data.id,
|
|
|
- })
|
|
|
+ // this.setState({
|
|
|
+ // isEdit: true,
|
|
|
+ // editName: true,
|
|
|
+ // tid: data.data.id,
|
|
|
+ // })
|
|
|
+ this.props.onCancel();
|
|
|
} else {
|
|
|
this.props.onCancel();
|
|
|
}
|
|
@@ -557,11 +577,13 @@ class NewAddProject extends Component {
|
|
|
|
|
|
handleClose(removedTag) {
|
|
|
let serviceLife = this.state.serviceLife.filter(tag => { return tag !== removedTag });
|
|
|
+ let subProList = this.state.subProList.filter(item => { return item.serviceYear !== removedTag });
|
|
|
this.setState({
|
|
|
serviceLife,
|
|
|
commodityQuantity: serviceLife.length == 0 ? undefined : serviceLife.length,
|
|
|
yearSum: serviceLife.length == 0 ? undefined : serviceLife.length.toString(),
|
|
|
- serviceYear: undefined
|
|
|
+ serviceYear: undefined,
|
|
|
+ subProList
|
|
|
});
|
|
|
}
|
|
|
// 添加会员子项目
|
|
@@ -674,8 +696,10 @@ class NewAddProject extends Component {
|
|
|
);
|
|
|
}
|
|
|
// 图片添加
|
|
|
- getOrgCodeUrl(e) {
|
|
|
- this.setState({ orgCodeUrl: e });
|
|
|
+ getOrgCodeUrl(e, idx) {
|
|
|
+ // this.setState({ orgCodeUrl: e });
|
|
|
+ this.state.subProList[idx].orgCodeUrl = e;
|
|
|
+ this.setState({ subProList: this.state.subProList });
|
|
|
}
|
|
|
|
|
|
getNewCheckType(item, list = []) {
|
|
@@ -1440,7 +1464,136 @@ class NewAddProject extends Component {
|
|
|
</div>
|
|
|
)
|
|
|
}
|
|
|
- {
|
|
|
+ { this.state.subProList.map((item, idx) => {
|
|
|
+ return (
|
|
|
+ <div>
|
|
|
+ <FormItem
|
|
|
+ className="half-item"
|
|
|
+ {...formItemLayout}
|
|
|
+ label="本次派单"
|
|
|
+ >
|
|
|
+ { item.serviceYear }
|
|
|
+ </FormItem>
|
|
|
+ <FormItem
|
|
|
+ className="half-item"
|
|
|
+ {...formItemLayout}
|
|
|
+ label="服务数量"
|
|
|
+ >
|
|
|
+ <Input
|
|
|
+ placeholder="请输入服务数量"
|
|
|
+ disabled={isVip == 6}
|
|
|
+ value={1}
|
|
|
+ style={{ width: "200px" }}
|
|
|
+ // onChange={(e) => {
|
|
|
+ // this.setState({ commodityQuantity: e.target.value });
|
|
|
+ // }}
|
|
|
+ ref="commodityQuantity"
|
|
|
+ />
|
|
|
+ {<span className="mandatory">*</span>}
|
|
|
+ </FormItem>
|
|
|
+ {
|
|
|
+ this.state.projectType == 1 &&
|
|
|
+ <div className="clearfix">
|
|
|
+ <FormItem
|
|
|
+ className="half-item"
|
|
|
+ {...formItemLayout}
|
|
|
+ label="会员"
|
|
|
+ >
|
|
|
+ <CheckboxGroup
|
|
|
+ style={{ width: 200 }}
|
|
|
+ options={[
|
|
|
+ { label: '高新会员', value: 1 },
|
|
|
+ { label: '加计扣除', value: 2 },
|
|
|
+ { label: '研发奖补', value: 3 }
|
|
|
+ ]}
|
|
|
+ value={item.newCheck}
|
|
|
+ onChange={e => {
|
|
|
+ item.newCheck = e;
|
|
|
+ this.setState({
|
|
|
+ subProList: this.state.subProList
|
|
|
+ })
|
|
|
+ }}
|
|
|
+ />
|
|
|
+ </FormItem>
|
|
|
+ </div>
|
|
|
+ }
|
|
|
+ {
|
|
|
+ this.props.type == "vipAdd" &&
|
|
|
+ <FormItem
|
|
|
+ className="half-item"
|
|
|
+ {...formItemLayout}
|
|
|
+ label="付款情况"
|
|
|
+ >
|
|
|
+ {
|
|
|
+ <Select
|
|
|
+ placeholder="选择付款情况"
|
|
|
+ style={{ width: "200px" }}
|
|
|
+ value={item.memberType}
|
|
|
+ onChange={(e) => {
|
|
|
+ item.memberType = e;
|
|
|
+ this.setState({ subProList });
|
|
|
+ }}
|
|
|
+ >
|
|
|
+ {[
|
|
|
+ { value: "0", key: "已付会员节点全款" },
|
|
|
+ { value: "1", key: "已付部分期款,需特批" },
|
|
|
+ { value: "2", key: "未付款,需特批" }].map(function (item) {
|
|
|
+ return (
|
|
|
+ <Select.Option key={item.value}>
|
|
|
+ {item.key}
|
|
|
+ </Select.Option>
|
|
|
+ );
|
|
|
+ })}
|
|
|
+ </Select>
|
|
|
+ }
|
|
|
+ <span className="mandatory">*</span>
|
|
|
+ </FormItem>
|
|
|
+ }
|
|
|
+ {
|
|
|
+ (this.state.memberType == "1" || this.state.memberType == "2") && this.props.type == "vipAdd" &&
|
|
|
+ <div className="clearfix">
|
|
|
+ <FormItem
|
|
|
+ labelCol={{ span: 4 }}
|
|
|
+ wrapperCol={{ span: 16 }}
|
|
|
+ label="上传附件"
|
|
|
+ >
|
|
|
+ <PicturesWall
|
|
|
+ domId={'vip'}
|
|
|
+ fileList={e => this.getOrgCodeUrl(e, idx)}
|
|
|
+ // pictureUrl={this.state.orgCodeUrl}
|
|
|
+ pictureUrl={item.orgCodeUrl}
|
|
|
+ />
|
|
|
+ {<span className="mandatory">*</span>}
|
|
|
+ </FormItem>
|
|
|
+ <div style={{ color: "red", marginLeft: 144, marginBottom: 15 }}>
|
|
|
+ 特批需上传附件图,请上传客户同意我方继续服务并安排给我司付款的聊天记录截图,
|
|
|
+ <p>若没有客户同意继续服务及会安排付款的截图,特派流程将无法走下去,以免造成派单耽搁</p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ }
|
|
|
+ <div className="clearfix">
|
|
|
+ <FormItem
|
|
|
+ labelCol={{ span: 4 }}
|
|
|
+ wrapperCol={{ span: 16 }}
|
|
|
+ label="项目说明"
|
|
|
+ >
|
|
|
+ <Input
|
|
|
+ type="textarea"
|
|
|
+ placeholder=""
|
|
|
+ autosize={{ minRows: 2 }}
|
|
|
+ value={item.taskComment}
|
|
|
+ onChange={(e) => {
|
|
|
+ console.log(e)
|
|
|
+ item.taskComment = e.target.value;
|
|
|
+ this.setState({ subProList: this.state.subProList });
|
|
|
+ }}
|
|
|
+ />
|
|
|
+ </FormItem>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ )
|
|
|
+ }) }
|
|
|
+ {/* {
|
|
|
this.state.splitList.length < this.state.yearSum &&
|
|
|
<div
|
|
|
className="clearfix"
|
|
@@ -1638,7 +1791,7 @@ class NewAddProject extends Component {
|
|
|
</div>
|
|
|
}
|
|
|
</div>
|
|
|
- }
|
|
|
+ } */}
|
|
|
</div>
|
|
|
</Spin>
|
|
|
</Form>
|
|
@@ -1658,9 +1811,15 @@ class NewAddProject extends Component {
|
|
|
return
|
|
|
}
|
|
|
let slist = this.state.serviceLife
|
|
|
+
|
|
|
+ const { subProList } = this.state;
|
|
|
+
|
|
|
if (this.state.isGive == 0) {
|
|
|
this.state.addyear.map(year => {
|
|
|
slist.push(year)
|
|
|
+ if (!subProList.some(item => item.serviceYear == year)) {
|
|
|
+ subProList.push({ serviceYear: year, newCheck: [] });
|
|
|
+ }
|
|
|
})
|
|
|
// slist.push(this.state.addyear)
|
|
|
} else if (this.state.isGive == 1) {
|
|
@@ -1668,12 +1827,18 @@ class NewAddProject extends Component {
|
|
|
// slist.push(newYear)
|
|
|
this.state.addyear.map(year => {
|
|
|
slist.push(year + "(赠)")
|
|
|
+ if (!subProList.some(item => item.serviceYear == year)) {
|
|
|
+ subProList.push({ serviceYear: year + "(赠)", newCheck: [] });
|
|
|
+ }
|
|
|
})
|
|
|
}
|
|
|
+ console.log(subProList)
|
|
|
this.setState({
|
|
|
serviceLife: slist,
|
|
|
yearSum: slist.length.toString(),
|
|
|
- addYears: false
|
|
|
+ addYears: false,
|
|
|
+ subProList,
|
|
|
+ addForm: true
|
|
|
})
|
|
|
}}
|
|
|
onCancel={() => {
|