FuzerenView.vue 39 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596
  1. <template>
  2. <div id="FuzeRen">
  3. <!-- 背景渐变 -->
  4. <div class="top-color">
  5. <div class="top-fuzeren">
  6. <span class="top-fuzeren-fs">负责人 | <ww-open-data type="userName"
  7. :openid=myId></ww-open-data> </span>
  8. </div>
  9. </div>
  10. <!-- 个人信息模块 -->
  11. <div class="PersonalInformation">
  12. <!-- 内块 -->
  13. <div class="PI-bodyInnerblock">
  14. <!-- 弹性盒布局 -->
  15. <div class="PI-Bflex">
  16. <div class="PI-Bleft">
  17. <div class="OneCeng">
  18. <!-- 用户名 -->
  19. <div class="wx_password">
  20. <span>{{ wx_password }}</span>
  21. </div>
  22. </div>
  23. <!-- 关键词 -->
  24. <!-- <div class="KeyWordss"> -->
  25. <!-- first -->
  26. <!-- <div class="First-kw">
  27. <span>微信</span>
  28. </div> -->
  29. <!-- second -->
  30. <!-- <div class="Second-kw">
  31. <span>我负责的</span>
  32. </div> -->
  33. <!-- </div> -->
  34. </div>
  35. <!-- icon -->
  36. <div class="PI-Bright">
  37. <div class="PSicon">
  38. <img :src="userimg"
  39. alt=""
  40. style="width: 100%; height: 100%;">
  41. <!-- <span class="iconfont icon-24gf-user2"></span> -->
  42. </div>
  43. </div>
  44. </div>
  45. <!-- 联系信息 -->
  46. <!-- <div class="ContactDetails">
  47. <span class="iconfont icon-xinxi span1"></span>
  48. <span class="span2">{{ xinxipass }}</span>
  49. </div> -->
  50. <!-- 电话单聊 -->
  51. <div class="TelephoneChat">
  52. <div class="Telephone"
  53. @click="callPhone">
  54. <span class="iconfont icon-dianhua span1"></span>
  55. <span class="Tp-text">电话</span>
  56. </div>
  57. <!-- <span>|</span> -->
  58. <!-- <div class="Chat">
  59. <span class="iconfont icon-xiaoxi span2"></span>
  60. <span class="Ch-text">单聊</span>
  61. </div> -->
  62. </div>
  63. </div>
  64. </div>
  65. <!-- 标签模块 -->
  66. <div class="TagsModule">
  67. <!-- 内块 -->
  68. <div class="TagsModuleInnerblock">
  69. <!-- 标题 -->
  70. <p class="TagsModule-p">标签</p>
  71. <!-- 标签 -->
  72. <div class="label">
  73. <!-- first -->
  74. <div class="First-label"
  75. v-for="(item,index) in labelList"
  76. :key="index">
  77. <span>{{ item }}</span>
  78. </div>
  79. </div>
  80. </div>
  81. </div>
  82. <!-- 关系分析模块 -->
  83. <div class="RelationshipAnalysis">
  84. <!-- 内块 -->
  85. <div class="RA-body">
  86. <!-- 关系 -->
  87. <div class="RA-body-guanxi">
  88. <div class="RBG-tit">
  89. <span class="GX-tit">关系</span>
  90. </div>
  91. <div class="RBG-bd">
  92. <span class="GX-bd">{{relationship}}个 企业好友</span>
  93. <!-- <span class="GX-bd-fgx">|</span>
  94. <span class="GX-bd">0个 群聊</span> -->
  95. </div>
  96. </div>
  97. <!-- 分析 -->
  98. <!-- <div class="RA-body-fenxi">
  99. <div class="RBF-tit">
  100. <span class="FX-tit">分析</span>
  101. </div>
  102. <div class="RBF-bd">
  103. <span class="FX-bd">低意向客户</span>
  104. </div>
  105. </div> -->
  106. </div>
  107. </div>
  108. <!-- 标签栏模块 -->
  109. <div class="LabelBarModule">
  110. <tabs v-model="active"
  111. class="vanttabs"
  112. @click="onClick">
  113. <tab title="详情">
  114. <div class="TabsXiangqing">
  115. <!-- 基础信息 -->
  116. <div class="BasicInformation">
  117. <!-- 标题 -->
  118. <div class="BI-title">
  119. <span>基础信息</span>
  120. </div>
  121. <!-- 基础信息内容 -->
  122. <div class="BI-body">
  123. <!-- 顶层 -->
  124. <div class="BI-body-top">
  125. <div class="BI-flex">
  126. <span class="span1">昵称</span>
  127. <span class="span2">{{ LabelBarModule.nickName }}</span>
  128. </div>
  129. </div>
  130. <div class="BI-body-bottom">
  131. <div class="BI-flex">
  132. <span class="span1">性别</span>
  133. <span class="span2">{{ LabelBarModule.sex }}</span>
  134. </div>
  135. </div>
  136. </div>
  137. </div>
  138. <!-- 联系方式 -->
  139. <div class="ContactInformation">
  140. <!-- 标题 -->
  141. <div class="CI-title">
  142. <span>联系方式</span>
  143. </div>
  144. <!-- 联系方式内容 -->
  145. <div class="CI-body">
  146. <!-- first -->
  147. <div class="CI-body-first">
  148. <div class="CI-flex">
  149. <span class="span1">手机号</span>
  150. <div> <span class="span2"
  151. v-for="(item ,index ) in PhoneNumber"
  152. :key="index"
  153. @click="telPhoneNumber(item)">{{item}} </span></div>
  154. </div>
  155. </div>
  156. <!-- second -->
  157. <div class="CI-body-second">
  158. <div class="CI-flex">
  159. <span class="span1">邮箱</span>
  160. <span class="span2">{{LabelBarModule.email}}</span>
  161. </div>
  162. </div>
  163. <!-- third -->
  164. <!-- <div class="CI-body-third">
  165. <div class="CI-flex">
  166. <span class="span1">地区</span>
  167. <span class="span2">-</span>
  168. </div>
  169. </div> -->
  170. <!-- fouth -->
  171. <div class="CI-body-fouth">
  172. <div class="CI-flex">
  173. <span class="span1">详细地址</span>
  174. <div>
  175. <span class="span2"
  176. v-for="(item,index) in address"
  177. :key="index">{{ item }}</span>
  178. </div>
  179. </div>
  180. </div>
  181. </div>
  182. </div>
  183. <!-- 身份信息 -->
  184. <div class="IdentityInformation">
  185. <!-- 标题 -->
  186. <div class="II-title">
  187. <span>身份信息</span>
  188. </div>
  189. <!-- 基础信息内容 -->
  190. <div class="II-body">
  191. <!-- 顶层 -->
  192. <!-- <div class="II-body-top">
  193. <div class="II-flex">
  194. <span class="span1">性别</span>
  195. <span class="span2">-</span>
  196. </div>
  197. </div> -->
  198. <div class="II-body-bottom">
  199. <div class="II-flex">
  200. <span class="span1">生日</span>
  201. <span class="span2">{{ LabelBarModule.birthday }}</span>
  202. </div>
  203. </div>
  204. </div>
  205. </div>
  206. </div>
  207. </tab>
  208. <tab title="动态">
  209. <div class=TrendsDongTai>
  210. <Steps direction="vertical"
  211. :active="0">
  212. <Step v-for="(item , index) in action " :key="index">
  213. <h3 style="font-size: 1.4rem;" v-if="item.type == 1">
  214. 添加了
  215. <span v-if="item.handover_user_d.name">{{ item.handover_user_d.name }}</span>
  216. <ww-open-data v-else type="userName" :openid="item.handover_user_d.userid"></ww-open-data>
  217. </h3>
  218. <h3 v-if="item.type == 2">
  219. 删除了
  220. <span v-if="item.handover_user_d.name">{{ item.handover_user_d.name }}</span>
  221. <ww-open-data v-else type="userName" :openid="item.handover_user_d.userid"></ww-open-data>
  222. </h3>
  223. <h3 v-if="item.type == 3">
  224. <span v-if="item.handover_user_d.name">{{ item.handover_user_d.name }}</span>
  225. <ww-open-data v-else type="userName" :openid="item.handover_user_d.userid"></ww-open-data>
  226. 删除了
  227. </h3>
  228. <h3 v-if="item.type == 4">
  229. <span v-if="item.handover_user_d.name">{{ item.handover_user_d.name }}</span>
  230. <ww-open-data v-else type="userName" :openid="item.handover_user_d.userid"></ww-open-data>
  231. 分配给
  232. <span v-if="item.takeover_user_d.name">{{ item.takeover_user_d.name }}</span>
  233. <ww-open-data v-else type="userName" :openid="item.takeover_user_d.userid"></ww-open-data>
  234. </h3>
  235. <h3 v-if="item.type == 5">
  236. 浏览了
  237. <span>{{ item.article_title }}</span>
  238. </h3>
  239. <p>{{ item.create_datetime }}</p>
  240. </Step>
  241. </Steps>
  242. </div>
  243. </tab>
  244. <tab title="订单">
  245. <div class="OrderDingdan">
  246. <table>
  247. <tr>
  248. <th class="FontSize" >活动</th>
  249. <th class="FontSize">金额</th>
  250. <th class="FontSize">状态</th>
  251. <th class="FontSize">创建时间</th>
  252. </tr>
  253. <tr v-for="(item,index) in orderData"
  254. :key="index">
  255. <th class="FontSize">{{ item.activity_name}}</th>
  256. <th class="FontSize">{{ item.amount }}</th>
  257. <th class="FontSize">{{ item.state_t }}</th>
  258. <th class="FontSize">{{ item.create_datetime }}</th>
  259. </tr>
  260. </table>
  261. </div>
  262. </tab>
  263. </tabs>
  264. </div>
  265. </div>
  266. </template>
  267. <script>
  268. import { Tab, Tabs, Step, Steps } from "vant";
  269. import { getTrends, getOrder, getUpperhalfpage, getDetails, getparameter,getUser_Id } from '../../../serves/prove';//, getUser_Id
  270. import sessionStorage from '../../util/sessionStorage'
  271. export default {
  272. data () {
  273. return {
  274. wx_password: "",
  275. xinxipass: "",
  276. active: 0,
  277. userimg: '', //头像
  278. labelList: [], //标签
  279. relationship: null, //关系
  280. LabelBarModule: {
  281. nickName: null, //昵称
  282. sex: null,//性别
  283. birthday: null,//生日
  284. email: null,//邮箱
  285. },//标签栏模块
  286. PhoneNumber: [], //联系方式手机号
  287. address: [], //详细地址
  288. action: '',//动态
  289. tel: '15225791048',//拨打电话的phone
  290. myId: '',
  291. //获取当前外部联系人userid 参数
  292. contactsUserId: 'wmWY7dCwAAzqzS7erFMYh_ofnZ_sVaHw',
  293. userIdparameter: {
  294. corpid: '',//企业微信的corpid
  295. agentid: '',//企业微信应用id
  296. timestamp: '',//生成签名的时间
  297. nonceStr: '',//生产签名的随机串
  298. signature: '',//签名
  299. agent_signature: ''
  300. },
  301. orderData: '',
  302. };
  303. },
  304. components: {
  305. Tab, Tabs, Step, Steps
  306. },
  307. async created () {
  308. let auth_code = "";
  309. if (this.$route.query.auth_code) {
  310. auth_code = this.$route.query.auth_code
  311. }
  312. if (!auth_code) {
  313. let userid = sessionStorage.getLocalstorage("user_id");
  314. if (userid && userid !== undefined && userid !== "") {
  315. this.myId = userid
  316. this.getConfigParams({'url': location.href.split('#')[0]});
  317. } else {
  318. this.$router.push({ name: 'GetMyId' })
  319. }
  320. } else {
  321. let result = await getUser_Id(auth_code);
  322. if (result.code !== 2000) {
  323. alert(result.msg)
  324. return false
  325. }
  326. let { user_id } = result.data;
  327. this.myId = user_id;
  328. sessionStorage.setLocalstorage('user_id', user_id);
  329. this.getConfigParams({'url': location.href.split('#')[0]});
  330. }
  331. // this.myId ="WeiQiJia"
  332. },
  333. methods: {
  334. onClick (name, title) {
  335. if (name == 1) {
  336. //动态
  337. getTrends(this.myId,this.contactsUserId ).then(res => {
  338. if (res.code == 2000) {
  339. this.action = res.data.reverse()
  340. }
  341. })
  342. } else if (name == 2) {
  343. //订单
  344. // wmWY7dCwAAJbsYIgpmdD991EvM2NbAcA
  345. getOrder(this.myId, this.contactsUserId).then(res => {
  346. if (res.code === 2000) {
  347. this.orderData = res.data
  348. }
  349. })
  350. }
  351. },
  352. //带icon的拨打电话
  353. callPhone () {
  354. window.location.href ='tel:' +this.tel
  355. },
  356. //数组拨打电话
  357. telPhoneNumber (item) {
  358. window.location.href = 'tel:' +item
  359. },
  360. //获取参数信息
  361. async getConfigParams (url) {
  362. let result = await getparameter(url);
  363. if (result.code !== 2000) {
  364. alert(result.msg)
  365. return false;
  366. }
  367. let { appId, agentid, timestamp, nonceStr, signature, agent_signature } = result.data;
  368. this.userIdparameter.corpid = appId;
  369. this.userIdparameter.agentid = agentid;
  370. this.userIdparameter.timestamp = timestamp;
  371. this.userIdparameter.nonceStr = nonceStr;
  372. this.userIdparameter.signature = signature;
  373. this.userIdparameter.agent_signature = agent_signature;
  374. this._Config(appId, timestamp, nonceStr, signature)
  375. .then(data => {
  376. return this._agentConfig(appId, agentid, timestamp, nonceStr, agent_signature)
  377. })
  378. .then(data => {
  379. return this._getContext()
  380. })
  381. .then(data => {
  382. return this._getCurExternalContact()
  383. })
  384. .then(data => {
  385. this.contactsUserId = data;
  386. window.WWOpenData.bind(document.querySelector('ww-open-data'));
  387. this.getUpperHalfPage();
  388. this.getDetails();
  389. })
  390. .catch(data => {
  391. alert(data)
  392. })
  393. },
  394. _Config (appId, timestamp, nonceStr, signature) {
  395. return new Promise(function (resolve, reject) {
  396. const wx = window.wx;
  397. if (!wx) {
  398. reject("企业微信apk引入失败,尝试刷新页面!")
  399. }
  400. wx.config({
  401. beta: true, // 必须这么写,否则wx.invoke调用形式的jsapi会有问题
  402. debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
  403. appId: appId, // 必填,企业微信的corpID
  404. timestamp: timestamp, // 必填,生成签名的时间戳
  405. nonceStr: nonceStr, // 必填,生成签名的随机串
  406. signature: signature, // 必填,签名,见 附录-JS-SDK使用权限签名算法
  407. jsApiList: ['agentConfig'], // 必填,需要使用的JS接口列表,凡是要调用的接口都需要传进来
  408. });
  409. wx.ready(function () {
  410. resolve()
  411. });
  412. wx.error(function (res) {
  413. reject("注入权限验证失败")
  414. })
  415. })
  416. },
  417. _agentConfig(appId, agentid, timestamp, nonceStr, agent_signature) {
  418. return new Promise(function (resolve, reject) {
  419. const wx = window.wx;
  420. if (!wx) {
  421. reject("企业微信apk引入失败,尝试刷新页面!")
  422. }
  423. wx.agentConfig({
  424. corpid: appId, // 必填,企业微信的corpid,必须与当前登录的企业一致
  425. agentid: agentid, // 必填,企业微信的应用id (e.g. 1000247)
  426. timestamp: timestamp, // 必填,生成签名的时间戳
  427. nonceStr: nonceStr, // 必填,生成签名的随机串
  428. signature: agent_signature,// 必填,签名,见附录-JS-SDK使用权限签名算法
  429. jsApiList: ['getContext', 'getCurExternalContact'], //必填,传入需要使用的接口名称
  430. success: function (res) {
  431. resolve()
  432. },
  433. fail: function (res) {
  434. if (res.errMsg.indexOf('function not exist') > -1) {
  435. reject("版本过低请升级")
  436. } else {
  437. reject("应用注入权限验证失败")
  438. }
  439. }
  440. })
  441. })
  442. },
  443. _getContext() {
  444. return new Promise(function (resolve, reject) {
  445. window.wx.invoke('getContext', {}, function (res) {
  446. if (res.err_msg !== "getContext:ok") {
  447. reject(res)
  448. }
  449. if (res.entry !== 'single_chat_tools') {
  450. reject("请从单聊会话工具栏进入!")
  451. }
  452. resolve()
  453. });
  454. })
  455. },
  456. _getCurExternalContact() {
  457. return new Promise(function (resolve, reject) {
  458. window.wx.invoke('getCurExternalContact', {}, function (res) {
  459. if (res.err_msg !== "getCurExternalContact:ok") {
  460. reject("获取当前联系人id失败!")
  461. }
  462. resolve(res.userId)
  463. });
  464. })
  465. },
  466. async getUpperHalfPage() {
  467. if (!this.myId || !this.contactsUserId) {
  468. alert("参数缺失!")
  469. return false
  470. }
  471. let result = await getUpperhalfpage(this.myId, this.contactsUserId);
  472. if (result.code !== 2000) {
  473. alert(result.msg)
  474. return false
  475. }
  476. let { nick_name, avatar, tag, service_count, tel } = result.data;
  477. this.wx_password = nick_name;
  478. this.userimg = avatar;
  479. this.labelList = tag;
  480. this.relationship = service_count;
  481. this.tel = tel;
  482. },
  483. async getDetails() {
  484. if (!this.myId || !this.contactsUserId) {
  485. alert("参数缺失!")
  486. return false
  487. }
  488. let result = await getDetails(this.myId, this.contactsUserId);
  489. if (result.code !== 2000) {
  490. alert(result.msg)
  491. return false
  492. }
  493. let { nick_name, gender_f, birthday, email, tel, address } = result.data;
  494. this.LabelBarModule.nickName = nick_name;
  495. this.LabelBarModule.sex = gender_f;
  496. this.LabelBarModule.birthday = birthday;
  497. this.LabelBarModule.email = email;
  498. this.PhoneNumber = tel;
  499. this.address = address;
  500. },
  501. },
  502. mounted () {},
  503. };
  504. </script>
  505. <style lang="scss" scoped>
  506. .FontSize{
  507. font-size: 1.4rem;
  508. }
  509. #FuzeRen {
  510. width: 37.5rem;
  511. // height: 100%;
  512. background-color: #f2f4f8;
  513. box-sizing: border-box;
  514. .top-color {
  515. width: 37.5rem;
  516. height: 10rem;
  517. background-image: linear-gradient(to bottom, #3974c7, #f2f4f8);
  518. // position: fixed;
  519. padding: 0 1rem;
  520. padding-top: 2rem;
  521. box-sizing: border-box;
  522. .top-fuzeren {
  523. height: 2rem;
  524. overflow: hidden;
  525. /* font-size: 14px !important;
  526. font-weight: 500; */
  527. .top-fuzeren-fs {
  528. color: #fff;
  529. font-size: 1.4rem !important;
  530. font-weight: 500;
  531. }
  532. }
  533. }
  534. .PersonalInformation {
  535. width: 35.5rem;
  536. height: 11rem;
  537. background-color: #fff;
  538. border-radius: 0.6rem;
  539. position: relative;
  540. z-index: 1;
  541. top: -8rem;
  542. margin: 0 auto;
  543. .PI-bodyInnerblock {
  544. width: 33.5rem;
  545. height: 16rem;
  546. // background-color: #ffeaea;
  547. box-sizing: border-box;
  548. margin: 2rem auto;
  549. padding-top: 3rem;
  550. .PI-Bflex {
  551. display: flex;
  552. height: 3rem;
  553. line-height: 1rem;
  554. .PI-Bleft {
  555. width: 24.5rem;
  556. height: 3rem;
  557. padding-left: 1rem;
  558. .OneCeng {
  559. width: 19.1rem;
  560. height: 2.1rem;
  561. // background-color: #ffe5c8;
  562. // font-size: 10px;
  563. margin-bottom: 1rem;
  564. .wx_password {
  565. // margin-bottom: 1rem;
  566. span {
  567. color: #333;
  568. font-size: 1.6rem;
  569. }
  570. }
  571. }
  572. .KeyWordss {
  573. width: 24rem;
  574. height: 2rem;
  575. // background-color: #ff6565;
  576. margin-top: 1rem;
  577. display: flex;
  578. .First-kw {
  579. width: 10.7vw;
  580. height: 3rem;
  581. background-color: #eff9ed;
  582. border-radius: 0.5rem;
  583. text-align: center;
  584. margin-right: 1vw;
  585. span {
  586. color: #68c452;
  587. line-height: 3rem;
  588. font-size: 1.2em;
  589. }
  590. }
  591. .Second-kw {
  592. width: 18vw;
  593. height: 3rem;
  594. background-color: #fff5e5;
  595. border-radius: 0.5rem;
  596. text-align: center;
  597. margin-right: 1vw;
  598. span {
  599. color: #ff9e00;
  600. line-height: 3rem;
  601. font-size: 1.2em;
  602. }
  603. }
  604. }
  605. }
  606. .PI-Bright {
  607. width: 9rem;
  608. height: 8rem;
  609. display: flex;
  610. justify-content: right;
  611. .PSicon {
  612. width: 12.8vw;
  613. height: 12.8vw;
  614. background-color: #e7ebff;
  615. // float: right;
  616. border-radius: 1.5rem;
  617. text-align: center;
  618. line-height: 7rem;
  619. span {
  620. font-size: 1rem;
  621. color: #7698eb;
  622. }
  623. }
  624. }
  625. }
  626. .ContactDetails {
  627. width: 85vw;
  628. height: 3.9rem;
  629. background-color: #f8f9fb;
  630. // background-color: #9cbdff;
  631. margin-top: 1.5rem;
  632. border-radius: 0.5rem;
  633. padding: 0 2.5vw;
  634. display: flex;
  635. align-items: center;
  636. .span1 {
  637. color: #cdd4da;
  638. font-size: 1.2rem;
  639. }
  640. .span2 {
  641. color: #adadad;
  642. font-size: 1.2rem;
  643. margin-left: 1.5vw;
  644. }
  645. }
  646. .TelephoneChat {
  647. width: 90vw;
  648. height: 1rem;
  649. display: flex;
  650. // justify-content: center;
  651. align-items: center;
  652. .Telephone {
  653. width: 44vw;
  654. height: 1.3rem;
  655. background-color: #fff;
  656. display: flex;
  657. // justify-content: center;
  658. align-items: center;
  659. .span1 {
  660. font-size: 1.6rem;
  661. color: #3dc063;
  662. }
  663. .Tp-text {
  664. color: #333;
  665. font-size: 1.4rem;
  666. margin-left: 1rem;
  667. }
  668. }
  669. .Chat {
  670. width: 44vw;
  671. height: 7.3rem;
  672. background-color: #fff;
  673. display: flex;
  674. justify-content: center;
  675. align-items: center;
  676. .span2 {
  677. font-size: 1.6rem;
  678. color: #2b60dd;
  679. }
  680. .Ch-text {
  681. color: #333;
  682. font-size: 1.4rem;
  683. margin-left: 1rem;
  684. }
  685. }
  686. span {
  687. font-size: 1.6rem;
  688. color: #ececec;
  689. }
  690. }
  691. }
  692. }
  693. }
  694. .TagsModule {
  695. width: 95vw;
  696. height: 11rem;
  697. background-color: #fff;
  698. border-radius: 1rem;
  699. position: relative;
  700. top: -8rem;
  701. margin: 0 auto;
  702. margin-top: 1.5rem;
  703. .TagsModuleInnerblock {
  704. width: 90vw;
  705. height: 8.5vh;
  706. // background-color: #ffeaea;
  707. margin: 0 auto;
  708. padding-top: 2.5rem;
  709. .TagsModule-p {
  710. color: #999;
  711. font-size: 1.4rem;
  712. }
  713. .label {
  714. width: 90vw;
  715. height: 3rem;
  716. // background-color: #ff6565;
  717. margin-top: 1.2rem;
  718. display: flex;
  719. .First-label {
  720. // width: 10.7vw;
  721. height: 3rem;
  722. background-color: #e9effc;
  723. border-radius: 0.5rem;
  724. text-align: center;
  725. margin-right: 1vw;
  726. padding: 0 1.5vw;
  727. margin-right: 5px;
  728. span {
  729. color: #2b60dd;
  730. line-height: 3rem;
  731. font-size: 1.2rem;
  732. }
  733. }
  734. .Second-label {
  735. width: 18vw;
  736. height: 3rem;
  737. background-color: #fff5e5;
  738. border-radius: 0.5rem;
  739. text-align: center;
  740. margin-right: 1vw;
  741. span {
  742. color: #ff9e00;
  743. line-height: 3rem;
  744. font-size: 1.2em;
  745. }
  746. }
  747. }
  748. }
  749. }
  750. .RelationshipAnalysis {
  751. width: 91vw;
  752. height: 7rem;
  753. background-color: #fff;
  754. border-radius: 1rem;
  755. position: relative;
  756. top: -8rem;
  757. margin: 0 auto;
  758. margin-top: 1.5rem;
  759. padding: 0 2vw;
  760. .RA-body {
  761. width: 91vw;
  762. height: 10rem;
  763. // background-color: #ffeded;
  764. .RA-body-guanxi {
  765. width: 91vw;
  766. height: 7rem;
  767. border-bottom: 0.1rem solid #f6f6f6;
  768. // background-color: #ffe8c9;
  769. display: flex;
  770. .RBG-tit {
  771. width: 14vw;
  772. height: 7rem;
  773. display: flex;
  774. align-items: center;
  775. // background-color: #ffb6b6;
  776. .GX-tit {
  777. font-size: 1.4rem;
  778. color: #999;
  779. }
  780. }
  781. .RBG-bd {
  782. width: 77vw;
  783. height: 7rem;
  784. display: flex;
  785. align-items: center;
  786. // background-color: #ff9a9a;
  787. .GX-bd {
  788. color: #333;
  789. font-size: 1.2rem;
  790. }
  791. .GX-bd-fgx {
  792. color: #d5d5d5;
  793. margin: 0 1rem;
  794. font-size: 1.2rem;
  795. }
  796. }
  797. }
  798. .RA-body-fenxi {
  799. width: 91vw;
  800. height: 6.8rem;
  801. // background-color: #ffd6a0;
  802. display: flex;
  803. .RBF-tit {
  804. width: 14vw;
  805. height: 6.8rem;
  806. display: flex;
  807. align-items: center;
  808. // background-color: #ffb6b6;
  809. .FX-tit {
  810. color: #999;
  811. }
  812. }
  813. .RBF-bd {
  814. width: 77vw;
  815. height: 6.8rem;
  816. display: flex;
  817. align-items: center;
  818. // background-color: #ff9a9a;
  819. .FX-bd {
  820. color: #333;
  821. font-size: 1.2rem;
  822. }
  823. }
  824. }
  825. }
  826. }
  827. .LabelBarModule {
  828. width: 100vw;
  829. height: 60rem;
  830. // background-color: #fff;
  831. border-radius: 1rem;
  832. position: relative;
  833. top: -8rem;
  834. margin: 0 auto;
  835. margin-top: 1.5vh;
  836. // padding: 0 2vw;
  837. // .van-tabs__nav--line{
  838. // height: 10vh;
  839. // }
  840. .van-tabs__wrap {
  841. // padding: 10px 0;
  842. // line-height: 0;
  843. width: 100vw;
  844. height: 5rem;
  845. background-color: #fff;
  846. .van-tab {
  847. line-height: 5rem;
  848. color: #8c8c8c;
  849. }
  850. .van-tab--active {
  851. color: #2b60dd;
  852. }
  853. }
  854. .van-tabs__line {
  855. width: 6vw;
  856. height: 0.2rem;
  857. background-color: #2b60dd;
  858. }
  859. .TabsXiangqing {
  860. width: 100vw;
  861. background-color: #f2f4f8;
  862. .BasicInformation {
  863. width: 96vw;
  864. height: 22rem;
  865. background-color: #f2f4f8;
  866. padding: 0 2vw;
  867. .BI-title {
  868. width: 96vw;
  869. height: 4rem;
  870. display: flex;
  871. align-items: center;
  872. span {
  873. color: #999;
  874. font-size: 1.2rem;
  875. }
  876. }
  877. .BI-body {
  878. width: 88vw;
  879. height: 15rem;
  880. border-radius: 1rem;
  881. background-color: #fff;
  882. padding: 0 4vw;
  883. .BI-body-top {
  884. width: 92vw;
  885. height: 7rem;
  886. border-bottom: 0.1rem solid #f6f6f6;
  887. display: flex;
  888. align-items: center;
  889. .BI-flex {
  890. .span1{
  891. font-size: 1.4rem;
  892. line-height: 1rem;
  893. }
  894. .span1,
  895. .span2 {
  896. display: block;
  897. }
  898. .span1 {
  899. color: #999;
  900. margin-top:-1vw ;
  901. line-height: 3rem;
  902. }
  903. .span2 {
  904. color: #666;
  905. font-size: 1.4rem;
  906. line-height: 3rem;
  907. }
  908. }
  909. }
  910. .BI-body-bottom {
  911. width: 92vw;
  912. height: 7rem;
  913. display: flex;
  914. align-items: center;
  915. .BI-flex {
  916. .span1{
  917. font-size: 1.4rem;
  918. }
  919. .span1,
  920. .span2 {
  921. display: block;
  922. }
  923. .span1 {
  924. color: #999;
  925. margin-bottom: 1rem;
  926. }
  927. .span2 {
  928. color: #666;
  929. font-size: 1.4rem;
  930. }
  931. }
  932. }
  933. }
  934. }
  935. .ContactInformation {
  936. width: 96vw;
  937. height: 40rem;
  938. background-color: #f2f4f8;
  939. padding: 0 2vw;
  940. .CI-title {
  941. width: 96vw;
  942. height: 4rem;
  943. display: flex;
  944. align-items: center;
  945. span {
  946. color: #999;
  947. font-size: 1.2rem;
  948. }
  949. }
  950. .CI-body {
  951. width: 88vw;
  952. height: 44rem;
  953. border-radius: 1rem;
  954. background-color: #fff;
  955. padding: 0 4vw;
  956. .CI-body-first {
  957. width: 92vw;
  958. height: 12rem;
  959. border-bottom: 0.1rem solid #f6f6f6;
  960. display: flex;
  961. align-items: center;
  962. .CI-flex {
  963. div {
  964. width: 92vw;
  965. height: 7rem;
  966. overflow-y: auto;
  967. }
  968. .span1{
  969. font-size: 1.4rem;
  970. color: #999;
  971. margin-bottom: 1vh;
  972. }
  973. .span1,
  974. .span2 {
  975. display: block;
  976. color: #666;
  977. // font-size: 1.4rem;
  978. }
  979. .span2 {
  980. // color: #2b60dd;
  981. font-size: 1.4rem;
  982. }
  983. }
  984. }
  985. .CI-body-second {
  986. width: 92vw;
  987. height: 8rem;
  988. border-bottom: 0.1rem solid #f6f6f6;
  989. display: flex;
  990. align-items: center;
  991. .CI-flex {
  992. .span1{
  993. font-size: 1.4rem;
  994. line-height: 2rem;
  995. }
  996. .span1,
  997. .span2 {
  998. display: block;
  999. line-height: 2rem;
  1000. }
  1001. .span1 {
  1002. color: #999;
  1003. margin-bottom: 1rem;
  1004. }
  1005. .span2 {
  1006. color: #666;
  1007. font-size: 1.4rem;
  1008. }
  1009. }
  1010. }
  1011. .CI-body-third {
  1012. width: 92vw;
  1013. height: 10rem;
  1014. border-bottom: 0.1rem solid #f6f6f6;
  1015. display: flex;
  1016. align-items: center;
  1017. .CI-flex {
  1018. .span1,
  1019. .span2 {
  1020. display: block;
  1021. }
  1022. .span1 {
  1023. color: #999;
  1024. margin-bottom: 1vh;
  1025. }
  1026. .span2 {
  1027. color: #666;
  1028. font-size: 1.4rem;
  1029. }
  1030. }
  1031. }
  1032. .CI-body-fouth {
  1033. width: 92vw;
  1034. height: 14rem;
  1035. display: flex;
  1036. align-items: center;
  1037. .CI-flex {
  1038. div {
  1039. width: 92vw;
  1040. height: 8rem;
  1041. overflow: auto;
  1042. }
  1043. .span1{
  1044. font-size: 1.4rem;
  1045. }
  1046. .span1,
  1047. .span2 {
  1048. display: block;
  1049. margin-top: 1vw;
  1050. }
  1051. .span1 {
  1052. margin-top: 9vw;
  1053. color: #999;
  1054. margin-bottom: 1vh;
  1055. }
  1056. .span2 {
  1057. color: #666;
  1058. font-size: 1.4rem;
  1059. }
  1060. }
  1061. }
  1062. }
  1063. }
  1064. .IdentityInformation {
  1065. width: 96vw;
  1066. height: 18rem;
  1067. background-color: #f2f4f8;
  1068. padding: 0 2vw;
  1069. .II-title {
  1070. width: 96vw;
  1071. height: 4rem;
  1072. display: flex;
  1073. align-items: center;
  1074. span {
  1075. color: #999;
  1076. font-size: 1.2rem;
  1077. }
  1078. }
  1079. .II-body {
  1080. width: 88vw;
  1081. height: 13rem;
  1082. border-radius: 1vh;
  1083. background-color: #fff;
  1084. padding: 0 4vw;
  1085. .II-body-top {
  1086. width: 92vw;
  1087. height: 11vh;
  1088. border-bottom: 0.1rem solid #f6f6f6;
  1089. display: flex;
  1090. align-items: center;
  1091. .II-flex {
  1092. .span1,
  1093. .span2 {
  1094. display: block;
  1095. }
  1096. .span1 {
  1097. color: #999;
  1098. margin-bottom: 1vh;
  1099. }
  1100. .span2 {
  1101. color: #666;
  1102. font-size: 1.4rem;
  1103. }
  1104. }
  1105. }
  1106. .II-body-bottom {
  1107. width: 92vw;
  1108. height: 10rem;
  1109. display: flex;
  1110. align-items: center;
  1111. .II-flex {
  1112. .span1,
  1113. .span2 {
  1114. display: block;
  1115. }
  1116. .span1 {
  1117. color: #666;
  1118. margin-bottom: 1vh;
  1119. }
  1120. .span2 {
  1121. color: #666;
  1122. font-size: 1.4rem;
  1123. }
  1124. }
  1125. }
  1126. }
  1127. }
  1128. }
  1129. }
  1130. </style>
  1131. <style lang="scss">
  1132. .van-tab {
  1133. font-size: 1.37rem;
  1134. }
  1135. .van-icon:before{
  1136. font-size: 1.6rem !important;
  1137. }
  1138. .van-steps--vertical{
  1139. padding: 1rem 0 0 1.11rem;
  1140. }
  1141. .van-step__circle{
  1142. display: block;
  1143. width: 0.5rem !important;
  1144. height: 0.5rem !important;
  1145. background-color: #969799;
  1146. border-radius: 50%;
  1147. }
  1148. .TrendsDongTai {
  1149. width: 88vw;
  1150. height: 61rem;
  1151. margin-top: 2vw;
  1152. padding: 0 4vw;
  1153. background: #fff;
  1154. margin-left: 2vw;
  1155. border-radius: 1vh;
  1156. overflow: auto;
  1157. p {
  1158. width: 88vw;
  1159. height: 2rem;
  1160. line-height: 2rem;
  1161. font-size: 1.4rem;
  1162. }
  1163. h3 {
  1164. width: 88vw;
  1165. height: 4rem;
  1166. line-height: 4rem;
  1167. margin-top: 2vw;
  1168. font-size: 1.6rem;
  1169. white-space: nowrap;
  1170. }
  1171. }
  1172. .OrderDingdan {
  1173. width: 88vw;
  1174. height: 61rem;
  1175. margin-top: 2vw;
  1176. padding: 0 4vw;
  1177. background: #fff;
  1178. margin-left: 2vw;
  1179. border-radius: 1vh;
  1180. overflow: auto;
  1181. font-size: 1.6rem;
  1182. table {
  1183. margin-top: 1rem;
  1184. font-size: 0.6rem;
  1185. color: #8c8c8c;
  1186. margin-left: 1rem;
  1187. border-collapse: collapse; //设置表格的边框是否被合并为一个单框
  1188. th {
  1189. border: 0.1rem solid #8c8c8c;
  1190. padding: 1rem;
  1191. td {
  1192. border-radius: 0.1rem solid #8c8c8c;
  1193. padding: 1.5rem;
  1194. }
  1195. }
  1196. }
  1197. }
  1198. </style>
  1199. <!-- vantui -->
  1200. <style lang="scss">
  1201. .LabelBarModule {
  1202. width: 100vw;
  1203. // height: 60vh;
  1204. // background-color: #fff;
  1205. border-radius: 1vh;
  1206. position: relative;
  1207. top: -8vh;
  1208. margin: 0 auto;
  1209. margin-top: 1.5vh;
  1210. // padding: 0 2vw;
  1211. // .van-tabs__nav--line{
  1212. // height: 10vh;
  1213. // }
  1214. .van-tabs__wrap {
  1215. // padding: 10px 0;
  1216. // line-height: 0;
  1217. width: 100vw;
  1218. height: 5rem;
  1219. background-color: #fff;
  1220. .van-tab {
  1221. line-height: 5rem;
  1222. color: #8c8c8c;
  1223. }
  1224. .van-tab--active {
  1225. color: #2b60dd;
  1226. }
  1227. }
  1228. .van-tabs__line {
  1229. width: 6vw;
  1230. height: 0.2rem;
  1231. background-color: #2b60dd;
  1232. }
  1233. .TabsXiangqing {
  1234. width: 100vw;
  1235. background-color: #f2f4f8;
  1236. .BasicInformation {
  1237. width: 96vw;
  1238. height: 29vh;
  1239. background-color: #f2f4f8;
  1240. padding: 0 2vw;
  1241. .BI-title {
  1242. width: 96vw;
  1243. height: 7vh;
  1244. display: flex;
  1245. align-items: center;
  1246. span {
  1247. color: #999;
  1248. font-size: 1.2rem;
  1249. }
  1250. }
  1251. .BI-body {
  1252. width: 88vw;
  1253. height: 22vh;
  1254. border-radius: 1vh;
  1255. background-color: #fff;
  1256. padding: 0 4vw;
  1257. .BI-body-top {
  1258. width: 92vw;
  1259. height: 11vh;
  1260. border-bottom: 0.1rem solid #f6f6f6;
  1261. display: flex;
  1262. align-items: center;
  1263. .BI-flex {
  1264. .span2 {
  1265. color: #666;
  1266. font-size: 1.4rem;
  1267. line-height: 3rem;
  1268. }
  1269. .span1,
  1270. .span2 {
  1271. display: block;
  1272. }
  1273. .span1 {
  1274. color: #999;
  1275. line-height: 3rem;
  1276. }
  1277. }
  1278. }
  1279. .BI-body-bottom {
  1280. width: 92vw;
  1281. height: 10.7vh;
  1282. display: flex;
  1283. align-items: center;
  1284. .BI-flex {
  1285. .span1,
  1286. .span2 {
  1287. display: block;
  1288. }
  1289. .span1 {
  1290. color: #999;
  1291. margin-bottom: 1vh;
  1292. }
  1293. .span2 {
  1294. color: #666;
  1295. font-size: 1.4rem;
  1296. }
  1297. }
  1298. }
  1299. }
  1300. }
  1301. .ContactInformation {
  1302. width: 96vw;
  1303. height: 40rem;
  1304. background-color: #f2f4f8;
  1305. padding: 0 2vw;
  1306. .CI-title {
  1307. width: 96vw;
  1308. height: 7vh;
  1309. display: flex;
  1310. align-items: center;
  1311. span {
  1312. color: #999;
  1313. font-size: 1.2rem;
  1314. }
  1315. }
  1316. .CI-body {
  1317. width: 88vw;
  1318. height: 44vh;
  1319. border-radius: 1vh;
  1320. background-color: #fff;
  1321. padding: 0 4vw;
  1322. .CI-body-first {
  1323. width: 92vw;
  1324. height: 7rem;
  1325. border-bottom: 0.1rem solid #f6f6f6;
  1326. display: flex;
  1327. align-items: center;
  1328. .CI-flex {
  1329. .span1,
  1330. .span2 {
  1331. display: block;
  1332. }
  1333. .span1 {
  1334. color: #999;
  1335. margin-bottom: 1vh;
  1336. }
  1337. .span2 {
  1338. color: #2b60dd;
  1339. font-size: 1.4rem;
  1340. }
  1341. }
  1342. }
  1343. .CI-body-second {
  1344. width: 92vw;
  1345. height: 11vh;
  1346. border-bottom: 0.1rem solid #f6f6f6;
  1347. display: flex;
  1348. align-items: center;
  1349. .CI-flex {
  1350. .span1,
  1351. .span2 {
  1352. display: block;
  1353. }
  1354. .span1 {
  1355. color: #999;
  1356. margin-bottom: 1vh;
  1357. }
  1358. .span2 {
  1359. color: #666;
  1360. font-size: 1.4rem;
  1361. }
  1362. }
  1363. }
  1364. .CI-body-third {
  1365. width: 92vw;
  1366. height: 11vh;
  1367. border-bottom: 0.1rem solid #f6f6f6;
  1368. display: flex;
  1369. align-items: center;
  1370. .CI-flex {
  1371. .span1,
  1372. .span2 {
  1373. display: block;
  1374. }
  1375. .span1 {
  1376. color: #999;
  1377. margin-bottom: 1vh;
  1378. }
  1379. .span2 {
  1380. color: #666;
  1381. font-size: 1.4rem;
  1382. }
  1383. }
  1384. }
  1385. .CI-body-fouth {
  1386. width: 92vw;
  1387. height: 10.7vh;
  1388. display: flex;
  1389. align-items: center;
  1390. .CI-flex {
  1391. .span1,
  1392. .span2 {
  1393. display: block;
  1394. }
  1395. .span1 {
  1396. color: #999;
  1397. margin-bottom: 1vh;
  1398. }
  1399. .span2 {
  1400. color: #666;
  1401. font-size: 1.4rem;
  1402. }
  1403. }
  1404. }
  1405. }
  1406. }
  1407. .IdentityInformation {
  1408. width: 96vw;
  1409. height: 18rem;
  1410. background-color: #f2f4f8;
  1411. padding: 0 2vw;
  1412. .II-title {
  1413. width: 96vw;
  1414. height: 7vh;
  1415. display: flex;
  1416. align-items: center;
  1417. span {
  1418. color: #999;
  1419. font-size: 1.2rem;
  1420. }
  1421. }
  1422. .II-body {
  1423. width: 88vw;
  1424. height: 22vh;
  1425. border-radius: 1vh;
  1426. background-color: #fff;
  1427. padding: 0 4vw;
  1428. .II-body-top {
  1429. width: 92vw;
  1430. height: 11vh;
  1431. border-bottom: 0.1rem solid #f6f6f6;
  1432. display: flex;
  1433. align-items: center;
  1434. .II-flex {
  1435. .span1,
  1436. .span2 {
  1437. display: block;
  1438. }
  1439. .span1 {
  1440. color: #999;
  1441. margin-bottom: 1vh;
  1442. }
  1443. .span2 {
  1444. color: #666;
  1445. font-size: 1.4rem;
  1446. }
  1447. }
  1448. }
  1449. .II-body-bottom {
  1450. width: 92vw;
  1451. height: 10.7vh;
  1452. display: flex;
  1453. align-items: center;
  1454. .II-flex {
  1455. .span1,
  1456. .span2 {
  1457. display: block;
  1458. }
  1459. .span1 {
  1460. color: #666;
  1461. margin-bottom: 1vh;
  1462. font-size: 1.4rem;
  1463. }
  1464. .span2 {
  1465. color: #666;
  1466. font-size: 1.4rem;
  1467. }
  1468. }
  1469. }
  1470. }
  1471. }
  1472. }
  1473. }
  1474. </style>