index.vue 25 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797
  1. <template>
  2. <div class="hintTabPage">
  3. <div class="itemTab">
  4. <van-collapse v-model="activeNames">
  5. <!-- 拜访(实时) -->
  6. <van-collapse-item :name="visitCollapse.name">
  7. <span class="updateTime" v-if="visitCollapse.latestUpdateTime != ''">
  8. 更新时间:
  9. {{ visitCollapse.latestUpdateTime }}
  10. </span>
  11. <template #title>
  12. <div class="itemHeader">
  13. <span class="itemTitle" v-if="visitCollapse.title">{{ visitCollapse.title }}</span>
  14. <span @click.stop v-if="visitCollapse.tipsPopoverlabel">
  15. <el-popover placement="right" trigger="click" popper-class="hintPopover">
  16. <div
  17. class="popoverConten"
  18. v-for="(item, index) in visitCollapse.tipsPopoverlabel"
  19. :key="index">
  20. {{ item }}
  21. </div>
  22. <div slot="reference" class="hintIconBox">
  23. <img class="hintIcon" :src="hintIcon" />
  24. </div>
  25. </el-popover>
  26. </span>
  27. </div>
  28. </template>
  29. <visitPage
  30. v-if="visitCollapse.resData"
  31. fromType="noVisit"
  32. :empLevel="empLevel"
  33. :contentData="visitCollapse.contentData"
  34. :maskShow="visitCollapse.collapseLosding"
  35. :resData="visitCollapse.resData"></visitPage>
  36. </van-collapse-item>
  37. <!-- 建店 -->
  38. <van-collapse-item :name="createStore.name">
  39. <template #title>
  40. <div class="itemHeader" @click.stop>
  41. <span class="itemTitle" v-if="createStore.title">{{ createStore.title }}</span>
  42. <el-popover
  43. placement="right"
  44. trigger="click"
  45. popper-class="hintPopover"
  46. v-if="createStore.tipsPopoverlabel">
  47. <div
  48. class="popoverConten"
  49. v-for="(item, index) in createStore.tipsPopoverlabel"
  50. :key="index">
  51. {{ item }}
  52. </div>
  53. <div slot="reference" class="hintIconBox">
  54. <img class="hintIcon" :src="hintIcon" />
  55. </div>
  56. </el-popover>
  57. </div>
  58. </template>
  59. <visitPage
  60. v-if="createStore.resData"
  61. fromType="createStore"
  62. :empLevel="empLevel"
  63. :contentData="createStore.contentData"
  64. :maskShow="createStore.collapseLosding"
  65. :resData="createStore.resData"></visitPage>
  66. </van-collapse-item>
  67. <!-- 日报、周报、半月报 -->
  68. <van-collapse-item name="3" v-if="empLevel != '4'">
  69. <template #title>
  70. <div class="itemHeader" @click.stop>
  71. <span class="itemTitle">{{ report.title }}</span>
  72. <el-popover placement="right" trigger="click" popper-class="hintPopover">
  73. <div class="popoverConten">
  74. {{ report.reportData.tip }}
  75. </div>
  76. <div slot="reference" class="hintIconBox">
  77. <img class="hintIcon" :src="hintIcon" />
  78. </div>
  79. </el-popover>
  80. </div>
  81. </template>
  82. <div class="reportContent">
  83. <div class="reportItem">
  84. <div class="label">填写率:</div>
  85. <div class="value">本月{{ report.reportData.fillingRate }}</div>
  86. <div
  87. class="itemDetail"
  88. v-if="empLevel != '3'"
  89. @click="
  90. reportClick(
  91. 'fillingRate',
  92. '填写率-本月:' +
  93. report.reportData.fillingRate +
  94. ';审批率-本月:' +
  95. report.reportData.approvalRate
  96. )
  97. ">
  98. 下属详情
  99. </div>
  100. </div>
  101. <div class="reportItem" v-show="empLevel != '3'">
  102. <div class="label">审批率:</div>
  103. <div class="value">本月{{ report.reportData.approvalRate }}</div>
  104. </div>
  105. <div class="reportItem" v-show="empLevel == '1'">
  106. <div class="label">
  107. 本周点评业务员日报数(目标数):{{ report.reportData.commentNum }}个(5个)
  108. </div>
  109. </div>
  110. <div class="reportItem reportNum" v-show="empLevel == '1'">
  111. <div class="label"></div>
  112. <div
  113. class="itemDetail"
  114. @click="reportClick('commentNum', '目标数: ' + report.reportData.commentNum)">
  115. 进入点评
  116. </div>
  117. </div>
  118. <div class="mask" v-if="report.reportLosding">
  119. <van-loading type="spinner" color="#1989fa" />
  120. </div>
  121. </div>
  122. </van-collapse-item>
  123. <!-- 色卡 -->
  124. <van-collapse-item name="4">
  125. <template #title>
  126. <div class="itemHeader" @click.stop>
  127. <span class="itemTitle">{{ pantone.title }}</span>
  128. <el-popover placement="right" trigger="click" popper-class="hintPopover">
  129. <div class="popoverConten">
  130. {{ pantone.tip }}
  131. </div>
  132. <div slot="reference" class="hintIconBox">
  133. <img class="hintIcon" :src="hintIcon" />
  134. </div>
  135. </el-popover>
  136. </div>
  137. </template>
  138. <div class="pantoneContent">
  139. <template v-if="empLevel == '3'">
  140. <div v-for="(val, key, index) in pantone.pantoneData" :key="index">
  141. <div class="title">{{ key }}</div>
  142. <div class="pantoneItem">
  143. <div class="firstItem item">
  144. <div class="left">
  145. <div class="lebel">已领用:</div>
  146. <div class="value">{{ Micrometer(val.ywyylyNum) }}本</div>
  147. </div>
  148. <div class="right">
  149. <div class="lebel">已发放门店:</div>
  150. <div class="value">{{ Micrometer(val.ywyyffNum) }}本</div>
  151. </div>
  152. </div>
  153. <div class="secondItem item">
  154. <div class="left">
  155. <div class="lebel">门店未签收:</div>
  156. <div class="value">{{ Micrometer(val.mdwqsNum) }}本</div>
  157. </div>
  158. <div class="right">
  159. <div class="lebel">门店未签收:</div>
  160. <div class="value valueIsClick" @click="pantoneClick(val, key, val.mdwqsNum)">
  161. {{ Micrometer(val.wqsmdNum) }}家
  162. </div>
  163. </div>
  164. </div>
  165. </div>
  166. </div>
  167. </template>
  168. <template v-else>
  169. <div v-for="(val, key, index) in pantone.pantoneData" :key="index">
  170. <div class="title">{{ key }}</div>
  171. <div class="pantoneItem">
  172. <div class="firstItem item">
  173. <div class="left">
  174. <div class="lebel">直发销售部数:</div>
  175. <div class="value">{{ Micrometer(val.zfxsbNum) }}本</div>
  176. </div>
  177. <div class="right">
  178. <div class="lebel">业务员已领用:</div>
  179. <div class="value">{{ Micrometer(val.ywyylyNum) }}本</div>
  180. </div>
  181. </div>
  182. <div class="secondItem item">
  183. <div class="left">
  184. <div class="lebel">业务员已发放:</div>
  185. <div class="value">{{ Micrometer(val.ywyyffNum) }}本</div>
  186. </div>
  187. <div class="right">
  188. <div class="lebel">门店未签收:</div>
  189. <div class="value valueIsClick" @click="pantoneClick(val, key, val.mdwqsNum)">
  190. {{ Micrometer(val.mdwqsNum) }}本
  191. </div>
  192. </div>
  193. </div>
  194. </div>
  195. </div>
  196. </template>
  197. <div class="mask" v-if="pantone.pantoneLosding">
  198. <van-loading type="spinner" color="#1989fa" />
  199. </div>
  200. </div>
  201. </van-collapse-item>
  202. <!-- 调色预警 -->
  203. <van-collapse-item name="5">
  204. <template #title>
  205. <div class="itemHeader" @click.stop>
  206. <span class="itemTitle">{{ colorWarning.title }}</span>
  207. <el-popover placement="right" trigger="click" popper-class="hintPopover">
  208. <div class="popoverConten">
  209. {{ colorWarning.tip }}
  210. </div>
  211. <div slot="reference" class="hintIconBox">
  212. <img class="hintIcon" :src="hintIcon" />
  213. </div>
  214. </el-popover>
  215. </div>
  216. </template>
  217. <div class="pantoneContent">
  218. <div v-for="(val, key, index) in colorWarning.contentData" :key="index">
  219. <div :class="['title',key=='1988色卡'?'kekong':'jinpai']">{{ key }}</div>
  220. <div class="pantoneItem">
  221. <div class="firstItem item">
  222. <div class="left">
  223. <div class="lebel">滚动7天未调色:</div>
  224. <div class="value valueIsClick" @click="colorWarningClick(val, key, val.mdwqsNum)">
  225. {{ Micrometer(val.ywyylyNum) }}家
  226. </div>
  227. </div>
  228. <div class="right">
  229. <div class="lebel">当月未调色:</div>
  230. <div class="value valueIsClick" @click="colorWarningClick(val, key, val.mdwqsNum)">
  231. {{ Micrometer(val.ywyyffNum) }}家
  232. </div>
  233. </div>
  234. </div>
  235. <div class="secondItem item">
  236. <div class="left">
  237. <div class="lebel">从未调色:</div>
  238. <div class="value valueIsClick" @click="colorWarningClick(val, key, val.mdwqsNum)">
  239. {{ Micrometer(val.mdwqsNum) }}家
  240. </div>
  241. </div>
  242. <div class="right">
  243. <div class="lebel">近两年DIS为0:</div>
  244. <div class="value valueIsClick" @click="colorWarningClick(val, key, val.mdwqsNum)">
  245. {{ Micrometer(val.wqsmdNum) }}家
  246. </div>
  247. </div>
  248. </div>
  249. </div>
  250. </div>
  251. <div class="mask" v-if="colorWarning.contentLosding">
  252. <van-loading type="spinner" color="#1989fa" />
  253. </div>
  254. </div>
  255. </van-collapse-item>
  256. </van-collapse>
  257. </div>
  258. </div>
  259. </template>
  260. <script>
  261. import {
  262. selectVisitsRealTime,
  263. selectBuildingStore,
  264. getReportTarget,
  265. getReportMaterial,
  266. getColorWarning,
  267. buryingPoint,
  268. } from '@/api/index';
  269. import hintIcon from '@/assets/hintIcon.png';
  270. import visitPage from './visitPage.vue';
  271. import { mapState } from 'vuex';
  272. export default {
  273. name: 'hintTabPage',
  274. components: { visitPage },
  275. computed: {
  276. ...mapState({
  277. userInfo: (state) => state.user.userInfo,
  278. }),
  279. },
  280. props: {
  281. tabVal: {
  282. type: [String, Number],
  283. default: '-1',
  284. },
  285. },
  286. data() {
  287. return {
  288. empLevel: '', //员工级别,1大区主管2销售部主管3业务员4其他 ***其他级别4,不显示日报、周报、半月报和色卡
  289. hintIcon: hintIcon,
  290. activeNames: ['1', '2', '3', '4', '5'],
  291. visitCollapse: {
  292. name: '1',
  293. title: '拜访(实时)',
  294. collapseLosding: true,
  295. latestUpdateTime: '',
  296. tipsPopoverlabel: [],
  297. tipsPopoverValue: null,
  298. contentData: [
  299. {
  300. title: '可控店',
  301. titleProp: 'keKong',
  302. bagColor: '#eb6877',
  303. visitDetail: [
  304. {
  305. leftTable: '本月拜访率:',
  306. leftProp: 'visitRateThisMonth',
  307. leftUnit: '%',
  308. leftIsClick: false,
  309. rightTable: '未拜访:',
  310. rightProp: 'notVisited',
  311. rightUnit: '家',
  312. rightIsClick: true,
  313. },
  314. ],
  315. },
  316. {
  317. title: '金牌店',
  318. titleProp: 'jinPai',
  319. bagColor: '#f1b789',
  320. visitDetail: [
  321. {
  322. leftTable: '本月拜访率:',
  323. leftProp: 'visitRateThisMonth',
  324. leftUnit: '%',
  325. leftIsClick: false,
  326. rightTable: '未拜访:',
  327. rightProp: 'notVisited',
  328. rightUnit: '家',
  329. rightIsClick: true,
  330. },
  331. ],
  332. },
  333. {
  334. title: '同城分销-涂料店',
  335. titleProp: 'TuLiao',
  336. bagColor: '#88abda',
  337. visitDetail: [
  338. {
  339. leftTable: '近2个月拜访率:',
  340. leftProp: 'visitRateInThePastTwoMonths',
  341. leftUnit: '%',
  342. leftIsClick: false,
  343. rightTable: '未拜访:',
  344. rightProp: 'notVisited',
  345. rightUnit: '家',
  346. rightIsClick: true,
  347. },
  348. ],
  349. },
  350. {
  351. title: '同城分销-其他店',
  352. titleProp: 'QiTa',
  353. bagColor: '#8f82bc',
  354. visitDetail: [
  355. {
  356. leftTable: '近3个月拜访率:',
  357. leftProp: 'visitRateInThePastThreeMonths',
  358. leftUnit: '%',
  359. leftIsClick: false,
  360. rightTable: '未拜访:',
  361. rightProp: 'notVisited',
  362. rightUnit: '家',
  363. rightIsClick: true,
  364. },
  365. ],
  366. },
  367. ],
  368. resData: null,
  369. },
  370. createStore: {
  371. name: '2',
  372. title: '建店',
  373. collapseLosding: true,
  374. tipsPopoverlabel: [
  375. {
  376. label: '未完工',
  377. prop: '',
  378. },
  379. {
  380. label: '为结案',
  381. prop: '',
  382. },
  383. ],
  384. tipsPopoverValue: null,
  385. contentData: [
  386. {
  387. title: '可控店',
  388. titleProp: 'keKong',
  389. bagColor: '#eb6877',
  390. visitDetail: [
  391. {
  392. leftTable: '本月累计:',
  393. leftProp: 'month',
  394. leftUnit: '家',
  395. leftIsClick: false,
  396. },
  397. {
  398. leftTable: '今年累计:',
  399. leftProp: 'year',
  400. leftUnit: '家',
  401. leftIsClick: false,
  402. rightTable: '45天未结案:',
  403. rightProp: 'keKongAbnormalNum',
  404. rightUnit: '家',
  405. rightIsClick: true,
  406. },
  407. ],
  408. },
  409. {
  410. title: '金牌店',
  411. titleProp: 'jinPai',
  412. bagColor: '#f1b789',
  413. visitDetail: [
  414. {
  415. leftTable: '本月累计:',
  416. leftProp: 'month',
  417. leftUnit: '家',
  418. leftIsClick: false,
  419. rightTable: '7天未完工:',
  420. rightProp: 'jinPaiUnfinishedNum',
  421. rightUnit: '家',
  422. rightIsClick: true,
  423. },
  424. {
  425. leftTable: '今年累计:',
  426. leftProp: 'year',
  427. leftUnit: '家',
  428. leftIsClick: false,
  429. rightTable: '30天未结案:',
  430. rightProp: 'jinPaiAbnormalNum',
  431. rightUnit: '家',
  432. rightIsClick: true,
  433. },
  434. ],
  435. },
  436. {
  437. title: '同城分销-涂料店',
  438. titleProp: 'TuLiao',
  439. bagColor: '#88abda',
  440. visitDetail: [
  441. {
  442. leftTable: '本月累计:',
  443. leftProp: 'month',
  444. leftUnit: '家',
  445. leftIsClick: false,
  446. },
  447. {
  448. leftTable: '今年累计:',
  449. leftProp: 'year',
  450. leftUnit: '家',
  451. leftIsClick: false,
  452. rightTable: '7天未结案:',
  453. rightProp: 'TuLiaoAbnormalNum',
  454. rightUnit: '家',
  455. rightIsClick: true,
  456. },
  457. ],
  458. },
  459. {
  460. title: '同城分销-其他店',
  461. titleProp: 'QiTa',
  462. bagColor: '#8f82bc',
  463. visitDetail: [
  464. {
  465. leftTable: '本月累计:',
  466. leftProp: 'month',
  467. leftUnit: '家',
  468. leftIsClick: false,
  469. },
  470. {
  471. leftTable: '今年累计:',
  472. leftProp: 'year',
  473. leftUnit: '家',
  474. leftIsClick: false,
  475. rightTable: '7天未结案:',
  476. rightProp: 'QiTaAbnormalNum',
  477. rightUnit: '家',
  478. rightIsClick: true,
  479. },
  480. ],
  481. },
  482. ],
  483. resData: null,
  484. },
  485. report: {
  486. title: '',
  487. reportLosding: true,
  488. reportData: {},
  489. },
  490. pantone: {
  491. title: '色卡',
  492. tip: '',
  493. pantoneLosding: true,
  494. pantoneData: {},
  495. },
  496. colorWarning: {
  497. title: '调色预警',
  498. tip: '调色预警tips',
  499. contentLosding: true,
  500. contentData: {},
  501. },
  502. isLoading: false,
  503. };
  504. },
  505. watch: {
  506. tabVal: {
  507. handler(val) {
  508. if (val == -1) {
  509. // this.initData();
  510. }
  511. },
  512. immediate: true,
  513. },
  514. },
  515. activated() {},
  516. methods: {
  517. onRefresh() {
  518. this.initData();
  519. this.isLoading = false;
  520. },
  521. initData() {
  522. if (!this.userInfo) return;
  523. this.empLevel = this.userInfo.empLevel;
  524. // 获取拜访数据
  525. this.getVisitCollapseData();
  526. // 获取建店数据
  527. this.getSelectBuildingStore();
  528. // 获取汇报数据 日报、周报、半月报
  529. this.getReportData();
  530. // 获取色卡数据
  531. this.getPantoneData();
  532. // 获取调色预警数据
  533. this.getColorWarning();
  534. },
  535. getVisitCollapseData() {
  536. this.visitCollapse.collapseLosding = true;
  537. selectVisitsRealTime().then((res) => {
  538. if (res.code == 200) {
  539. this.visitCollapse.resData = res.data;
  540. this.visitCollapse.tipsPopoverlabel = res.data.reminderContent;
  541. this.visitCollapse.latestUpdateTime = res.data.latestUpdateTime;
  542. this.visitCollapse.collapseLosding = false;
  543. }
  544. });
  545. },
  546. getSelectBuildingStore() {
  547. this.createStore.collapseLosding = true;
  548. selectBuildingStore().then((res) => {
  549. if (res.code == 200) {
  550. this.createStore.resData = res.data;
  551. this.createStore.tipsPopoverlabel = res.data.reminderContent;
  552. this.createStore.collapseLosding = false;
  553. }
  554. });
  555. },
  556. getReportData() {
  557. if (this.empLevel == '1') {
  558. this.report.title = '半月报';
  559. } else if (this.empLevel == '2') {
  560. this.report.title = '周报';
  561. } else if (this.empLevel == '3') {
  562. this.report.title = '日报';
  563. }
  564. this.report.reportLosding = true;
  565. getReportTarget().then((res) => {
  566. this.report.reportLosding = false;
  567. this.report.reportData = res.data || {};
  568. });
  569. },
  570. getPantoneData() {
  571. if (this.empLevel !== 4) {
  572. this.pantone.pantoneLosding = true;
  573. getReportMaterial().then((res) => {
  574. this.pantone.pantoneLosding = false;
  575. this.pantone.tip = res.data.tip;
  576. this.pantone.pantoneData = res.data;
  577. delete this.pantone.pantoneData.tip;
  578. });
  579. }
  580. },
  581. getColorWarning() {
  582. if (this.empLevel !== 4) {
  583. this.colorWarning.contentLosding = true;
  584. getColorWarning().then((res) => {
  585. this.colorWarning.contentLosding = false;
  586. this.colorWarning.tip = res.data.tip;
  587. this.colorWarning.contentData = res.data;
  588. delete this.colorWarning.contentData.tip;
  589. });
  590. }
  591. },
  592. // 汇报下属详情-点击
  593. reportClick(type, value) {
  594. // 埋点
  595. buryingPoint({
  596. systemModel: '提示类',
  597. buryingPointType: 7,
  598. buryingPointValue: value,
  599. buryingPointName: type == 'fillingRate' ? '下属详情' : '进入点评',
  600. buryingPointPosition: this.empLevel == '1' ? '半月报' : '周报',
  601. });
  602. if (type == 'fillingRate') {
  603. // 下属汇报率审批率统计
  604. this.$router.push({ path: 'reportingRate' });
  605. } else if (type == 'commentNum') {
  606. // 下属业务员历史日报
  607. this.$router.push({ path: 'subordinateHistoricalDaily' });
  608. }
  609. },
  610. // 色卡查看详情
  611. pantoneClick(val, key, value) {
  612. // 埋点
  613. buryingPoint({
  614. systemModel: '提示类',
  615. buryingPointType: 7,
  616. buryingPointValue: value,
  617. buryingPointName: key + '门店未签收:',
  618. buryingPointPosition: '色卡',
  619. });
  620. // 业务员进入未拜访列表
  621. if (this.empLevel == '3') {
  622. this.$router.push({ path: '/pantoneNoGet', query: { storeId: val.storeId } });
  623. } else {
  624. // 销售部,大区,公司,总部
  625. this.$router.push({
  626. path: '/hintDetail',
  627. query: { fromType: 'pantone', materialCode: val.materialCode, pantoneName: key }, // materialCode物料来源
  628. });
  629. }
  630. },
  631. // 调色预警查看详情
  632. colorWarningClick(val, key, value) {
  633. // 埋点
  634. buryingPoint({
  635. systemModel: '提示类',
  636. buryingPointType: 7,
  637. buryingPointValue: value,
  638. buryingPointName: key,
  639. buryingPointPosition: '调色预警',
  640. });
  641. // 业务员进入调色预警列表
  642. if (this.empLevel == '3') {
  643. this.$router.push({ path: '/warningStore', query: { storeId: val.storeId } });
  644. } else {
  645. // 销售部,大区,公司,总部
  646. this.$router.push({
  647. path: '/hintDetail',
  648. query: { fromType: 'pantone', materialCode: val.materialCode, pantoneName: key }, // materialCode物料来源
  649. });
  650. }
  651. },
  652. },
  653. };
  654. </script>
  655. <style lang="scss" scoped>
  656. .hintTabPage {
  657. padding: 6px;
  658. /* padding: 10px; */
  659. .itemTab {
  660. /* background: #fff; */
  661. padding: 4px;
  662. /* padding: 10px; */
  663. /* margin-bottom: 10px; */
  664. border-radius: 5px;
  665. .itemHeader {
  666. /* width: 150px; */
  667. color: #0057ba;
  668. font-weight: 500;
  669. font-size: 16px;
  670. padding: 10px 0;
  671. display: inline-flex;
  672. align-items: center;
  673. .itemTitle {
  674. margin-right: 10px;
  675. }
  676. .hintIconBox {
  677. display: flex;
  678. .hintIcon {
  679. width: 16px;
  680. height: 16px;
  681. }
  682. }
  683. .van-popover__wrapper {
  684. display: flex;
  685. }
  686. }
  687. .updateTime {
  688. /* margin-left: 10px; */
  689. font-size: 14px;
  690. color: #0057ba;
  691. }
  692. .van-collapse-item {
  693. margin-bottom: 15px;
  694. }
  695. /* 汇报 日报、周报、半月报 */
  696. .reportContent {
  697. color: #666666;
  698. padding: 8px 0;
  699. .reportItem {
  700. display: flex;
  701. position: relative;
  702. padding: 3px 0;
  703. .value {
  704. font-weight: 600;
  705. }
  706. .itemDetail {
  707. text-decoration: underline;
  708. color: #0057ba;
  709. position: absolute;
  710. right: 10px;
  711. }
  712. }
  713. .reportNum {
  714. height: 25px;
  715. }
  716. }
  717. /* 色卡 */
  718. .pantoneContent {
  719. padding-bottom: 10px;
  720. .title {
  721. padding: 2px 5px;
  722. border-radius: 2px;
  723. background-color: #13b5b1;
  724. margin: 4px 0;
  725. display: inline-block;
  726. color: #fff;
  727. }
  728. .kekong{
  729. background: rgb(235, 104, 119);
  730. }
  731. .jinpai{
  732. background: rgb(255, 165, 0);
  733. }
  734. .pantoneItem {
  735. .item {
  736. display: flex;
  737. justify-content: space-between;
  738. .left {
  739. display: flex;
  740. flex: 1;
  741. .valueIsClick {
  742. text-decoration: underline;
  743. color: #0057ba;
  744. }
  745. }
  746. .right {
  747. display: flex;
  748. width: 160px;
  749. // justify-content: center;
  750. .valueIsClick {
  751. text-decoration: underline;
  752. color: #0057ba;
  753. }
  754. }
  755. }
  756. .firstItem {
  757. }
  758. .secondItem {
  759. }
  760. }
  761. }
  762. }
  763. .mask {
  764. position: absolute;
  765. width: 100%;
  766. height: 100%;
  767. top: 0;
  768. background: rgba(255, 255, 255, 0.8);
  769. display: flex;
  770. justify-content: center;
  771. align-items: center;
  772. }
  773. }
  774. </style>
  775. <style lang="scss">
  776. .hintTabPage {
  777. .itemTab {
  778. .van-cell {
  779. padding: 0 4px;
  780. align-items: center;
  781. }
  782. .van-collapse-item__content {
  783. padding: 0 4px;
  784. }
  785. }
  786. }
  787. .hintPopover {
  788. background: #deedff;
  789. .popper__arrow {
  790. &::after {
  791. border-right-color: #deedff !important;
  792. }
  793. }
  794. }
  795. </style>