Browse Source

最新版问题修改

dev01 1 month ago
parent
commit
630751d75c

+ 7 - 0
js/component/common/staffSearch/index.jsx

@@ -15,6 +15,12 @@ class StaffSearch extends Component {
     this.selectAuto = this.selectAuto.bind(this);
   }
 
+  componentDidUpdate(prevProps) {
+    if (prevProps.valueName !== this.props.valueName) {
+      this.setState({ superior: this.props.valueName });
+    }
+  }
+
   httpChange(e) {
     if (e.length >= 1) {
       this.supervisor(e);
@@ -76,6 +82,7 @@ class StaffSearch extends Component {
     const options = this.state.customerArr.map((group, index) =>
       <Select.Option key={index} value={group.name}>{group.name}</Select.Option>
     )
+    
     return (
       <AutoComplete
         className="certain-category-search"

+ 68 - 31
js/component/manageCenter/customer/NEW/crm/customerProfile.jsx

@@ -63,18 +63,10 @@ const IntentionCustomer = Form.create()(React.createClass({
         }
       },
       {
-        title: '地区',
-        dataIndex: 'area',
-        key: 'area',
-        width: 150,
-        render: (text, record) => {
-          return (record.province || "") + (!record.city ? "" : "-") + (record.city || "") + (!record.area ? "" : "-") + (record.area || "");
-        },
-      },
-      {
         title: '客户类型',
         dataIndex: 'shareType',
         key: 'shareType',
+        width: 100,
         render: text => {
           return (
             <div>{["私有客户", "公共客户", "签单客户", "外联客户"][text]}</div>
@@ -85,6 +77,7 @@ const IntentionCustomer = Form.create()(React.createClass({
         title: '是否签单',
         dataIndex: 'signBills',
         key: 'signBills',
+        width: 90,
         render: text => {
           return (
             <div>{["否", "是"][text]}</div>
@@ -92,25 +85,16 @@ const IntentionCustomer = Form.create()(React.createClass({
         }
       },
       {
-        title: '主营产品',
-        dataIndex: 'businessScope',
-        key: 'businessScope',
-        width: 200,
-      },
-      {
-        title: '行业',
-        dataIndex: 'industry',
-        key: 'industry',
-      },
-      {
         title: '联系人',
         dataIndex: 'contactName',
         key: 'contactName',
+        width: 120,
       },
       {
         title: '所属人',
         dataIndex: 'adminName',
         key: 'adminName',
+        width: 120,
       },
       {
         title: '意向合作项目',
@@ -164,11 +148,64 @@ const IntentionCustomer = Form.create()(React.createClass({
         title: '所属部门',
         dataIndex: 'depName',
         key: 'depName',
+        width: 160,
+      },
+      {
+        title: '省市区',
+        dataIndex: 'area',
+        key: 'area',
+        width: 150,
+        render: (text, record) => {
+          return (record.province || "") + (!record.city ? "" : "-") + (record.city || "") + (!record.area ? "" : "-") + (record.area || "");
+        },
+      },
+      {
+        title: '行业',
+        dataIndex: 'industry',
+        key: 'industry',
+        width: 120,
+      },
+      {
+        title: '主营',
+        dataIndex: 'businessScope',
+        key: 'businessScope',
+        width: 120,
+      },
+      {
+        title: '母/子公司',
+        dataIndex: 'companyCount',
+        key: 'companyCount',
+        width: 120,
+      },
+      {
+        title: '社保人数',
+        dataIndex: 'socialSecurityCount',
+        key: 'socialSecurityCount',
+        width: 120,
+      },
+      {
+        title: '对外投资控股的企业数',
+        dataIndex: 'externalInvestCount',
+        key: 'externalInvestCount',
+        width: 140,
+      },
+      {
+        title: '对外投资控股的行业',
+        dataIndex: 'externalInvestIndustryName',
+        key: 'externalInvestIndustryName',
+        width: 140,
+      },
+      {
+        title: '对外投资控股的企业名称',
+        dataIndex: 'externalInvestName',
+        key: 'externalInvestName',
+        width: 140,
       },
       {
         title: '操作',
-        dataIndex: 'id',
-        key: 'id',
+        dataIndex: 'operate',
+        key: 'operate',
+        width: 120,
         render: text => {
           return (
             <div>
@@ -201,15 +238,6 @@ const IntentionCustomer = Form.create()(React.createClass({
           }
         },
         {
-          title: '地区',
-          dataIndex: 'area',
-          key: 'area',
-          width: 150,
-          render: (text, record) => {
-            return (record.province || "") + (!record.city ? "" : "-") + (record.city || "") + (!record.area ? "" : "-") + (record.area || "");
-          },
-        },
-        {
           title: '客户类型',
           dataIndex: 'shareType',
           key: 'shareType',
@@ -274,6 +302,15 @@ const IntentionCustomer = Form.create()(React.createClass({
           key: 'depName',
         },
         {
+          title: '省市区',
+          dataIndex: 'area',
+          key: 'area',
+          width: 150,
+          render: (text, record) => {
+            return (record.province || "") + (!record.city ? "" : "-") + (record.city || "") + (!record.area ? "" : "-") + (record.area || "");
+          },
+        },
+        {
           title: '操作',
           dataIndex: 'id',
           key: 'id',

+ 4 - 2
js/component/manageCenter/customer/NEW/publicCustomer/publicCustomer.jsx

@@ -65,6 +65,7 @@ const QueryCustomer = React.createClass({
               locationProvince: thisdata.province
                 ? (thisdata.province || '') + (thisdata.city ? "-" + thisdata.city : '') + (thisdata.area ? "-" + thisdata.area : '')
                 : "--",
+              myUser: thisdata.myUser
             });
           }
           this.state.pagination.current = data.data.pageNo;
@@ -353,6 +354,7 @@ const QueryCustomer = React.createClass({
             return { label: item }
           })
         }
+
         this.setState({
           loading: false,
           verification: true,
@@ -361,9 +363,9 @@ const QueryCustomer = React.createClass({
           name: obj.name,
           orgCode: obj.orgCode,
           ProvinceCity: [obj.province, obj.city, obj.area],
-          // content: obj.contacts,
+          content: e.myUser == 1 ? obj.contacts : '',
           position: obj.position,
-          // telnum: obj.contactMobile,
+          telnum: e.myUser == 1 ? obj.contactMobile : '',
           businessScope: !!obj.businessScope ? obj.businessScope.split(',') : [],
           selectCooperationProjects: selectCooperationProjects,
           level: obj.level,

+ 4 - 2
js/component/manageCenter/customer/NEW/query/queryCutomer.jsx

@@ -63,6 +63,7 @@ const QueryCustomer = React.createClass({
             thisdata.signBills = thisdata.signBills;
             thisdata.createTime = thisdata.createTime && thisdata.createTime.split(" ")[0];
             thisdata.locationProvince = diqu;
+            thisdata.myUser = thisdata.myUser;
             theArr.push(thisdata);
           }
           this.state.pagination.current = data.data.pageNo;
@@ -464,6 +465,7 @@ const QueryCustomer = React.createClass({
             return { label: item }
           })
         }
+
         this.setState({
           loading: false,
           verification: true,
@@ -472,9 +474,9 @@ const QueryCustomer = React.createClass({
           name: obj.name,
           orgCode: obj.orgCode,
           ProvinceCity: [obj.province, obj.city, obj.area],
-          // content: obj.contacts,
+          content: e.myUser == 1 ? obj.contacts : '',
           position: obj.position,
-          // telnum: obj.contactMobile,
+          telnum: e.myUser == 1 ? obj.contactMobile : '',
           businessScope: !!obj.businessScope ? obj.businessScope.split(',') : [],
           selectCooperationProjects: selectCooperationProjects,
           level: obj.level,

+ 49 - 1
js/component/manageCenter/customer/publicSummary/index.jsx

@@ -234,13 +234,61 @@ class PublicSummary extends Component {
           dataIndex: "nextPlan",
           key: "nextPlan",
           width: 280,
-          render: (text) => {
+          render: (text,) => {
             return (
               <div>{text}</div>
             );
           },
         },
         {
+          title: "本次面谈项目",
+          dataIndex: "interviewProject",
+          key: "interviewProject",
+          width: 280,
+        },
+        {
+          title: "客户的难处",
+          dataIndex: "earlyCommunication",
+          key: "earlyCommunication",
+          width: 280,
+        },
+        {
+          title: "客户的需求",
+          dataIndex: "customerDemand",
+          key: "customerDemand",
+          width: 280,
+        },
+        {
+          title: "面谈思路",
+          dataIndex: "interviewIdeas",
+          key: "interviewIdeas",
+          width: 280,
+        },
+        {
+          title: "面谈达成的目的",
+          dataIndex: "interviewPurpose",
+          key: "interviewPurpose",
+          width: 280,
+        },
+        {
+          title: "经理/上级面谈建议",
+          dataIndex: "interviewRecommend",
+          key: "interviewRecommend",
+          width: 280,
+        },
+        {
+          title: "面谈后反馈",
+          dataIndex: "interviewFeedback",
+          key: "interviewFeedback",
+          width: 280,
+        },
+        {
+          title: "后续跟进计划",
+          dataIndex: "followUpPlan",
+          key: "followUpPlan",
+          width: 280,
+        },
+        {
           title: "审核/指导",
           dataIndex: "auditInfo",
           key: "auditInfo",

+ 7 - 0
js/component/manageCenter/customer/statistics/departmentStatistics/index.jsx

@@ -57,6 +57,13 @@ class DepartmentStatistics extends Component {
           },
         },
         {
+          title: "有效面谈数",
+          dataIndex: "firstInterviewCount",
+          key: "firstInterviewCount",
+          // className: 'tableRowStyle',
+          width: 120,
+        },
+        {
           title: "私有领取数",
           dataIndex: "receiveCount",
           key: "receiveCount",

+ 5 - 0
js/component/manageCenter/order/orderNew/addService.jsx

@@ -5632,6 +5632,7 @@ const NewService = Form.create()(
                 title: "项目负责人",
                 dataIndex: "receiverName",
                 key: "receiverName",
+                width: 90
               },
               {
                 title: "项目说明",
@@ -5881,6 +5882,7 @@ const NewService = Form.create()(
                 title: "会员负责人",
                 dataIndex: "projectMemberName",
                 key: "projectMemberName",
+                width: 90
               },
               {
                 title: "项目状态",
@@ -5894,6 +5896,7 @@ const NewService = Form.create()(
                 title: "本次派单",
                 dataIndex: "serviceYear",
                 key: "serviceYear",
+                width: 90
               },
               {
                 title: "项目说明",
@@ -6102,6 +6105,7 @@ const NewService = Form.create()(
                 title: "会员负责人",
                 dataIndex: "projectMemberName",
                 key: "projectMemberName",
+                width: 90
               },
               {
                 title: "项目状态",
@@ -6115,6 +6119,7 @@ const NewService = Form.create()(
                 title: "本次派单",
                 dataIndex: "serviceYear",
                 key: "serviceYear",
+                width: 80
               },
               {
                 title: "项目说明",

+ 13 - 0
js/component/manageCenter/project/task/myTask.jsx

@@ -326,6 +326,19 @@ const Task = React.createClass({
             }
             return <span>{text}<span style={{ color: "red" }}>{record.patentTypeName}</span></span>
           }
+          // render: (text, record) => {
+          //   return <span>
+          //     {text}<span style={{ color: "red" }}>{record.patentTypeName}</span>{"-" + record.id}
+          //     <div>
+          //       {record.cSort == 6 && record.projectType == 1 && <span>(含{record.htMember == 1 ? '高新会员&' : ''}{record.additionalDeduction == 1 ? '加计扣除&' : ''}{record.rdAwardsubsidy == 1 ? '研发奖补' : ''})</span>}
+          //         {record.cSort == 6 && ([0, 3].indexOf(record.projectType) > -1) && <span>(仅提供单边会员服务)</span>}
+          //       {record.cSort == 6 && record.projectType == 2 && <span>(仅填报表,仅咨询,不出备查资料)</span>}
+          //       {record.cSort == 3 && <span>{record.technologyProjectType==0?'(简易项目)':record.technologyProjectType==1?'(市区级)':record.technologyProjectType==2?'(省级)':record.technologyProjectType==3?'(国家级)':''}</span>}
+          //       {record.cSort == 8 ? (record.type != 2 && record.patentType == 1) ? <span>(变更)</span> : <span>{record.ordinaryRisk == 0 ? '(普通申请)' : record.ordinaryRisk == 1 ? '(风险代理)' : ''}</span> : ""}
+          //       {record.type == 2 && <span>({record.days == 0 ? '普通' : record.days == 1 ? '加急' : ''}{record.scheme == 0 ? '&无方案' : record.scheme == 1 ? '&有方案' : ''})</span>}
+          //     </div>
+          //   </span>
+          // }
         },
         {
           title: '项目数量',

+ 193 - 36
js/component/manageCenter/set/userManagementS/newUser.jsx

@@ -76,6 +76,9 @@ const Newuser = Form.create()(React.createClass({
       role: [],
       Business: [{ reviewerName: "", reviewerId: "" }], // 公出审核
       Coorder: [{ reviewerName: "", reviewerId: "" }],  // 协单审核
+
+      superiorList: [], // 上级主管
+      publicCarbonCopyList: [], // 公出抄送
     };
   },
   getDefaultProps() {
@@ -103,10 +106,61 @@ const Newuser = Form.create()(React.createClass({
       message.warning('请输入正确的上级主管');
       return false;
     };
+    if (!this.state.superiorList.length) {
+      message.warning('请输入正确的上级主管');
+      return false;
+    } else {
+      let flag = true;
+      let text = '';
+      for (let i=0; i<this.state.superiorList.length; i++) {
+        let superiorItem = this.state.superiorList[i];
+        if (!superiorItem.superiorId) {
+          text = `第${idx}行请输入正确的上级主管`;
+          flag = false;
+          continue;
+        } else if (this.state.Business.some(item => item.reviewerId == superiorItem.superiorId)) {
+          text = `上级主管【${superiorItem.superior}】在公出审核人员中存在`;
+          flag = false;
+          continue;
+        } else if (this.state.Coorder.some(item => item.reviewerId == superiorItem.superiorId)) {
+          text = `上级主管【${superiorItem.superior}】在协单审核人员中存在`;
+          flag = false;
+          continue;
+        } else if (this.state.managerId == superiorItem.superiorId) {
+          text = `上级主管【${superiorItem.superior}】在经理审核人员中存在`;
+          flag = false;
+          continue;
+        } else if (this.state.publicCarbonCopyList.some(item => item.publicCarbonCopy == superiorItem.superiorId)) {
+          text = `上级主管【${superiorItem.superior}】在公出抄送人员中存在`;
+          flag = false;
+          continue;
+        }
+      }
+      if (!flag) {
+        message.warning(text);
+        return false;
+      }
+    }
     if (!getNewArray(this.state.Business, "reviewerId").toString()) {
       message.warning('请输入正确的公出审核人');
       return false;
     }
+    if (this.state.publicCarbonCopyList.length) {
+      let flag = true;
+      let text = '';
+      for (let i=0; i<this.state.publicCarbonCopyList.length; i++) {
+        let item = this.state.publicCarbonCopyList[i];
+        if (item.publicCarbonCopyName && !item.publicCarbonCopy) {
+          text = `第${i}行请输入正确的公出抄送人员`;
+          flag = false;
+          continue;
+        }
+      }
+      if (!flag) {
+        message.warning(text);
+        return false;
+      }
+    }
     if (this.state.contactMobile) {
       if (!(/^1[1-9][0-9]\d{4,8}$/.test(this.state.contactMobile))) {
         message.warning("不是完整的11位手机号或者正确的手机号前七位");
@@ -153,7 +207,8 @@ const Newuser = Form.create()(React.createClass({
           duty: this.state.duty,
           position: this.state.position,//岗位
           email: this.state.email,
-          superiorId: this.state.theTypes ? this.state.theTypes : this.state.superiorId,
+          // superiorId: this.state.theTypes ? this.state.theTypes : this.state.superiorId,
+          // superior: this.state.superiorList.map(item => item.superiorId).join(','),
           // reviewer: this.state.reviewer, 
           district: this.state.district,
           headPortraitUrl: theorgCodeUrl.length ? theorgCodeUrl : '',
@@ -167,6 +222,8 @@ const Newuser = Form.create()(React.createClass({
         }),
         publicReviewerIds: getNewArray(this.state.Business, "reviewerId").toString(),// 公出审核
         assistReviewerIds: getNewArray(this.state.Coorder, "reviewerId").toString(),// 协单审核
+        superReviewerIds: this.state.superiorList.map(item => item.superiorId).join(','), // 上级主管
+        carbonCopyReviewerIds: this.state.publicCarbonCopyList.map(item => item.publicCarbonCopy).join(',') // 公出推送
       }
     }).done(function (data) {
       this.setState({
@@ -209,7 +266,7 @@ const Newuser = Form.create()(React.createClass({
     }.bind(this));
   },
   //上级主管输入框失去焦点是判断客户是否存在
-  selectAuto(value) {
+  selectAuto(value, idx) {
     let theType = '';
     let contactLists = this.state.customerArr || [];
     if (value) {
@@ -219,9 +276,13 @@ const Newuser = Form.create()(React.createClass({
         }
       });
     }
+    const { superiorList } = this.state;
+    superiorList[idx].superiorId = theType;
+    superiorList[idx].superior = value;
     this.setState({
-      theTypes: theType,
-      superior: value
+      // theTypes: theType,
+      // superior: value
+      superiorList
     })
     if (!this.state.reviewerName || !this.state.reviewer) {
       this.setState({
@@ -231,12 +292,14 @@ const Newuser = Form.create()(React.createClass({
     }
   },
   //值改变时请求客户名称
-  httpChange(e) {
+  httpChange(e, idx) {
     if (e.length >= 1) {
       this.supervisor(e);
     }
+    const { superiorList } = this.state;
+    superiorList[idx].superior = e;
     this.setState({
-      superior: e
+      superiorList
     })
   },
   //查看基本详情基本信息
@@ -258,6 +321,12 @@ const Newuser = Form.create()(React.createClass({
             };
             thisdata = {};
           };
+          // let superiorList = [];
+          // let superiorIdArr = thisdata.superiorId ? thisdata.superiorId.toString().split(',') : [];
+          // let superiorArr = thisdata.superior ? thisdata.superior.toString().split(',') : [];
+          // superiorIdArr.map((id, idx) => {
+          //   superiorList.push({ superiorId: id, superior: superiorArr[idx] });
+          // })
           this.setState({
             id: thisdata.id,
             mobile: thisdata.mobile,
@@ -268,6 +337,7 @@ const Newuser = Form.create()(React.createClass({
             position: thisdata.position ? thisdata.position : undefined,
             superior: thisdata.superior,
             superiorId: thisdata.superiorId,//上级Id
+            // superiorList, // 上级list
             reviewerName: thisdata.reviewerName,
             reviewer: thisdata.reviewer, // 公出审核人
             managerName: thisdata.managerName,
@@ -317,9 +387,23 @@ const Newuser = Form.create()(React.createClass({
             };
             thisdata = {};
           };
+          let superiorList = [{ superior: '', superiorId: '' }];
+          if (thisdata.superReviewer.length) {
+            superiorList = thisdata.superReviewer.map(item => {
+              return { superior: item.reviewerName, superiorId: item.reviewerId };
+            })
+          }
+          let publicCarbonCopyList = [{ publicCarbonCopyName: '', publicCarbonCopy: '' }];
+          if (thisdata.carbonCopyReviewer.length) {
+            publicCarbonCopyList = thisdata.carbonCopyReviewer.map(item => {
+              return { publicCarbonCopyName: item.reviewerName, publicCarbonCopy: item.reviewerId }
+            });
+          }
           this.setState({
             Business: thisdata.publicReviewer.length > 0 ? thisdata.publicReviewer : [{ reviewerName: "", reviewerId: "" }],
             Coorder: thisdata.assistReviewer.length > 0 ? thisdata.assistReviewer : [{ reviewerName: "", reviewerId: "" }],
+            superiorList,
+            publicCarbonCopyList,
           });
         }.bind(this),
       }).always(function () {
@@ -426,6 +510,31 @@ const Newuser = Form.create()(React.createClass({
     })
   },
 
+  addSupersor() {
+    const { superiorList } = this.state;
+    superiorList.push({ superiorId: '', superior: '' });
+    this.setState({ superiorList });
+  },
+
+  removeSupersor(idx) {
+    this.state.superiorList.splice(idx, 1)
+    this.setState({
+      superiorList: this.state.superiorList
+    });
+  },
+
+  addPublicCarbonCopy() {
+    const { publicCarbonCopyList } = this.state;
+    publicCarbonCopyList.push({ publicCarbonCopy: '', publicCarbonCopyName: '' });
+    this.setState({ publicCarbonCopyList });
+  },
+
+  removePublicCarbonCopy(idx) {
+    this.state.publicCarbonCopyList.splice(idx, 1)
+    this.setState({
+      publicCarbonCopyList: this.state.publicCarbonCopyList
+    });
+  },
 
   render() {
     const { Coorder, Business } = this.state
@@ -606,22 +715,38 @@ const Newuser = Form.create()(React.createClass({
                   {...formItemLayout}
                   label="上级主管"
                 >
-                  <AutoComplete
-                    className="certain-category-search"
-                    dropdownClassName="certain-category-search-dropdown"
-                    dropdownMatchSelectWidth={false}
-                    size="large"
-                    style={{ width: '200px' }}
-                    dataSource={options}
-                    placeholder="输入名称"
-                    value={this.state.superior}
-                    onChange={this.httpChange}
-                    filterOption={true}
-                    onSelect={this.selectAuto}
-                  >
-                    <Input />
-                  </AutoComplete>
-                  <span className="mandatory">*</span>
+                  
+                  {this.state.superiorList.map((item, idx) => (
+                    <div style={{ display: 'flex', alignItems: 'center', padding: '5px 0' }}>
+                      <AutoComplete
+                        className="certain-category-search"
+                        dropdownClassName="certain-category-search-dropdown"
+                        dropdownMatchSelectWidth={false}
+                        size="large"
+                        style={{ width: '200px' }}
+                        dataSource={options}
+                        placeholder="输入名称"
+                        value={item.superior}
+                        onChange={e=> {this.httpChange(e, idx)}}
+                        filterOption={true}
+                        onSelect={value => {this.selectAuto(value, idx)}}
+                      >
+                        <Input />
+                      </AutoComplete>
+                      <span className="mandatory">*</span>
+                      <div style={{ width: 25, display: "inline-block" }}>
+                        {this.state.superiorList.length > 1 ? (
+                          <Icon
+                            className="dynamic-delete-button"
+                            type="minus-circle-o"
+                            disabled={this.state.superiorList.length === 1}
+                            onClick={() => this.removeSupersor(idx)}
+                          />
+                        ) : null}
+                        </div>
+                      { idx === 0 && <Button style={{ marginLeft: 10 }} size="small" type="primary" onClick={this.addSupersor}>新增</Button> }
+                    </div>
+                  ))}
                 </FormItem>
                 <FormItem className="half-item"
                   {...formItemLayout}
@@ -714,6 +839,16 @@ const Newuser = Form.create()(React.createClass({
                         })
                       }}
                     />
+                    <Icon
+                      className="dynamic-delete-button"
+                      type="minus-circle-o"
+                      onClick={() => {
+                        this.setState({
+                          managerName: '',
+                          managerId: ''
+                        });
+                      }}
+                    />
                   </FormItem>
                 </div>
 
@@ -772,20 +907,42 @@ const Newuser = Form.create()(React.createClass({
                     {...formItemLayout}
                     label="公出抄送"
                   >
-                    <StaffSearch
-                      valueName={this.state.publicCarbonCopyName}
-                      placeholder="输入名称"
-                      onBlurText={e => {
-                        this.setState({
-                          publicCarbonCopyName: e.title
-                        })
-                      }}
-                      onBlurChange={(obj) => {
-                        this.setState({
-                          publicCarbonCopy: obj.value,
-                        })
-                      }}
-                    />
+                    { this.state.publicCarbonCopyList.map((item, idx) => (
+                      <div style={{ display: 'flex', alignItems: 'center', padding: '5px 0' }}>
+                        <StaffSearch
+                          valueName={item.publicCarbonCopyName}
+                          placeholder="输入名称"
+                          onBlurText={e => {
+                            const { publicCarbonCopyList } = this.state;
+                            publicCarbonCopyList[idx].publicCarbonCopyName = e.title;
+                            this.setState({
+                              // publicCarbonCopyName: e.title
+                              publicCarbonCopyList
+                            })
+                          }}
+                          onBlurChange={(obj) => {
+                            const { publicCarbonCopyList } = this.state;
+                            publicCarbonCopyList[idx].publicCarbonCopy = obj.value;
+                            this.setState({
+                              // publicCarbonCopy: obj.value,
+                              publicCarbonCopyList
+                            })
+                          }}
+                        />
+                         <div style={{ width: 25, display: "inline-block" }}>
+                          {this.state.publicCarbonCopyList.length > 1 ? (
+                            <Icon
+                              className="dynamic-delete-button"
+                              type="minus-circle-o"
+                              disabled={this.state.publicCarbonCopyList.length === 1}
+                              onClick={() => this.removePublicCarbonCopy(idx)}
+                            />
+                          ) : null}
+                          </div>
+                        { idx === 0 && <Button style={{ marginLeft: 10 }} size="small" type="primary" onClick={this.addPublicCarbonCopy}>新增</Button> }
+                      </div>
+                    )) }
+                    
                   </FormItem>
                 </div>