<template> <div class="index-container-ty"> <a-spin :spinning="loading"> <a-row type="flex" justify="start" :gutter="3"> <a-col :sm="24" :lg="12"> <a-card> <div slot="title" class="index-md-title"> <img src="../../assets/daiban.png"/> 我的待办【{{ dataSource1.length }}】 </div> <div slot="extra"> <a v-if="dataSource1 && dataSource1.length>0" slot="footer" @click="goPage">更多 <a-icon type="double-right" /></a> </div> <a-table :class="'my-index-table tytable1'" ref="table1" size="small" rowKey="id" :columns="columns" :dataSource="dataSource1" :pagination="false"> <template slot="ellipsisText" slot-scope="text"> <j-ellipsis :value="text" :length="textMaxLength"></j-ellipsis> </template> <template slot="dayWarnning" slot-scope="text,record"> <a-icon type="bulb" theme="twoTone" style="font-size:22px" :twoToneColor="getTipColor(record)"/> </template> <span slot="action" slot-scope="text, record"> <a @click="handleData">办理</a> </span> </a-table> </a-card> </a-col> <a-col :sm="24" :lg="12"> <a-card> <div slot="title" class="index-md-title"> <img src="../../assets/zaiban.png"/> 我的在办【{{ dataSource2.length }}】 </div> <div slot="extra"> <a v-if="dataSource2 && dataSource2.length>0" slot="footer" @click="goPage">更多 <a-icon type="double-right" /></a> </div> <a-table :class="'my-index-table tytable2'" ref="table2" size="small" rowKey="id" :columns="columns" :dataSource="dataSource2" :pagination="false"> <template slot="ellipsisText" slot-scope="text"> <j-ellipsis :value="text" :length="textMaxLength"></j-ellipsis> </template> <template slot="dayWarnning" slot-scope="text,record"> <a-icon type="bulb" theme="twoTone" style="font-size:22px" :twoToneColor="getTipColor(record)"/> </template> <span slot="action" slot-scope="text, record"> <a @click="handleData">办理</a> </span> </a-table> </a-card> </a-col> <a-col :span="24"> <div style="height: 5px;"></div> </a-col> <a-col :sm="24" :lg="12"> <a-card> <div slot="title" class="index-md-title"> <img src="../../assets/guaz.png"/> 我的挂账【{{ dataSource4.length }}】 </div> <a-table :class="'my-index-table tytable4'" ref="table4" size="small" rowKey="id" :columns="columns" :dataSource="dataSource4" :pagination="false"> <template slot="ellipsisText" slot-scope="text"> <j-ellipsis :value="text" :length="textMaxLength"></j-ellipsis> </template> <template slot="dayWarnning" slot-scope="text,record"> <a-icon type="bulb" theme="twoTone" style="font-size:22px" :twoToneColor="getTipColor(record)"/> </template> <span slot="action" slot-scope="text, record"> <a @click="handleData">办理</a> </span> </a-table> </a-card> </a-col> <a-col :sm="24" :lg="12"> <a-card> <div slot="title" class="index-md-title"> <img src="../../assets/duban.png"/> 我的督办【{{ dataSource3.length }}】 </div> <a-table :class="'my-index-table tytable3'" ref="table3" size="small" rowKey="id" :columns="columns" :dataSource="dataSource3" :pagination="false"> <template slot="ellipsisText" slot-scope="text"> <j-ellipsis :value="text" :length="textMaxLength"></j-ellipsis> </template> <template slot="dayWarnning" slot-scope="text,record"> <a-icon type="bulb" theme="twoTone" style="font-size:22px" :twoToneColor="getTipColor(record)"/> </template> <span slot="action" slot-scope="text, record"> <a @click="handleData">办理</a> </span> </a-table> </a-card> </a-col> </a-row> </a-spin> </div> </template> <script> import noDataPng from '@/assets/nodata.png' import JEllipsis from '@/components/jeecg/JEllipsis' const tempSs1=[{ id:"001", orderNo:"电[1]1267102", orderTitle:"药品出问题了", restDay:1 },{ id:"002", orderNo:"电[4]5967102", orderTitle:"吃了xxx医院的药,病情越来越严重", restDay:0 },{ id:"003", orderNo:"电[3]5988987", orderTitle:"今天去超市买鸡蛋,鸡蛋都是坏的", restDay:7 },{ id:"004", orderNo:"电[2]5213491", orderTitle:"xx宝实体店高价售卖xx", restDay:5 },{ id:"005", orderNo:"电[1]1603491", orderTitle:"以红利相诱,答应退保后扣一年费用", restDay:0 }] const tempSs2=[{ id:"001", orderTitle:"我要投诉这个大超市", orderNo:"电[1]10299456", restDay:6 },{ id:"002", orderTitle:"xxx医院乱开药方,售卖假药", orderNo:"电[2]20235691", restDay:0 },{ id:"003", orderTitle:"我想问问这家店是干啥的", orderNo:"电[3]495867322", restDay:7 },{ id:"004", orderTitle:"我要举报朝阳区奥森公园酒店", orderNo:"电[2]1193849", restDay:3 },{ id:"005", orderTitle:"我今天吃饭吃到一个石头子", orderNo:"电[4]56782344", restDay:9 }] //4-7天 const tip_green = "rgba(0, 255, 0, 1)" //1-3天 const tip_yellow = "rgba(255, 255, 0, 1)" //超期 const tip_red = "rgba(255, 0, 0, 1)" export default { name: "IndexTask", components:{ JEllipsis }, data() { return { loading:false, textMaxLength:8, dataSource1:[], dataSource2:[], dataSource3:[], dataSource4:[], columns: [ { title: '', dataIndex: '', key:'rowIndex', width:50, fixed:'left', align:"center", scopedSlots: {customRender: "dayWarnning"} }, { title:'剩余天数', align:"center", dataIndex: 'restDay', width:80 }, { title:'工单标题', align:"center", dataIndex: 'orderTitle', scopedSlots: {customRender: "ellipsisText"} }, { title:'工单编号', align:"center", dataIndex: 'orderNo', }, { title: '操作', dataIndex: 'action', align:"center", scopedSlots: { customRender: 'action' } } ] } }, created() { this.mock(); }, mounted(){ }, methods: { getTipColor(rd){ let num = rd.restDay if(num<=0){ return tip_red }else if(num>=1 && num<4){ return tip_yellow }else if(num>=4){ return tip_green } }, goPage(){ this.$message.success("请根据具体业务跳转页面") //this.$router.push({ path: '/comp/mytask' }) }, mock(){ this.dataSource1=tempSs1 this.dataSource2=tempSs2 this.dataSource3=tempSs1 this.dataSource4=[] this.ifNullDataSource(this.dataSource4,'.tytable4') }, ifNullDataSource(ds,tb){ this.$nextTick(()=>{ if(!ds || ds.length==0){ var tmp = document.createElement('img'); tmp.src=noDataPng tmp.width=300 let tbclass=`${tb} .ant-table-placeholder` document.querySelector(tbclass).innerHTML="" document.querySelector(tbclass).appendChild(tmp) } }) }, handleData(){ this.$message.success("办理完成") } } } </script> <style> .my-index-table{height:270px} .my-index-table table{font-size: 14px !important;} .index-container-ty .ant-card-head-title{padding-top: 6px;padding-bottom: 6px;} .index-container-ty .ant-card-extra{padding:0} .index-container-ty .ant-card-extra a{color:#fff} .index-container-ty .ant-card-extra a:hover{color:#152ede} .index-container-ty .ant-card-head-wrapper,.index-container-ty .ant-card-head{ line-height:24px; min-height:24px; /*background: #90aeff;*/ background: #7196fb; } .index-container-ty .ant-card-body{padding: 10px 12px 0px 12px} /* .index-container-ty .ant-card-actions{background: #fff} .index-container-ty .ant-card-actions li {margin:2px 0;} .index-container-ty .ant-card-actions > li > span{width: 100%}*/ .index-container-ty .ant-table-footer{text-align: right;padding:6px 12px 6px 6px;background: #fff;border-top: 2px solid #f7f1f1;} .index-md-title{ postion:relative; padding-left:24px; width: 100%; color: #fff; font-size: 21px; font-family: cursive; } .index-md-title img{ position: absolute; height:32px; top: 2px; left:14px; } .index-container-ty .ant-card-body{ /*border-left:1px solid #90aeff; /*border-right:1px solid #90aeff; border-bottom:1px solid #90aeff;*/ } .index-container-ty .ant-table-thead > tr > th, .index-container-ty .ant-table-tbody > tr > td{ border-bottom: 1px solid #90aeff; } .index-container-ty .ant-table-small > .ant-table-content > .ant-table-fixed-left > .ant-table-body-outer > .ant-table-body-inner > table > .ant-table-thead > tr > th, .index-container-ty .ant-table-small > .ant-table-content > .ant-table-fixed-right > .ant-table-body-outer > .ant-table-body-inner > table > .ant-table-thead > tr > th{ border-bottom: 1px solid #90aeff; } .index-container-ty .ant-table-small > .ant-table-content > .ant-table-scroll > .ant-table-body > table > .ant-table-thead > tr > th{ border-bottom: 1px solid #90aeff; } .index-container-ty .ant-table-small{ border: 1px solid #90aeff; } .index-container-ty .ant-table-placeholder { padding: 0 } </style>