| | |
| | | <template> |
| | | <div> |
| | | <index-chart v-if="indexStyle==1"></index-chart> |
| | | <!--<index-bdc v-if="indexStyle==2"></index-bdc>--> |
| | | <!--<index-task v-if="indexStyle==3"></index-task>--> |
| | | <!--<div style="width: 100%;text-align: right;margin-top: 20px">--> |
| | | <!--请选择首页样式:--> |
| | | <!--<!–<a-radio-group v-model="indexStyle">–>--> |
| | | <!--<!–<a-radio :value="1">统计图表</a-radio>–>--> |
| | | <!--<!–<a-radio :value="2">统计图表2</a-radio>–>--> |
| | | <!--<!–<a-radio :value="3">任务表格</a-radio>–>--> |
| | | <!--<!–</a-radio-group>–>--> |
| | | <!--</div>--> |
| | | <a-button type="primary" size="large" v-for="item in workshopList" :key="item.workshopId" |
| | | @click="navigateToWorkshopSignage(item.id)">{{item.workshopName}} |
| | | </a-button> |
| | | <index-bdc v-if="indexStyle==2"></index-bdc> |
| | | <index-task v-if="indexStyle==3"></index-task> |
| | | <div style="width: 100%;text-align: right;margin-top: 20px"> |
| | | 请选择首页样式: |
| | | <a-radio-group v-model="indexStyle"> |
| | | <a-radio :value="1">统计图表</a-radio> |
| | | <a-radio :value="2">统计图表2</a-radio> |
| | | <a-radio :value="3">任务表格</a-radio> |
| | | </a-radio-group> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | |
| | | <script> |
| | | import IndexChart from './IndexChart' |
| | | import IndexTask from './IndexTask' |
| | | import IndexBdc from './IndexBdc' |
| | | import api from '@/api/mdc' |
| | | import IndexChart from './IndexChart' |
| | | import IndexTask from "./IndexTask" |
| | | import IndexBdc from './IndexBdc' |
| | | |
| | | export default { |
| | | name: 'Analysis', |
| | | components: { |
| | | IndexChart, |
| | | IndexTask, |
| | | IndexBdc |
| | | }, |
| | | data() { |
| | | return { |
| | | indexStyle: 1, |
| | | workshopList: [ |
| | | { |
| | | workshopName: '长沙车间', |
| | | id: '5321' |
| | | }, |
| | | { |
| | | workshopName: '天津车间', |
| | | id: '6312' |
| | | }, |
| | | { |
| | | workshopName: '武汉车间', |
| | | id: '3463' |
| | | }, |
| | | { |
| | | workshopName: '北京车间', |
| | | id: '8421' |
| | | } |
| | | ] |
| | | } |
| | | }, |
| | | created() { |
| | | this.getWorkshopListByApi() |
| | | }, |
| | | methods: { |
| | | /** |
| | | * 通过车间Id跳转至相应车间大屏看板 |
| | | * @param id 车间Id |
| | | */ |
| | | navigateToWorkshopSignage(id) { |
| | | const url = this.$router.resolve(`/workshopSignage/${id}`).href |
| | | window.open(url, '_blank') |
| | | }, |
| | | /** |
| | | * 获取车间列表 |
| | | */ |
| | | getWorkshopListByApi() { |
| | | api.getWorkshopListInHomePageApi().then(res => { |
| | | console.log('res', res) |
| | | if (res.result && res.result.length > 0) { |
| | | this.workshopList = res.result |
| | | } |
| | | }) |
| | | } |
| | | export default { |
| | | name: "Analysis", |
| | | components: { |
| | | IndexChart, |
| | | IndexTask, |
| | | IndexBdc |
| | | }, |
| | | data() { |
| | | return { |
| | | indexStyle: 1 |
| | | } |
| | | }, |
| | | created() { |
| | | |
| | | }, |
| | | methods: { |
| | | |
| | | } |
| | | } |
| | | </script> |
| | |
| | | <template> |
| | | <div class="page-header-index-wide"> |
| | | <a-row :gutter="24"> |
| | | <a-col :sm="24" :md="12" :xl="6" :style="{ marginBottom: '24px' }"> |
| | | <chart-card :loading="loading" title="受理量" :total="cardCount.sll | NumberFormat"> |
| | | <a-tooltip title="指标说明" slot="action"> |
| | | <a-col |
| | | :sm="24" |
| | | :md="12" |
| | | :xl="6" |
| | | :style="{ marginBottom: '24px' }" |
| | | > |
| | | <chart-card |
| | | :loading="loading" |
| | | title="受理量" |
| | | :total="cardCount.sll | NumberFormat" |
| | | > |
| | | <a-tooltip |
| | | title="指标说明" |
| | | slot="action" |
| | | > |
| | | <a-icon type="info-circle-o" /> |
| | | </a-tooltip> |
| | | <div> |
| | |
| | | <template slot="footer">今日受理量:<span>{{ todaySll }}</span></template> |
| | | </chart-card> |
| | | </a-col> |
| | | <a-col :sm="24" :md="12" :xl="6" :style="{ marginBottom: '24px' }"> |
| | | <chart-card :loading="loading" title="办结量" :total="cardCount.bjl | NumberFormat"> |
| | | <a-tooltip title="指标说明" slot="action"> |
| | | <a-col |
| | | :sm="24" |
| | | :md="12" |
| | | :xl="6" |
| | | :style="{ marginBottom: '24px' }" |
| | | > |
| | | <chart-card |
| | | :loading="loading" |
| | | title="办结量" |
| | | :total="cardCount.bjl | NumberFormat" |
| | | > |
| | | <a-tooltip |
| | | title="指标说明" |
| | | slot="action" |
| | | > |
| | | <a-icon type="info-circle-o" /> |
| | | </a-tooltip> |
| | | <div> |
| | | <mini-area :data-source="chartData.bjl"/> |
| | | <mini-area :data-source="chartData.bjl" /> |
| | | </div> |
| | | <template slot="footer">今日办结量:<span>{{ todayBjl }}</span></template> |
| | | </chart-card> |
| | | </a-col> |
| | | <a-col :sm="24" :md="12" :xl="6" :style="{ marginBottom: '24px' }"> |
| | | <chart-card :loading="loading" title="用户受理量" :total="cardCount.isll | NumberFormat"> |
| | | <a-tooltip title="指标说明" slot="action"> |
| | | <a-col |
| | | :sm="24" |
| | | :md="12" |
| | | :xl="6" |
| | | :style="{ marginBottom: '24px' }" |
| | | > |
| | | <chart-card |
| | | :loading="loading" |
| | | title="用户受理量" |
| | | :total="cardCount.isll | NumberFormat" |
| | | > |
| | | <a-tooltip |
| | | title="指标说明" |
| | | slot="action" |
| | | > |
| | | <a-icon type="info-circle-o" /> |
| | | </a-tooltip> |
| | | <div> |
| | | <mini-bar :datasource="chartData.isll" :height="50"/> |
| | | <mini-bar |
| | | :datasource="chartData.isll" |
| | | :height="50" |
| | | /> |
| | | </div> |
| | | <template slot="footer">用户今日受理量:<span>{{ todayISll }}</span></template> |
| | | </chart-card> |
| | | </a-col> |
| | | <a-col :sm="24" :md="12" :xl="6" :style="{ marginBottom: '24px' }"> |
| | | <chart-card :loading="loading" title="用户办结量" :total="cardCount.ibjl | NumberFormat"> |
| | | <a-tooltip title="指标说明" slot="action"> |
| | | <a-col |
| | | :sm="24" |
| | | :md="12" |
| | | :xl="6" |
| | | :style="{ marginBottom: '24px' }" |
| | | > |
| | | <chart-card |
| | | :loading="loading" |
| | | title="用户办结量" |
| | | :total="cardCount.ibjl | NumberFormat" |
| | | > |
| | | <a-tooltip |
| | | title="指标说明" |
| | | slot="action" |
| | | > |
| | | <a-icon type="info-circle-o" /> |
| | | </a-tooltip> |
| | | <div> |
| | | <mini-bar :datasource="chartData.ibjl" :height="50"/> |
| | | <mini-bar |
| | | :datasource="chartData.ibjl" |
| | | :height="50" |
| | | /> |
| | | </div> |
| | | <template slot="footer">用户今日办结量:<span>{{ todayIBjl }}</span></template> |
| | | </chart-card> |
| | | </a-col> |
| | | </a-row> |
| | | |
| | | <a-card :loading="loading" :bordered="false" :body-style="{padding: '0'}"> |
| | | <a-card |
| | | :loading="loading" |
| | | :bordered="false" |
| | | :body-style="{padding: '0'}" |
| | | > |
| | | <div class="salesCard"> |
| | | <a-tabs default-active-key="1" size="large" :tab-bar-style="{marginBottom: '24px', paddingLeft: '16px'}"> |
| | | <div class="extra-wrapper" slot="tabBarExtraContent"> |
| | | <a-tabs |
| | | default-active-key="1" |
| | | size="large" |
| | | :tab-bar-style="{marginBottom: '24px', paddingLeft: '16px'}" |
| | | > |
| | | <div |
| | | class="extra-wrapper" |
| | | slot="tabBarExtraContent" |
| | | > |
| | | <div class="extra-item"> |
| | | <a>今日</a> |
| | | <a>本周</a> |
| | |
| | | <a-range-picker :style="{width: '256px'}" /> |
| | | </div> |
| | | |
| | | <a-tab-pane loading="true" tab="受理监管" key="1"> |
| | | <a-tab-pane |
| | | loading="true" |
| | | tab="受理监管" |
| | | key="1" |
| | | > |
| | | <a-row> |
| | | <a-col :xl="16" :lg="12" :md="12" :sm="24" :xs="24"> |
| | | <a-col |
| | | :xl="16" |
| | | :lg="12" |
| | | :md="12" |
| | | :sm="24" |
| | | :xs="24" |
| | | > |
| | | <index-bar title="受理量统计" /> |
| | | </a-col> |
| | | <a-col :xl="8" :lg="12" :md="12" :sm="24" :xs="24"> |
| | | <a-col |
| | | :xl="8" |
| | | :lg="12" |
| | | :md="12" |
| | | :sm="24" |
| | | :xs="24" |
| | | > |
| | | |
| | | <a-card title="快速开始 / 便捷导航" style="margin-bottom: 24px" :bordered="false" :body-style="{padding: 0}"> |
| | | <a-card |
| | | title="快速开始 / 便捷导航" |
| | | style="margin-bottom: 24px" |
| | | :bordered="false" |
| | | :body-style="{padding: 0}" |
| | | > |
| | | <div class="item-group"> |
| | | <a-row> |
| | | <a-col :class="'more-btn'" :span="12" v-for="(item,index) in registerTypeList" :key=" 'registerType'+index "> |
| | | <a-button @click="goPage(index)" style="margin-bottom:10px" size="small" type="primary" ghost>{{ item.text }}</a-button> |
| | | <a-col |
| | | :class="'more-btn'" |
| | | :span="12" |
| | | v-for="(item,index) in registerTypeList" |
| | | :key=" 'registerType'+index " |
| | | > |
| | | <a-button |
| | | @click="goPage(index)" |
| | | style="margin-bottom:10px" |
| | | size="small" |
| | | type="primary" |
| | | ghost |
| | | >{{ item.text }}</a-button> |
| | | </a-col> |
| | | </a-row> |
| | | </div> |
| | |
| | | </a-row> |
| | | </a-tab-pane> |
| | | |
| | | <a-tab-pane tab="交互监管" key="2"> |
| | | <a-tab-pane |
| | | tab="交互监管" |
| | | key="2" |
| | | > |
| | | <a-row> |
| | | <a-col :xl="16" :lg="12" :md="12" :sm="24" :xs="24"> |
| | | <bar-multid :sourceData="jhjgData" :fields="jhjgFields" title="平台与部门交互量统计"></bar-multid> |
| | | <a-col |
| | | :xl="16" |
| | | :lg="12" |
| | | :md="12" |
| | | :sm="24" |
| | | :xs="24" |
| | | > |
| | | <bar-multid |
| | | :sourceData="jhjgData" |
| | | :fields="jhjgFields" |
| | | title="平台与部门交互量统计" |
| | | ></bar-multid> |
| | | </a-col> |
| | | <a-col :xl="8" :lg="12" :md="12" :sm="24" :xs="24"> |
| | | <a-col |
| | | :xl="8" |
| | | :lg="12" |
| | | :md="12" |
| | | :sm="24" |
| | | :xs="24" |
| | | > |
| | | |
| | | <a-card title="快速开始 / 便捷导航" style="margin-bottom: 24px" :bordered="false" :body-style="{padding: 0}"> |
| | | <a-card |
| | | title="快速开始 / 便捷导航" |
| | | style="margin-bottom: 24px" |
| | | :bordered="false" |
| | | :body-style="{padding: 0}" |
| | | > |
| | | <div class="item-group"> |
| | | <a-row> |
| | | <a-col :class="'more-btn'" :span="12" v-for="(item,index) in registerTypeList" :key=" 'registerType'+index "> |
| | | <a-button @click="goPage(index)" style="margin-bottom:10px" size="small" type="primary" ghost>{{ item.text }}</a-button> |
| | | <a-col |
| | | :class="'more-btn'" |
| | | :span="12" |
| | | v-for="(item,index) in registerTypeList" |
| | | :key=" 'registerType'+index " |
| | | > |
| | | <a-button |
| | | @click="goPage(index)" |
| | | style="margin-bottom:10px" |
| | | size="small" |
| | | type="primary" |
| | | ghost |
| | | >{{ item.text }}</a-button> |
| | | </a-col> |
| | | </a-row> |
| | | </div> |
| | |
| | | </a-row> |
| | | </a-tab-pane> |
| | | |
| | | <a-tab-pane tab="存储监管" key="4"> |
| | | <a-tab-pane |
| | | tab="存储监管" |
| | | key="4" |
| | | > |
| | | <a-row> |
| | | <a-col :xl="16" :lg="12" :md="12" :sm="24" :xs="24"> |
| | | <a-col |
| | | :xl="16" |
| | | :lg="12" |
| | | :md="12" |
| | | :sm="24" |
| | | :xs="24" |
| | | > |
| | | <a-row> |
| | | <template v-if="diskInfo && diskInfo.length>0"> |
| | | <a-col :span="12" v-for="(item,index) in diskInfo" :key=" 'diskInfo'+index "> |
| | | <dash-chart-demo :title="item.name" :datasource="item.restPPT"></dash-chart-demo> |
| | | <a-col |
| | | :span="12" |
| | | v-for="(item,index) in diskInfo" |
| | | :key=" 'diskInfo'+index " |
| | | > |
| | | <dash-chart-demo |
| | | :title="item.name" |
| | | :datasource="item.restPPT" |
| | | ></dash-chart-demo> |
| | | </a-col> |
| | | </template> |
| | | </a-row> |
| | | </a-col> |
| | | |
| | | <a-col :xl="8" :lg="12" :md="12" :sm="24" :xs="24"> |
| | | <a-col |
| | | :xl="8" |
| | | :lg="12" |
| | | :md="12" |
| | | :sm="24" |
| | | :xs="24" |
| | | > |
| | | |
| | | <a-card title="快速开始 / 便捷导航" style="margin-bottom: 24px" :bordered="false" :body-style="{padding: 0}"> |
| | | <a-card |
| | | title="快速开始 / 便捷导航" |
| | | style="margin-bottom: 24px" |
| | | :bordered="false" |
| | | :body-style="{padding: 0}" |
| | | > |
| | | <div class="item-group"> |
| | | <a-row> |
| | | <a-col :class="'more-btn'" :span="10" v-for="(item,index) in registerTypeList" :key=" 'registerType'+index "> |
| | | <a-button @click="goPage(index)" style="margin-bottom:10px" size="small" type="primary" ghost>{{ item.text }}</a-button> |
| | | <a-col |
| | | :class="'more-btn'" |
| | | :span="10" |
| | | v-for="(item,index) in registerTypeList" |
| | | :key=" 'registerType'+index " |
| | | > |
| | | <a-button |
| | | @click="goPage(index)" |
| | | style="margin-bottom:10px" |
| | | size="small" |
| | | type="primary" |
| | | ghost |
| | | >{{ item.text }}</a-button> |
| | | </a-col> |
| | | </a-row> |
| | | </div> |
| | |
| | | </a-card> |
| | | |
| | | <a-row :gutter="12"> |
| | | <a-card :loading="loading" :class="{ 'anty-list-cust':true }" :bordered="false" :style="{ marginTop: '24px' }"> |
| | | <a-card |
| | | :loading="loading" |
| | | :class="{ 'anty-list-cust':true }" |
| | | :bordered="false" |
| | | :style="{ marginTop: '24px' }" |
| | | > |
| | | |
| | | <a-tabs v-model="indexBottomTab" size="large" :tab-bar-style="{marginBottom: '24px', paddingLeft: '16px'}"> |
| | | <div class="extra-wrapper" slot="tabBarExtraContent"> |
| | | <a-radio-group v-model="indexRegisterType" @change="changeRegisterType"> |
| | | <a-tabs |
| | | v-model="indexBottomTab" |
| | | size="large" |
| | | :tab-bar-style="{marginBottom: '24px', paddingLeft: '16px'}" |
| | | > |
| | | <div |
| | | class="extra-wrapper" |
| | | slot="tabBarExtraContent" |
| | | > |
| | | <a-radio-group |
| | | v-model="indexRegisterType" |
| | | @change="changeRegisterType" |
| | | > |
| | | <a-radio-button value="转移登记">转移登记</a-radio-button> |
| | | <a-radio-button value="抵押登记">抵押登记</a-radio-button> |
| | | <a-radio-button value="">所有</a-radio-button> |
| | | </a-radio-group> |
| | | </div> |
| | | |
| | | <a-tab-pane loading="true" tab="业务流程限时监管" key="1"> |
| | | <a-tab-pane |
| | | loading="true" |
| | | tab="业务流程限时监管" |
| | | key="1" |
| | | > |
| | | |
| | | <a-table :dataSource="dataSource1" size="default" rowKey="id" :columns="columns" :pagination="ipagination1" @change="tableChange1"> |
| | | <template slot="flowRate" slot-scope="text, record, index"> |
| | | <a-progress :strokeColor="getPercentColor(record.flowRate)" :format="getPercentFormat" :percent="getFlowRateNumber(record.flowRate)" style="width:80px" /> |
| | | <a-table |
| | | :dataSource="dataSource1" |
| | | size="default" |
| | | rowKey="id" |
| | | :columns="columns" |
| | | :pagination="ipagination1" |
| | | @change="tableChange1" |
| | | > |
| | | <template |
| | | slot="flowRate" |
| | | slot-scope="text, record, index" |
| | | > |
| | | <a-progress |
| | | :strokeColor="getPercentColor(record.flowRate)" |
| | | :format="getPercentFormat" |
| | | :percent="getFlowRateNumber(record.flowRate)" |
| | | style="width:80px" |
| | | /> |
| | | </template> |
| | | </a-table> |
| | | </a-tab-pane> |
| | | |
| | | <a-tab-pane loading="true" tab="业务节点限时监管" key="2"> |
| | | <a-table :dataSource="dataSource2" size="default" rowKey="id" :columns="columns2" :pagination="ipagination2" @change="tableChange2"> |
| | | <template slot="flowRate" slot-scope="text, record, index"> |
| | | <a-tab-pane |
| | | loading="true" |
| | | tab="业务节点限时监管" |
| | | key="2" |
| | | > |
| | | <a-table |
| | | :dataSource="dataSource2" |
| | | size="default" |
| | | rowKey="id" |
| | | :columns="columns2" |
| | | :pagination="ipagination2" |
| | | @change="tableChange2" |
| | | > |
| | | <template |
| | | slot="flowRate" |
| | | slot-scope="text, record, index" |
| | | > |
| | | <span style="color: red;">{{ record.flowRate }}小时</span> |
| | | </template> |
| | | </a-table> |
| | | </a-tab-pane> |
| | | |
| | | </a-tabs> |
| | | |
| | | |
| | | </a-card> |
| | | </a-row> |
| | |
| | | |
| | | <script> |
| | | |
| | | import ACol from "ant-design-vue/es/grid/Col" |
| | | import ATooltip from "ant-design-vue/es/tooltip/Tooltip" |
| | | import ChartCard from '@/components/ChartCard' |
| | | import MiniBar from '@/components/chart/MiniBar' |
| | | import MiniArea from '@/components/chart/MiniArea' |
| | | import IndexBar from '@/components/chart/IndexBar' |
| | | import BarMultid from '@/components/chart/BarMultid' |
| | | import DashChartDemo from '@/components/chart/DashChartDemo' |
| | | import ACol from "ant-design-vue/es/grid/Col" |
| | | import ATooltip from "ant-design-vue/es/tooltip/Tooltip" |
| | | import ChartCard from '@/components/ChartCard' |
| | | import MiniBar from '@/components/chart/MiniBar' |
| | | import MiniArea from '@/components/chart/MiniArea' |
| | | import IndexBar from '@/components/chart/IndexBar' |
| | | import BarMultid from '@/components/chart/BarMultid' |
| | | import DashChartDemo from '@/components/chart/DashChartDemo' |
| | | |
| | | const jhjgData = [ |
| | | { type: '房管', '1月': 900, '2月': 1120, '3月': 1380, '4月': 1480, '5月': 1450, '6月': 1100, '7月':1300, '8月':900,'9月':1000 ,'10月':1200 ,'11月':600 ,'12月':900 }, |
| | | { type: '税务', '1月':1200, '2月': 1500, '3月': 1980, '4月': 2000, '5月': 1000, '6月': 600, '7月':900, '8月':1100,'9月':1300 ,'10月':2000 ,'11月':900 ,'12月':1100 }, |
| | | { type: '不动产', '1月':2000, '2月': 1430, '3月': 1300, '4月': 1400, '5月': 900, '6月': 500, '7月':600, '8月':1000,'9月':600 ,'10月':1000 ,'11月':1500 ,'12月':1200 } |
| | | ] |
| | | const jhjgData = [ |
| | | { type: '房管', '1月': 900, '2月': 1120, '3月': 1380, '4月': 1480, '5月': 1450, '6月': 1100, '7月': 1300, '8月': 900, '9月': 1000, '10月': 1200, '11月': 600, '12月': 900 }, |
| | | { type: '税务', '1月': 1200, '2月': 1500, '3月': 1980, '4月': 2000, '5月': 1000, '6月': 600, '7月': 900, '8月': 1100, '9月': 1300, '10月': 2000, '11月': 900, '12月': 1100 }, |
| | | { type: '不动产', '1月': 2000, '2月': 1430, '3月': 1300, '4月': 1400, '5月': 900, '6月': 500, '7月': 600, '8月': 1000, '9月': 600, '10月': 1000, '11月': 1500, '12月': 1200 } |
| | | ] |
| | | |
| | | const jhjgFields=[ |
| | | '1月','2月','3月','4月','5月','6月', |
| | | '7月','8月','9月','10月','11月','12月' |
| | | ] |
| | | const jhjgFields = [ |
| | | '1月', '2月', '3月', '4月', '5月', '6月', |
| | | '7月', '8月', '9月', '10月', '11月', '12月' |
| | | ] |
| | | |
| | | const xljgData = [ |
| | | {type:'一月',"房管":1.12,"税务":1.55,"不动产":1.2}, |
| | | {type:'二月',"房管":1.65,"税务":1.32,"不动产":1.42}, |
| | | {type:'三月',"房管":1.85,"税务":1.1,"不动产":1.5}, |
| | | const xljgData = [ |
| | | { type: '一月', "房管": 1.12, "税务": 1.55, "不动产": 1.2 }, |
| | | { type: '二月', "房管": 1.65, "税务": 1.32, "不动产": 1.42 }, |
| | | { type: '三月', "房管": 1.85, "税务": 1.1, "不动产": 1.5 }, |
| | | |
| | | {type:'四月',"房管":1.33,"税务":1.63,"不动产":1.4}, |
| | | {type:'五月',"房管":1.63,"税务":1.8,"不动产":1.7}, |
| | | {type:'六月',"房管":1.85,"税务":1.98,"不动产":1.8}, |
| | | { type: '四月', "房管": 1.33, "税务": 1.63, "不动产": 1.4 }, |
| | | { type: '五月', "房管": 1.63, "税务": 1.8, "不动产": 1.7 }, |
| | | { type: '六月', "房管": 1.85, "税务": 1.98, "不动产": 1.8 }, |
| | | |
| | | {type:'七月',"房管":1.98,"税务":1.5,"不动产":1.76}, |
| | | {type:'八月',"房管":1.48,"税务":1.2,"不动产":1.3}, |
| | | {type:'九月',"房管":1.41,"税务":1.9,"不动产":1.6}, |
| | | { type: '七月', "房管": 1.98, "税务": 1.5, "不动产": 1.76 }, |
| | | { type: '八月', "房管": 1.48, "税务": 1.2, "不动产": 1.3 }, |
| | | { type: '九月', "房管": 1.41, "税务": 1.9, "不动产": 1.6 }, |
| | | |
| | | {type:'十月',"房管":1.1,"税务":1.1,"不动产":1.4}, |
| | | {type:'十一月',"房管":1.85,"税务":1.6,"不动产":1.5}, |
| | | {type:'十二月',"房管":1.5,"税务":1.4,"不动产":1.3} |
| | | ] |
| | | const xljgFields=["房管","税务","不动产"] |
| | | { type: '十月', "房管": 1.1, "税务": 1.1, "不动产": 1.4 }, |
| | | { type: '十一月', "房管": 1.85, "税务": 1.6, "不动产": 1.5 }, |
| | | { type: '十二月', "房管": 1.5, "税务": 1.4, "不动产": 1.3 } |
| | | ] |
| | | const xljgFields = ["房管", "税务", "不动产"] |
| | | |
| | | const dataCol1 = [{ |
| | | title: '业务号', |
| | | align:"center", |
| | | dataIndex: 'reBizCode' |
| | | },{ |
| | | title: '业务类型', |
| | | align:"center", |
| | | dataIndex: 'type' |
| | | },{ |
| | | title: '受理人', |
| | | align:"center", |
| | | dataIndex: 'acceptBy' |
| | | },{ |
| | | title: '受理时间', |
| | | align:"center", |
| | | dataIndex: 'acceptDate' |
| | | },{ |
| | | title: '当前节点', |
| | | align:"center", |
| | | dataIndex: 'curNode' |
| | | },{ |
| | | title: '办理时长', |
| | | align:"center", |
| | | dataIndex: 'flowRate', |
| | | scopedSlots: { customRender: 'flowRate' } |
| | | }]; |
| | | const dataSource1=[ |
| | | {reBizCode:"1",type:"转移登记",acceptBy:'张三',acceptDate:"2019-01-22",curNode:"任务分派",flowRate:60}, |
| | | {reBizCode:"2",type:"抵押登记",acceptBy:'李四',acceptDate:"2019-01-23",curNode:"领导审核",flowRate:30}, |
| | | {reBizCode:"3",type:"转移登记",acceptBy:'王武',acceptDate:"2019-01-25",curNode:"任务处理",flowRate:20}, |
| | | {reBizCode:"4",type:"转移登记",acceptBy:'赵楼',acceptDate:"2019-11-22",curNode:"部门审核",flowRate:80}, |
| | | {reBizCode:"5",type:"转移登记",acceptBy:'钱就',acceptDate:"2019-12-12",curNode:"任务分派",flowRate:90}, |
| | | {reBizCode:"6",type:"转移登记",acceptBy:'孙吧',acceptDate:"2019-03-06",curNode:"任务处理",flowRate:10}, |
| | | {reBizCode:"7",type:"抵押登记",acceptBy:'周大',acceptDate:"2019-04-13",curNode:"任务分派",flowRate:100}, |
| | | {reBizCode:"8",type:"抵押登记",acceptBy:'吴二',acceptDate:"2019-05-09",curNode:"任务上报",flowRate:50}, |
| | | {reBizCode:"9",type:"抵押登记",acceptBy:'郑爽',acceptDate:"2019-07-12",curNode:"任务处理",flowRate:63}, |
| | | {reBizCode:"20",type:"抵押登记",acceptBy:'林有',acceptDate:"2019-12-12",curNode:"任务打回",flowRate:59}, |
| | | {reBizCode:"11",type:"转移登记",acceptBy:'码云',acceptDate:"2019-09-10",curNode:"任务签收",flowRate:87}, |
| | | ] |
| | | const dataCol1 = [{ |
| | | title: '业务号', |
| | | align: "center", |
| | | dataIndex: 'reBizCode' |
| | | }, { |
| | | title: '业务类型', |
| | | align: "center", |
| | | dataIndex: 'type' |
| | | }, { |
| | | title: '受理人', |
| | | align: "center", |
| | | dataIndex: 'acceptBy' |
| | | }, { |
| | | title: '受理时间', |
| | | align: "center", |
| | | dataIndex: 'acceptDate' |
| | | }, { |
| | | title: '当前节点', |
| | | align: "center", |
| | | dataIndex: 'curNode' |
| | | }, { |
| | | title: '办理时长', |
| | | align: "center", |
| | | dataIndex: 'flowRate', |
| | | scopedSlots: { customRender: 'flowRate' } |
| | | }]; |
| | | const dataSource1 = [ |
| | | { reBizCode: "1", type: "转移登记", acceptBy: '张三', acceptDate: "2019-01-22", curNode: "任务分派", flowRate: 60 }, |
| | | { reBizCode: "2", type: "抵押登记", acceptBy: '李四', acceptDate: "2019-01-23", curNode: "领导审核", flowRate: 30 }, |
| | | { reBizCode: "3", type: "转移登记", acceptBy: '王武', acceptDate: "2019-01-25", curNode: "任务处理", flowRate: 20 }, |
| | | { reBizCode: "4", type: "转移登记", acceptBy: '赵楼', acceptDate: "2019-11-22", curNode: "部门审核", flowRate: 80 }, |
| | | { reBizCode: "5", type: "转移登记", acceptBy: '钱就', acceptDate: "2019-12-12", curNode: "任务分派", flowRate: 90 }, |
| | | { reBizCode: "6", type: "转移登记", acceptBy: '孙吧', acceptDate: "2019-03-06", curNode: "任务处理", flowRate: 10 }, |
| | | { reBizCode: "7", type: "抵押登记", acceptBy: '周大', acceptDate: "2019-04-13", curNode: "任务分派", flowRate: 100 }, |
| | | { reBizCode: "8", type: "抵押登记", acceptBy: '吴二', acceptDate: "2019-05-09", curNode: "任务上报", flowRate: 50 }, |
| | | { reBizCode: "9", type: "抵押登记", acceptBy: '郑爽', acceptDate: "2019-07-12", curNode: "任务处理", flowRate: 63 }, |
| | | { reBizCode: "20", type: "抵押登记", acceptBy: '林有', acceptDate: "2019-12-12", curNode: "任务打回", flowRate: 59 }, |
| | | { reBizCode: "11", type: "转移登记", acceptBy: '码云', acceptDate: "2019-09-10", curNode: "任务签收", flowRate: 87 }, |
| | | ] |
| | | |
| | | const dataCol2 = [{ |
| | | title: '业务号', |
| | | align:"center", |
| | | dataIndex: 'reBizCode' |
| | | },{ |
| | | title: '受理人', |
| | | align:"center", |
| | | dataIndex: 'acceptBy' |
| | | },{ |
| | | title: '发起时间', |
| | | align:"center", |
| | | dataIndex: 'acceptDate' |
| | | },{ |
| | | title: '当前节点', |
| | | align:"center", |
| | | dataIndex: 'curNode' |
| | | },{ |
| | | title: '超时时间', |
| | | align:"center", |
| | | dataIndex: 'flowRate', |
| | | scopedSlots: { customRender: 'flowRate' } |
| | | }]; |
| | | const dataSource2=[ |
| | | {reBizCode:"A001",type:"转移登记",acceptBy:'张四',acceptDate:"2019-01-22",curNode:"任务分派",flowRate:12}, |
| | | {reBizCode:"A002",type:"抵押登记",acceptBy:'李吧',acceptDate:"2019-01-23",curNode:"任务签收",flowRate:3}, |
| | | {reBizCode:"A003",type:"转移登记",acceptBy:'王三',acceptDate:"2019-01-25",curNode:"任务处理",flowRate:24}, |
| | | {reBizCode:"A004",type:"转移登记",acceptBy:'赵二',acceptDate:"2019-11-22",curNode:"部门审核",flowRate:10}, |
| | | {reBizCode:"A005",type:"转移登记",acceptBy:'钱大',acceptDate:"2019-12-12",curNode:"任务签收",flowRate:8}, |
| | | {reBizCode:"A006",type:"转移登记",acceptBy:'孙就',acceptDate:"2019-03-06",curNode:"任务处理",flowRate:10}, |
| | | {reBizCode:"A007",type:"抵押登记",acceptBy:'周晕',acceptDate:"2019-04-13",curNode:"部门审核",flowRate:24}, |
| | | {reBizCode:"A008",type:"抵押登记",acceptBy:'吴有',acceptDate:"2019-05-09",curNode:"部门审核",flowRate:30}, |
| | | {reBizCode:"A009",type:"抵押登记",acceptBy:'郑武',acceptDate:"2019-07-12",curNode:"任务分派",flowRate:1}, |
| | | {reBizCode:"A0010",type:"抵押登记",acceptBy:'林爽',acceptDate:"2019-12-12",curNode:"部门审核",flowRate:16}, |
| | | {reBizCode:"A0011",type:"转移登记",acceptBy:'码楼',acceptDate:"2019-09-10",curNode:"部门审核",flowRate:7}, |
| | | ] |
| | | const dataCol2 = [{ |
| | | title: '业务号', |
| | | align: "center", |
| | | dataIndex: 'reBizCode' |
| | | }, { |
| | | title: '受理人', |
| | | align: "center", |
| | | dataIndex: 'acceptBy' |
| | | }, { |
| | | title: '发起时间', |
| | | align: "center", |
| | | dataIndex: 'acceptDate' |
| | | }, { |
| | | title: '当前节点', |
| | | align: "center", |
| | | dataIndex: 'curNode' |
| | | }, { |
| | | title: '超时时间', |
| | | align: "center", |
| | | dataIndex: 'flowRate', |
| | | scopedSlots: { customRender: 'flowRate' } |
| | | }]; |
| | | const dataSource2 = [ |
| | | { reBizCode: "A001", type: "转移登记", acceptBy: '张四', acceptDate: "2019-01-22", curNode: "任务分派", flowRate: 12 }, |
| | | { reBizCode: "A002", type: "抵押登记", acceptBy: '李吧', acceptDate: "2019-01-23", curNode: "任务签收", flowRate: 3 }, |
| | | { reBizCode: "A003", type: "转移登记", acceptBy: '王三', acceptDate: "2019-01-25", curNode: "任务处理", flowRate: 24 }, |
| | | { reBizCode: "A004", type: "转移登记", acceptBy: '赵二', acceptDate: "2019-11-22", curNode: "部门审核", flowRate: 10 }, |
| | | { reBizCode: "A005", type: "转移登记", acceptBy: '钱大', acceptDate: "2019-12-12", curNode: "任务签收", flowRate: 8 }, |
| | | { reBizCode: "A006", type: "转移登记", acceptBy: '孙就', acceptDate: "2019-03-06", curNode: "任务处理", flowRate: 10 }, |
| | | { reBizCode: "A007", type: "抵押登记", acceptBy: '周晕', acceptDate: "2019-04-13", curNode: "部门审核", flowRate: 24 }, |
| | | { reBizCode: "A008", type: "抵押登记", acceptBy: '吴有', acceptDate: "2019-05-09", curNode: "部门审核", flowRate: 30 }, |
| | | { reBizCode: "A009", type: "抵押登记", acceptBy: '郑武', acceptDate: "2019-07-12", curNode: "任务分派", flowRate: 1 }, |
| | | { reBizCode: "A0010", type: "抵押登记", acceptBy: '林爽', acceptDate: "2019-12-12", curNode: "部门审核", flowRate: 16 }, |
| | | { reBizCode: "A0011", type: "转移登记", acceptBy: '码楼', acceptDate: "2019-09-10", curNode: "部门审核", flowRate: 7 }, |
| | | ] |
| | | |
| | | export default { |
| | | name: "IndexBdc", |
| | | components: { |
| | | ATooltip, |
| | | ACol, |
| | | ChartCard, |
| | | MiniArea, |
| | | MiniBar, |
| | | DashChartDemo, |
| | | BarMultid, |
| | | IndexBar |
| | | }, |
| | | data() { |
| | | return { |
| | | loading: true, |
| | | cardCount:{ |
| | | sll:100, |
| | | bjl:87, |
| | | isll:15, |
| | | ibjl:9 |
| | | export default { |
| | | name: "IndexBdc", |
| | | components: { |
| | | ATooltip, |
| | | ACol, |
| | | ChartCard, |
| | | MiniArea, |
| | | MiniBar, |
| | | DashChartDemo, |
| | | BarMultid, |
| | | IndexBar |
| | | }, |
| | | data() { |
| | | return { |
| | | loading: true, |
| | | cardCount: { |
| | | sll: 100, |
| | | bjl: 87, |
| | | isll: 15, |
| | | ibjl: 9 |
| | | }, |
| | | |
| | | todaySll: 60, |
| | | todayBjl: 54, |
| | | todayISll: 13, |
| | | todayIBjl: 7, |
| | | |
| | | chartData: { |
| | | sll: [], |
| | | bjl: [], |
| | | isll: [], |
| | | ibjl: [] |
| | | }, |
| | | jhjgFields, |
| | | jhjgData, |
| | | |
| | | xljgData, |
| | | xljgFields, |
| | | |
| | | diskInfo: [ |
| | | { name: "C盘", restPPT: 7 }, |
| | | { name: "D盘", restPPT: 5 } |
| | | ], |
| | | |
| | | registerTypeList: [{ |
| | | text: "业务受理" |
| | | }, { |
| | | text: "业务管理" |
| | | }, { |
| | | text: "文件管理" |
| | | }, { |
| | | text: "信息查询" |
| | | }], |
| | | |
| | | dataSource1: [], |
| | | dataSource2: [], |
| | | columns: dataCol1, |
| | | columns2: dataCol2, |
| | | ipagination1: { |
| | | current: 1, |
| | | pageSize: 5, |
| | | pageSizeOptions: ['10', '20', '30'], |
| | | showTotal: (total, range) => { |
| | | return range[0] + "-" + range[1] + " 共" + total + "条" |
| | | }, |
| | | showQuickJumper: true, |
| | | showSizeChanger: true, |
| | | total: 0, |
| | | |
| | | todaySll:60, |
| | | todayBjl:54, |
| | | todayISll:13, |
| | | todayIBjl:7, |
| | | |
| | | chartData:{ |
| | | sll:[], |
| | | bjl:[], |
| | | isll:[], |
| | | ibjl:[] |
| | | }, |
| | | ipagination2: { |
| | | current: 1, |
| | | pageSize: 5, |
| | | pageSizeOptions: ['10', '20', '30'], |
| | | showTotal: (total, range) => { |
| | | return range[0] + "-" + range[1] + " 共" + total + "条" |
| | | }, |
| | | jhjgFields, |
| | | jhjgData, |
| | | showQuickJumper: true, |
| | | showSizeChanger: true, |
| | | total: 0, |
| | | }, |
| | | indexRegisterType: "转移登记", |
| | | indexBottomTab: "1" |
| | | |
| | | xljgData, |
| | | xljgFields, |
| | | |
| | | diskInfo:[ |
| | | {name:"C盘",restPPT:7}, |
| | | {name:"D盘",restPPT:5} |
| | | ], |
| | | |
| | | registerTypeList:[{ |
| | | text:"业务受理" |
| | | },{ |
| | | text:"业务管理" |
| | | },{ |
| | | text:"文件管理" |
| | | },{ |
| | | text:"信息查询" |
| | | }], |
| | | |
| | | dataSource1:[], |
| | | dataSource2:[], |
| | | columns:dataCol1, |
| | | columns2:dataCol2, |
| | | ipagination1:{ |
| | | current: 1, |
| | | pageSize: 5, |
| | | pageSizeOptions: ['10', '20', '30'], |
| | | showTotal: (total, range) => { |
| | | return range[0] + "-" + range[1] + " 共" + total + "条" |
| | | }, |
| | | showQuickJumper: true, |
| | | showSizeChanger: true, |
| | | total: 0, |
| | | |
| | | }, |
| | | ipagination2:{ |
| | | current: 1, |
| | | pageSize: 5, |
| | | pageSizeOptions: ['10', '20', '30'], |
| | | showTotal: (total, range) => { |
| | | return range[0] + "-" + range[1] + " 共" + total + "条" |
| | | }, |
| | | showQuickJumper: true, |
| | | showSizeChanger: true, |
| | | total: 0, |
| | | }, |
| | | indexRegisterType:"转移登记", |
| | | indexBottomTab:"1" |
| | | |
| | | } |
| | | }, |
| | | methods:{ |
| | | goPage(){ |
| | | this.$message.success("根据业务自行处理跳转页面!") |
| | | }, |
| | | changeRegisterType(e){ |
| | | this.indexRegisterType = e.target.value |
| | | if(this.indexBottomTab=="1"){ |
| | | this.loadDataSource1() |
| | | }else{ |
| | | this.loadDataSource2() |
| | | } |
| | | }, |
| | | tableChange1(pagination){ |
| | | this.ipagination1.current = pagination.current |
| | | this.ipagination1.pageSize = pagination.pageSize |
| | | this.queryTimeoutInfo() |
| | | }, |
| | | tableChange2(pagination){ |
| | | this.ipagination2.current = pagination.current |
| | | this.ipagination2.pageSize = pagination.pageSize |
| | | this.queryNodeTimeoutInfo() |
| | | }, |
| | | getFlowRateNumber(value){ |
| | | return Number(value) |
| | | }, |
| | | getPercentFormat(value){ |
| | | if(value==100){ |
| | | return "超时" |
| | | }else{ |
| | | return value+"%" |
| | | } |
| | | }, |
| | | getPercentColor(value){ |
| | | let p = Number(value) |
| | | if(p>=90 && p<100){ |
| | | return 'rgb(244, 240, 89)' |
| | | }else if(p>=100){ |
| | | return 'red' |
| | | }else{ |
| | | return 'rgb(16, 142, 233)' |
| | | } |
| | | }, |
| | | |
| | | loadDataSource1(){ |
| | | this.dataSource1 = dataSource1.filter(item=>{ |
| | | if(!this.indexRegisterType){ |
| | | return true |
| | | } |
| | | return item.type==this.indexRegisterType |
| | | }) |
| | | }, |
| | | loadDataSource2(){ |
| | | this.dataSource2 = dataSource2.filter(item=>{ |
| | | if(!this.indexRegisterType){ |
| | | return true |
| | | } |
| | | return item.type==this.indexRegisterType |
| | | }) |
| | | } |
| | | }, |
| | | created() { |
| | | this.loadDataSource1() |
| | | this.loadDataSource2() |
| | | setTimeout(() => { |
| | | this.loading = !this.loading |
| | | }, 1000) |
| | | } |
| | | }, |
| | | methods: { |
| | | goPage() { |
| | | this.$message.success("根据业务自行处理跳转页面!") |
| | | }, |
| | | changeRegisterType(e) { |
| | | this.indexRegisterType = e.target.value |
| | | if (this.indexBottomTab == "1") { |
| | | this.loadDataSource1() |
| | | } else { |
| | | this.loadDataSource2() |
| | | } |
| | | }, |
| | | tableChange1(pagination) { |
| | | this.ipagination1.current = pagination.current |
| | | this.ipagination1.pageSize = pagination.pageSize |
| | | this.queryTimeoutInfo() |
| | | }, |
| | | tableChange2(pagination) { |
| | | this.ipagination2.current = pagination.current |
| | | this.ipagination2.pageSize = pagination.pageSize |
| | | this.queryNodeTimeoutInfo() |
| | | }, |
| | | getFlowRateNumber(value) { |
| | | return Number(value) |
| | | }, |
| | | getPercentFormat(value) { |
| | | if (value == 100) { |
| | | return "超时" |
| | | } else { |
| | | return value + "%" |
| | | } |
| | | }, |
| | | getPercentColor(value) { |
| | | let p = Number(value) |
| | | if (p >= 90 && p < 100) { |
| | | return 'rgb(244, 240, 89)' |
| | | } else if (p >= 100) { |
| | | return 'red' |
| | | } else { |
| | | return 'rgb(16, 142, 233)' |
| | | } |
| | | }, |
| | | |
| | | loadDataSource1() { |
| | | this.dataSource1 = dataSource1.filter(item => { |
| | | if (!this.indexRegisterType) { |
| | | return true |
| | | } |
| | | return item.type == this.indexRegisterType |
| | | }) |
| | | }, |
| | | loadDataSource2() { |
| | | this.dataSource2 = dataSource2.filter(item => { |
| | | if (!this.indexRegisterType) { |
| | | return true |
| | | } |
| | | return item.type == this.indexRegisterType |
| | | }) |
| | | } |
| | | }, |
| | | created() { |
| | | this.loadDataSource1() |
| | | this.loadDataSource2() |
| | | setTimeout(() => { |
| | | this.loading = !this.loading |
| | | }, 1000) |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | .extra-wrapper { |
| | | line-height: 55px; |
| | | padding-right: 24px; |
| | | .extra-wrapper { |
| | | line-height: 55px; |
| | | padding-right: 24px; |
| | | |
| | | .extra-item { |
| | | display: inline-block; |
| | | margin-right: 24px; |
| | | |
| | | a { |
| | | margin-left: 24px; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .item-group { |
| | | padding: 20px 0 8px 24px; |
| | | font-size: 0; |
| | | a { |
| | | color: rgba(0, 0, 0, 0.65); |
| | | display: inline-block; |
| | | font-size: 14px; |
| | | margin-bottom: 13px; |
| | | width: 25%; |
| | | } |
| | | } |
| | | |
| | | .item-group { |
| | | .more-btn { |
| | | margin-bottom: 13px; |
| | | text-align: center; |
| | | } |
| | | } |
| | | |
| | | .list-content-item { |
| | | color: rgba(0, 0, 0, .45); |
| | | .extra-item { |
| | | display: inline-block; |
| | | vertical-align: middle; |
| | | margin-right: 24px; |
| | | |
| | | a { |
| | | margin-left: 24px; |
| | | } |
| | | } |
| | | } |
| | | |
| | | .item-group { |
| | | padding: 20px 0 8px 24px; |
| | | font-size: 0; |
| | | a { |
| | | color: rgba(0, 0, 0, 0.65); |
| | | display: inline-block; |
| | | font-size: 14px; |
| | | margin-left: 40px; |
| | | margin-bottom: 13px; |
| | | width: 25%; |
| | | } |
| | | } |
| | | |
| | | @media only screen and (min-width: 1600px) { |
| | | .list-content-item{ |
| | | margin-left:60px; |
| | | } |
| | | .item-group { |
| | | .more-btn { |
| | | margin-bottom: 13px; |
| | | text-align: center; |
| | | } |
| | | } |
| | | |
| | | @media only screen and (max-width: 1300px) { |
| | | .list-content-item{ |
| | | margin-left:20px; |
| | | } |
| | | .width-hidden4{ |
| | | display:none |
| | | } |
| | | } |
| | | .list-content-item{ |
| | | span{line-height: 20px;} |
| | | } |
| | | .list-content-item{ |
| | | p{margin-top: 4px;margin-bottom:0;line-height:22px;} |
| | | } |
| | | .anty-list-cust { |
| | | .ant-list-item-meta{flex: 0.3 !important;} |
| | | } |
| | | .anty-list-cust { |
| | | .ant-list-item-content{flex:1 !important; justify-content:flex-start !important;margin-left: 20px;} |
| | | } |
| | | .list-content-item { |
| | | color: rgba(0, 0, 0, 0.45); |
| | | display: inline-block; |
| | | vertical-align: middle; |
| | | font-size: 14px; |
| | | margin-left: 40px; |
| | | } |
| | | |
| | | @media only screen and (min-width: 1600px) { |
| | | .list-content-item { |
| | | margin-left: 60px; |
| | | } |
| | | } |
| | | |
| | | @media only screen and (max-width: 1300px) { |
| | | .list-content-item { |
| | | margin-left: 20px; |
| | | } |
| | | .width-hidden4 { |
| | | display: none; |
| | | } |
| | | } |
| | | .list-content-item { |
| | | span { |
| | | line-height: 20px; |
| | | } |
| | | } |
| | | .list-content-item { |
| | | p { |
| | | margin-top: 4px; |
| | | margin-bottom: 0; |
| | | line-height: 22px; |
| | | } |
| | | } |
| | | .anty-list-cust { |
| | | .ant-list-item-meta { |
| | | flex: 0.3 !important; |
| | | } |
| | | } |
| | | .anty-list-cust { |
| | | .ant-list-item-content { |
| | | flex: 1 !important; |
| | | justify-content: flex-start !important; |
| | | margin-left: 20px; |
| | | } |
| | | } |
| | | </style> |
| | |
| | | <template> |
| | | <div class="page-header-index-wide"> |
| | | <!--<a-row :gutter="24">--> |
| | | <!--<a-col :sm="24" :md="12" :xl="6" :style="{ marginBottom: '24px' }">--> |
| | | <!--<chart-card :loading="loading" title="总销售额" total="¥126,560">--> |
| | | <!--<a-tooltip title="指标说明" slot="action">--> |
| | | <!--<a-icon type="info-circle-o" />--> |
| | | <!--</a-tooltip>--> |
| | | <!--<div>--> |
| | | <!--<trend flag="up" style="margin-right: 16px;">--> |
| | | <!--<span slot="term">周同比</span>--> |
| | | <!--12%--> |
| | | <!--</trend>--> |
| | | <!--<trend flag="down">--> |
| | | <!--<span slot="term">日同比</span>--> |
| | | <!--11%--> |
| | | <!--</trend>--> |
| | | <!--</div>--> |
| | | <!--<template slot="footer">日均销售额<span>¥ 234.56</span></template>--> |
| | | <!--</chart-card>--> |
| | | <!--</a-col>--> |
| | | <!--<a-col :sm="24" :md="12" :xl="6" :style="{ marginBottom: '24px' }">--> |
| | | <!--<chart-card :loading="loading" title="订单量" :total="8846 | NumberFormat">--> |
| | | <!--<a-tooltip title="指标说明" slot="action">--> |
| | | <!--<a-icon type="info-circle-o" />--> |
| | | <!--</a-tooltip>--> |
| | | <!--<div>--> |
| | | <!--<mini-area />--> |
| | | <!--</div>--> |
| | | <!--<template slot="footer">日订单量<span> {{ '1234' | NumberFormat }}</span></template>--> |
| | | <!--</chart-card>--> |
| | | <!--</a-col>--> |
| | | <!--<a-col :sm="24" :md="12" :xl="6" :style="{ marginBottom: '24px' }">--> |
| | | <!--<chart-card :loading="loading" title="支付笔数" :total="6560 | NumberFormat">--> |
| | | <!--<a-tooltip title="指标说明" slot="action">--> |
| | | <!--<a-icon type="info-circle-o" />--> |
| | | <!--</a-tooltip>--> |
| | | <!--<div>--> |
| | | <!--<mini-bar :height="40" />--> |
| | | <!--</div>--> |
| | | <!--<template slot="footer">转化率 <span>60%</span></template>--> |
| | | <!--</chart-card>--> |
| | | <!--</a-col>--> |
| | | <!--<a-col :sm="24" :md="12" :xl="6" :style="{ marginBottom: '24px' }">--> |
| | | <!--<chart-card :loading="loading" title="运营活动效果" total="78%">--> |
| | | <!--<a-tooltip title="指标说明" slot="action">--> |
| | | <!--<a-icon type="info-circle-o" />--> |
| | | <!--</a-tooltip>--> |
| | | <!--<div>--> |
| | | <!--<mini-progress color="rgb(19, 194, 194)" :target="80" :percentage="78" :height="8" />--> |
| | | <!--</div>--> |
| | | <!--<template slot="footer">--> |
| | | <!--<trend flag="down" style="margin-right: 16px;">--> |
| | | <!--<span slot="term">同周比</span>--> |
| | | <!--12%--> |
| | | <!--</trend>--> |
| | | <!--<trend flag="up">--> |
| | | <!--<span slot="term">日环比</span>--> |
| | | <!--80%--> |
| | | <!--</trend>--> |
| | | <!--</template>--> |
| | | <!--</chart-card>--> |
| | | <!--</a-col>--> |
| | | <!--</a-row>--> |
| | | <a-row :gutter="24"> |
| | | <a-col |
| | | :sm="24" |
| | | :md="12" |
| | | :xl="6" |
| | | :style="{ marginBottom: '24px' }" |
| | | > |
| | | <chart-card |
| | | :loading="loading" |
| | | title="总销售额" |
| | | total="¥126,560" |
| | | > |
| | | <a-tooltip |
| | | title="指标说明" |
| | | slot="action" |
| | | > |
| | | <a-icon type="info-circle-o" /> |
| | | </a-tooltip> |
| | | <div> |
| | | <trend |
| | | flag="up" |
| | | style="margin-right: 16px;" |
| | | > |
| | | <span slot="term">周同比</span> |
| | | 12% |
| | | </trend> |
| | | <trend flag="down"> |
| | | <span slot="term">日同比</span> |
| | | 11% |
| | | </trend> |
| | | </div> |
| | | <template slot="footer">日均销售额<span>¥ 234.56</span></template> |
| | | </chart-card> |
| | | </a-col> |
| | | <a-col |
| | | :sm="24" |
| | | :md="12" |
| | | :xl="6" |
| | | :style="{ marginBottom: '24px' }" |
| | | > |
| | | <chart-card |
| | | :loading="loading" |
| | | title="订单量" |
| | | :total="8846 | NumberFormat" |
| | | > |
| | | <a-tooltip |
| | | title="指标说明" |
| | | slot="action" |
| | | > |
| | | <a-icon type="info-circle-o" /> |
| | | </a-tooltip> |
| | | <div> |
| | | <mini-area /> |
| | | </div> |
| | | <template slot="footer">日订单量<span> {{ '1234' | NumberFormat }}</span></template> |
| | | </chart-card> |
| | | </a-col> |
| | | <a-col |
| | | :sm="24" |
| | | :md="12" |
| | | :xl="6" |
| | | :style="{ marginBottom: '24px' }" |
| | | > |
| | | <chart-card |
| | | :loading="loading" |
| | | title="支付笔数" |
| | | :total="6560 | NumberFormat" |
| | | > |
| | | <a-tooltip |
| | | title="指标说明" |
| | | slot="action" |
| | | > |
| | | <a-icon type="info-circle-o" /> |
| | | </a-tooltip> |
| | | <div> |
| | | <mini-bar :height="40" /> |
| | | </div> |
| | | <template slot="footer">转化率 <span>60%</span></template> |
| | | </chart-card> |
| | | </a-col> |
| | | <a-col |
| | | :sm="24" |
| | | :md="12" |
| | | :xl="6" |
| | | :style="{ marginBottom: '24px' }" |
| | | > |
| | | <chart-card |
| | | :loading="loading" |
| | | title="运营活动效果" |
| | | total="78%" |
| | | > |
| | | <a-tooltip |
| | | title="指标说明" |
| | | slot="action" |
| | | > |
| | | <a-icon type="info-circle-o" /> |
| | | </a-tooltip> |
| | | <div> |
| | | <mini-progress |
| | | color="rgb(19, 194, 194)" |
| | | :target="80" |
| | | :percentage="78" |
| | | :height="8" |
| | | /> |
| | | </div> |
| | | <template slot="footer"> |
| | | <trend |
| | | flag="down" |
| | | style="margin-right: 16px;" |
| | | > |
| | | <span slot="term">同周比</span> |
| | | 12% |
| | | </trend> |
| | | <trend flag="up"> |
| | | <span slot="term">日环比</span> |
| | | 80% |
| | | </trend> |
| | | </template> |
| | | </chart-card> |
| | | </a-col> |
| | | </a-row> |
| | | |
| | | <!--<a-card :loading="loading" :bordered="false" :body-style="{padding: '0'}">--> |
| | | <!--<div class="salesCard">--> |
| | | <!--<a-tabs default-active-key="1" size="large" :tab-bar-style="{marginBottom: '24px', paddingLeft: '16px'}">--> |
| | | <!--<div class="extra-wrapper" slot="tabBarExtraContent">--> |
| | | <!--<div class="extra-item">--> |
| | | <!--<a>今日</a>--> |
| | | <!--<a>本周</a>--> |
| | | <!--<a>本月</a>--> |
| | | <!--<a>本年</a>--> |
| | | <!--</div>--> |
| | | <!--<a-range-picker :style="{width: '256px'}" />--> |
| | | <!--</div>--> |
| | | <!--<a-tab-pane loading="true" tab="销售额" key="1">--> |
| | | <!--<a-row>--> |
| | | <!--<a-col :xl="16" :lg="12" :md="12" :sm="24" :xs="24">--> |
| | | <!--<bar title="销售额排行" :dataSource="barData"/>--> |
| | | <!--</a-col>--> |
| | | <!--<a-col :xl="8" :lg="12" :md="12" :sm="24" :xs="24">--> |
| | | <!--<rank-list title="门店销售排行榜" :list="rankList"/>--> |
| | | <!--</a-col>--> |
| | | <!--</a-row>--> |
| | | <!--</a-tab-pane>--> |
| | | <!--<a-tab-pane tab="销售趋势" key="2">--> |
| | | <!--<a-row>--> |
| | | <!--<a-col :xl="16" :lg="12" :md="12" :sm="24" :xs="24">--> |
| | | <!--<bar title="销售额趋势" :dataSource="barData"/>--> |
| | | <!--</a-col>--> |
| | | <!--<a-col :xl="8" :lg="12" :md="12" :sm="24" :xs="24">--> |
| | | <!--<rank-list title="门店销售排行榜" :list="rankList"/>--> |
| | | <!--</a-col>--> |
| | | <!--</a-row>--> |
| | | <!--</a-tab-pane>--> |
| | | <!--</a-tabs>--> |
| | | <!--</div>--> |
| | | <!--</a-card>--> |
| | | <a-card |
| | | :loading="loading" |
| | | :bordered="false" |
| | | :body-style="{padding: '0'}" |
| | | > |
| | | <div class="salesCard"> |
| | | <a-tabs |
| | | default-active-key="1" |
| | | size="large" |
| | | :tab-bar-style="{marginBottom: '24px', paddingLeft: '16px'}" |
| | | > |
| | | <div |
| | | class="extra-wrapper" |
| | | slot="tabBarExtraContent" |
| | | > |
| | | <div class="extra-item"> |
| | | <a>今日</a> |
| | | <a>本周</a> |
| | | <a>本月</a> |
| | | <a>本年</a> |
| | | </div> |
| | | <a-range-picker :style="{width: '256px'}" /> |
| | | </div> |
| | | <a-tab-pane |
| | | loading="true" |
| | | tab="销售额" |
| | | key="1" |
| | | > |
| | | <a-row> |
| | | <a-col |
| | | :xl="16" |
| | | :lg="12" |
| | | :md="12" |
| | | :sm="24" |
| | | :xs="24" |
| | | > |
| | | <bar |
| | | title="销售额排行" |
| | | :dataSource="barData" |
| | | /> |
| | | </a-col> |
| | | <a-col |
| | | :xl="8" |
| | | :lg="12" |
| | | :md="12" |
| | | :sm="24" |
| | | :xs="24" |
| | | > |
| | | <rank-list |
| | | title="门店销售排行榜" |
| | | :list="rankList" |
| | | /> |
| | | </a-col> |
| | | </a-row> |
| | | </a-tab-pane> |
| | | <a-tab-pane |
| | | tab="销售趋势" |
| | | key="2" |
| | | > |
| | | <a-row> |
| | | <a-col |
| | | :xl="16" |
| | | :lg="12" |
| | | :md="12" |
| | | :sm="24" |
| | | :xs="24" |
| | | > |
| | | <bar |
| | | title="销售额趋势" |
| | | :dataSource="barData" |
| | | /> |
| | | </a-col> |
| | | <a-col |
| | | :xl="8" |
| | | :lg="12" |
| | | :md="12" |
| | | :sm="24" |
| | | :xs="24" |
| | | > |
| | | <rank-list |
| | | title="门店销售排行榜" |
| | | :list="rankList" |
| | | /> |
| | | </a-col> |
| | | </a-row> |
| | | </a-tab-pane> |
| | | </a-tabs> |
| | | </div> |
| | | </a-card> |
| | | |
| | | <a-row> |
| | | <a-col :span="24"> |
| | | <a-card :loading="loading" :bordered="false" title="最近一周访问量统计" :style="{ marginTop: '24px' }"> |
| | | <a-card |
| | | :loading="loading" |
| | | :bordered="false" |
| | | title="最近一周访问量统计" |
| | | :style="{ marginTop: '24px' }" |
| | | > |
| | | <a-row> |
| | | <a-col :span="6"> |
| | | <head-info title="今日IP" :content="loginfo.todayIp"></head-info> |
| | | <head-info |
| | | title="今日IP" |
| | | :content="loginfo.todayIp" |
| | | ></head-info> |
| | | </a-col> |
| | | <a-col :span="2"> |
| | | <a-spin class='circle-cust'> |
| | | <a-icon slot="indicator" type="environment" style="font-size: 24px" /> |
| | | <a-icon |
| | | slot="indicator" |
| | | type="environment" |
| | | style="font-size: 24px" |
| | | /> |
| | | </a-spin> |
| | | </a-col> |
| | | <a-col :span="6"> |
| | | <head-info title="今日访问" :content="loginfo.todayVisitCount"></head-info> |
| | | <head-info |
| | | title="今日访问" |
| | | :content="loginfo.todayVisitCount" |
| | | ></head-info> |
| | | </a-col> |
| | | <a-col :span="2"> |
| | | <a-spin class='circle-cust'> |
| | | <a-icon slot="indicator" type="team" style="font-size: 24px" /> |
| | | <a-icon |
| | | slot="indicator" |
| | | type="team" |
| | | style="font-size: 24px" |
| | | /> |
| | | </a-spin> |
| | | </a-col> |
| | | <a-col :span="6"> |
| | | <head-info title="总访问量" :content="loginfo.totalVisitCount"></head-info> |
| | | <head-info |
| | | title="总访问量" |
| | | :content="loginfo.totalVisitCount" |
| | | ></head-info> |
| | | </a-col> |
| | | <a-col :span="2"> |
| | | <a-spin class='circle-cust'> |
| | | <a-icon slot="indicator" type="rise" style="font-size: 24px" /> |
| | | <a-icon |
| | | slot="indicator" |
| | | type="rise" |
| | | style="font-size: 24px" |
| | | /> |
| | | </a-spin> |
| | | </a-col> |
| | | </a-row> |
| | | <line-chart-multid :fields="visitFields" :dataSource="visitInfo"></line-chart-multid> |
| | | <line-chart-multid |
| | | :fields="visitFields" |
| | | :dataSource="visitInfo" |
| | | ></line-chart-multid> |
| | | </a-card> |
| | | </a-col> |
| | | </a-row> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import ChartCard from '@/components/ChartCard' |
| | | import ACol from "ant-design-vue/es/grid/Col" |
| | | import ATooltip from "ant-design-vue/es/tooltip/Tooltip" |
| | | import MiniArea from '@/components/chart/MiniArea' |
| | | import MiniBar from '@/components/chart/MiniBar' |
| | | import MiniProgress from '@/components/chart/MiniProgress' |
| | | import RankList from '@/components/chart/RankList' |
| | | import Bar from '@/components/chart/Bar' |
| | | import LineChartMultid from '@/components/chart/LineChartMultid' |
| | | import HeadInfo from '@/components/tools/HeadInfo.vue' |
| | | import ChartCard from '@/components/ChartCard' |
| | | import ACol from "ant-design-vue/es/grid/Col" |
| | | import ATooltip from "ant-design-vue/es/tooltip/Tooltip" |
| | | import MiniArea from '@/components/chart/MiniArea' |
| | | import MiniBar from '@/components/chart/MiniBar' |
| | | import MiniProgress from '@/components/chart/MiniProgress' |
| | | import RankList from '@/components/chart/RankList' |
| | | import Bar from '@/components/chart/Bar' |
| | | import LineChartMultid from '@/components/chart/LineChartMultid' |
| | | import HeadInfo from '@/components/tools/HeadInfo.vue' |
| | | |
| | | import Trend from '@/components/Trend' |
| | | import { getLoginfo,getVisitInfo } from '@/api/api' |
| | | import Trend from '@/components/Trend' |
| | | import { getLoginfo, getVisitInfo } from '@/api/api' |
| | | |
| | | const rankList = [] |
| | | for (let i = 0; i < 7; i++) { |
| | | rankList.push({ |
| | | name: '白鹭岛 ' + (i+1) + ' 号店', |
| | | total: 1234.56 - i * 100 |
| | | }) |
| | | } |
| | | const barData = [] |
| | | for (let i = 0; i < 12; i += 1) { |
| | | barData.push({ |
| | | x: `${i + 1}月`, |
| | | y: Math.floor(Math.random() * 1000) + 200 |
| | | }) |
| | | } |
| | | export default { |
| | | name: "IndexChart", |
| | | components: { |
| | | ATooltip, |
| | | ACol, |
| | | ChartCard, |
| | | MiniArea, |
| | | MiniBar, |
| | | MiniProgress, |
| | | RankList, |
| | | Bar, |
| | | Trend, |
| | | LineChartMultid, |
| | | HeadInfo |
| | | }, |
| | | data() { |
| | | return { |
| | | loading: true, |
| | | center: null, |
| | | rankList, |
| | | barData, |
| | | loginfo:{}, |
| | | visitFields:['ip','visit'], |
| | | visitInfo:[], |
| | | indicator: <a-icon type="loading" style="font-size: 24px" spin /> |
| | | } |
| | | }, |
| | | created() { |
| | | setTimeout(() => { |
| | | this.loading = !this.loading |
| | | }, 1000) |
| | | this.initLogInfo(); |
| | | }, |
| | | methods: { |
| | | initLogInfo () { |
| | | getLoginfo(null).then((res)=>{ |
| | | if(res.success){ |
| | | Object.keys(res.result).forEach(key=>{ |
| | | res.result[key] =res.result[key]+"" |
| | | }) |
| | | this.loginfo = res.result; |
| | | } |
| | | }) |
| | | getVisitInfo().then(res=>{ |
| | | if(res.success){ |
| | | this.visitInfo = res.result; |
| | | } |
| | | }) |
| | | }, |
| | | const rankList = [] |
| | | for (let i = 0; i < 7; i++) { |
| | | rankList.push({ |
| | | name: '白鹭岛 ' + (i + 1) + ' 号店', |
| | | total: 1234.56 - i * 100 |
| | | }) |
| | | } |
| | | const barData = [] |
| | | for (let i = 0; i < 12; i += 1) { |
| | | barData.push({ |
| | | x: `${i + 1}月`, |
| | | y: Math.floor(Math.random() * 1000) + 200 |
| | | }) |
| | | } |
| | | export default { |
| | | name: "IndexChart", |
| | | components: { |
| | | ATooltip, |
| | | ACol, |
| | | ChartCard, |
| | | MiniArea, |
| | | MiniBar, |
| | | MiniProgress, |
| | | RankList, |
| | | Bar, |
| | | Trend, |
| | | LineChartMultid, |
| | | HeadInfo |
| | | }, |
| | | data() { |
| | | return { |
| | | loading: true, |
| | | center: null, |
| | | rankList, |
| | | barData, |
| | | loginfo: {}, |
| | | visitFields: ['ip', 'visit'], |
| | | visitInfo: [], |
| | | indicator: <a-icon type="loading" style="font-size: 24px" spin /> |
| | | } |
| | | }, |
| | | created() { |
| | | setTimeout(() => { |
| | | this.loading = !this.loading |
| | | }, 1000) |
| | | this.initLogInfo(); |
| | | }, |
| | | methods: { |
| | | initLogInfo() { |
| | | getLoginfo(null).then((res) => { |
| | | if (res.success) { |
| | | Object.keys(res.result).forEach(key => { |
| | | res.result[key] = res.result[key] + "" |
| | | }) |
| | | this.loginfo = res.result; |
| | | } |
| | | }) |
| | | getVisitInfo().then(res => { |
| | | if (res.success) { |
| | | this.visitInfo = res.result; |
| | | } |
| | | }) |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | .circle-cust{ |
| | | position: relative; |
| | | top: 28px; |
| | | left: -100%; |
| | | } |
| | | .extra-wrapper { |
| | | line-height: 55px; |
| | | padding-right: 24px; |
| | | .circle-cust { |
| | | position: relative; |
| | | top: 28px; |
| | | left: -100%; |
| | | } |
| | | .extra-wrapper { |
| | | line-height: 55px; |
| | | padding-right: 24px; |
| | | |
| | | .extra-item { |
| | | display: inline-block; |
| | | margin-right: 24px; |
| | | .extra-item { |
| | | display: inline-block; |
| | | margin-right: 24px; |
| | | |
| | | a { |
| | | margin-left: 24px; |
| | | } |
| | | a { |
| | | margin-left: 24px; |
| | | } |
| | | } |
| | | } |
| | | |
| | | /* 首页访问量统计 */ |
| | | .head-info { |
| | | position: relative; |
| | | text-align: left; |
| | | padding: 0 32px 0 0; |
| | | min-width: 125px; |
| | | /* 首页访问量统计 */ |
| | | .head-info { |
| | | position: relative; |
| | | text-align: left; |
| | | padding: 0 32px 0 0; |
| | | min-width: 125px; |
| | | |
| | | &.center { |
| | | text-align: center; |
| | | padding: 0 32px; |
| | | } |
| | | &.center { |
| | | text-align: center; |
| | | padding: 0 32px; |
| | | } |
| | | |
| | | span { |
| | | color: rgba(0, 0, 0, .45); |
| | | display: inline-block; |
| | | font-size: .95rem; |
| | | line-height: 42px; |
| | | margin-bottom: 4px; |
| | | } |
| | | p { |
| | | line-height: 42px; |
| | | margin: 0; |
| | | a { |
| | | font-weight: 600; |
| | | font-size: 1rem; |
| | | } |
| | | span { |
| | | color: rgba(0, 0, 0, 0.45); |
| | | display: inline-block; |
| | | font-size: 0.95rem; |
| | | line-height: 42px; |
| | | margin-bottom: 4px; |
| | | } |
| | | p { |
| | | line-height: 42px; |
| | | margin: 0; |
| | | a { |
| | | font-weight: 600; |
| | | font-size: 1rem; |
| | | } |
| | | } |
| | | } |
| | | </style> |
| | |
| | | <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-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"/> |
| | | <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> |
| | | <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'" |
| | |
| | | rowKey="id" |
| | | :columns="columns" |
| | | :dataSource="dataSource1" |
| | | :pagination="false"> |
| | | <template slot="ellipsisText" slot-scope="text"> |
| | | <j-ellipsis :value="text" :length="textMaxLength"></j-ellipsis> |
| | | :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 |
| | | 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"> |
| | | <span |
| | | slot="action" |
| | | slot-scope="text, record" |
| | | > |
| | | <a @click="handleData">办理</a> |
| | | </span> |
| | | |
| | |
| | | </a-card> |
| | | </a-col> |
| | | |
| | | <a-col :sm="24" :lg="12"> |
| | | <a-col |
| | | :sm="24" |
| | | :lg="12" |
| | | > |
| | | <a-card> |
| | | <div slot="title" class="index-md-title"> |
| | | <img src="../../assets/zaiban.png"/> |
| | | <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> |
| | | <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'" |
| | |
| | | rowKey="id" |
| | | :columns="columns" |
| | | :dataSource="dataSource2" |
| | | :pagination="false"> |
| | | <template slot="ellipsisText" slot-scope="text"> |
| | | <j-ellipsis :value="text" :length="textMaxLength"></j-ellipsis> |
| | | :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 |
| | | 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"> |
| | | <span |
| | | slot="action" |
| | | slot-scope="text, record" |
| | | > |
| | | <a @click="handleData">办理</a> |
| | | </span> |
| | | |
| | |
| | | <div style="height: 5px;"></div> |
| | | </a-col> |
| | | |
| | | <a-col :sm="24" :lg="12"> |
| | | <a-col |
| | | :sm="24" |
| | | :lg="12" |
| | | > |
| | | <a-card> |
| | | <div slot="title" class="index-md-title"> |
| | | <img src="../../assets/guaz.png"/> |
| | | <div |
| | | slot="title" |
| | | class="index-md-title" |
| | | > |
| | | <img src="../../assets/guaz.png" /> |
| | | 我的挂账【{{ dataSource4.length }}】 |
| | | </div> |
| | | <a-table |
| | |
| | | rowKey="id" |
| | | :columns="columns" |
| | | :dataSource="dataSource4" |
| | | :pagination="false"> |
| | | <template slot="ellipsisText" slot-scope="text"> |
| | | <j-ellipsis :value="text" :length="textMaxLength"></j-ellipsis> |
| | | :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 |
| | | 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"> |
| | | <span |
| | | slot="action" |
| | | slot-scope="text, record" |
| | | > |
| | | <a @click="handleData">办理</a> |
| | | </span> |
| | | |
| | |
| | | </a-card> |
| | | </a-col> |
| | | |
| | | <a-col :sm="24" :lg="12"> |
| | | <a-col |
| | | :sm="24" |
| | | :lg="12" |
| | | > |
| | | <a-card> |
| | | <div slot="title" class="index-md-title"> |
| | | <img src="../../assets/duban.png"/> |
| | | <div |
| | | slot="title" |
| | | class="index-md-title" |
| | | > |
| | | <img src="../../assets/duban.png" /> |
| | | 我的督办【{{ dataSource3.length }}】 |
| | | </div> |
| | | <a-table |
| | |
| | | rowKey="id" |
| | | :columns="columns" |
| | | :dataSource="dataSource3" |
| | | :pagination="false"> |
| | | <template slot="ellipsisText" slot-scope="text"> |
| | | <j-ellipsis :value="text" :length="textMaxLength"></j-ellipsis> |
| | | :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 |
| | | 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"> |
| | | <span |
| | | slot="action" |
| | | slot-scope="text, record" |
| | | > |
| | | <a @click="handleData">办理</a> |
| | | </span> |
| | | |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import noDataPng from '@/assets/nodata.png' |
| | | import JEllipsis from '@/components/jeecg/JEllipsis' |
| | | 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 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 |
| | | }] |
| | | 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)" |
| | | //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 |
| | | 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' } |
| | | } |
| | | }, |
| | | 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("办理完成") |
| | | } |
| | | |
| | | |
| | | |
| | | ] |
| | | |
| | | } |
| | | }, |
| | | 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;} |
| | | .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-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{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-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-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; |
| | | .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-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-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 > .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-small{ |
| | | border: 1px solid #90aeff; |
| | | } |
| | | |
| | | .index-container-ty .ant-table-placeholder { |
| | | padding: 0 |
| | | } |
| | | .index-container-ty .ant-table-placeholder { |
| | | padding: 0; |
| | | } |
| | | </style> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | name: "Monitor" |
| | | } |
| | | export default { |
| | | name: "Monitor" |
| | | } |
| | | </script> |
| | | |
| | | <style scoped> |
| | | |
| | | </style> |
| | |
| | | <div slot="extra"> |
| | | <a-row class="more-info"> |
| | | <a-col :span="8"> |
| | | <head-info title="项目数" content="56" :center="false" :bordered="false"/> |
| | | <head-info |
| | | title="项目数" |
| | | content="56" |
| | | :center="false" |
| | | :bordered="false" |
| | | /> |
| | | </a-col> |
| | | <a-col :span="8"> |
| | | <head-info title="团队排名" content="8/24" :center="false" :bordered="false"/> |
| | | <head-info |
| | | title="团队排名" |
| | | content="8/24" |
| | | :center="false" |
| | | :bordered="false" |
| | | /> |
| | | </a-col> |
| | | <a-col :span="8"> |
| | | <head-info title="项目访问" content="2,223" :center="false" /> |
| | | <head-info |
| | | title="项目访问" |
| | | content="2,223" |
| | | :center="false" |
| | | /> |
| | | </a-col> |
| | | </a-row> |
| | | </div> |
| | | |
| | | <div> |
| | | <a-row :gutter="24"> |
| | | <a-col :xl="16" :lg="24" :md="24" :sm="24" :xs="24"> |
| | | <a-col |
| | | :xl="16" |
| | | :lg="24" |
| | | :md="24" |
| | | :sm="24" |
| | | :xs="24" |
| | | > |
| | | <a-card |
| | | class="project-list" |
| | | :loading="loading" |
| | | style="margin-bottom: 24px;" |
| | | :bordered="false" |
| | | title="进行中的项目" |
| | | :body-style="{ padding: 0 }"> |
| | | :body-style="{ padding: 0 }" |
| | | > |
| | | <a slot="extra">全部项目</a> |
| | | <div> |
| | | <a-card-grid class="project-card-grid" :key="i" v-for="(item, i) in projects"> |
| | | <a-card :bordered="false" :body-style="{ padding: 0 }"> |
| | | <a-card-grid |
| | | class="project-card-grid" |
| | | :key="i" |
| | | v-for="(item, i) in projects" |
| | | > |
| | | <a-card |
| | | :bordered="false" |
| | | :body-style="{ padding: 0 }" |
| | | > |
| | | <a-card-meta> |
| | | <div slot="title" class="card-title"> |
| | | <a-avatar size="small" :src="item.cover"/> |
| | | <div |
| | | slot="title" |
| | | class="card-title" |
| | | > |
| | | <a-avatar |
| | | size="small" |
| | | :src="item.cover" |
| | | /> |
| | | <a>{{ item.title }}</a> |
| | | </div> |
| | | <div slot="description" class="card-description"> |
| | | <div |
| | | slot="description" |
| | | class="card-description" |
| | | > |
| | | {{ item.description }} |
| | | </div> |
| | | </a-card-meta> |
| | |
| | | </div> |
| | | </a-card> |
| | | |
| | | <a-card :loading="loading" title="动态" :bordered="false"> |
| | | <a-card |
| | | :loading="loading" |
| | | title="动态" |
| | | :bordered="false" |
| | | > |
| | | <a-list> |
| | | <a-list-item :key="index" v-for="(item, index) in activities"> |
| | | <a-list-item |
| | | :key="index" |
| | | v-for="(item, index) in activities" |
| | | > |
| | | <a-list-item-meta> |
| | | <a-avatar slot="avatar" :src="item.user.avatar" /> |
| | | <a-avatar |
| | | slot="avatar" |
| | | :src="item.user.avatar" |
| | | /> |
| | | <div slot="title"> |
| | | <span>{{ item.user.nickname }}</span> |
| | | 在 <a href="#">{{ item.project.name }}</a> |
| | |
| | | :lg="24" |
| | | :md="24" |
| | | :sm="24" |
| | | :xs="24"> |
| | | <a-card title="快速开始 / 便捷导航" style="margin-bottom: 24px" :bordered="false" :body-style="{padding: 0}"> |
| | | :xs="24" |
| | | > |
| | | <a-card |
| | | title="快速开始 / 便捷导航" |
| | | style="margin-bottom: 24px" |
| | | :bordered="false" |
| | | :body-style="{padding: 0}" |
| | | > |
| | | <div class="item-group"> |
| | | <a>操作一</a> |
| | | <a>操作二</a> |
| | |
| | | <a>操作四</a> |
| | | <a>操作五</a> |
| | | <a>操作六</a> |
| | | <a-button size="small" type="primary" ghost icon="plus">添加</a-button> |
| | | <a-button |
| | | size="small" |
| | | type="primary" |
| | | ghost |
| | | icon="plus" |
| | | >添加</a-button> |
| | | </div> |
| | | </a-card> |
| | | <a-card title="XX 指数" style="margin-bottom: 24px" :loading="radarLoading" :bordered="false" :body-style="{ padding: 0 }"> |
| | | <a-card |
| | | title="XX 指数" |
| | | style="margin-bottom: 24px" |
| | | :loading="radarLoading" |
| | | :bordered="false" |
| | | :body-style="{ padding: 0 }" |
| | | > |
| | | <div style="min-height: 400px;"> |
| | | <!-- :scale="scale" :axis1Opts="axis1Opts" :axis2Opts="axis2Opts" --> |
| | | <radar :data="radarData" /> |
| | | </div> |
| | | </a-card> |
| | | <a-card :loading="loading" title="团队" :bordered="false"> |
| | | <a-card |
| | | :loading="loading" |
| | | title="团队" |
| | | :bordered="false" |
| | | > |
| | | <div class="members"> |
| | | <a-row> |
| | | <a-col :span="12" v-for="(item, index) in teams" :key="index"> |
| | | <a-col |
| | | :span="12" |
| | | v-for="(item, index) in teams" |
| | | :key="index" |
| | | > |
| | | <a> |
| | | <a-avatar size="small" :src="item.avatar" /> |
| | | <a-avatar |
| | | size="small" |
| | | :src="item.avatar" |
| | | /> |
| | | <span class="member">{{ item.name }}</span> |
| | | </a> |
| | | </a-col> |
| | |
| | | </template> |
| | | |
| | | <script> |
| | | import { timeFix } from "@/utils/util" |
| | | import {mapGetters} from "vuex" |
| | | import { timeFix } from "@/utils/util" |
| | | import { mapGetters } from "vuex" |
| | | |
| | | import PageLayout from '@/components/page/PageLayout' |
| | | import HeadInfo from '@/components/tools/HeadInfo' |
| | | import Radar from '@/components/chart/Radar' |
| | | import { getRoleList, getServiceList, getFileAccessHttpUrl } from "@/api/manage" |
| | | import PageLayout from '@/components/page/PageLayout' |
| | | import HeadInfo from '@/components/tools/HeadInfo' |
| | | import Radar from '@/components/chart/Radar' |
| | | import { getRoleList, getServiceList, getFileAccessHttpUrl } from "@/api/manage" |
| | | |
| | | const DataSet = require('@antv/data-set') |
| | | const DataSet = require('@antv/data-set') |
| | | |
| | | export default { |
| | | name: "Workplace", |
| | | components: { |
| | | PageLayout, |
| | | HeadInfo, |
| | | Radar |
| | | }, |
| | | data() { |
| | | return { |
| | | timeFix: timeFix(), |
| | | avatar: '', |
| | | user: {}, |
| | | export default { |
| | | name: "Workplace", |
| | | components: { |
| | | PageLayout, |
| | | HeadInfo, |
| | | Radar |
| | | }, |
| | | data() { |
| | | return { |
| | | timeFix: timeFix(), |
| | | avatar: '', |
| | | user: {}, |
| | | |
| | | projects: [], |
| | | loading: true, |
| | | radarLoading: true, |
| | | activities: [], |
| | | teams: [], |
| | | projects: [], |
| | | loading: true, |
| | | radarLoading: true, |
| | | activities: [], |
| | | teams: [], |
| | | |
| | | // data |
| | | axis1Opts: { |
| | | dataKey: 'item', |
| | | line: null, |
| | | tickLine: null, |
| | | grid: { |
| | | lineStyle: { |
| | | lineDash: null |
| | | }, |
| | | hideFirstLine: false |
| | | // data |
| | | axis1Opts: { |
| | | dataKey: 'item', |
| | | line: null, |
| | | tickLine: null, |
| | | grid: { |
| | | lineStyle: { |
| | | lineDash: null |
| | | }, |
| | | hideFirstLine: false |
| | | } |
| | | }, |
| | | axis2Opts: { |
| | | dataKey: 'score', |
| | | line: null, |
| | | tickLine: null, |
| | | grid: { |
| | | type: 'polygon', |
| | | lineStyle: { |
| | | lineDash: null |
| | | } |
| | | }, |
| | | axis2Opts: { |
| | | dataKey: 'score', |
| | | line: null, |
| | | tickLine: null, |
| | | grid: { |
| | | type: 'polygon', |
| | | lineStyle: { |
| | | lineDash: null |
| | | } |
| | | } |
| | | }, |
| | | scale: [{ |
| | | dataKey: 'score', |
| | | min: 0, |
| | | max: 80 |
| | | }], |
| | | axisData: [ |
| | | { item: '引用', a: 70, b: 30, c: 40 }, |
| | | { item: '口碑', a: 60, b: 70, c: 40 }, |
| | | { item: '产量', a: 50, b: 60, c: 40 }, |
| | | { item: '贡献', a: 40, b: 50, c: 40 }, |
| | | { item: '热度', a: 60, b: 70, c: 40 }, |
| | | { item: '引用', a: 70, b: 50, c: 40 } |
| | | ], |
| | | radarData: [] |
| | | } |
| | | }, |
| | | computed: { |
| | | userInfo() { |
| | | return this.$store.getters.userInfo |
| | | } |
| | | }, |
| | | created() { |
| | | this.user = this.userInfo |
| | | this.avatar = getFileAccessHttpUrl(this.userInfo.avatar) |
| | | console.log('this.avatar :'+ this.avatar) |
| | | |
| | | getRoleList().then(res => { |
| | | console.log('workplace -> call getRoleList()', res) |
| | | }) |
| | | |
| | | getServiceList().then(res => { |
| | | console.log('workplace -> call getServiceList()', res) |
| | | }) |
| | | }, |
| | | mounted() { |
| | | this.getProjects() |
| | | this.getActivity() |
| | | this.getTeams() |
| | | this.initRadar() |
| | | }, |
| | | methods: { |
| | | ...mapGetters(["nickname", "welcome"]), |
| | | getProjects() { |
| | | this.$http.get('/mock/api/list/search/projects') |
| | | .then(res => { |
| | | this.projects = res.result && res.result.data |
| | | this.loading = false |
| | | }) |
| | | } |
| | | }, |
| | | getActivity() { |
| | | this.$http.get('/mock/api/workplace/activity') |
| | | .then(res => { |
| | | this.activities = res.result |
| | | }) |
| | | }, |
| | | getTeams() { |
| | | this.$http.get('/mock/api/workplace/teams') |
| | | .then(res => { |
| | | this.teams = res.result |
| | | }) |
| | | }, |
| | | initRadar() { |
| | | this.radarLoading = true |
| | | scale: [{ |
| | | dataKey: 'score', |
| | | min: 0, |
| | | max: 80 |
| | | }], |
| | | axisData: [ |
| | | { item: '引用', a: 70, b: 30, c: 40 }, |
| | | { item: '口碑', a: 60, b: 70, c: 40 }, |
| | | { item: '产量', a: 50, b: 60, c: 40 }, |
| | | { item: '贡献', a: 40, b: 50, c: 40 }, |
| | | { item: '热度', a: 60, b: 70, c: 40 }, |
| | | { item: '引用', a: 70, b: 50, c: 40 } |
| | | ], |
| | | radarData: [] |
| | | } |
| | | }, |
| | | computed: { |
| | | userInfo() { |
| | | return this.$store.getters.userInfo |
| | | } |
| | | }, |
| | | created() { |
| | | this.user = this.userInfo |
| | | this.avatar = getFileAccessHttpUrl(this.userInfo.avatar) |
| | | console.log('this.avatar :' + this.avatar) |
| | | |
| | | this.$http.get('/mock/api/workplace/radar') |
| | | .then(res => { |
| | | getRoleList().then(res => { |
| | | console.log('workplace -> call getRoleList()', res) |
| | | }) |
| | | |
| | | const dv = new DataSet.View().source(res.result) |
| | | dv.transform({ |
| | | type: 'fold', |
| | | fields: ['个人', '团队', '部门'], |
| | | key: 'user', |
| | | value: 'score' |
| | | }) |
| | | getServiceList().then(res => { |
| | | console.log('workplace -> call getServiceList()', res) |
| | | }) |
| | | }, |
| | | mounted() { |
| | | this.getProjects() |
| | | this.getActivity() |
| | | this.getTeams() |
| | | this.initRadar() |
| | | }, |
| | | methods: { |
| | | ...mapGetters(["nickname", "welcome"]), |
| | | getProjects() { |
| | | this.$http.get('/mock/api/list/search/projects') |
| | | .then(res => { |
| | | this.projects = res.result && res.result.data |
| | | this.loading = false |
| | | }) |
| | | }, |
| | | getActivity() { |
| | | this.$http.get('/mock/api/workplace/activity') |
| | | .then(res => { |
| | | this.activities = res.result |
| | | }) |
| | | }, |
| | | getTeams() { |
| | | this.$http.get('/mock/api/workplace/teams') |
| | | .then(res => { |
| | | this.teams = res.result |
| | | }) |
| | | }, |
| | | initRadar() { |
| | | this.radarLoading = true |
| | | |
| | | this.radarData = dv.rows |
| | | this.radarLoading = false |
| | | this.$http.get('/mock/api/workplace/radar') |
| | | .then(res => { |
| | | |
| | | const dv = new DataSet.View().source(res.result) |
| | | dv.transform({ |
| | | type: 'fold', |
| | | fields: ['个人', '团队', '部门'], |
| | | key: 'user', |
| | | value: 'score' |
| | | }) |
| | | } |
| | | |
| | | this.radarData = dv.rows |
| | | this.radarLoading = false |
| | | }) |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | .project-list { |
| | | |
| | | .card-title { |
| | | font-size: 0; |
| | | |
| | | a { |
| | | color: rgba(0, 0, 0, 0.85); |
| | | margin-left: 12px; |
| | | line-height: 24px; |
| | | height: 24px; |
| | | display: inline-block; |
| | | vertical-align: top; |
| | | font-size: 14px; |
| | | |
| | | &:hover { |
| | | color: #1890ff; |
| | | } |
| | | } |
| | | } |
| | | .card-description { |
| | | color: rgba(0, 0, 0, 0.45); |
| | | height: 44px; |
| | | line-height: 22px; |
| | | overflow: hidden; |
| | | } |
| | | .project-item { |
| | | display: flex; |
| | | margin-top: 8px; |
| | | overflow: hidden; |
| | | font-size: 12px; |
| | | height: 20px; |
| | | line-height: 20px; |
| | | a { |
| | | color: rgba(0, 0, 0, 0.45); |
| | | display: inline-block; |
| | | flex: 1 1 0; |
| | | |
| | | &:hover { |
| | | color: #1890ff; |
| | | } |
| | | } |
| | | .datetime { |
| | | color: rgba(0, 0, 0, 0.25); |
| | | flex: 0 0 auto; |
| | | float: right; |
| | | } |
| | | } |
| | | .ant-card-meta-description { |
| | | color: rgba(0, 0, 0, 0.45); |
| | | height: 44px; |
| | | line-height: 22px; |
| | | overflow: hidden; |
| | | } |
| | | } |
| | | |
| | | .item-group { |
| | | padding: 20px 0 8px 24px; |
| | | .project-list { |
| | | .card-title { |
| | | font-size: 0; |
| | | a { |
| | | color: rgba(0, 0, 0, 0.65); |
| | | display: inline-block; |
| | | font-size: 14px; |
| | | margin-bottom: 13px; |
| | | width: 25%; |
| | | } |
| | | } |
| | | |
| | | .members { |
| | | a { |
| | | display: block; |
| | | margin: 12px 0; |
| | | color: rgba(0, 0, 0, 0.85); |
| | | margin-left: 12px; |
| | | line-height: 24px; |
| | | height: 24px; |
| | | .member { |
| | | font-size: 14px; |
| | | color: rgba(0, 0, 0, .65); |
| | | line-height: 24px; |
| | | max-width: 100px; |
| | | vertical-align: top; |
| | | margin-left: 12px; |
| | | transition: all 0.3s; |
| | | display: inline-block; |
| | | } |
| | | display: inline-block; |
| | | vertical-align: top; |
| | | font-size: 14px; |
| | | |
| | | &:hover { |
| | | span { |
| | | color: #1890ff; |
| | | } |
| | | color: #1890ff; |
| | | } |
| | | } |
| | | } |
| | | .card-description { |
| | | color: rgba(0, 0, 0, 0.45); |
| | | height: 44px; |
| | | line-height: 22px; |
| | | overflow: hidden; |
| | | } |
| | | .project-item { |
| | | display: flex; |
| | | margin-top: 8px; |
| | | overflow: hidden; |
| | | font-size: 12px; |
| | | height: 20px; |
| | | line-height: 20px; |
| | | a { |
| | | color: rgba(0, 0, 0, 0.45); |
| | | display: inline-block; |
| | | flex: 1 1 0; |
| | | |
| | | .mobile { |
| | | |
| | | .project-list { |
| | | |
| | | .project-card-grid { |
| | | width: 100%; |
| | | &:hover { |
| | | color: #1890ff; |
| | | } |
| | | } |
| | | |
| | | .more-info { |
| | | border: 0; |
| | | padding-top: 16px; |
| | | margin: 16px 0 16px; |
| | | .datetime { |
| | | color: rgba(0, 0, 0, 0.25); |
| | | flex: 0 0 auto; |
| | | float: right; |
| | | } |
| | | } |
| | | .ant-card-meta-description { |
| | | color: rgba(0, 0, 0, 0.45); |
| | | height: 44px; |
| | | line-height: 22px; |
| | | overflow: hidden; |
| | | } |
| | | } |
| | | |
| | | .headerContent .title .welcome-text { |
| | | display: none; |
| | | .item-group { |
| | | padding: 20px 0 8px 24px; |
| | | font-size: 0; |
| | | a { |
| | | color: rgba(0, 0, 0, 0.65); |
| | | display: inline-block; |
| | | font-size: 14px; |
| | | margin-bottom: 13px; |
| | | width: 25%; |
| | | } |
| | | } |
| | | |
| | | .members { |
| | | a { |
| | | display: block; |
| | | margin: 12px 0; |
| | | line-height: 24px; |
| | | height: 24px; |
| | | .member { |
| | | font-size: 14px; |
| | | color: rgba(0, 0, 0, 0.65); |
| | | line-height: 24px; |
| | | max-width: 100px; |
| | | vertical-align: top; |
| | | margin-left: 12px; |
| | | transition: all 0.3s; |
| | | display: inline-block; |
| | | } |
| | | &:hover { |
| | | span { |
| | | color: #1890ff; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | .mobile { |
| | | .project-list { |
| | | .project-card-grid { |
| | | width: 100%; |
| | | } |
| | | } |
| | | |
| | | .more-info { |
| | | border: 0; |
| | | padding-top: 16px; |
| | | margin: 16px 0 16px; |
| | | } |
| | | |
| | | .headerContent .title .welcome-text { |
| | | display: none; |
| | | } |
| | | } |
| | | </style> |