index.vue 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686
  1. <template>
  2. <div class="app-container">
  3. <div class="head-container" style="margin: 10px 0 10px 0;">
  4. <!-- 搜索 -->
  5. <span style="fontSize:13px">标题</span>
  6. <el-input
  7. v-model="query.value"
  8. clearable
  9. placeholder="请输入标题"
  10. style="width: 200px;"
  11. size="small"
  12. class="filter-item"
  13. @keyup.enter.native="handleFind"
  14. @clear="handleFind"
  15. />
  16. <!-- <span style="fontSize:13px;marginLeft:20px">招标类型</span>
  17. <el-select v-model="query.tenderType" style="width: 200px;" @keyup.enter.native="handleFind" @clear="handleFind" size="small" clearable value-key="areaId" filterable placeholder="请选择招标类型">
  18. <el-option
  19. v-for="item in tenderType"
  20. :key="item.id"
  21. :label="item.name"
  22. :value="item.id"
  23. />
  24. </el-select> -->
  25. <!-- <span style="fontSize:13px;marginLeft:20px">招标规则</span>
  26. <el-select v-model="query.tenderRule" style="width: 200px;" @keyup.enter.native="handleFind" @clear="handleFind" size="small" clearable value-key="areaId" filterable placeholder="请选择招标规则">
  27. <el-option
  28. v-for="item in tenderRule"
  29. :key="item.id"
  30. :label="item.name"
  31. :value="item.id"
  32. />
  33. </el-select> -->
  34. <span style="fontSize:13px;marginLeft:20px">开始时间</span>
  35. <el-date-picker
  36. v-model="applyDateStart"
  37. size="mini"
  38. type="datetimerange"
  39. style="width: 400px;"
  40. range-separator="-"
  41. clearable
  42. value-format="yyyy-MM-dd HH:mm:ss"
  43. :default-time="['00:00:00', '23:59:59']"
  44. start-placeholder="开始日期"
  45. end-placeholder="结束日期"
  46. @change="onApplyDate"
  47. @clear="onApplyDate"
  48. />
  49. </div>
  50. <div style="float:right">
  51. <el-button class="filter-item" size="small" type="primary" icon="el-icon-search" @click="handleFind">搜索</el-button>
  52. </div>
  53. <!--表格渲染-->
  54. <el-table v-loading="tableLoading" :data="data" style="width: 100%;">
  55. <el-table-column label="序号" fixed="left" width="60" align="center">
  56. <template slot-scope="scope">
  57. <span>{{ scope.$index + 1 }}</span>
  58. </template>
  59. </el-table-column>
  60. <el-table-column prop="tenderTitle" label="标题" :show-overflow-tooltip="true" width="250" align="center" />
  61. <el-table-column label="状态" align="center" width="100">
  62. <template slot-scope="scope">
  63. <el-tag effect="plain" v-if="scope.row.status ==1">进行中</el-tag>
  64. <el-tag effect="plain" v-if="scope.row.status ==2" type="info">已结束</el-tag>
  65. <el-tag effect="plain" v-if="scope.row.status ==3" type="danger">已作废</el-tag>
  66. <el-tag effect="plain" v-if="scope.row.status ==4" type="warning">未开始</el-tag>
  67. </template>
  68. </el-table-column>
  69. <el-table-column prop="description" :show-overflow-tooltip="true" label="招标类型" width="100" align="center">
  70. <template slot-scope="scope">
  71. <el-tag v-if="scope.row.tenderType == 1" >物流</el-tag>
  72. <el-tag v-if="scope.row.tenderType == 2" >原料</el-tag>
  73. <el-tag v-if="scope.row.tenderType == 3" >销售</el-tag>
  74. <el-tag v-if="scope.row.tenderType == 4" >加工承揽</el-tag>
  75. </template>
  76. </el-table-column>
  77. <el-table-column prop="description" :show-overflow-tooltip="true" label="招标规则" width="100" align="center">
  78. <template slot-scope="scope">
  79. <el-tag v-if="scope.row.tenderRule == 1" type="success" effect="plain">价低者得</el-tag>
  80. <el-tag v-if="scope.row.tenderRule == 2" effect="plain" >价高者得</el-tag>
  81. </template>
  82. </el-table-column>
  83. <!-- <el-table-column prop="description" :show-overflow-tooltip="true" label="是否作废" width="100" align="center">
  84. <template slot-scope="scope">
  85. <el-tag v-if="scope.row.isInvalid == 1" >正常</el-tag>
  86. <el-tag v-if="scope.row.isInvalid == 2" type="danger" >已作废</el-tag>
  87. </template>
  88. </el-table-column> -->
  89. <!-- <el-table-column prop="fileUrl" label="附件" align="center" width="200">
  90. <template slot-scope="scope">
  91. <el-link :href="scope.row.fileUrl" type="primary" target="_target"><i class="el-icon-download"></i> 下载</el-link>
  92. </template>
  93. </el-table-column> -->
  94. <el-table-column prop="startTime" label="开始时间" align="center" width="160" />
  95. <el-table-column prop="endTime" label="截止时间" align="center" width="160" />
  96. <el-table-column prop="tenderRemark" label="备注" :show-overflow-tooltip="true" align="center" />
  97. <el-table-column label="操作" width="250" align="center">
  98. <template slot-scope="scope">
  99. <el-button v-if="scope.row.tenderStatus == 1 && scope.row.status == null" slot="reference" type="text" icon="el-icon-edit" @click="handleAdd(scope.row)">投标</el-button>
  100. <el-button v-if="scope.row.tenderStatus == 1 && scope.row.status == 0" slot="reference" type="text" icon="el-icon-edit" @click="handleEdit(scope.row)">改标</el-button>
  101. <el-button slot="reference" icon="el-icon-view" type="text" @click="handleView(scope.row)">投标详情</el-button>
  102. </template>
  103. </el-table-column>
  104. </el-table>
  105. <!--分页-->
  106. <div class="pagination">
  107. <el-pagination
  108. :current-page.sync="currentPage"
  109. :page-size="pageSize"
  110. layout="total, sizes, prev, pager, next, jumper"
  111. :total="total"
  112. background
  113. @size-change="handleSizeChange"
  114. @current-change="handleCurrentChange"
  115. />
  116. </div>
  117. <!-- 投标详情 -->
  118. <!-- 详情 -->
  119. <div class="goodsNameCss">
  120. <!-- 物流 -->
  121. <ckTender ref="ckTender"></ckTender>
  122. <!-- 销售 -->
  123. <ckTender1 ref="ckTender1"></ckTender1>
  124. <!-- 原料 -->
  125. <ckTender2 ref="ckTender2"></ckTender2>
  126. <!-- 生产加工 -->
  127. <ckTender3 ref="ckTender3"></ckTender3>
  128. </div>
  129. </div>
  130. </template>
  131. <script>
  132. import { getTableList, getQueryAdd, getQueryEdit, getQueryId } from '@/api/tender'
  133. import { Notification, MessageBox } from 'element-ui'
  134. import ckTender from "./tender/tender.vue"
  135. import ckTender1 from "./tender1/tender.vue"
  136. import ckTender2 from "./tender2/tender.vue"
  137. import ckTender3 from "./tender3/tender.vue"
  138. export default {
  139. components:{
  140. ckTender,
  141. ckTender1,
  142. ckTender2,
  143. ckTender3,
  144. },
  145. data() {
  146. const checkTel = (rule, value, callback) => {
  147. if (value == null) {
  148. callback(new Error('请选择附件'))
  149. } else {
  150. callback()
  151. }
  152. }
  153. return {
  154. form: {
  155. },
  156. data: [],
  157. active:0,
  158. BASE_API: process.env.BASE_API,
  159. tableLoading:false,
  160. dialog: false,
  161. loading: false,
  162. delLoading: false,
  163. viewDialog: false,
  164. isAdd: false,
  165. currentPage: 1,
  166. pageSize: 10,
  167. total: 0, // 总数量
  168. rules1:{
  169. departureStation:[
  170. { required: true, message: '始发车站不为空', trigger: 'blur' },
  171. ],
  172. destinationStation:[
  173. { required: true, message: '目的车站不为空', trigger: 'blur' },
  174. ],
  175. logisticsBiddingPrice:[
  176. { required: true, message: '投标价格不为空', trigger: 'blur' },
  177. ],
  178. phone:[
  179. { required: true, message: '联系电话不为空', trigger: 'blur' },
  180. ],
  181. transportMode:[
  182. { required: true, message: '运输方式不为空', trigger: 'blur' },
  183. ],
  184. },
  185. rules: {
  186. price: [
  187. { required: true, message: '报价金额不为空', trigger: 'blur' },
  188. ],
  189. appendix: [
  190. // { type:"array",required: true, message: '附件不为空', trigger: 'blur' },
  191. { validator: checkTel, trigger: 'blur' }
  192. ]
  193. },
  194. query: {
  195. type: '',
  196. value: '',
  197. tenderRule:"",
  198. tenderType:"",
  199. startTime:"",
  200. endTime:""
  201. },
  202. fileList: [],
  203. param: {
  204. current: 1,
  205. size: 10
  206. },
  207. total1: 0,
  208. Paramdata: [],
  209. applyDateStart:[],
  210. dialogTableData:[],
  211. tenderRule:[
  212. {id:1,name:"价低者得"},
  213. {id:2,name:"价高者得"},
  214. ],
  215. packingWay:[
  216. {id:1,name:"散粮"},
  217. {id:2,name:"袋装"},
  218. {id:3,name:"散装"},
  219. {id:4,name:"集装箱"},
  220. ],
  221. transportMode:[
  222. {id:1,name:"汽运"},
  223. {id:2,name:"火车运输"},
  224. {id:3,name:"船运"},
  225. {id:4,name:"汽运/火车运输/船运"},
  226. {id:5,name:"汽运/火车运输"},
  227. {id:6,name:"汽运/船运"},
  228. ],
  229. activeName: 'first',
  230. dialogTableVisible:false,
  231. goodsName:"",
  232. bidInfo:{}
  233. }
  234. },
  235. created() {
  236. this.getDictData()
  237. },
  238. methods: {
  239. // 投标详情 向父元素传递数据
  240. costPlannedAmountChange(val){
  241. console.log(val)
  242. this.dialogTableVisible = true
  243. setTimeout(() => {
  244. this.goodsName = val.goodsName
  245. this.$refs.ckDialog.priceData = val
  246. this.$refs.ckDialog.getTenantList()
  247. console.log(this.$refs.ckDialog)
  248. }, 300);
  249. },
  250. // 价格投标不能大于合计
  251. onlogistiicsPrice(val){
  252. console.log(val)
  253. if(val>this.form.transportUnitPrice){
  254. this.form.logisticsBiddingPrice = this.form.transportUnitPrice
  255. console.log("我是大于")
  256. }
  257. if(val.indexOf('.') !== -1 && val == '.'){
  258. this.form.logisticsBiddingPrice =0
  259. }
  260. if(val== "+" || val== "-"){
  261. this.form.logisticsBiddingPrice = 0
  262. }
  263. if(val<0){
  264. this.form.logisticsBiddingPrice = 0
  265. }
  266. },
  267. onApplyDate(){
  268. let startTime
  269. let endTime
  270. if(this.applyDateStart != null){
  271. this.query.startTime =this.applyDateStart[0]
  272. this.query.endTime = this.applyDateStart[1]
  273. }else{
  274. this.query.startTime =""
  275. this.query.endTime =""
  276. }
  277. this.handleFind()
  278. },
  279. next() {
  280. console.log(this.$refs.ckTable)
  281. if (this.active++ > 2) this.active = 0;
  282. this.dialogTableData = this.$refs.ckTable.SelectionList
  283. },
  284. handleSelectionChange(row){
  285. },
  286. // 获取详情
  287. getDictData: function() {
  288. this.loading = true
  289. const params = new URLSearchParams()
  290. params.append('current', this.currentPage)
  291. params.append('size', this.pageSize)
  292. params.append('tenderType', this.query.tenderType)
  293. params.append('tenderTitle', this.query.value)
  294. params.append('tenderRule', this.query.tenderRule)
  295. params.append('startTime',this.query.startTime )
  296. params.append('endTime', this.query.endTime)
  297. getTableList(params).then(res => {
  298. console.log(res)
  299. // this.data = res.data.data.records
  300. let data = res.data.data.records
  301. console.log(new Date().valueOf(),"当前时间")
  302. data.map((res)=>{
  303. // 开始时间
  304. let startTime = res.startTime
  305. // 投标结束时间
  306. let endTime = res.endTime
  307. const date = new Date(startTime)
  308. const modify = new Date(endTime)
  309. const start = date.valueOf() //开始时间
  310. const end = modify.valueOf() //投标结束时间
  311. const time = new Date().valueOf() //当前时间
  312. console.log(start,"start")
  313. console.log(end,"end")
  314. if(res.isInvalid == 2){
  315. res.status = 3
  316. console.log("作废了")
  317. }else if(time < start){
  318. res.status = 4
  319. console.log("当前时间小于开始时间,未开始")
  320. }else if(time > start && time < end){
  321. res.status = 1
  322. console.log("当前时间大于开始时间并且小于结束时间,进行中")
  323. }else if(time > end){
  324. res.status = 2
  325. console.log("当前时间大于结束时间,已结束")
  326. }
  327. return res
  328. })
  329. this.data = data
  330. this.total = res.data.data.total
  331. this.loading = false
  332. })
  333. },
  334. // 搜索
  335. handleFind: function() {
  336. this.currentPage = 1
  337. this.getDictData()
  338. },
  339. // 文件移除的时候
  340. handleRemove(file, fileList) {
  341. this.form.voucherFile = ''
  342. console.log(file, fileList, this.fileList, '移出')
  343. },
  344. // 文件状态改变时的钩子,添加文件、上传成功和上传失败时都会被调用
  345. handleChange(file, fileList) {
  346. console.log(file, fileList, '上传')
  347. if (file.response) {
  348. console.log(file.response, 'file')
  349. if (file.response.code == '200') {
  350. this.form.voucherFile = file.response.data.filePath
  351. } else {
  352. Notification.error({
  353. title: file.response.msg,
  354. duration: 1000
  355. })
  356. this.fileList = []
  357. }
  358. }
  359. },
  360. // 点击文件列表中已上传的文件时的钩子
  361. handlePreview(file) {
  362. console.log(file, 'file1')
  363. // window.location.href = file.url
  364. },
  365. handleExceed(files, fileList) {
  366. this.$message.warning(`当前限制选择 1 个附件,本次选择了 ${files.length} 个文件`)
  367. },
  368. beforeRemove(file, fileList) {
  369. return this.$confirm(`确定移除 ${file.name}?`)
  370. },
  371. // 下载
  372. onLoad(row) {
  373. // const params = new URLSearchParams()
  374. // params.append('path', row)
  375. const a = document.createElement('a')
  376. // a.href= /bidding/load
  377. const url = window.location.origin + process.env.BASE_API + '/bidding/load?path=' + encodeURIComponent(row)
  378. a.href = url
  379. a.click()
  380. },
  381. // 字典名称提交动作
  382. doSubmit() {
  383. this.$refs['form'].validate((valid) => {
  384. if (valid) {
  385. if (this.isAdd) {
  386. // 新增字典
  387. console.log(this.form)
  388. this.loading = true
  389. getQueryAdd(this.form).then((res) => {
  390. if (res.data.code === 200) {
  391. this.$message({ message: '操作成功', type: 'success' })
  392. } else {
  393. this.$message({ message: res.data.msg, type: 'error' })
  394. }
  395. this.dialog = false
  396. this.loading = false
  397. this.getDictData()
  398. this.$refs['form'].resetFields()
  399. }).catch(err => {
  400. this.loading = false
  401. })
  402. } else {
  403. // 更新字典
  404. getQueryEdit(this.form).then((res) => {
  405. if (res.data.code === 200) {
  406. this.$message({ message: '操作成功', type: 'success' })
  407. } else {
  408. this.$message({ message: res.data.msg, type: 'error' })
  409. }
  410. this.dialog = false
  411. this.getDictData()
  412. })
  413. }
  414. }
  415. })
  416. },
  417. // 添加字典
  418. handleAdd: function(row) {
  419. this.dialog = true
  420. this.isAdd = true
  421. this.form = {}
  422. this.fileList = []
  423. this.form.tenderLogisticsId = row.logisticsBidId
  424. this.form.tenderParentId = this.param.tenderParentId
  425. this.form.quantity = row.goodsNumber
  426. this.form.goodsName = row.goodsName
  427. this.form.transportUnitPrice = row.transportUnitPrice
  428. if (this.$refs['form']) {
  429. this.$refs['form'].resetFields()
  430. }
  431. },
  432. // 编辑字典
  433. handleEdit: function(row) {
  434. if (this.$refs['form']) {
  435. this.$refs['form'].resetFields()
  436. }
  437. this.dialog = true
  438. this.isAdd = false
  439. this.form = row.bidding
  440. this.form.priceQuotes = row.priceQuotes
  441. if (this.form.appendix) {
  442. let name = this.form.appendix.split('bidding/')
  443. name = name.pop()
  444. // let name = data.appendix.replace(/(.*\/)*([^.]+).*/ig, "$2");
  445. this.fileList = [{ name: name, url: this.form.appendix }]
  446. }
  447. },
  448. handleClick(row,val){
  449. console.log(row,val)
  450. if(row.name == "second"){
  451. this.$refs.ckTable.tenderParentId = this.param.tenderParentId
  452. this.$refs.ckTable.getTenantList()
  453. }
  454. },
  455. handleView(row) {
  456. let tenderType = row.tenderType
  457. console.log(row.tenderType,"tenderType")
  458. let param = {
  459. tenderParentId:row.tenderParentId,
  460. current: 1,
  461. size: 10
  462. }
  463. if(tenderType == 1){
  464. this.$refs.ckTender.viewDialog = true
  465. setTimeout(() => {
  466. this.$refs.ckTender.activeName="first"
  467. // this.$refs.ckTender.param.tenderParentId = row.tenderParentId
  468. this.$refs.ckTender.bidInfo = row
  469. this.$refs.ckTender.param = param
  470. // this.$refs.ckTender.param.current = 1
  471. this.$refs.ckTender.applyDateStart = []
  472. this.$refs.ckTender.getParam()
  473. console.log("物流")
  474. }, 300);
  475. }else if(tenderType == 2){
  476. this.$refs.ckTender2.viewDialog = true
  477. setTimeout(() => {
  478. this.$refs.ckTender2.activeName="first"
  479. // this.$refs.ckTender2.param.tenderParentId = row.tenderParentId
  480. this.$refs.ckTender2.bidInfo = row
  481. this.$refs.ckTender2.param = param
  482. // this.$refs.ckTender2.param.current = 1
  483. this.$refs.ckTender2.applyDateStart = []
  484. this.$refs.ckTender2.getParam()
  485. }, 300);
  486. console.log("原料")
  487. }else if(tenderType == 3){
  488. this.$refs.ckTender1.viewDialog = true
  489. setTimeout(() => {
  490. this.$refs.ckTender1.activeName="first"
  491. // this.$refs.ckTender1.param.tenderParentId = row.tenderParentId
  492. this.$refs.ckTender1.bidInfo = row
  493. this.$refs.ckTender1.param = param
  494. // this.$refs.ckTender1.param.current = 1
  495. this.$refs.ckTender1.applyDateStart = []
  496. this.$refs.ckTender1.getParam()
  497. }, 300);
  498. console.log("销售")
  499. }else if(tenderType == 4){
  500. this.$refs.ckTender3.viewDialog = true
  501. setTimeout(() => {
  502. this.$refs.ckTender3.activeName="first"
  503. // this.$refs.ckTender3.param.tenderParentId = row.tenderParentId
  504. this.$refs.ckTender3.bidInfo = row
  505. this.$refs.ckTender3.param = param
  506. // this.$refs.ckTender3.param.current = 1
  507. this.$refs.ckTender3.applyDateStart = []
  508. this.$refs.ckTender3.getParam()
  509. }, 300);
  510. console.log("加工承揽")
  511. }
  512. },
  513. getParam() {
  514. const data = this.param
  515. this.tableLoading = true
  516. getQueryId(data).then((res) => {
  517. console.log(res.data.data.records, '')
  518. let data = res.data.data.records
  519. data.map((res)=>{
  520. // 开始时间
  521. let startTime = res.startTime
  522. // 投标结束时间
  523. let endTime = res.endTime
  524. const date = new Date(startTime)
  525. const modify = new Date(endTime)
  526. const start = date.valueOf() //开始时间
  527. const end = modify.valueOf() //投标结束时间
  528. const time = new Date().valueOf() //当前时间
  529. console.log(start,"start")
  530. console.log(end,"end")
  531. if(res.isInvalid == 2){
  532. res.status = 3
  533. console.log("作废了")
  534. }else if(time < start){
  535. res.status = 4
  536. console.log("当前时间小于开始时间,未开始")
  537. }else if(time > start && time < end){
  538. res.status = 1
  539. console.log("当前时间大于开始时间并且小于结束时间,进行中")
  540. }else if(time > end){
  541. res.status = 2
  542. console.log("当前时间大于结束时间,已结束")
  543. }
  544. return res
  545. })
  546. this.Paramdata = data
  547. this.tableLoading = false
  548. this.total1 = res.data.data.total
  549. })
  550. },
  551. // 换页
  552. handleCurrentChange: function(val) {
  553. this.currentPage = val
  554. this.getDictData()
  555. },
  556. handleSizeChange(val) {
  557. this.pageSize = val
  558. this.getDictData()
  559. },
  560. handleCurrentChangeParam(val) {
  561. this.param.current = val
  562. this.getParam()
  563. },
  564. handleSizeChangeParam(val) {
  565. this.param.size = val
  566. this.getParam()
  567. }
  568. }
  569. }
  570. </script>
  571. <style scoped lang="scss">
  572. /* 去掉上传附件时候的过度效果 */
  573. ::v-deep .el-upload-list__item{transition: none !important;}
  574. ::v-deep .el-textarea__inner{
  575. padding-bottom: 36px;
  576. }
  577. .btn_fixed{
  578. position: fixed;
  579. bottom: 0;
  580. left: 0;
  581. padding: 15px 50px;
  582. width: 100%;
  583. text-align: right;
  584. background: #f5f5f5;
  585. }
  586. .ckTable{
  587. width: 100%;
  588. border: #eee;
  589. text-align: center;
  590. tr,td{
  591. border: 0.5px solid#dfe6ec;
  592. line-height: 23px;
  593. }
  594. }
  595. .paginationParam{
  596. // position: fixed;
  597. // bottom: 50px;
  598. bottom: 0;
  599. left: 0;
  600. line-height: 80px;
  601. width: 100%;
  602. // left: 45%;
  603. // text-align: right;
  604. z-index: 999;
  605. background: #fff;
  606. }
  607. /deep/ .el-tabs__item{
  608. font-size: 16px !important;
  609. // padding: 35px ;
  610. }
  611. .el-card {
  612. border: 0px solid #fff;
  613. }
  614. .clearfix {
  615. line-height: 20px;
  616. font-size: 18px;
  617. font-weight: 600;
  618. color: #409EFF;
  619. }
  620. /deep/.el-dialog.is-fullscreen {
  621. background-color: #f5f7f9;
  622. }
  623. .box-card{
  624. margin-bottom: 20px;
  625. .row-bg{
  626. padding: 15px 40px 0 40px;
  627. .flex_text{
  628. line-height: 50px;
  629. color: #8C8C8C;
  630. font-size: 14px;
  631. // border:1px solid red;
  632. // font-weight: 600;
  633. }
  634. .flex_name{
  635. font-size: 14px;
  636. padding-left: 25px;
  637. color: #575757;
  638. font-weight: 550;
  639. }
  640. }
  641. }
  642. /deep/ .el-card__body{
  643. padding: 20px 0;
  644. }
  645. /deep/.el-tabs__nav-wrap::after {
  646. background-color: #dfe4ed00;
  647. }
  648. </style>