Browse Source

会员添加页面技术和财税派单年份自动生成

dev01 1 month ago
parent
commit
fb498ed6bf
1 changed files with 177 additions and 12 deletions
  1. 177 12
      js/component/common/projectOperation/newAddProject.jsx

+ 177 - 12
js/component/common/projectOperation/newAddProject.jsx

@@ -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={() => {