| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930 | 
							- import React, { Component } from "react";
 
- import { View, Input, Button, Text, Picker, RadioGroup, Label, Radio } from "@tarojs/components";
 
- import Taro, { getCurrentInstance } from "@tarojs/taro";
 
- import { getProvince } from '../../utils/tools/index'
 
- import {
 
-   AtSearchBar,
 
-   AtCheckbox,
 
-   AtTextarea,
 
-   AtModal,
 
-   AtModalHeader,
 
-   AtModalContent,
 
-   AtModalAction,
 
-   AtInput,
 
-   AtIcon,
 
-   AtButton,
 
-   AtTag,
 
-   AtRadio,
 
-   AtInputNumber
 
- } from "taro-ui";
 
- import Skeleton from "taro-skeleton";
 
- import {
 
-   queryByUidAll,
 
-   updateUserDate,
 
-   updateUser,
 
-   addOneContact,
 
-   findCustomerContacts,
 
-   updateMainContact,
 
-   limitUser,
 
-   getBusinessProjectByName,
 
- } from "../../utils/servers/servers";
 
- import "./index.less";
 
- import "taro-ui/dist/style/components/icon.scss";
 
- import "taro-ui/dist/style/components/textarea.scss";
 
- import "taro-ui/dist/style/components/modal.scss";
 
- import "taro-ui/dist/style/components/timeline.scss";
 
- import "taro-ui/dist/style/components/calendar.scss";
 
- import "taro-ui/dist/style/components/input.scss";
 
- import "taro-ui/dist/style/components/checkbox.scss";
 
- import "taro-ui/dist/style/components/search-bar.scss";
 
- import "taro-ui/dist/style/components/tag.scss";
 
- import MessageNoticebar from "../../components/common/messageNoticebar";
 
- import { industry, channelTypeList } from '../../utils/tools/config';
 
- import { getChannel } from "../../utils/tools";
 
- import Superior from "../../components/common/superior";
 
- import CheckboxPicker from "../../components/common/CheckboxPicker";
 
- import AddressPicker from "../../components/common/addressPicker"
 
- import InteractList from "./components/InteractList";
 
- class CustomerProfile extends Component {
 
-   $instance = getCurrentInstance();
 
-   constructor(props) {
 
-     super(props);
 
-     this.state = {
 
-       upType: -1,
 
-       isOpened: false,
 
-       dtails: {},
 
-       info: {},
 
-       sector: {},
 
-       isAdd: false,
 
-       obj: {},
 
-       userList: [],
 
-       options: [],
 
-       checkOptions: [],
 
-       isSuperior: false,
 
-       channe: {},
 
-       isMask: false,
 
-       addressPickerShow: false,
 
-       region: [],
 
-       customItem: [],
 
-       multiplePickerShow: false,
 
-       multiplePickerTitle: '',
 
-       multiplePickerType: '',
 
-       multiplePickerOptions: [],
 
-       multiplePickerCheckedList: [],
 
-       addItemShow: false,
 
-       addItemType: '',
 
-       addItemTitle: '',
 
-       addItemInputVal: '',
 
-       interactShow: false,
 
-       interactShowType: '',
 
-       interactTitle: '',
 
-       interactList: []
 
-     };
 
-     this.queryByUidAll = this.queryByUidAll.bind(this);
 
-     this.update = this.update.bind(this);
 
-     this.add = this.add.bind(this);
 
-     this.getUserList = this.getUserList.bind(this);
 
-     this.getBusinessProjectByName = this.getBusinessProjectByName.bind(this);
 
-     this.onSearchChange = this.onSearchChange.bind(this);
 
-     this.handleOpenMultiplePicker = this.handleOpenMultiplePicker.bind(this);
 
-     this.handleMultipleConfirm = this.handleMultipleConfirm.bind(this);
 
-     this.handleAddItemSave = this.handleAddItemSave.bind(this);
 
-     this.handleCloseAddItemDialog = this.handleCloseAddItemDialog.bind(this);
 
-   }
 
-   componentDidMount() {
 
-     this.setState({
 
-       isMask: false
 
-     })
 
-     this.queryByUidAll();
 
-     if (!this.isLogin()) {
 
-       Taro.setStorageSync('currentPage', `/pages/customerProfile/index?id=${this.$instance.router.params.id}`)
 
-     }
 
-   }
 
-   toggleAddressPicker(e) {
 
-       const addressIds = getProvince(e.province, e.city, e.area);
 
-       const { dtails } = this.state;
 
-       dtails.locationProvince = addressIds[0];
 
-       dtails.locationProvinceName = e.province;
 
-       dtails.locationCity = addressIds[1];
 
-       dtails.locationCityName = e.city;
 
-       dtails.locationArea = addressIds[2];
 
-       dtails.locationAreaName = e.area;
 
-       this.setState({ dtails, addressPickerShow: false });
 
-   }
 
-   handleOpenMultiplePicker(type) {
 
-       let multiplePickerOptions = [];
 
-       let multiplePickerTitle = '';
 
-       let multiplePickerCheckedList = [];
 
-       const { dtails } = this.state;
 
-       switch (type) {
 
-         case 'industry':
 
-             // 企业所属行业
 
-             multiplePickerOptions = industry;
 
-             multiplePickerCheckedList = !!dtails.industry ? dtails.industry.toString().split(',') : [];
 
-             multiplePickerTitle = '请选择企业所属行业';
 
-             break;
 
-         case 'externalInvestIndustry':
 
-             // 对外投资控股的行业
 
-             multiplePickerOptions = industry;
 
-             multiplePickerCheckedList = !!dtails.externalInvestIndustry ? dtails.externalInvestIndustry.toString().split(',') : [];
 
-             multiplePickerTitle = '请选择对外投资控股的行业';
 
-         break;  
 
-         default:
 
-             break;
 
-       }
 
-     this.setState({
 
-         multiplePickerShow: true,
 
-         multiplePickerType: type,
 
-         multiplePickerTitle,
 
-         multiplePickerOptions,
 
-         multiplePickerCheckedList: multiplePickerCheckedList.map(item => Number(item))
 
-     })
 
-   }
 
-   handleMultipleConfirm(selectedIds, selectedLabels) {
 
-     const { multiplePickerType, dtails } = this.state;
 
-     switch (multiplePickerType) {
 
-         case "industry":
 
-             // 企业所属行业
 
-             dtails.industry = selectedIds.join(',');
 
-             dtails.industryName = selectedLabels.join('、');
 
-             break;
 
-         case "externalInvestIndustry":
 
-             // 对外投资控股的行业
 
-             dtails.externalInvestIndustry = selectedIds.join(',');
 
-             dtails.externalInvestIndustryName = selectedLabels.join('、');
 
-             break;
 
-         default:
 
-             break;
 
-     }
 
-     this.setState({ dtails })
 
-   }
 
-   bindRegionChange (e) {
 
-     console.log('picker发送选择改变,携带值为', e.detail.value)
 
-     this.setState({
 
-       region: e.detail.value
 
-     })
 
-   }
 
-   isLogin() {
 
-     return !!Taro.getStorageSync('userInfor');
 
-   }
 
-   onShareAppMessage() {
 
-     this.limitUser();
 
-     return {
 
-       title: "客户档案",
 
-       path: "/pages/customerProfile/index?id=" + this.$instance.router.params.id,
 
-     };
 
-   }
 
-   // 客户档案详情
 
-   queryByUidAll() {
 
-     queryByUidAll(
 
-       this.$instance.router.params.notRequired,
 
-       { id: this.$instance.router.params.id, }
 
-     )
 
-       .then((v) => {
 
-         if (v.error.length === 0) {
 
-           this.setState({
 
-             dtails: {
 
-                 ...v.data,
 
-                 companyCount: v.data.companyCount || 0,
 
-                 socialSecurityCount: v.data.socialSecurityCount || 0,
 
-                 externalInvestCount: v.data.externalInvestCount || 0,
 
-                 financialRevenue: v.data.financialRevenue || 0,
 
-                 financialTax: v.data.financialTax || 0,
 
-                 financialProperty: v.data.financialProperty || 0,
 
-                 financialRd: v.data.financialRd || 0,
 
-                 earlyCommunication: '',
 
-                 customerDemand: '',
 
-                 interviewIdeas: '',
 
-                 interviewPurpose: '',
 
-                 interviewRecommend: '',
 
-                 interviewFeedback: '',
 
-                 followUpPlan: ''
 
-             }
 
-           })
 
-         } else {
 
-           setTimeout(() => {
 
-             Taro.navigateBack({
 
-               delta: 1
 
-             })
 
-           }, 1800);
 
-           Taro.showToast({
 
-             title: v.error[0].message,
 
-             icon: "none",
 
-             duration: 1800,
 
-           });
 
-         }
 
-       })
 
-       .catch((err) => {
 
-         Taro.showToast({ title: "系统错误,请稍后再试", icon: "none" });
 
-       });
 
-   }
 
-   validParams(params) {
 
-     let flag = true;
 
-     let message = '';
 
-     if (!params.locationProvince) {
 
-         message = '请选择企业所在地省市区';
 
-         flag = false;
 
-     } else if (!params.industry) {
 
-         message = '请选择企业所属行业';
 
-         flag = false;
 
-     } else if (!params.businessScope) {
 
-         message = '主营产品不能为空';
 
-         flag = false;
 
-     } else if (params.companyCount === '' || params.companyCount === undefined || params.companyCount === null) {
 
-         message = '请输入母/子公司数';
 
-         flag = false;
 
-     } else if (params.socialSecurityCount === '' || params.socialSecurityCount === undefined || params.socialSecurityCount === null) {
 
-         message = '请输入社保人数';
 
-         flag = false;
 
-     } else if (params.externalInvestCount === '' || params.externalInvestCount === undefined || params.externalInvestCount === null) {
 
-         message = '请输入对外投资控股的企业数';
 
-         flag = false;
 
-     } else if (params.financialRevenue === '' || params.financialRevenue === undefined || params.financialRevenue === null) {
 
-         message = '请输入营收数据';
 
-         flag = false;
 
-     } else if (params.financialTax === '' || params.financialTax === undefined || params.financialTax === null) {
 
-         message = '请输入税收数据';
 
-         flag = false;
 
-     } else if (params.financialProperty === '' || params.financialProperty === undefined || params.financialProperty === null) {
 
-         message = '请输入资产数据';
 
-         flag = false;
 
-     } else if (params.financialRd === '' || params.financialRd === undefined || params.financialRd === null) {
 
-         message = '请输入研发费用';
 
-         flag = false;
 
-     } else if (!params.externalInvestIndustry) {
 
-         message = '请选择对外投资控股的行业';
 
-         flag = false;
 
-     } else if (!params.externalInvestName) {
 
-         message = '请选择对外投资控股的企业';
 
-         flag = false;
 
-     } else if (!params.earlyCommunication || (params.earlyCommunication && params.earlyCommunication.length < 20)) {
 
-         message = '请输入客户的难处,并且在20字以上';
 
-         flag = false;
 
-     } else if (!params.customerDemand || (params.customerDemand && params.customerDemand.length < 20)) {
 
-         message = '请输入客户的需求,并且在20字以上';
 
-         flag = false;
 
-     } else if (!params.interviewIdeas || (params.interviewIdeas && params.interviewIdeas.length < 20)) {
 
-         message = '请输入面谈思路,并且在20字以上';
 
-         flag = false;
 
-     } else if (!params.interviewPurpose || (params.interviewPurpose && params.interviewPurpose.length < 20)) {
 
-         message = '请输入面谈达成的目的,并且在20字以上';
 
-         flag = false;
 
-     } else if (!params.interviewRecommend || (params.interviewRecommend && params.interviewRecommend.length < 20)) {
 
-         message = '请输入经理/上级面谈建议,并且在20字以上';
 
-         flag = false;
 
-     } else {
 
-         if (this.state.dtails.interviewList.length) {
 
-             if (!params.interviewFeedback || (params.interviewFeedback && params.interviewFeedback.length < 20)) {
 
-                 message = '请输入面谈后的反馈,并且在20字以上';
 
-                 flag = false;
 
-             } else if (!params.followUpPlan || (params.followUpPlan && params.followUpPlan.length < 20)) {
 
-                 message = '请输入后续跟进计划,并且在20字以上';
 
-                 flag = false;
 
-             }
 
-         }
 
-     }
 
-     return { flag, message };
 
-   }
 
-   onSaveAllData() {
 
-     const { dtails } = this.state;
 
-     const params = {
 
-         id: dtails.id,
 
-         uid: dtails.uid,
 
-         industry: dtails.industry,
 
-         industryName: dtails.industryName,
 
-         earlyCommunication: dtails.earlyCommunication,
 
-         customerDemand: dtails.customerDemand,
 
-         interviewIdeas: dtails.interviewIdeas,
 
-         interviewPurpose: dtails.interviewPurpose,
 
-         interviewRecommend: dtails.interviewRecommend,
 
-         interviewFeedback: dtails.interviewFeedback,
 
-         followUpPlan: dtails.followUpPlan,
 
-         patentCount: dtails.patentCount,
 
-         inventionPatentCount: dtails.inventionPatentCount,
 
-         utilityModelCount: dtails.utilityModelCount,
 
-         appearancePatentCount: dtails.appearancePatentCount,
 
-         softwareWorksCount: dtails.softwareWorksCount,
 
-         otherCount: dtails.otherCount,
 
-         financialData: dtails.financialData,
 
-         companyCount: dtails.companyCount,
 
-         socialSecurityCount: dtails.socialSecurityCount,
 
-         externalInvestCount: dtails.externalInvestCount,
 
-         externalInvestIndustry: dtails.externalInvestIndustry,
 
-         externalInvestIndustryName: dtails.externalInvestIndustryName,
 
-         externalInvestId: '0,0',
 
-         externalInvestName: dtails.externalInvestName,
 
-         financialRevenue: dtails.financialRevenue,
 
-         financialTax: dtails.financialTax,
 
-         financialProperty: dtails.financialProperty,
 
-         financialRd: dtails.financialRd,
 
-         locationProvince: dtails.locationProvince,
 
-         locationProvinceName: dtails.locationProvinceName,
 
-         locationCity: dtails.locationCity,
 
-         locationCityName: dtails.locationCityName,
 
-         locationArea: dtails.locationArea,
 
-         locationAreaName: dtails.locationAreaName,
 
-         standard: dtails.standard,
 
-         businessScope: dtails.businessScope
 
-     };
 
-     for (let key in params) {
 
-         if (params[key] === undefined || params[key] === 'undefined' || params[key] === null || params[key] === 'null') {
 
-             delete params[key];
 
-         }
 
-     }
 
-     const { flag, message } = this.validParams(params);
 
-     if (!flag) {
 
-         Taro.showToast({
 
-             title: message,
 
-             icon: "none",
 
-         });
 
-         return;
 
-     }
 
-     updateUser(params).then((v) => {
 
-         if (v.error.length === 0) {
 
-           Taro.showToast({
 
-             title: "修改成功",
 
-           });
 
-           setTimeout(() => {
 
-             //表示回到上一页面
 
-             Taro.navigateBack({
 
-                 delta: 1
 
-             });
 
-           }, 1000)
 
-         } else {
 
-           Taro.showToast({
 
-             title: v.error[0].message,
 
-             icon: "none",
 
-           });
 
-         }
 
-       })
 
-   }
 
-   // 修改客户档案
 
-   update() {
 
-     // const { upType, info } = this.state
 
-     // console.log(info)
 
-     // let tipList = [
 
-     //   { key: "inventionPatentCount", value: "请填写发明专利数" },
 
-     //   { key: "utilityModelCount", value: "请填写实用新型数" },
 
-     //   { key: "appearancePatentCount", value: "请填写外观专利数" },
 
-     //   { key: "softwareWorksCount", value: "请填写软著数" },
 
-     //   { key: "otherCount", value: "请填写其他数量" },
 
-     //   { key: "financialData", value: "请填写财务数据" },
 
-     //   { key: "earlyCommunication", value: "请填写前期沟通" },
 
-     //   { key: "interviewIdeas", value: "请填写面谈思路及目的" },
 
-     //   { key: "interviewDistribution", value: "请填写主要面谈人及分工" },
 
-     //   { key: "enterpriseCount", value: "请填写覆盖企业数" },
 
-     //   { key: "channelIndicators", value: "请填写渠道考核指标" },
 
-     // ]
 
-     // if (!info.id) {
 
-     //   delete info.id
 
-     // }
 
-     // for (let i in info) {
 
-     //   if (!info[i] && info[i] !== 0) {
 
-     //     for (var j = 0; j < tipList.length; j++) {
 
-     //       if (tipList[j].key == i) {
 
-     //         Taro.showToast({
 
-     //           title: tipList[j].value,
 
-     //           icon: "none",
 
-     //         });
 
-     //       }
 
-     //     }
 
-     //     return
 
-     //   } else if (info[i] == 0) {
 
-     //     if (i == "channelType") {
 
-     //       Taro.showToast({
 
-     //         title: "请选择渠道类型",
 
-     //         icon: "none",
 
-     //       });
 
-     //       return
 
-     //     }
 
-     //   }
 
-     //   if ((i == "financialData" || i == "earlyCommunication" || i == "interviewIdeas" || i == "interviewDistribution")
 
-     //     && info[i].length < 20) {
 
-     //     Taro.showToast({
 
-     //       title: "至少20字以上",
 
-     //       icon: "none",
 
-     //     });
 
-     //     return
 
-     //   }
 
-     // }
 
-     // updateUserDate(upType, info).then((v) => {
 
-     //   if (v.error.length === 0) {
 
-     //     Taro.showToast({
 
-     //       title: "修改成功",
 
-     //     });
 
-     //     this.setState({
 
-     //       isOpened: false
 
-     //     })
 
-     //     this.queryByUidAll()
 
-     //   } else {
 
-     //     Taro.showToast({
 
-     //       title: v.error[0].message,
 
-     //       icon: "none",
 
-     //     });
 
-     //   }
 
-     // }).catch(() => {
 
-     // })
 
-     this.setState({ isOpened: false, dtails: { ...this.state.dtails, ...this.state.info } })
 
-   }
 
-   // 新建联系人
 
-   add() {
 
-     let data = this.state.obj
 
-     for (let i in data) {
 
-       if (!data[i] && data[i] !== 0) {
 
-         Taro.showToast({
 
-           title: "请完善信息",
 
-           icon: "none",
 
-         });
 
-         return
 
-       } else if (i == "mobile") {
 
-         if (!(/^1[3-9]\d{9}$/.test(data[i]))) {
 
-           Taro.showToast({
 
-             title: "请输入正确地手机号",
 
-             icon: "none",
 
-           });
 
-           return
 
-         }
 
-       }
 
-     }
 
-     data.major = 1
 
-     addOneContact(data).then((v) => {
 
-       if (v.error.length === 0) {
 
-         Taro.showToast({
 
-           title: "添加成功",
 
-         });
 
-         this.setState({
 
-           isAdd: false
 
-         })
 
-         this.queryByUidAll()
 
-       } else {
 
-         Taro.showToast({
 
-           title: v.error[0].message,
 
-           icon: "none",
 
-         });
 
-       }
 
-     }).catch(() => {
 
-     })
 
-   }
 
-   // 项目列表
 
-   getBusinessProjectByName(val) {
 
-     getBusinessProjectByName({
 
-       businessName: val || "",
 
-     })
 
-       .then((v) => {
 
-         if (v.error.length === 0) {
 
-           let theArr = [];
 
-           if (v.data.length > 0) {
 
-             for (let i = 0; i < v.data.length; i++) {
 
-               let thisdata = v.data[i];
 
-               theArr.push({
 
-                 value: thisdata.bname,
 
-                 label: thisdata.bname,
 
-               });
 
-             };
 
-           }
 
-           this.setState({
 
-             options: theArr
 
-           })
 
-         } else {
 
-           Taro.showToast({ title: v.error[0].message, icon: "none" });
 
-         }
 
-       })
 
-       .catch((err) => {
 
-         Taro.showToast({ title: "系统错误,请稍后再试", icon: "none" });
 
-       });
 
-   }
 
-   onSearchChange(value) {
 
-     this.setState({
 
-       value,
 
-     });
 
-   }
 
-   getUserList() {
 
-     findCustomerContacts({
 
-       uid: this.$instance.router.params.id,
 
-     })
 
-       .then((v) => {
 
-         if (v.error.length === 0) {
 
-           this.setState({
 
-             userList: v.data || []
 
-           })
 
-         } else {
 
-           Taro.showToast({ title: v.error[0].message, icon: "none" });
 
-         }
 
-       })
 
-       .catch((err) => {
 
-         Taro.showToast({ title: "系统错误,请稍后再试", icon: "none" });
 
-       });
 
-   }
 
-   updateMainContact(id) {
 
-     updateMainContact({
 
-       uid: this.$instance.router.params.id,
 
-       ocbId: id,
 
-     }).then((v) => {
 
-       if (v.error.length === 0) {
 
-         Taro.showToast({
 
-           title: "设置成功",
 
-         });
 
-         this.getUserList()
 
-       } else {
 
-         Taro.showToast({
 
-           title: v.error[0].message,
 
-           icon: "none",
 
-         });
 
-       }
 
-     }).catch(() => {
 
-     })
 
-   }
 
-   limitUser() {
 
-     limitUser({
 
-       uid: this.$instance.router.params.id,
 
-       // hours: 1,
 
-     }).then((v) => {
 
-       if (v.error.length === 0) {
 
-       } else {
 
-         Taro.showToast({
 
-           title: v.error[0].message,
 
-           icon: "none",
 
-         });
 
-       }
 
-     }).catch(() => {
 
-     })
 
-   }
 
-   addItemDialog(type) {
 
-     let title;
 
-     switch (type) {
 
-         case 'externalInvestName':
 
-             // 对外投资控股的企业名称
 
-             title = '添加对外投资控股的企业名称';
 
-             break;
 
-     
 
-         default:
 
-             break;
 
-     }
 
-     this.setState({ addItemShow: true, addItemType: type, addItemTitle: title });
 
-   }
 
-   handleCloseAddItemDialog() {
 
-       this.setState({ addItemShow: false, addItemType: '', addItemInputVal: '' });
 
-   }
 
-   handleAddItemSave() {
 
-       switch (this.state.addItemType) {
 
-           case 'externalInvestName':
 
-               const { dtails } = this.state;
 
-               let externalInvestName = this.state.dtails.externalInvestName || '';
 
-               let externalInvestNameArr = externalInvestName.split('、').filter(item => !!item);
 
-               externalInvestNameArr.push(this.state.addItemInputVal);
 
-               dtails.externalInvestName = externalInvestNameArr.join('、');
 
-               this.setState({ dtails }, () => {
 
-                   this.handleCloseAddItemDialog();
 
-               });
 
-               break;
 
-       
 
-           default:
 
-               break;
 
-       }
 
-   }
 
-   openInteractHis(type) {
 
-       console.log(this.state.dtails)
 
-     let interactTitle;
 
-     let interactList = this.state.dtails.interviewList;
 
-     switch (type) {
 
-         case 'earlyCommunication':
 
-             interactTitle = '客户的难处历史记录';
 
-             break;
 
-         case 'customerDemand':
 
-             interactTitle = '客户的需求历史记录';
 
-             break;
 
-         case 'interviewIdeas':
 
-             interactTitle = '面谈思路历史记录';
 
-             break;
 
-         case 'interviewPurpose':
 
-             interactTitle = '面谈达成的目的历史记录';
 
-             break;
 
-         case 'interviewRecommend':
 
-             interactTitle = '经理/上级面谈建议历史记录';
 
-             break;
 
-         case 'interviewFeedback':
 
-             interactTitle = '面谈后反馈历史记录';
 
-             interactList = interactList.slice(1, interactList.length);
 
-             break;
 
-         case 'followUpPlan':
 
-             interactTitle = '后续跟进计划历史记录';
 
-             interactList = interactList.slice(1, interactList.length);
 
-             break;
 
-         default:
 
-             break;
 
-     }
 
-     this.setState({
 
-         interactShow: true,
 
-         interactShowType: type,
 
-         interactTitle,
 
-         interactList
 
-     });
 
-   }
 
-   render() {
 
-     const { dtails, upType, info, obj, userList } = this.state;
 
-     return (
 
-       <View className="customerProfile">
 
-         <MessageNoticebar />
 
-         <View
 
-           className="titleContent"
 
-         >
 
-           {Object.keys(dtails).length === 0 ? (
 
-             <Skeleton
 
-               title
 
-               row={3}
 
-               animateName="elastic"
 
-               avatarShape="square"
 
-               loading
 
-             />
 
-           ) : (
 
-             <View className="content">
 
-               <View className="name">
 
-                 <Text style={{ width: "80%" }}>
 
-                   <Text className="bod">{dtails.nickname}  </Text>
 
-                   <Text style={{ fontSize: "12px", color: ["red", "green"][dtails.signBills] }}>{["未签单", "已签单"][dtails.signBills]}</Text>
 
-                 </Text>
 
-                 {dtails.myUser == 1 && <Button className="share" plain type='primary' open-type="share">分享</Button>}
 
-                 {/* <View className="share">分享</View> */}
 
-               </View>
 
-               <View className="button">
 
-                 <View className="but"
 
-                   onClick={e => {
 
-                     e.stopPropagation()
 
-                     this.setState({
 
-                       isSuperior: true
 
-                     })
 
-                   }}
 
-                 >上级指导</View>
 
-                 {
 
-                   this.state.isSuperior &&
 
-                   <Superior
 
-                     id={dtails.uid}
 
-                     userNames={dtails.nickname}
 
-                     isOpinion={this.state.isSuperior}
 
-                     isFill={dtails.myUser == 0}
 
-                     onClose={() => {
 
-                       this.setState({
 
-                         isSuperior: false
 
-                       })
 
-                     }}
 
-                   />
 
-                 }
 
-                 <View className="but"
 
-                   onClick={e => {
 
-                     e.stopPropagation()
 
-                     Taro.navigateTo({
 
-                       url: "/pages/situation/index?id=" + this.$instance.router.params.id + "¬Required=" + this.$instance.router.params.notRequired,
 
-                     });
 
-                   }}
 
-                 >公出记录</View>
 
-               </View>
 
-               <View className="row">
 
-                 <View className="code">{dtails.orgCode}</View>
 
-                 <View className="time">{dtails.createTime}</View>
 
-               </View>
 
-               {
 
-                 dtails.newChannel == 1
 
-                   ?
 
-                   <View className="first">
 
-                     <View className="tit">
 
-                       已知渠道情况
 
-                       {
 
-                         dtails.myUser == 1 &&
 
-                         <View className="up"
 
-                           onClick={e => {
 
-                             e.stopPropagation()
 
-                             this.setState({
 
-                               upType: 7,
 
-                               isOpened: true,
 
-                               info: {
 
-                                 uid: this.$instance.router.params.id,
 
-                                 channelType: dtails.channelType,
 
-                                 enterpriseCount: dtails.enterpriseCount,
 
-                                 channelIndicators: dtails.channelIndicators,
 
-                               },
 
-                               channe: {
 
-                                 id: dtails.channelType,
 
-                                 title: getChannel(dtails.channelType)
 
-                               }
 
-                             })
 
-                           }}
 
-                         >修改</View>
 
-                       }
 
-                     </View>
 
-                     <View className="val">渠道类别:{getChannel(dtails.channelType)}</View>
 
-                     <View className="val">渠道企业数:{dtails.enterpriseCount}</View>
 
-                     <View className="val">渠道考核指标:{dtails.channelIndicators}</View>
 
-                     <View className="tit">
 
-                       <Text>
 
-                         联系人
 
-                         <Text className="txt">(面谈人)</Text>
 
-                       </Text>
 
-                       {
 
-                         dtails.myUser == 1 &&
 
-                         <View className="up"
 
-                           onClick={e => {
 
-                             e.stopPropagation()
 
-                             this.getUserList();
 
-                             this.setState({
 
-                               isAdd: true,
 
-                               obj: {
 
-                                 uid: this.$instance.router.params.id,
 
-                                 name: "",
 
-                                 position: "",
 
-                                 department: "",
 
-                                 mobile: "",
 
-                               }
 
-                             })
 
-                           }}
 
-                         >新增</View>
 
-                       }
 
-                     </View>
 
-                     {
 
-                       !!dtails.contactList && dtails.contactList.map((v, k) =>
 
-                         <View className="val" key={k}>{v.name}  {v.position}  {v.department}  {v.mobile}</View>
 
-                       )
 
-                     }
 
-                   </View>
 
-                   :
 
-                   <View className="first">
 
-                     <View className="title">企业面谈思路表</View>
 
-                     <View className="val" style={{ display: 'flex' }}>
 
-                         企业所在地省市区:
 
-                         {/* <Picker
 
-                             mode='region'
 
-                             value={this.state.region}
 
-                             customItem={this.state.customItem}
 
-                             onChange={this.bindRegionChange.bind(this)}
 
-                         >
 
-                             <View className='picker'>
 
-                             { this.state.region.length ? this.state.region.join('-') : '请选择' }
 
-                             </View>
 
-                         </Picker> */}
 
-                         <View onClick={() => {this.setState({ addressPickerShow: true })}}>
 
-                             { dtails.locationProvince ? `${dtails.locationProvinceName}-${dtails.locationCityName}-${dtails.locationAreaName}` : '请选择' }
 
-                         </View>
 
-                         <AddressPicker
 
-                             pickerShow={this.state.addressPickerShow}
 
-                             onHandleToggleShow={this.toggleAddressPicker.bind(this)}
 
-                         />
 
-                     </View>
 
-                     {/* <View className="tit">
 
-                       企业面谈思路表
 
-                       {
 
-                         dtails.myUser == 1 &&
 
-                         <View className="up"
 
-                           onClick={e => {
 
-                             e.stopPropagation()
 
-                             this.setState({
 
-                               upType: 0,
 
-                               isOpened: true,
 
-                               info: {
 
-                                 uid: this.$instance.router.params.id,
 
-                                 industry: dtails.industry,
 
-                                 businessScope: dtails.businessScope,
 
-                               },
 
-                               sector: {
 
-                                 id: dtails.industry,
 
-                                 title: dtails.industryName
 
-                               }
 
-                             })
 
-                           }}
 
-                         >修改</View>
 
-                       }
 
-                     </View> */}
 
-                     <View className="val" style={{display: 'flex'}}>
 
-                         企业所属行业:
 
-                         <View onClick={() => this.handleOpenMultiplePicker('industry')}>
 
-                             { this.state.dtails.industryName || '请选择' }
 
-                         </View>
 
-                     </View>
 
-                     <View className="val" style={{display: 'flex', alignItems: 'center'}}>
 
-                         主营产品:
 
-                         <View style={{flex: 1}}>
 
-                             <AtInput
 
-                             value={dtails.businessScope}
 
-                             name='businessScope'
 
-                             placeholder='可填写多个,用“、”隔开'
 
-                             size='mini'
 
-                             onChange={value => {
 
-                                 dtails.businessScope = value;
 
-                                 this.setState({ dtails })
 
-                             }}
 
-                             />
 
-                         </View>
 
-                         
 
-                     </View>
 
-                     <View className="val" style={{ display: 'flex', alignItems: 'center' }}>
 
-                         母/子公司数:
 
-                         <View style={{width: '120rpx'}}>
 
-                             <AtInputNumber
 
-                             min={0}
 
-                             max={99999}
 
-                             value={dtails.companyCount}
 
-                             name='companyCount'
 
-                             type='number'
 
-                             placeholder='请输入数量'
 
-                             size='mini'
 
-                             onChange={value => {
 
-                                 dtails.companyCount = value;
 
-                                 this.setState({ dtails })
 
-                             }}
 
-                             />
 
-                         </View>
 
-                     </View>
 
-                     <View className="val" style={{ display: 'flex', alignItems: 'center' }}>
 
-                         社保人数:
 
-                         <View style={{width: '120rpx'}}>
 
-                             <AtInputNumber
 
-                             min={0}
 
-                             max={99999}
 
-                             value={dtails.socialSecurityCount}
 
-                             name='socialSecurityCount'
 
-                             type='number'
 
-                             placeholder='请输入数量'
 
-                             size='mini'
 
-                             onChange={value => {
 
-                                 dtails.socialSecurityCount = value;
 
-                                 this.setState({ dtails })
 
-                             }}
 
-                             />
 
-                         </View>
 
-                     </View>
 
-                     <View className="val" style={{ display: 'flex', alignItems: 'center' }}>
 
-                         对外投资控股的企业数:
 
-                         <View style={{width: '120rpx'}}>
 
-                             <AtInputNumber
 
-                             min={0}
 
-                             max={99999}
 
-                             value={dtails.externalInvestCount}
 
-                             name='externalInvestCount'
 
-                             type='number'
 
-                             placeholder='请输入数量'
 
-                             size='mini'
 
-                             onChange={value => {
 
-                                 dtails.externalInvestCount = value;
 
-                                 this.setState({ dtails })
 
-                             }}
 
-                             />
 
-                         </View>
 
-                     </View>
 
-                     <View className="val" style={{display: 'flex'}}>
 
-                         对外投资控股的行业:
 
-                         <View onClick={() => this.handleOpenMultiplePicker('externalInvestIndustry')}>
 
-                             { this.state.dtails.externalInvestIndustryName || '请选择' }
 
-                         </View>
 
-                     </View>
 
-                     <View className="val" style={{display: 'flex'}}>
 
-                         对外投资控股的企业名称:
 
-                         <View onClick={() => this.addItemDialog('externalInvestName')}>
 
-                             { this.state.dtails.externalInvestName || '点击新增' }
 
-                         </View>
 
-                     </View>
 
-                     <View className="tit">
 
-                       <Text>
 
-                         主要面谈联系信息
 
-                         {/* <Text className="txt">(面谈人)</Text> */}
 
-                       </Text>
 
-                       {
 
-                         dtails.myUser == 1 &&
 
-                         <View className="up"
 
-                           onClick={e => {
 
-                             e.stopPropagation()
 
-                             this.getUserList();
 
-                             this.setState({
 
-                               isAdd: true,
 
-                               obj: {
 
-                                 uid: this.$instance.router.params.id,
 
-                                 name: "",
 
-                                 position: "",
 
-                                 department: "",
 
-                                 mobile: "",
 
-                               }
 
-                             })
 
-                           }}
 
-                         >新增</View>
 
-                       }
 
-                     </View>
 
-                     {
 
-                       !!dtails.contactList && dtails.contactList.map((v, k) =>
 
-                         <View className="val" key={k}>
 
-                           {v.name}  {v.position}  {v.department}  {v.mobile}
 
-                           {this.state.isMask && <View className="mask"></View>}
 
-                         </View>
 
-                       )
 
-                     }
 
-                     <View className="tit">
 
-                       本次面谈项目
 
-                       {
 
-                         dtails.myUser == 1 &&
 
-                         <View className="up"
 
-                           onClick={e => {
 
-                             e.stopPropagation()
 
-                             this.getBusinessProjectByName("")
 
-                             this.setState({
 
-                               upType: 5,
 
-                               isOpened: true,
 
-                               info: {
 
-                                 uid: this.$instance.router.params.id,
 
-                                 intendedProject: dtails.intendedProject,
 
-                               },
 
-                               checkOptions: !!dtails.intendedProject ? dtails.intendedProject.split(",") : []
 
-                             })
 
-                           }}
 
-                         >新增</View>
 
-                       }
 
-                     </View>
 
-                     <View className="val">{dtails.intendedProject || "无"}</View>
 
-                     <View style={{marginTop: '60rpx'}}>
 
-                         <View className="title">面谈已知企业情况</View>
 
-                         <View className="tit">
 
-                             <Text>
 
-                                 1.知识产权情况
 
-                                 <Text className="txt">(专利信息、标准、专利、软著)</Text>
 
-                             </Text>
 
-                             {
 
-                             dtails.myUser == 1 &&
 
-                             <View className="up"
 
-                             onClick={e => {
 
-                                 e.stopPropagation()
 
-                                 this.setState({
 
-                                 upType: 1,
 
-                                 isOpened: true,
 
-                                 info: {
 
-                                     uid: this.$instance.router.params.id,
 
-                                     id: dtails.id,
 
-                                     inventionPatentCount: dtails.inventionPatentCount || 0,
 
-                                     utilityModelCount: dtails.utilityModelCount || 0,
 
-                                     appearancePatentCount: dtails.appearancePatentCount || 0,
 
-                                     softwareWorksCount: dtails.softwareWorksCount || 0,
 
-                                     otherCount: dtails.otherCount || 0,
 
-                                 }
 
-                                 })
 
-                             }}
 
-                             >修改</View>
 
-                         }
 
-                         </View>
 
-                         <View className="val">
 
-                             专利 <Text className="num">{dtails.patentCount || 0}</Text>   
 
-                             其中发明专利 <Text className="num">{dtails.inventionPatentCount || 0}</Text>   
 
-                             实用新型 <Text className="num">{dtails.utilityModelCount || 0}</Text>   
 
-                             外观设计 <Text className="num">{dtails.appearancePatentCount || 0}</Text>   
 
-                             软著 <Text className="num">{dtails.softwareWorksCount || 0}</Text>   
 
-                             标准 <Text className="num">{dtails.standard == 1 ? '有' : '无'}</Text>   
 
-                             其他类型 <Text className="num">{dtails.otherCount || 0}</Text>   
 
-                         </View>
 
-                         <View className="tit">2.财务数据</View>
 
-                         <View className="val" style={{display: 'flex', alignItems: 'center'}}>
 
-                             营收(万元):
 
-                             <View style={{width: '120rpx'}}>
 
-                                 <AtInputNumber
 
-                                 min={0}
 
-                                 max={99999}
 
-                                 value={dtails.financialRevenue}
 
-                                 name='financialRevenue'
 
-                                 type='number'
 
-                                 placeholder='请输入数量'
 
-                                 size='mini'
 
-                                 onChange={value => {
 
-                                     dtails.financialRevenue = value;
 
-                                     this.setState({ dtails })
 
-                                 }}
 
-                                 />
 
-                             </View>
 
-                         </View>
 
-                         <View className="val" style={{display: 'flex', alignItems: 'center'}}>
 
-                             税收(万元):
 
-                             <View style={{width: '120rpx'}}>
 
-                                 <AtInputNumber
 
-                                 min={0}
 
-                                 max={99999}
 
-                                 value={dtails.financialTax}
 
-                                 name='financialTax'
 
-                                 type='number'
 
-                                 placeholder='请输入数量'
 
-                                 size='mini'
 
-                                 onChange={value => {
 
-                                     dtails.financialTax = value;
 
-                                     this.setState({ dtails })
 
-                                 }}
 
-                                 />
 
-                             </View>
 
-                         </View>
 
-                         <View className="val" style={{display: 'flex', alignItems: 'center'}}>
 
-                             资产(万元):
 
-                             <View style={{width: '120rpx'}}>
 
-                                 <AtInputNumber
 
-                                 min={0}
 
-                                 max={99999}
 
-                                 value={dtails.financialProperty}
 
-                                 name='financialProperty'
 
-                                 type='number'
 
-                                 placeholder='请输入数量'
 
-                                 size='mini'
 
-                                 onChange={value => {
 
-                                     dtails.financialProperty = value;
 
-                                     this.setState({ dtails })
 
-                                 }}
 
-                                 />
 
-                             </View>
 
-                             
 
-                         </View>
 
-                         <View className="val" style={{display: 'flex', alignItems: 'center'}}>
 
-                             研发费用(万元):
 
-                             <View style={{width: '120rpx'}}>
 
-                                 <AtInputNumber
 
-                                 min={0}
 
-                                 max={99999}
 
-                                 value={dtails.financialRd}
 
-                                 name='financialRd'
 
-                                 type='number'
 
-                                 placeholder='请输入数量'
 
-                                 size='mini'
 
-                                 onChange={value => {
 
-                                     dtails.financialRd = value;
 
-                                     this.setState({ dtails })
 
-                                 }}
 
-                                 />
 
-                             </View>
 
-                         </View>
 
-                         <View className="tit">3.前期沟通情况</View>
 
-                         <View className="tit">
 
-                             <Text>
 
-                             客户的难处
 
-                             <Text className="txt">(20字以上)</Text>
 
-                             </Text>
 
-                             { dtails.interviewList.length ? (
 
-                                 <AtIcon value='clock' size='20' color='#1E90FF' onClick={() => this.openInteractHis('earlyCommunication')}></AtIcon>
 
-                             ) : null }
 
-                             
 
-                         </View>
 
-                         <View className="val">
 
-                             <AtTextarea
 
-                             value={dtails.earlyCommunication}
 
-                             maxLength={200}
 
-                             placeholder='请编写本次面谈客户难处~'
 
-                             height={70}
 
-                             onChange={value => {
 
-                                 dtails.earlyCommunication = value;
 
-                                 this.setState({ dtails });
 
-                             }}
 
-                             />
 
-                         </View>
 
-                         <View className="tit">
 
-                             <Text>
 
-                             客户的需求
 
-                             <Text className="txt">(20字以上)</Text>
 
-                             </Text>
 
-                             { dtails.interviewList.length ? (
 
-                                 <AtIcon value='clock' size='20' color='#1E90FF' onClick={() => this.openInteractHis('customerDemand')}></AtIcon>
 
-                             ) : null }
 
-                             
 
-                         </View>
 
-                         <View className="val">
 
-                             <AtTextarea
 
-                             value={dtails.customerDemand}
 
-                             maxLength={200}
 
-                             placeholder='请编写本次面谈客户需求~'
 
-                             height={70}
 
-                             onChange={value => {
 
-                                 dtails.customerDemand = value;
 
-                                 this.setState({ dtails });
 
-                             }}
 
-                             />
 
-                         </View>
 
-                         <View className="tit">
 
-                             <Text>
 
-                             面谈思路
 
-                             <Text className="txt">(20字以上)</Text>
 
-                             </Text>
 
-                             { dtails.interviewList.length ? (
 
-                                 <AtIcon value='clock' size='20' color='#1E90FF' onClick={() => this.openInteractHis('interviewIdeas')}></AtIcon>
 
-                             ) : null }
 
-                             
 
-                         </View>
 
-                         <View className="val">
 
-                             <AtTextarea
 
-                             value={dtails.interviewIdeas}
 
-                             maxLength={200}
 
-                             placeholder='请编写本次面谈客户思路~'
 
-                             height={70}
 
-                             onChange={value => {
 
-                                 dtails.interviewIdeas = value;
 
-                                 this.setState({ dtails });
 
-                             }}
 
-                             />
 
-                         </View>
 
-                         <View className="tit">
 
-                             <Text>
 
-                             面谈达成的目的
 
-                             <Text className="txt">(20字以上)</Text>
 
-                             </Text>
 
-                             { dtails.interviewList.length ? (
 
-                                 <AtIcon value='clock' size='20' color='#1E90FF' onClick={() => this.openInteractHis('interviewPurpose')}></AtIcon>
 
-                             ) : null }
 
-                         </View>
 
-                         <View className="val">
 
-                             <AtTextarea
 
-                             value={dtails.interviewPurpose}
 
-                             maxLength={200}
 
-                             placeholder='请编写本次面谈达成的目的~'
 
-                             height={70}
 
-                             onChange={value => {
 
-                                 dtails.interviewPurpose = value;
 
-                                 this.setState({ dtails });
 
-                             }}
 
-                             />
 
-                         </View>
 
-                         <View className="tit">
 
-                             <Text>
 
-                             经理/上级面谈建议
 
-                             <Text className="txt">(由经理/上级口述,本人整理,20字以上)</Text>
 
-                             </Text>
 
-                             { dtails.interviewList.length ? (
 
-                                 <AtIcon value='clock' size='20' color='#1E90FF' onClick={() => this.openInteractHis('interviewRecommend')}></AtIcon>
 
-                             ) : null }
 
-                         </View>
 
-                         <View className="val">
 
-                             <AtTextarea
 
-                             value={dtails.interviewRecommend}
 
-                             maxLength={200}
 
-                             placeholder='请编写本次面谈建议~'
 
-                             height={70}
 
-                             onChange={value => {
 
-                                 dtails.interviewRecommend = value;
 
-                                 this.setState({ dtails });
 
-                             }}
 
-                             />
 
-                         </View>
 
-                         { dtails.interviewList && dtails.interviewList.length ? (
 
-                             <>
 
-                                 <View className="tit">
 
-                                     <Text>
 
-                                     面谈后的反馈
 
-                                     <Text className="txt">(20字以上)</Text>
 
-                                     </Text>
 
-                                     <AtIcon value='clock' size='20' color='#1E90FF' onClick={() => this.openInteractHis('interviewFeedback')}></AtIcon>
 
-                                 </View>
 
-                                 <View className="val">
 
-                                     <AtTextarea
 
-                                     value={dtails.interviewFeedback}
 
-                                     maxLength={200}
 
-                                     placeholder='请编写本次面谈后的反馈~'
 
-                                     height={70}
 
-                                     onChange={value => {
 
-                                         dtails.interviewFeedback = value;
 
-                                         this.setState({ dtails });
 
-                                     }}
 
-                                     />
 
-                                 </View>
 
-                                 <View className="tit">
 
-                                     <Text>
 
-                                     后续跟进计划
 
-                                     <Text className="txt">(20字以上)</Text>
 
-                                     </Text>
 
-                                     <AtIcon value='clock' size='20' color='#1E90FF' onClick={() => this.openInteractHis('followUpPlan')}></AtIcon>
 
-                                 </View>
 
-                                 <View className="val">
 
-                                     <AtTextarea
 
-                                     value={dtails.followUpPlan}
 
-                                     maxLength={200}
 
-                                     placeholder='请编写后续跟进计划~'
 
-                                     height={70}
 
-                                     onChange={value => {
 
-                                         dtails.followUpPlan = value;
 
-                                         this.setState({ dtails });
 
-                                     }}
 
-                                     />
 
-                                 </View>
 
-                             </>
 
-                         ) : null }
 
-                         <AtButton type="primary" onClick={this.onSaveAllData.bind(this)}>保存</AtButton>
 
-                     </View>
 
-                   </View>
 
-               }
 
-               {/* {
 
-                 dtails.newChannel == 1
 
-                   ?
 
-                   <View className="two">
 
-                     <View className="title">面谈前渠道情况</View>
 
-                     <View className="tit">
 
-                       <Text>
 
-                         面谈项目
 
-                       </Text>
 
-                       {
 
-                         dtails.myUser == 1 &&
 
-                         <View className="up"
 
-                           onClick={e => {
 
-                             e.stopPropagation()
 
-                             this.getBusinessProjectByName("")
 
-                             this.setState({
 
-                               upType: 5,
 
-                               isOpened: true,
 
-                               info: {
 
-                                 uid: this.$instance.router.params.id,
 
-                                 intendedProject: dtails.intendedProject,
 
-                               },
 
-                               checkOptions: !!dtails.intendedProject ? dtails.intendedProject.split(",") : []
 
-                             })
 
-                           }}
 
-                         >修改</View>
 
-                       }
 
-                     </View>
 
-                     <View className="val">{dtails.intendedProject || "无"}</View>
 
-                     <View className="tit">
 
-                       <Text>
 
-                         面谈思路及目的
 
-                       </Text>
 
-                       {
 
-                         dtails.myUser == 1 &&
 
-                         <View className="up"
 
-                           onClick={e => {
 
-                             e.stopPropagation()
 
-                             this.setState({
 
-                               upType: 4,
 
-                               isOpened: true,
 
-                               info: {
 
-                                 uid: this.$instance.router.params.id,
 
-                                 id: dtails.id,
 
-                                 interviewIdeas: dtails.interviewIdeas,
 
-                               }
 
-                             })
 
-                           }}
 
-                         >修改</View>
 
-                       }
 
-                     </View>
 
-                     <View className="val">{dtails.interviewIdeas || "无"}</View>
 
-                     <View className="tit">
 
-                       <Text>
 
-                         我方主要面谈人及分工
 
-                       </Text>
 
-                       {
 
-                         dtails.myUser == 1 &&
 
-                         <View className="up"
 
-                           onClick={e => {
 
-                             e.stopPropagation()
 
-                             this.setState({
 
-                               upType: 6,
 
-                               isOpened: true,
 
-                               info: {
 
-                                 uid: this.$instance.router.params.id,
 
-                                 id: dtails.id,
 
-                                 interviewDistribution: dtails.interviewDistribution,
 
-                               }
 
-                             })
 
-                           }}
 
-                         >修改</View>
 
-                       }
 
-                     </View>
 
-                     <View className="val">{dtails.interviewDistribution || "无"}</View>
 
-                   </View>
 
-                   :
 
-                   <View className="two">
 
-                       
 
-                     <View className="title">面谈企业情况</View>
 
-                     <AtInput
 
-                         name='mzgssl'
 
-                         title='母/子公司数'
 
-                         type='number'
 
-                         placeholder='请输入数量'
 
-                     />
 
-                      <AtInput
 
-                         name='sbrs'
 
-                         title=''
 
-                         type='number'
 
-                         placeholder='请输入数量'
 
-                         size='mini'
 
-                     />
 
-                     <AtInput
 
-                         name='qyes'
 
-                         title='对外投资控股的企业数'
 
-                         type='number'
 
-                         placeholder='请输入数量'
 
-                     />
 
-                     <View className="tit">
 
-                       <Text>
 
-                         知识产权情况
 
-                         <Text className="txt">(专利信息、标准、专利、软著)</Text>
 
-                       </Text>
 
-                       {
 
-                         dtails.myUser == 1 &&
 
-                         <View className="up"
 
-                           onClick={e => {
 
-                             e.stopPropagation()
 
-                             this.setState({
 
-                               upType: 1,
 
-                               isOpened: true,
 
-                               info: {
 
-                                 uid: this.$instance.router.params.id,
 
-                                 id: dtails.id,
 
-                                 inventionPatentCount: dtails.inventionPatentCount || 0,
 
-                                 utilityModelCount: dtails.utilityModelCount || 0,
 
-                                 appearancePatentCount: dtails.appearancePatentCount || 0,
 
-                                 softwareWorksCount: dtails.softwareWorksCount || 0,
 
-                                 otherCount: dtails.otherCount || 0,
 
-                               }
 
-                             })
 
-                           }}
 
-                         >修改</View>
 
-                       }
 
-                     </View>
 
-                     <View className="val">
 
-                       专利 <Text className="num">{dtails.patentCount || 0}</Text>   
 
-                       其中发明专利 <Text className="num">{dtails.inventionPatentCount || 0}</Text>   
 
-                       实用新型 <Text className="num">{dtails.utilityModelCount || 0}</Text>   
 
-                       外观设计 <Text className="num">{dtails.appearancePatentCount || 0}</Text>   
 
-                       软著 <Text className="num">{dtails.softwareWorksCount || 0}</Text>   
 
-                       标准 <Text className="num">{'有'}</Text>   
 
-                       其他类型 <Text className="num">{dtails.otherCount || 0}</Text>   
 
-                     </View>
 
-                     <View className="tit">
 
-                       <Text>
 
-                         财务数据
 
-                         <Text className="txt">(包括营收、税收、资产、研发费用等)</Text>
 
-                       </Text>
 
-                       {
 
-                         dtails.myUser == 1 &&
 
-                         <View className="up"
 
-                           onClick={e => {
 
-                             e.stopPropagation()
 
-                             this.setState({
 
-                               upType: 2,
 
-                               isOpened: true,
 
-                               info: {
 
-                                 uid: this.$instance.router.params.id,
 
-                                 id: dtails.id,
 
-                                 financialData: dtails.financialData,
 
-                               }
 
-                             })
 
-                           }}
 
-                         >修改</View>
 
-                       }
 
-                     </View>
 
-                     <View className="val">{dtails.financialData || "无"}</View>
 
-                     <View className="tit">
 
-                       <Text>
 
-                         前期沟通
 
-                         <Text className="txt">(客户的难处、需求)</Text>
 
-                       </Text>
 
-                       {
 
-                         dtails.myUser == 1 &&
 
-                         <View className="up"
 
-                           onClick={e => {
 
-                             e.stopPropagation()
 
-                             this.setState({
 
-                               upType: 3,
 
-                               isOpened: true,
 
-                               info: {
 
-                                 uid: this.$instance.router.params.id,
 
-                                 id: dtails.id,
 
-                                 earlyCommunication: dtails.earlyCommunication,
 
-                               }
 
-                             })
 
-                           }}
 
-                         >修改</View>
 
-                       }
 
-                     </View>
 
-                     <View className="val">{dtails.earlyCommunication || "无"}</View>
 
-                     <View className="tit">
 
-                       <Text>
 
-                         面谈思路及目的
 
-                       </Text>
 
-                       {
 
-                         dtails.myUser == 1 &&
 
-                         <View className="up"
 
-                           onClick={e => {
 
-                             e.stopPropagation()
 
-                             this.setState({
 
-                               upType: 4,
 
-                               isOpened: true,
 
-                               info: {
 
-                                 uid: this.$instance.router.params.id,
 
-                                 id: dtails.id,
 
-                                 interviewIdeas: dtails.interviewIdeas,
 
-                               }
 
-                             })
 
-                           }}
 
-                         >修改</View>
 
-                       }
 
-                     </View>
 
-                     <View className="val">{dtails.interviewIdeas || "无"}</View>
 
-                   </View>
 
-               } */}
 
-             </View>
 
-           )}
 
-         </View>
 
-         <AtModal
 
-           isOpened={this.state.isOpened}
 
-           onClose={() => {
 
-             this.setState({
 
-               isOpened: false
 
-             })
 
-           }}
 
-         >
 
-           <AtModalHeader>信息修改</AtModalHeader>
 
-           <AtModalContent>
 
-             {
 
-               upType == 0 &&
 
-               <View>
 
-                 <View className='selectTitle'>企业行业</View>
 
-                 <Picker
 
-                   value={this.state.sector.id}
 
-                   range={industry} rangeKey='title' mode='selector'
 
-                   onChange={(e) => {
 
-                     this.setState({
 
-                       sector: industry[e.detail.value],
 
-                       info: Object.assign(info, {
 
-                         industry: industry[e.detail.value].id,
 
-                       })
 
-                     })
 
-                   }}>
 
-                   <View style={{ marginBottom: "10px", color: !this.state.sector.title && "#CCCCCC" }}>
 
-                     {!this.state.sector.title ? "请选择" : this.state.sector.title}
 
-                   </View>
 
-                 </Picker>
 
-                 <View className='selectTitle'>企业主营产品/服务</View>
 
-                 <Input
 
-                   // name='value'
 
-                   // title='企业主营产品/服务'
 
-                   type='text'
 
-                   placeholder='请用,符号隔开关键字'
 
-                   value={info.businessScope}
 
-                   onInput={e => {
 
-                     this.setState({
 
-                       info: Object.assign(info, {
 
-                         businessScope: e.detail.value,
 
-                       })
 
-                     })
 
-                   }}
 
-                 />
 
-               </View>
 
-             }
 
-             {
 
-               upType == 1 &&
 
-               <View>
 
-                 <AtInput
 
-                   name='inventionPatentCount'
 
-                   title='发明专利'
 
-                   type='number'
 
-                   value={info.inventionPatentCount}
 
-                   onChange={e => {
 
-                     this.setState({
 
-                       info: Object.assign(info, {
 
-                         inventionPatentCount: e,
 
-                       })
 
-                     })
 
-                   }}
 
-                 />
 
-                 <AtInput
 
-                   name='utilityModelCount'
 
-                   title='实用新型'
 
-                   type='number'
 
-                   value={info.utilityModelCount}
 
-                   onChange={e => {
 
-                     this.setState({
 
-                       info: Object.assign(info, {
 
-                         utilityModelCount: e,
 
-                       })
 
-                     })
 
-                   }}
 
-                 />
 
-                 <AtInput
 
-                   name='appearancePatentCount'
 
-                   title='外观专利'
 
-                   type='number'
 
-                   value={info.appearancePatentCount}
 
-                   onChange={e => {
 
-                     this.setState({
 
-                       info: Object.assign(info, {
 
-                         appearancePatentCount: e,
 
-                       })
 
-                     })
 
-                   }}
 
-                 />
 
-                 <AtInput
 
-                   name='softwareWorksCount'
 
-                   title='软著'
 
-                   type='number'
 
-                   value={info.softwareWorksCount}
 
-                   onChange={e => {
 
-                     this.setState({
 
-                       info: Object.assign(info, {
 
-                         softwareWorksCount: e,
 
-                       })
 
-                     })
 
-                   }}
 
-                 />
 
-                 <View style={{display: 'flex', margin: '12rpx 0'}}>
 
-                     <Text style={{ fontSize: '32rpx', marginRight: '16rpx', width: '172rpx' }}>标准</Text>
 
-                     <RadioGroup title="标准" onChange={e => {
 
-                         dtails.standard = Number(e.target.value);
 
-                         this.setState({ dtails });
 
-                     }}>
 
-                         <Label className='radio-list__label'>
 
-                         <Radio className='radio-list__radio' value={1} checked={dtails.standard == 1}>有</Radio>
 
-                         </Label>
 
-                         <Label className='radio-list__label'>
 
-                         <Radio className='radio-list__radio' value={0} checked={!dtails.standard}>无</Radio>
 
-                         </Label>
 
-                     </RadioGroup>
 
-                 </View>
 
-                 <AtInput
 
-                   name='otherCount'
 
-                   title='其他'
 
-                   type='number'
 
-                   value={dtails.otherCount}
 
-                   onChange={e => {
 
-                     this.setState({
 
-                       info: Object.assign(dtails, {
 
-                         otherCount: e,
 
-                       })
 
-                     })
 
-                   }}
 
-                 />
 
-               </View>
 
-             }
 
-             {
 
-               upType == 2 &&
 
-               <View>
 
-                 <View className='selectTitle'>财务数据</View>
 
-                 <AtTextarea
 
-                   value={info.financialData || ""}
 
-                   onChange={e => {
 
-                     this.setState({
 
-                       info: Object.assign(info, {
 
-                         financialData: e,
 
-                       }),
 
-                     })
 
-                   }}
 
-                   maxLength={200}
 
-                   placeholder='请填写财务数据~'
 
-                 />
 
-               </View>
 
-             }
 
-             {
 
-               upType == 3 &&
 
-               <View>
 
-                 <View className='selectTitle'>前期沟通</View>
 
-                 <AtTextarea
 
-                   value={info.earlyCommunication || ""}
 
-                   onChange={e => {
 
-                     this.setState({
 
-                       info: Object.assign(info, {
 
-                         earlyCommunication: e,
 
-                       }),
 
-                     })
 
-                   }}
 
-                   maxLength={200}
 
-                   placeholder='请填写前期沟通~'
 
-                 />
 
-               </View>
 
-             }
 
-             {
 
-               upType == 4 &&
 
-               <View>
 
-                 <View className='selectTitle'>面谈思路及目的</View>
 
-                 <AtTextarea
 
-                   value={info.interviewIdeas || ""}
 
-                   onChange={e => {
 
-                     this.setState({
 
-                       info: Object.assign(info, {
 
-                         interviewIdeas: e,
 
-                       }),
 
-                     })
 
-                   }}
 
-                   maxLength={200}
 
-                   placeholder='请填写面谈思路及目的~'
 
-                 />
 
-               </View>
 
-             }
 
-             {
 
-               upType == 5 &&
 
-               <View>
 
-                 <AtSearchBar
 
-                   placeholder="请输入项目名称"
 
-                   showActionButton
 
-                   value={this.state.value}
 
-                   onChange={this.onSearchChange}
 
-                   onActionClick={() => {
 
-                     this.getBusinessProjectByName(this.state.value);
 
-                   }}
 
-                   onClear={() => {
 
-                     this.setState({
 
-                       value: "",
 
-                     }, () => { this.getBusinessProjectByName(this.state.value) });
 
-                   }}
 
-                 />
 
-                 {
 
-                   this.state.checkOptions.length > 0 &&
 
-                   <View className="selproject">
 
-                     已选择:
 
-                     {
 
-                       this.state.checkOptions.map((v, i) =>
 
-                         <View className="selptxt" key={i}
 
-                           onClick={() => {
 
-                             let list = this.state.checkOptions
 
-                             for (var j = 0; j < list.length; j++) {
 
-                               if (list[j] == v) {
 
-                                 list.splice(j, 1)
 
-                                 this.setState({
 
-                                   checkOptions: list,
 
-                                   info: Object.assign(info, {
 
-                                     intendedProject: list.toString(),
 
-                                   }),
 
-                                 })
 
-                               }
 
-                             }
 
-                           }}
 
-                         >{v} <AtIcon className='atIcon' value='close-circle' size='12' color='#fff' /></View>
 
-                       )
 
-                     }
 
-                   </View>
 
-                 }
 
-                 <AtCheckbox
 
-                   options={this.state.options}
 
-                   selectedList={this.state.checkOptions}
 
-                   onChange={e => {
 
-                     this.setState({
 
-                       checkOptions: e,
 
-                       info: Object.assign(info, {
 
-                         intendedProject: e.toString(),
 
-                       }),
 
-                     })
 
-                   }}
 
-                 />
 
-               </View>
 
-             }
 
-             {
 
-               upType == 6 &&
 
-               <View>
 
-                 <View className='selectTitle'>我方主要面谈人及分工</View>
 
-                 <AtTextarea
 
-                   value={info.interviewDistribution || ""}
 
-                   onChange={e => {
 
-                     this.setState({
 
-                       info: Object.assign(info, {
 
-                         interviewDistribution: e,
 
-                       }),
 
-                     })
 
-                   }}
 
-                   maxLength={200}
 
-                   placeholder='请填写我方主要面谈人及分工~'
 
-                 />
 
-               </View>
 
-             }
 
-             {
 
-               upType == 7 &&
 
-               <View>
 
-                 <View className='selectTitle' style={{ height: "30px" }}>
 
-                   渠道类别:
 
-                   <Picker
 
-                     value={this.state.channe.id}
 
-                     range={channelTypeList} rangeKey='title' mode='selector'
 
-                     onChange={(e) => {
 
-                       this.setState({
 
-                         channe: channelTypeList[e.detail.value],
 
-                         info: Object.assign(info, {
 
-                           channelType: channelTypeList[e.detail.value].id,
 
-                         })
 
-                       })
 
-                     }}>
 
-                     <View style={{ marginBottom: "10px", width: "160px", color: !this.state.channe.title && "#CCCCCC" }}>
 
-                       {!this.state.channe.title ? "请选择" : this.state.channe.title}
 
-                     </View>
 
-                   </Picker>
 
-                 </View>
 
-                 <View className='selectTitle' style={{ height: "30px" }}>
 
-                   覆盖企业数:
 
-                   <Input
 
-                     style={{ width: "50%" }}
 
-                     type='number'
 
-                     placeholder='请填写个数'
 
-                     value={info.enterpriseCount}
 
-                     onInput={e => {
 
-                       this.setState({
 
-                         info: Object.assign(info, {
 
-                           enterpriseCount: e.detail.value,
 
-                         })
 
-                       })
 
-                     }}
 
-                   />
 
-                 </View>
 
-                 <View className='selectTitle' >渠道考核指标</View>
 
-                 <AtTextarea
 
-                   value={info.channelIndicators || ""}
 
-                   onChange={e => {
 
-                     this.setState({
 
-                       info: Object.assign(info, {
 
-                         channelIndicators: e,
 
-                       }),
 
-                     })
 
-                   }}
 
-                   maxLength={200}
 
-                   placeholder='请填写渠道考核指标~'
 
-                 />
 
-               </View>
 
-             }
 
-           </AtModalContent>
 
-           <AtModalAction>
 
-             <Button type='secondary' onClick={() => { this.setState({ isOpened: false }) }}>取消</Button>
 
-             <Button type='primary' onClick={this.update}>确定修改</Button>
 
-           </AtModalAction>
 
-         </AtModal>
 
-         <AtModal
 
-           isOpened={this.state.isAdd}
 
-           onClose={() => {
 
-             this.setState({
 
-               isAdd: false
 
-             })
 
-           }}
 
-         >
 
-           <AtModalHeader>联系人</AtModalHeader>
 
-           <AtModalContent>
 
-             {
 
-               userList.map((item) =>
 
-                 <View key={item.id} className="additem">
 
-                   <Text className="txt">{item.name || " "}</Text>
 
-                   <Text className="txt">{item.position || " "}</Text>
 
-                   <Text className="txt">{item.department || " "}</Text>
 
-                   <Text className="mobile">{item.mobile || " "}</Text>
 
-                   <View
 
-                     className={item.major == 1 ? "bts" : "bt"}
 
-                     onClick={() => {
 
-                       item.major != 1 && this.updateMainContact(item.id)
 
-                     }}
 
-                   >
 
-                     {item.major == 1 ? "已选" : "选择"}
 
-                   </View>
 
-                 </View>
 
-               )
 
-             }
 
-             <AtInput
 
-               required
 
-               name='name'
 
-               title='姓名'
 
-               type='text'
 
-               placeholder='请填写姓名'
 
-               value={obj.name}
 
-               onChange={e => {
 
-                 this.setState({
 
-                   obj: Object.assign(obj, {
 
-                     name: e,
 
-                   })
 
-                 })
 
-               }}
 
-             />
 
-             <AtInput
 
-               required
 
-               name='position'
 
-               title='职位'
 
-               type='text'
 
-               placeholder='请填写职位'
 
-               value={obj.position}
 
-               onChange={e => {
 
-                 this.setState({
 
-                   obj: Object.assign(obj, {
 
-                     position: e,
 
-                   })
 
-                 })
 
-               }}
 
-             />
 
-             <AtInput
 
-               required
 
-               name='department'
 
-               title='部门'
 
-               type='text'
 
-               placeholder='请填写部门'
 
-               value={obj.department}
 
-               onChange={e => {
 
-                 this.setState({
 
-                   obj: Object.assign(obj, {
 
-                     department: e,
 
-                   })
 
-                 })
 
-               }}
 
-             />
 
-             <AtInput
 
-               required
 
-               name='mobile'
 
-               title='手机'
 
-               type='phone'
 
-               placeholder='请填写手机号'
 
-               value={obj.mobile}
 
-               onChange={e => {
 
-                 this.setState({
 
-                   obj: Object.assign(obj, {
 
-                     mobile: e,
 
-                   })
 
-                 })
 
-               }}
 
-             />
 
-           </AtModalContent>
 
-           <AtModalAction>
 
-             <Button type='secondary'
 
-               onClick={() => {
 
-                 this.setState({
 
-                   isAdd: false
 
-                 }, () => {
 
-                   this.queryByUidAll()
 
-                 })
 
-               }}>取消</Button>
 
-             <Button type='primary' onClick={this.add}>保存</Button>
 
-           </AtModalAction>
 
-         </AtModal>
 
-         <AtModal
 
-             isOpened={this.state.addItemShow}
 
-             onClose={this.handleCloseAddItemDialog}
 
-         >
 
-           <AtModalHeader>新增对外投资控股的企业</AtModalHeader>
 
-           <AtModalContent>
 
-             <AtInput
 
-               required
 
-               name='mobile'
 
-               title='企业名称'
 
-               placeholder='请输入企业名称'
 
-               value={this.state.addItemInputVal}
 
-               onChange={value => this.setState({ addItemInputVal: value })}
 
-             />
 
-           </AtModalContent>
 
-           <AtModalAction>
 
-             <Button type='secondary' onClick={this.handleCloseAddItemDialog}>取消</Button>
 
-             <Button type='primary' onClick={this.handleAddItemSave}>保存</Button>
 
-           </AtModalAction>
 
-         </AtModal>
 
-         {/* 多选框 */}
 
-         <CheckboxPicker
 
-             isOpened={this.state.multiplePickerShow}
 
-             title={this.state.multiplePickerTitle}
 
-             options={this.state.multiplePickerOptions}
 
-             checkedList={this.state.multiplePickerCheckedList}
 
-             onClose={() => {this.setState({multiplePickerShow: false})}}
 
-             onConfirm={this.handleMultipleConfirm}
 
-         ></CheckboxPicker>
 
-         {/* 沟通情况历史记录 */}
 
-         <InteractList
 
-             isOpened={this.state.interactShow}
 
-             list={this.state.interactList}
 
-             type={this.state.interactShowType}
 
-             title={this.state.interactTitle}
 
-             onClose={() => {
 
-                 this.setState({ interactShow: false })
 
-             }}
 
-         />
 
-       </View>
 
-     );
 
-   }
 
- }
 
- export default CustomerProfile;
 
 
  |