数据处理-样式处理-支付

27 篇文章 0 订阅

数据处理



let ret =  [
  { dictCode: 'TRADE_SUBJECT', itemCode: '01', itemName: '挂号', itemParentCode: '', itemSort: 68116 },
  { dictCode: 'TRADE_SUBJECT', itemCode: '02', itemName: '取药', itemParentCode: '', itemSort: 68117 },
  { dictCode: 'TRADE_SUBJECT', itemCode: '03', itemName: '检查', itemParentCode: '', itemSort: 68118 },
  { dictCode: 'TRADE_SUBJECT', itemCode: '04', itemName: '检验', itemParentCode: '', itemSort: 68119 },
  { dictCode: 'TRADE_SUBJECT', itemCode: '05', itemName: '住院', itemParentCode: '', itemSort: 68120 },
  { dictCode: 'TRADE_SUBJECT', itemCode: '06', itemName: '体检', itemParentCode: '', itemSort: 68121 }
]
let yssj = _.map(ret, item => {
  return { code: 'total_amount_' + item.itemCode, key: item.itemCode, name: item.itemName, type: 'success', width: '30' }
})
console.log('yssj', yssj)
// let yssj =  [
//   { code: 'total_amount_01', key: '01', name: '"挂号', type: 'success', width: '30' },
//   { code: 'total_amount_02', key: '02', name: '"取药', type: 'success', width: '30' },
//   { code: 'total_amount_03', key: '03', name: '"检查', type: 'success', width: '30' },
//   { code: 'total_amount_04', key: '04', name: '"检验', type: 'success', width: '30' },
//   { code: 'total_amount_05', key: '05', name: '"住院', type: 'success', width: '30' },
//   { code: 'total_amount_06', key: '06', name: '"体检', type: 'success', width: '30' }
// ]
let datax =
  [
    { receiptAmount: 0, payTime: '2020-12-13', total_amount: 0 },
    { receiptAmount: 0, payTime: '2020-12-12', total_amount: 0 },
    { receiptAmount: 52, payTime: '2020-12-11', total_amount: 52, tradeSubject: '01' },
    { receiptAmount: 0.01, payTime: '2020-12-10', total_amount: 0.01, tradeSubject: '05' },
    { receiptAmount: 6, payTime: '2020-12-10', total_amount: 6, tradeSubject: '01' },
    { receiptAmount: 9, payTime: '2020-12-10', total_amount: 9, tradeSubject: '02' },
    { receiptAmount: 0.01, payTime: '2020-12-09', total_amount: 0.01, tradeSubject: '01' },
    { receiptAmount: 0.01, payTime: '2020-12-08', total_amount: 0.01, tradeSubject: '01' },
    { receiptAmount: 8.01, payTime: '2020-12-07', total_amount: 8.01, tradeSubject: '01' },
    { receiptAmount: 32.01, payTime: '2020-12-07', total_amount: 32.01, tradeSubject: '02' }
  ]
let xz = _.sortBy(_.uniq(_.map(datax, item => {
  return moment(item.payTime).format('YYYY-MM-DD')
})))
console.log('xz', xz)
// let xz = ['2020-12-07', '2020-12-08', '2020-12-09', '2020-12-10', '2020-12-11', '2020-12-12', '2020-12-13'] 

let fz = _.groupBy(datax, 'tradeSubject')
console.log('fz', fz)
// let fz =
//   {
//     '01': [{ receiptAmount: 52, payTime: '2020-12-11', total_amount: 52, tradeSubject: '01' },
//            { receiptAmount: 6, payTime: '2020-12-10', total_amount: 6, tradeSubject: '01' },
//            { receiptAmount: 0.01, payTime: '2020-12-09', total_amount: 0.01, tradeSubject: '01' },
//            { receiptAmount: 0.01, payTime: '2020-12-08', total_amount: 0.01, tradeSubject: '01' },
//            { receiptAmount: 8.01, payTime: '2020-12-07', total_amount: 8.01, tradeSubject: '01' }],
//     '02': [{ receiptAmount: 9, payTime: '2020-12-10', total_amount: 9, tradeSubject: '02' },
//            { receiptAmount: 32.01, payTime: '2020-12-07', total_amount: 32.01, tradeSubject: '02' }],
//     '05': [{ receiptAmount: 0.01, payTime: '2020-12-10', total_amount: 0.01, tradeSubject: '05' }],
//     'undefined': [{ receiptAmount: 0, payTime: '2020-12-13', total_amount: 0 },
//                   { receiptAmount: 0, payTime: '2020-12-12', total_amount: 0 }]
//   }

let jg = _.map(yssj, ({ name, key, width }) => {
  if (!!_.get(fz, key)) {
    let dataarr = _.map(xz, xItem => {
      let mm = !!_.find(fz[key], { payTime: xItem }) ? _.find(fz[key], { payTime: xItem }).receiptAmount : 0
      return mm
    })
    return { name, type: 'bar', width, data: dataarr }
  }
})
console.log('jg', jg)


// let jg = [
//   { name: '挂号', type: 'bar', barMaxWidth: '30', data: [8.01, 0.01, 0.01, 6, 52, 0, 0] },
//   undefined,
//   undefined,
//   { name: '取药', type: 'bar', barMaxWidth: '30', data: [32.01, 0, 0, 9, 0, 0, 0] },
//   { name: '住院', type: 'bar', barMaxWidth: '30', data: [0, 0, 0, 0.01, 0, 0, 0] },
//   undefined
// ]




样式处理

  
<el-row :gutter="15">
  <el-col v-for="(item, index) in todayData" :key="index" :span="8"
		  style="margin-top: 20px;">
	<div :class="`${item.color}` + ' card-flex'">
	  <div class="flex-item">
		<img :src="item.icon">
	  </div>
	  <div class="flex-item" :lg="8">
		<p class="num">{{ todayOverview[item.prop] || 0 }}</p>
		<p class="desc">{{ item.label }}</p>
	  </div>
	</div>
  </el-col>
</el-row>
 todayData: [
	{ prop: 'total_amount', label: '总交易金额(元)', color: 'green-card', icon: require('@/assets/icon/total.png') },
	{ prop: 'trade_num', label: '支付笔数', color: 'blue-card', icon: require('@/assets/icon/pay.png') },
	{ prop: 'refund_num', label: '退费笔数', color: 'red-card', icon: require('@/assets/icon/refund.png') }
  ], 
todayOverview = {total_amount: 0, refund_amount: 0, receipt_amount: 0}

.green-card{
  background: -webkit-linear-gradient(bottom,#27c0b5, #3edf9c);
  background: -o-linear-gradient(bottom,#27c0b5, #3edf9c);
  background: -moz-linear-gradient(bottom,#27c0b5, #3edf9c);
  background: linear-gradient(to right,#27c0b5, #3edf9c); /* 标准的语法(必须放在最后) */
}
.blue-card{
  background: -webkit-linear-gradient(bottom,#4d94fe, #52bafb);
  background: -o-linear-gradient(bottom,#4d94fe, #52bafb);
  background: -moz-linear-gradient(bottom,#4d94fe, #52bafb);
  background: linear-gradient(to right,#4d94fe, #52bafb); /* 标准的语法(必须放在最后) */
}
.red-card{
  background: -webkit-linear-gradient(bottom,#ff6794, #fc78a0);
  background: -o-linear-gradient(bottom,#ff6794, #fc78a0);
  background: -moz-linear-gradient(bottom,#ff6794, #fc78a0);
  background: linear-gradient(to right,#ff6794, #fc78a0); /* 标准的语法(必须放在最后) */
}
 

.card-flex{
  height: 110px;
  display: flex;
  display: -webkit-flex;
  align-items:center;
  justify-content:space-around;
  border-radius: 4px;
  border: 1px solid #EBEEF5;
  .flex-item{
    text-align: center;
    color: #ffffff;
    .num{
      font-weight: 600;
      font-size: 28px;
      margin: 0px;
      line-height: 32px;
      text-align: left;
    }
    .num1{
      margin: 0px;
    }
    .desc{
      align-items:center;
      text-align: center;
      margin: 0px;
      line-height: 32px;
      font-size: 14px;
      text-align: center;
    }
  }
} 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值