You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

908 lines
22 KiB

  1. <template>
  2. <div class="box-center">
  3. <div class="app-top">
  4. <div class="app-titel" style="margin-bottom: 10px">
  5. <div style="display: flex">
  6. <div class="titel-text" style="line-height: 32px">月份:</div>
  7. <div style="margin-left: 10px">
  8. <el-date-picker
  9. v-model="time"
  10. type="month"
  11. :clearable='false'
  12. value-format="yyyy-MM"
  13. @change="confirmtime"
  14. placeholder="选择月"
  15. >
  16. </el-date-picker>
  17. </div>
  18. </div>
  19. <el-select
  20. v-model="selValue"
  21. @change="selChange"
  22. style="width: 100px; margin-left: 20px"
  23. placeholder="请选择"
  24. >
  25. <el-option label="代理商" v-if="orgType == 0" value="0"></el-option>
  26. <el-option label="公司" v-if="orgType != 2" value="1"></el-option>
  27. <el-option label="楼盘" value="2"></el-option>
  28. </el-select>
  29. <div style="margin-left: 10px" v-if="selValue == 1">
  30. <el-select
  31. v-model="choicValue"
  32. @change="valuechange"
  33. placeholder="默认为全部"
  34. clearable
  35. filterable
  36. >
  37. <el-option
  38. v-for="item in houseList"
  39. :key="item.orgCode"
  40. :label="item.name"
  41. :value="item.orgCode"
  42. >
  43. </el-option>
  44. </el-select>
  45. </div>
  46. <!-- 楼盘 -->
  47. <div style="margin-left: 26px" v-else-if="selValue == 2">
  48. <el-select
  49. v-model="choicValue"
  50. @change="valuechange"
  51. placeholder="默认为全部"
  52. clearable
  53. filterable
  54. >
  55. <el-option
  56. v-for="item in houseList"
  57. :key="item.id"
  58. :label="item.propertyName"
  59. :value="item.id"
  60. >
  61. </el-option>
  62. </el-select>
  63. </div>
  64. <div style="margin-left: 26px" v-else>
  65. <el-select
  66. v-model="choicValue"
  67. @change="valuechange"
  68. clearable
  69. filterable
  70. placeholder="默认为全部"
  71. >
  72. <el-option
  73. v-for="item in houseList"
  74. :key="item.id"
  75. :label="item.agentName"
  76. :value="item.id"
  77. >
  78. </el-option>
  79. </el-select>
  80. </div>
  81. <div v-if="orgType == 0 || orgType == 1" class="div-lab">
  82. <div class="label">运营人员:</div>
  83. <el-select
  84. v-model="operationStaffId"
  85. placeholder="请选择"
  86. class="div-inp"
  87. filterable
  88. clearable
  89. >
  90. <el-option
  91. v-for="item in operaList"
  92. :key="item.accountId"
  93. :label="item.name"
  94. :value="item.accountId"
  95. >
  96. </el-option>
  97. </el-select>
  98. </div>
  99. <div style="margin-left: auto; display: flex; margin-right: 50px">
  100. <div style="margin-left: 20px">
  101. <el-button type="primary" @click="screen">筛选</el-button>
  102. </div>
  103. <div style="margin-left: 20px">
  104. <el-button @click="clascreen">清空筛选条件</el-button>
  105. </div>
  106. </div>
  107. </div>
  108. </div>
  109. <div class="app-box-san">
  110. <div class="zuo">
  111. <div class="title">
  112. <div class="text1">目标分析</div>
  113. </div>
  114. <div style="height: 350px; width: 94%; margin: 0 auto">
  115. <div id="data1" style="min-height: 350px"></div>
  116. </div>
  117. </div>
  118. <div class="zuo">
  119. <div class="title">
  120. <div class="text1">运营目标完成排名</div>
  121. </div>
  122. <div
  123. style="overflow-y: auto; height: 350px; width: 94%; margin: 0 auto"
  124. >
  125. <div class="jinbox" v-for="(item, i) in objList" :key="i">
  126. <div class="jinboxtit">{{ item.name }}</div>
  127. <div class="jinbox-box">
  128. <div
  129. class="boxbaifenbi"
  130. :style="'width:' + item.zxl1 + '%;'"
  131. ></div>
  132. </div>
  133. <div class="jinboxbott">{{ item.zxl }}</div>
  134. </div>
  135. </div>
  136. </div>
  137. </div>
  138. <div class="app-box-san">
  139. <div class="zuo">
  140. <div class="title">
  141. <div class="text1">对比上月分析</div>
  142. </div>
  143. <div style="height: 350px; width: 94%; margin: 0 auto">
  144. <div id="data2" style="min-height: 350px"></div>
  145. </div>
  146. </div>
  147. <div class="zuo">
  148. <div class="title">
  149. <div class="text1">运营目标排名</div>
  150. </div>
  151. <div
  152. style="overflow-y: auto; height: 350px; width: 94%; margin: 0 auto"
  153. >
  154. <div class="jinbox" v-for="(item, i) in objList" :key="i">
  155. <div class="jinboxtit">{{ item.name }}</div>
  156. <div class="jinbox-box">
  157. <div
  158. class="boxbaifenbi"
  159. :style="'width:' + item.zxl1 + '%;'"
  160. ></div>
  161. </div>
  162. <div class="jinboxbott">{{ item.zxl }}</div>
  163. </div>
  164. </div>
  165. </div>
  166. </div>
  167. <!-- 表格 -->
  168. <div class="cen-tab">
  169. <div class="app-titel" style="margin-bottom: 10px">
  170. <el-button type="primary">批量设置目标</el-button>
  171. <!-- <el-button
  172. >导出</el-button
  173. > -->
  174. </div>
  175. <el-table
  176. :data="tableData"
  177. @selection-change="handleSelectionChange"
  178. stripe
  179. style="width: 100%"
  180. >
  181. <el-table-column type="selection" width="55"> </el-table-column>
  182. <el-table-column prop="houseName" label="楼盘名称" align="center">
  183. </el-table-column>
  184. <el-table-column prop="accountNum" label="地区" align="center">
  185. </el-table-column>
  186. <el-table-column prop="receptionCount" label="运营" align="center">
  187. </el-table-column>
  188. <el-table-column
  189. label="6月"
  190. align="center"
  191. v-for="(item, idx) in 6"
  192. :key="idx"
  193. >
  194. <el-table-column
  195. width="100"
  196. prop="houseName"
  197. label="平均执行率"
  198. align="center"
  199. >
  200. </el-table-column>
  201. <el-table-column
  202. width="100"
  203. prop="houseName"
  204. label="对比上月"
  205. align="center"
  206. >
  207. </el-table-column>
  208. <el-table-column
  209. width="100"
  210. prop="houseName"
  211. label="目标执行率"
  212. align="center"
  213. >
  214. </el-table-column>
  215. <el-table-column
  216. width="100"
  217. prop="houseName"
  218. label="目标完成率"
  219. align="center"
  220. >
  221. </el-table-column>
  222. </el-table-column>
  223. <el-table-column label="操作" align="center" fixed="right" width="200">
  224. <template slot-scope="{ row }">
  225. <el-button type="text" @click="getAnalyse(row)">趋势图</el-button>
  226. <el-button type="text" @click="setTit(row)">设置目标</el-button>
  227. </template>
  228. </el-table-column>
  229. </el-table>
  230. <!-- <div style="display: flex;justify-content:flex-end;margin-top: 10px;">
  231. <el-pagination
  232. @size-change="handleSizeChange"
  233. @current-change="handleCurrentChange"
  234. :current-page="page"
  235. :page-sizes="[10, 30, 50]"
  236. :page-size="pagesize"
  237. layout="total, sizes, prev, pager, next, jumper"
  238. :total="total">
  239. </el-pagination>
  240. </div> -->
  241. </div>
  242. <el-dialog title="趋势图" :visible.sync="dialogVisible">
  243. <div style="height: 350px; width: 94%; margin: 0 auto">
  244. <div id="line" style="min-height: 350px"></div>
  245. </div>
  246. <!-- <div slot="footer" class="dialog-footer">
  247. <el-button @click="dialogVisible = false">取 消</el-button>
  248. <el-button type="primary" @click="addEquipment()">保存</el-button>
  249. </div> -->
  250. </el-dialog>
  251. <el-dialog title="目标" :visible.sync="targetVisible" width="400px" @close='reset'>
  252. <el-form
  253. :model="receiveForm"
  254. ref="receiveForm"
  255. :rules="receiveRules"
  256. label-width="120px"
  257. >
  258. <el-form-item label="12月目标执行率" prop="num1">
  259. <el-input
  260. v-model.number="receiveForm.num1"
  261. style="width: 80%; margin-left: 20px"
  262. maxlength="2"
  263. clearable
  264. >
  265. <i slot="suffix" style="font-style: normal; margin-right: 10px"
  266. >%</i
  267. >
  268. </el-input>
  269. </el-form-item>
  270. <el-form-item label="12月目标执行率" prop="num2">
  271. <el-input
  272. v-model.number="receiveForm.num2"
  273. style="width: 80%; margin-left: 20px"
  274. maxlength="2"
  275. clearable
  276. >
  277. <i slot="suffix" style="font-style: normal; margin-right: 10px"
  278. >%</i
  279. >
  280. </el-input>
  281. </el-form-item>
  282. <el-form-item label="12月目标执行率" prop="num3">
  283. <el-input
  284. v-model.number="receiveForm.num3"
  285. style="width: 80%; margin-left: 20px"
  286. maxlength="2"
  287. clearable
  288. >
  289. <i slot="suffix" style="font-style: normal; margin-right: 10px"
  290. >%</i
  291. >
  292. </el-input>
  293. </el-form-item>
  294. </el-form>
  295. <div slot="footer" class="dialog-footer">
  296. <el-button @click="targetVisible = false">取 消</el-button>
  297. <el-button type="primary" @click="sava()">保存</el-button>
  298. </div>
  299. </el-dialog>
  300. </div>
  301. </template>
  302. <script>
  303. import * as echarts from "echarts";
  304. import { exportMethodPost } from "@/util/util";
  305. export default {
  306. data() {
  307. return {
  308. selValue:
  309. localStorage.getItem("orgType") == 0
  310. ? "0"
  311. : localStorage.getItem("orgType") == 1
  312. ? "1"
  313. : "2",
  314. choicValue: "",
  315. operationStaffId: "",
  316. houseList: [],
  317. operaList: [],
  318. tableData: [{ houseName: "123" }],
  319. orgType: localStorage.getItem("orgType"),
  320. time: "",
  321. page: 1,
  322. pagesize: 10,
  323. total: 0,
  324. dialogVisible: false,
  325. targetVisible: false,
  326. receiveForm: {
  327. num1: "",
  328. num2: "",
  329. num3: "",
  330. },
  331. receiveRules: {},
  332. objList: [
  333. {
  334. name: "顾文一",
  335. zxl1: 90,
  336. zxl: 10,
  337. },
  338. {
  339. name: "顾文一",
  340. zxl1: 90,
  341. zxl: 10,
  342. },
  343. {
  344. name: "顾文一",
  345. zxl1: 90,
  346. zxl: 10,
  347. },
  348. {
  349. name: "顾文一",
  350. zxl1: 90,
  351. zxl: 10,
  352. },
  353. ],
  354. };
  355. },
  356. mounted() {
  357. // 先默认获取当前月份
  358. this.time = new Date().getFullYear() + "-" + (new Date().getMonth() + 1);
  359. // console.log(new Date().getFullYear() + "-" + (new Date().getMonth() + 1));
  360. this.getList();
  361. this.getOperaList();
  362. let arr = [
  363. {
  364. value: 10,
  365. name: "达标",
  366. },
  367. {
  368. value: 10,
  369. name: "未达标",
  370. },
  371. ];
  372. this.getChart("data1", arr);
  373. this.getChart("data2", arr);
  374. },
  375. methods: {
  376. reset(){
  377. this.receiveForm={
  378. num1: "",
  379. num2: "",
  380. num3: "",
  381. }
  382. this.$refs.receiveForm.resetFields()
  383. },
  384. screen() {},
  385. clascreen() {
  386. this.time=new Date().getFullYear() + "-" + (new Date().getMonth() + 1);
  387. this.choicValue=''
  388. if(this.orgType==0){
  389. this.selValue='0'
  390. }else if(this.orgType==1){
  391. this.selValue='1'
  392. }else{
  393. this.selValue='2'
  394. }
  395. this.operationStaffId=''
  396. this.getList()
  397. },
  398. sava() {},
  399. getAnalyse(row) {
  400. console.log("趋势图");
  401. let timeDate = ["六月", "七月", "八月", "九月", "十月", "十一月"];
  402. let Strname = ["平均执行率", "对比上月", "目标执行率", "目标完成率"];
  403. let arr0 = [1, 2, 3, 4, 5, -7];
  404. let arr1 = [1, 2, -10, 4, 5, -7];
  405. let arr2 = [1, 5, 3, 7, 5, 7];
  406. let arr3 = [1, 2, 3, -16, 5, 7];
  407. let arr = [];
  408. Strname.map((item, idx) => {
  409. // console.log(eval('arr'+idx));
  410. // return
  411. let obj = {
  412. name: item,
  413. data: eval("arr" + idx),
  414. type: "line",
  415. smooth: true,
  416. };
  417. arr.push(obj);
  418. });
  419. // console.log(arr,'数据');
  420. this.dialogVisible = true;
  421. // 将echar 变成异步操作,因为此时页面尚未渲染
  422. setTimeout(() => {
  423. this.SwitchCARDS(arr, "line", timeDate, Strname);
  424. }, 100);
  425. },
  426. setTit(row) {
  427. console.log("设置目标");
  428. this.targetVisible = true;
  429. },
  430. // 折线图
  431. SwitchCARDS(arr, str, timeDate, Strname) {
  432. // console.log(arr, str, timeDate, Strname);
  433. echarts.init(document.getElementById(str)).dispose();
  434. var chartDom = document.getElementById(str);
  435. var myChart = echarts.init(chartDom);
  436. var option;
  437. option = {
  438. tooltip: {
  439. trigger: "axis",
  440. },
  441. legend: {
  442. data: Strname,
  443. bottom: "10",
  444. },
  445. grid: {
  446. left: 10,
  447. right: 10,
  448. containLabel: true,
  449. },
  450. xAxis: {
  451. type: "category",
  452. data: timeDate,
  453. axisLabel: {
  454. //重点在这一块,其余可以忽略
  455. textStyle: {
  456. color: "#212121", //更改坐标轴文字颜色
  457. },
  458. },
  459. axisLine: {
  460. lineStyle: {
  461. type: "solid",
  462. color: "#DDE1EE", //x线的颜色
  463. width: "1", //坐标线的宽度
  464. },
  465. },
  466. },
  467. yAxis: {
  468. type: "value",
  469. splitNumber: 4,
  470. axisLabel: {
  471. //重点在这一块,其余可以忽略
  472. textStyle: {
  473. color: "#212121", //更改坐标轴文字颜色
  474. },
  475. },
  476. axisLine: {
  477. lineStyle: {
  478. ype: "solid",
  479. color: "#DDE1EE", //x线的颜色
  480. width: "1", //坐标线的宽度
  481. },
  482. },
  483. splitLine: {
  484. lineStyle: {
  485. type: "dashed", // y轴分割线类型
  486. },
  487. },
  488. axisTick: {
  489. //y轴刻度线
  490. show: false,
  491. },
  492. },
  493. series: arr,
  494. };
  495. option && myChart.setOption(option);
  496. window.addEventListener("resize", () => {
  497. myChart.resize();
  498. });
  499. },
  500. // 饼状图
  501. getChart(id, data) {
  502. echarts.init(document.getElementById(id)).dispose();
  503. var chartDom = document.getElementById(id);
  504. var myChart = echarts.init(chartDom);
  505. var option = {
  506. color: [
  507. "#66AFF5",
  508. "#FABD2B",
  509. "#6F8EDC",
  510. "#FFCF8F",
  511. "#F98120",
  512. "#1CC99E",
  513. "#9474FB",
  514. "#657292",
  515. "#7A6A99",
  516. "#BF5D52",
  517. "#EE6666",
  518. "#77B7E4",
  519. "#E6A065",
  520. "#9D5139",
  521. "#C1AA88",
  522. "#F87F7A",
  523. "#F6CF74",
  524. "#7F5506",
  525. "#88BB9B",
  526. "#6E99AA",
  527. "#5789D0",
  528. ],
  529. tooltip: {
  530. trigger: "item",
  531. },
  532. legend: {
  533. bottom: "1%",
  534. left: "center",
  535. },
  536. series: [
  537. {
  538. name: "",
  539. type: "pie",
  540. radius: ["48%", "70%"],
  541. avoidLabelOverlap: false,
  542. data: data,
  543. },
  544. ],
  545. };
  546. option && myChart.setOption(option);
  547. window.addEventListener("resize", () => {
  548. myChart.resize();
  549. });
  550. },
  551. confirmtime(e) {
  552. console.log(e, "获取到的时间参数");
  553. console.log(e.substring(5) / 1, "月份");
  554. // 再次要对时间进行操作 即往前六个月
  555. },
  556. selChange() {
  557. this.choicValue = "";
  558. this.getList();
  559. },
  560. valuechange() {},
  561. handleSelectionChange(e) {
  562. console.log(e);
  563. },
  564. getList() {
  565. console.log(this.selValue);
  566. // 当为楼盘选择时
  567. if (this.selValue == 1) {
  568. this.$api.api
  569. .findMyOrg({
  570. orgType: localStorage.getItem("orgType"),
  571. agentId: localStorage.getItem("agentId"),
  572. })
  573. .then((res) => {
  574. this.houseList = res.data;
  575. });
  576. } else if (this.selValue == 2) {
  577. this.$api.api
  578. .findHouseByUser({
  579. orgType: localStorage.getItem("orgType"),
  580. houseId: localStorage.getItem("houseId"),
  581. })
  582. .then((res) => {
  583. this.houseList = res.data;
  584. });
  585. } else {
  586. this.$api.api
  587. .findMyAgent({
  588. orgType: localStorage.getItem("orgType"),
  589. })
  590. .then((res) => {
  591. this.houseList = res.data;
  592. });
  593. }
  594. },
  595. getOperaList() {
  596. if (this.orgType == 1) {
  597. this.$api.http
  598. .getAllOperationsStaffByAgent({
  599. agentId: localStorage.getItem("agentId"),
  600. })
  601. .then((res) => {
  602. this.operaList = res.data;
  603. });
  604. } else {
  605. this.$api.http.getAllOperationsStaff().then((res) => {
  606. this.operaList = res.data;
  607. });
  608. }
  609. },
  610. handleSizeChange(val) {
  611. this.pagesize = val;
  612. // this.houseTable()
  613. },
  614. handleCurrentChange(val) {
  615. this.page = val;
  616. // this.houseTable()
  617. },
  618. },
  619. };
  620. </script>
  621. <style lang="scss" scoped >
  622. .box-center {
  623. width: 100%;
  624. padding: 15px;
  625. min-width: 1000px;
  626. padding-bottom: 100px;
  627. }
  628. .cen-tab {
  629. width: 100%;
  630. padding: 15px;
  631. background: #ffffff;
  632. margin-top: 15px;
  633. }
  634. .tophove {
  635. color: #ffffff;
  636. background: #2671e2;
  637. }
  638. .app-titel1 {
  639. width: 100%;
  640. height: 70px;
  641. background: #ffffff;
  642. box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.04);
  643. border-radius: 4px;
  644. display: flex;
  645. align-items: center;
  646. .titel-text {
  647. height: 100%;
  648. font-size: 18px;
  649. // font-weight: 600;
  650. color: #32363d;
  651. line-height: 70px;
  652. margin-left: 30px;
  653. }
  654. .toptimeqhuan {
  655. width: 190px;
  656. height: 32px;
  657. background: #ffffff;
  658. border-radius: 4px;
  659. border: 1px solid #e0e0e0;
  660. display: flex;
  661. align-items: center;
  662. overflow: hidden;
  663. margin-left: 20px;
  664. cursor: pointer;
  665. }
  666. .toptimeqhuan div {
  667. flex: 1;
  668. text-align: center;
  669. line-height: 32px;
  670. font-size: 16px;
  671. }
  672. }
  673. .app-top {
  674. width: 100%;
  675. background: #ffffff;
  676. box-shadow: 0px 0px 12px 0px rgba(0, 0, 0, 0.04);
  677. border-radius: 4px;
  678. padding-top: 15px;
  679. // padding-bottom: 15px;
  680. padding-bottom: 6px;
  681. .app-titel {
  682. width: 100%;
  683. display: flex;
  684. align-items: center;
  685. .titel-text {
  686. height: 100%;
  687. font-size: 16px;
  688. // font-weight: 600;
  689. color: #32363d;
  690. text-indent: 30px;
  691. }
  692. .toptimeqhuan {
  693. width: 190px;
  694. height: 32px;
  695. background: #ffffff;
  696. border-radius: 4px;
  697. border: 1px solid #e0e0e0;
  698. display: flex;
  699. align-items: center;
  700. overflow: hidden;
  701. margin-left: 20px;
  702. cursor: pointer;
  703. }
  704. .toptimeqhuan div {
  705. flex: 1;
  706. text-align: center;
  707. line-height: 32px;
  708. font-size: 14px;
  709. }
  710. }
  711. }
  712. .app-box-san {
  713. width: 100%;
  714. // height: 400px;
  715. display: flex;
  716. margin-top: 15px;
  717. .zuo {
  718. flex: 1;
  719. height: 100%;
  720. margin-right: 15px;
  721. background: #ffffff;
  722. border-radius: 4px;
  723. .title {
  724. width: 100%;
  725. height: 55px;
  726. border-bottom: 1px solid #e0e0e0;
  727. display: flex;
  728. align-content: center;
  729. .text1 {
  730. flex: 2;
  731. line-height: 55px;
  732. text-indent: 20px;
  733. font-weight: 500;
  734. font-size: 16px;
  735. color: #333333;
  736. }
  737. .text2 {
  738. flex: 1;
  739. height: 55px;
  740. display: flex;
  741. align-items: center;
  742. }
  743. }
  744. }
  745. .you {
  746. height: 100%;
  747. flex: 1;
  748. background: #ffffff;
  749. border-radius: 4px;
  750. .title {
  751. width: 100%;
  752. height: 55px;
  753. border-bottom: 1px solid #e0e0e0;
  754. display: flex;
  755. align-content: center;
  756. .text1 {
  757. flex: 2;
  758. line-height: 55px;
  759. text-indent: 20px;
  760. font-weight: 500;
  761. font-size: 16px;
  762. color: #333333;
  763. }
  764. .text2 {
  765. flex: 1;
  766. height: 55px;
  767. display: flex;
  768. align-items: center;
  769. }
  770. }
  771. }
  772. }
  773. .hejisan {
  774. width: 92%;
  775. margin: 0 auto;
  776. display: flex;
  777. padding-top: 10px;
  778. padding-bottom: 10px;
  779. .text1-1 {
  780. color: #666666;
  781. }
  782. .text1-2 {
  783. color: #333333;
  784. margin-top: 10px;
  785. }
  786. }
  787. // 进度条
  788. .jinbox {
  789. width: 100%;
  790. height: 18px;
  791. line-height: 18px;
  792. display: flex;
  793. font-size: 16px;
  794. color: #2c3542;
  795. margin-top: 10px;
  796. .jinboxtit {
  797. width: 14%;
  798. height: 18px;
  799. padding-right: 6px;
  800. white-space: nowrap;
  801. text-overflow: ellipsis;
  802. overflow: hidden;
  803. }
  804. .jinbox-box {
  805. width: 75%;
  806. height: 100%;
  807. border-radius: 8px;
  808. background: #f2f2f2;
  809. }
  810. .boxbaifenbi {
  811. height: 100%;
  812. background: #60d7a0;
  813. border-radius: 8px;
  814. }
  815. .boxbaifenbi2 {
  816. height: 100%;
  817. background: #5b8ff9;
  818. }
  819. .jinboxbott {
  820. width: 16%;
  821. text-indent: 50px;
  822. }
  823. }
  824. .div-lab {
  825. display: flex;
  826. margin: 5px;
  827. }
  828. .div-inp {
  829. width: 200px;
  830. }
  831. .label {
  832. font-size: 14px;
  833. font-weight: 400;
  834. color: #32363d;
  835. line-height: 32px;
  836. margin-left: 15px;
  837. min-width: 40px;
  838. }
  839. .noData {
  840. width: 100%;
  841. // height: 60vh;
  842. height: 500px;
  843. background: #fff;
  844. text-align: center;
  845. margin-top: 20px;
  846. overflow: hidden;
  847. }
  848. .imgboxc {
  849. margin-top: 100px;
  850. color: #999999;
  851. }
  852. // 进度条
  853. .jinbox {
  854. width: 100%;
  855. height: 18px;
  856. line-height: 18px;
  857. display: flex;
  858. font-size: 16px;
  859. color: #2c3542;
  860. margin-top: 10px;
  861. .jinboxtit {
  862. width: 14%;
  863. height: 18px;
  864. padding-right: 6px;
  865. white-space: nowrap;
  866. text-overflow: ellipsis;
  867. overflow: hidden;
  868. }
  869. .jinbox-box {
  870. width: 75%;
  871. height: 100%;
  872. border-radius: 8px;
  873. background: #f2f2f2;
  874. }
  875. .boxbaifenbi {
  876. height: 100%;
  877. background: #60d7a0;
  878. border-radius: 8px;
  879. }
  880. .boxbaifenbi2 {
  881. height: 100%;
  882. background: #5b8ff9;
  883. }
  884. .jinboxbott {
  885. width: 16%;
  886. text-indent: 16px;
  887. }
  888. }
  889. </style>