Commit af618bb0 by 彭祥礼

....

parent 8da03f91
...@@ -13,7 +13,7 @@ let downloadMoBanKD = (params) => downFilePost(prefix + "order/downloadMoBanKD" ...@@ -13,7 +13,7 @@ let downloadMoBanKD = (params) => downFilePost(prefix + "order/downloadMoBanKD"
//报表 //报表
let reportList = (params) => postAction(prefix + "order/getHhrOrderInfo",params); let reportList = (params) => postAction(prefix + "order/getHhrOrderInfo",params);
let reportDownload = (params) => postAction(prefix + "order/outputHhrOrder",params); let reportDownload = (params) => downFilePost(prefix + "order/outputHhrOrder",params);
export { export {
......
<template> <template>
<div class="flex-container"> <div class="flex-container">
<!-- 查询区域 --> <!-- 查询区域 -->
<div class="table-page-search-wrapper"> <div class="table-page-search-wrapper">
<!-- 搜索区域 --> <!-- 搜索区域 -->
<a-form layout="inline"> <a-form layout="inline">
<a-row :gutter="24"> <a-row :gutter="24">
<a-col :md="6" :sm="12"> <a-col :md="6" :sm="12">
<a-form-item label="时间选择:"> <a-form-item label="时间选择:">
<a-range-picker @change="onChange" format="YYYY-MM-DD HH:mm:ss" /> <a-range-picker @change="onChange" format="YYYY-MM-DD HH:mm:ss"/>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :md="4" :sm="12"> <a-col :md="4" :sm="12">
<a-form-item label="客户类型:"> <a-form-item label="客户类型:">
<a-select v-model="queryParam.userType" style="width: 120px"> <a-select v-model="queryParam.userType" style="width: 120px">
<a-select-option value>全部客户</a-select-option> <a-select-option value>全部客户</a-select-option>
<a-select-option value="1">老用户办理</a-select-option> <a-select-option value="1">老用户办理</a-select-option>
<a-select-option value="0">新用户办理</a-select-option> <a-select-option value="0">新用户办理</a-select-option>
<a-select-option value="2">老用户续约</a-select-option> <a-select-option value="2">老用户续约</a-select-option>
<a-select-option value="3">融合办理</a-select-option> <a-select-option value="3">融合办理</a-select-option>
<a-select-option value="4">抽奖业务</a-select-option> <a-select-option value="4">抽奖业务</a-select-option>
<a-select-option value="5">单宽业务</a-select-option> <a-select-option value="5">单宽业务</a-select-option>
<a-select-option value="6">羊城通业务</a-select-option> <a-select-option value="6">羊城通业务</a-select-option>
</a-select> </a-select>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :md="4" :sm="12"> <a-col :md="4" :sm="12">
<a-form-item label="订单编号:"> <a-form-item label="订单编号:">
<a-input placeholder="订单编号" v-model="queryParam.orderNumber"></a-input> <a-input placeholder="订单编号" v-model="queryParam.orderNumber"></a-input>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :md="4" :sm="12"> <a-col :md="4" :sm="12">
<a-form-item label="客户姓名:"> <a-form-item label="客户姓名:">
<a-input placeholder="客户姓名" v-model="queryParam.customerName"></a-input> <a-input placeholder="客户姓名" v-model="queryParam.customerName"></a-input>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :md="4" :sm="12"> <a-col :md="4" :sm="12">
<a-form-item label="办理号码:"> <a-form-item label="办理号码:">
<a-input placeholder="办理号码" v-model="queryParam.businessNumber"></a-input> <a-input placeholder="办理号码" v-model="queryParam.businessNumber"></a-input>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :md="4" :sm="12"> <a-col :md="4" :sm="12">
<a-form-item label="联系号码:"> <a-form-item label="联系号码:">
<a-input placeholder="联系号码" v-model="queryParam.contactNumber"></a-input> <a-input placeholder="联系号码" v-model="queryParam.contactNumber"></a-input>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :md="4" :sm="12"> <a-col :md="4" :sm="12">
<a-form-item label="合伙人姓名:"> <a-form-item label="合伙人姓名:">
<a-input placeholder="合伙人姓名" v-model="queryParam.hehuorenName"></a-input> <a-input placeholder="合伙人姓名" v-model="queryParam.hehuorenName"></a-input>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :md="4" :sm="12"> <a-col :md="4" :sm="12">
<a-form-item label="合伙人学校:"> <a-form-item label="合伙人学校:">
<a-input placeholder="合伙人学校" v-model="queryParam.hehuorenSchool"></a-input> <a-input placeholder="合伙人学校" v-model="queryParam.hehuorenSchool"></a-input>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :md="4" :sm="12"> <a-col :md="4" :sm="12">
<a-form-item label="状态:"> <a-form-item label="状态:">
<a-select v-model="queryParam.orderStatus" style="width: 120px"> <a-select v-model="queryParam.orderStatus" style="width: 120px">
<a-select-option value>请选择</a-select-option> <a-select-option value>请选择</a-select-option>
<a-select-option value="待处理">待处理</a-select-option> <a-select-option value="待处理">待处理</a-select-option>
<a-select-option value="待选号">待选号</a-select-option> <a-select-option value="待选号">待选号</a-select-option>
<a-select-option value="待识别">待识别</a-select-option> <a-select-option value="待识别">待识别</a-select-option>
<a-select-option value="待活体">待活体</a-select-option> <a-select-option value="待活体">待活体</a-select-option>
<a-select-option value="审核中">审核中</a-select-option> <a-select-option value="审核中">审核中</a-select-option>
<a-select-option value="待审核">待配送</a-select-option> <a-select-option value="待审核">待配送</a-select-option>
<a-select-option value="待审核">待审核</a-select-option> <a-select-option value="待审核">待审核</a-select-option>
<a-select-option value="待受理">待受理</a-select-option> <a-select-option value="待受理">待受理</a-select-option>
<a-select-option value="已发货">已发货</a-select-option> <a-select-option value="已发货">已发货</a-select-option>
<a-select-option value="已完成">已完成</a-select-option> <a-select-option value="已完成">已完成</a-select-option>
<a-select-option value="异常单">异常单</a-select-option> <a-select-option value="异常单">异常单</a-select-option>
<a-select-option value="待派奖">待派奖</a-select-option> <a-select-option value="待派奖">待派奖</a-select-option>
<a-select-option value="已派奖">已派奖</a-select-option> <a-select-option value="已派奖">已派奖</a-select-option>
<a-select-option value="重新下单">重新下单</a-select-option> <a-select-option value="重新下单">重新下单</a-select-option>
</a-select> </a-select>
</a-form-item> </a-form-item>
</a-col> </a-col>
<a-col :md="6" :sm="12"> <a-col :md="6" :sm="12">
<a-button @click="search()" type="primary">查询</a-button> <a-button @click="search()" type="primary">查询</a-button>
<a-button @click="handleSubmit" style="margin-left: 10px">导出</a-button> <a-button @click="handleSubmit" style="margin-left: 10px">导出</a-button>
<a-dropdown> <a-dropdown>
<a-menu slot="overlay" @click="handleMenuClick"> <a-menu slot="overlay" @click="handleMenuClick">
<a-menu-item key="1"> <a-menu-item key="1">
<a-icon type="arrow-up" />受理单 <a-icon type="arrow-up"/>
</a-menu-item> 受理单
<a-menu-item key="2"> </a-menu-item>
<a-icon type="arrow-up" />快递 <a-menu-item key="2">
</a-menu-item> <a-icon type="arrow-up"/>
</a-menu> 快递
<a-button style="margin-left: 8px"> </a-menu-item>
导入 </a-menu>
<a-icon type="down" /> <a-button style="margin-left: 8px">
</a-button> 导入
</a-dropdown> <a-icon type="down"/>
</a-col> </a-button>
</a-row> </a-dropdown>
</a-form> </a-col>
</div> </a-row>
</a-form>
</div>
<!--列表--> <!--列表-->
<s-table <s-table
:columns="columns" :columns="columns"
:data="rowdata" :data="rowdata"
bordered bordered
ref="table" ref="table"
size="small" size="small"
class="flex-filling" class="flex-filling"
:locale="emptyText" :locale="emptyText"
> >
<!--拦截器--> <!--拦截器-->
<template slot="productLastUpdateTime" slot-scope="text">{{ text | dayjs}}</template> <template slot="productLastUpdateTime" slot-scope="text">{{ text | dayjs}}</template>
<!--拦截器--> <!--拦截器-->
<template slot="productCreateTime" slot-scope="text">{{ text | dayjs}}</template> <template slot="productCreateTime" slot-scope="text">{{ text | dayjs}}</template>
<template slot="text" slot-scope="text"> <template slot="text" slot-scope="text">
<p style="white-space: pre-line;">{{text}}</p> <p style="white-space: pre-line;">{{text}}</p>
</template> </template>
<template slot="userType" slot-scope="text"> <template slot="userType" slot-scope="text">
<p v-if="text=='1'">老用户办理</p> <p v-if="text=='1'">老用户办理</p>
<p v-if="text=='0'">新用户办理</p> <p v-if="text=='0'">新用户办理</p>
<p v-if="text=='2'">老用户续约</p> <p v-if="text=='2'">老用户续约</p>
<p v-if="text=='3'">融合办理</p> <p v-if="text=='3'">融合办理</p>
<p v-if="text=='4'">抽奖业务</p> <p v-if="text=='4'">抽奖业务</p>
<p v-if="text=='5'">单宽业务</p> <p v-if="text=='5'">单宽业务</p>
<p v-if="text=='6'">羊城通业务</p> <p v-if="text=='6'">羊城通业务</p>
</template> </template>
<template slot="studentCardCheckStatus" slot-scope="text"> <template slot="studentCardCheckStatus" slot-scope="text">
<p v-if="text=='0'">未审核</p> <p v-if="text=='0'">未审核</p>
<p v-if="text=='1'">已审核</p> <p v-if="text=='1'">已审核</p>
</template> </template>
<template slot="operation" slot-scope="text, record"> <template slot="operation" slot-scope="text, record">
<span> <span>
<a @click="showDrawer(record)">查看</a> <a @click="showDrawer(record)">查看</a>
<a-divider type="vertical" /> <a-divider type="vertical"/>
<a @click="abnormal(record.id)">设为异常单</a> <a @click="abnormal(record.id)">设为异常单</a>
<a-divider v-if="record.orderStatus === '待审核' " type="vertical" /> <a-divider v-if="record.orderStatus === '待审核' " type="vertical"/>
<a v-show="record.orderStatus === '待审核'" @click="reviewStudentIdCard(record)">审核学生证</a> <a v-show="record.orderStatus === '待审核'" @click="reviewStudentIdCard(record)">审核学生证</a>
</span> </span>
</template> </template>
</s-table> </s-table>
<!----抽屉--> <!----抽屉-->
<a-drawer width="1280" placement="right" :closable="false" @close="onClose" :visible="visible"> <a-drawer width="1280" placement="right" :closable="false" @close="onClose" :visible="visible">
<a-form :form="orderInfo"> <a-form :form="orderInfo">
<a-tabs type="card"> <a-tabs type="card">
<a-tab-pane tab="订单基本信息" key="1" activeKey> <a-tab-pane tab="订单基本信息" key="1" activeKey>
<a-divider orientation="left">基础信息</a-divider> <a-divider orientation="left">基础信息</a-divider>
<a-row> <a-row>
<a-col :span="6"> <a-col :span="6">
<p>客户名称:{{ orderInfo.customerName }}</p> <p>客户名称:{{ orderInfo.customerName }}</p>
</a-col> </a-col>
<a-col :span="6"> <a-col :span="6">
<p>卡品:{{ orderInfo.kapin }}</p> <p>卡品:{{ orderInfo.kapin }}</p>
</a-col> </a-col>
<a-col :span="6"> <a-col :span="6">
<p>用户学校:{{ orderInfo.userSchool }}</p> <p>用户学校:{{ orderInfo.userSchool }}</p>
</a-col> </a-col>
<a-col :span="6"> <a-col :span="6">
<p>小白卡单号:{{ orderInfo.xbOrderId }}</p> <p>小白卡单号:{{ orderInfo.xbOrderId }}</p>
</a-col> </a-col>
</a-row> </a-row>
<a-row> <a-row>
<a-col :span="6"> <a-col :span="6">
<p>订单完成时间:{{ orderInfo.successTime | dayjs }}</p> <p>订单完成时间:{{ orderInfo.successTime | dayjs }}</p>
</a-col> </a-col>
<a-col :span="6"> <a-col :span="6">
<p>学号:{{ orderInfo.studentNumber }}</p> <p>学号:{{ orderInfo.studentNumber }}</p>
</a-col> </a-col>
<a-col :span="6"> <a-col :span="6">
<p>班级:{{ orderInfo.classNumber }}</p> <p>班级:{{ orderInfo.classNumber }}</p>
</a-col> </a-col>
<a-col :span="6"> <a-col :span="6">
<p>父母名字:{{ orderInfo.parentName }}</p> <p>父母名字:{{ orderInfo.parentName }}</p>
</a-col> </a-col>
</a-row> </a-row>
<a-row> <a-row>
<a-col :span="6"> <a-col :span="6">
<p>联系电话:{{ orderInfo.contactNumber }}</p> <p>联系电话:{{ orderInfo.contactNumber }}</p>
</a-col> </a-col>
<a-col :span="6"> <a-col :span="6">
<p>身份证号:{{ orderInfo.idCard }}</p> <p>身份证号:{{ orderInfo.idCard }}</p>
</a-col> </a-col>
<a-col :span="6"> <a-col :span="6">
<p>办理号码:{{ orderInfo.businessNumber }}</p> <p>办理号码:{{ orderInfo.businessNumber }}</p>
</a-col> </a-col>
<a-col :span="6"> <a-col :span="6">
<p>创建时间:{{ orderInfo.createTime | dayjs }}</p> <p>创建时间:{{ orderInfo.createTime | dayjs }}</p>
</a-col> </a-col>
</a-row> </a-row>
<a-row>
<a-col :span="6">
<p>地址:{{ orderInfo.address }}</p>
</a-col>
<a-col :span="6">
<p>省市县:{{ orderInfo.site }}</p>
</a-col>
<a-col :span="6">
<p>资费:{{ orderInfo.expenses }}</p>
</a-col>
<a-col :span="6">
<p>办理标识:{{ orderInfo.identifyin }}</p>
</a-col>
</a-row>
<a-row>
<a-col :span="12">
<p>备注:{{ orderInfo.remarks }}</p>
</a-col>
<a-col :span="12">
<p>错误原因:{{ orderInfo.checkFail }}</p>
</a-col>
</a-row>
<a-row>
<a-col :span="6">
<p>宽带账号:{{ orderInfo.netNumber }}</p>
</a-col>
<a-col :span="6">
<p>宽带密码:{{ orderInfo.netPassword }}</p>
</a-col>
<a-col :span="6">
<p>奖品账号:{{ orderInfo.giftAccount }}</p>
</a-col>
<a-col :span="6">
<p>奖品密码:{{ orderInfo.giftPassword }}</p>
</a-col>
</a-row>
<a-row> <a-row>
<a-col :span="6"> <a-col :span="6">
<p>地址:{{ orderInfo.address }}</p> <p>学生证审核状态:{{ orderInfo.studentCardCheckStatus }}</p>
</a-col> </a-col>
<a-col :span="6"> <a-col :span="6">
<p>省市县:{{ orderInfo.site }}</p> <p>宽带订单id:{{ orderInfo.kdOrderId }}</p>
</a-col> </a-col>
<a-col :span="6"> <a-col :span="6">
<p>资费:{{ orderInfo.expenses }}</p> <p>智能平台订单号:{{ orderInfo.orderId }}</p>
</a-col> </a-col>
<a-col :span="6"> <a-col :span="6">
<p>办理标识:{{ orderInfo.identifyin }}</p> <p>智能平台订单状态:{{ orderInfo.thStatus }}</p>
</a-col> </a-col>
</a-row>
<a-divider orientation="left">附件</a-divider>
<div v-show="!imgShow">无附件</div>
<div v-show="imgShow" style="margin-bottom: 50px">
<a-carousel arrows dotsClass="slick-dots slick-thumb">
<a slot="customPaging" slot-scope="props">
<img :src="getImgUrl(props.i)"/>
</a>
<div @click="pictureSize" v-for="item in certificatePhoto.length">
<img :style="imgStype" :src="certificatePhoto[item - 1]"/>
</div>
</a-carousel>
</div>
<a-divider orientation="left">受理信息</a-divider>
<a-row>
<a-col :span="6">
<p>客户名称 :{{ orderInfo.customerName }}</p>
</a-col>
<a-col :span="6">
<p>联系电话 :{{ orderInfo.contactNumber }}</p>
</a-col>
<a-col :span="6">
<p>现有套餐 :{{ orderInfo.nowPackage }}</p>
</a-col>
<a-col :span="6">
<p>升级套餐 :{{ orderInfo.businessPackage }}</p>
</a-col>
</a-row>
<a-row>
<a-col :span="6">
<p>受理人:{{ orderInfo.acceptName }}</p>
</a-col>
<a-col :span="6">
<p>受理结果 :{{ orderInfo.acceptResult }}</p>
</a-col>
<a-col :span="6">
<p>受理意见 :{{ orderInfo.acceptComment }}</p>
</a-col>
<a-col :span="6">
<p>受理时间 :{{ orderInfo.acceptDate | dayjs }}</p>
</a-col>
</a-row>
</a-tab-pane>
<a-tab-pane tab="操作日志" key="3">
<a-list :grid="{ column: 4 }" :dataSource="title">
<a-list-item slot="renderItem" slot-scope="item, index">
<a-card :title="item.title" :bordered="false">
<a-card-grid style="width:100%;" v-for="item in abnormalInfo">
<div
style="overflow: hidden;text-overflow: ellipsis;white-space: nowrap;height: 20px"
>
<a-tooltip placement="left">
<template slot="title">{{item[index]}}</template>
{{ item[index] }}
</a-tooltip>
</div>
</a-card-grid>
</a-card>
</a-list-item>
</a-list>
</a-tab-pane>
</a-tabs>
</a-form>
</a-drawer>
<a-modal
title="批量导入"
:visible="modifyvisible"
@ok="createfunctionOk"
@cancel="createfunctionCancel"
html-type="submit"
width="400px"
>
<a-row :gutter="24">
<a-col :md="24" :sm="12">
<p style="text-align:center">{{ importTile }}</p>
</a-col>
</a-row> </a-row>
<a-row> <import-btn :url="importUrl" :responseFun="doPush">
<a-col :span="12"> <a-tooltip placement="topLeft" title="导入文件" arrowPointAtCenter>
<p>备注:{{ orderInfo.remarks }}</p> <a-row :gutter="24">
</a-col> <a-col :md="24" :sm="12">
<a-col :span="12"> <p>
<p>错误原因:{{ orderInfo.checkFail }}</p> 选择文件:
</a-col> <a-button type="primary">选择文件</a-button>
</p>
</a-col>
</a-row>
</a-tooltip>
</import-btn>
<a-row :gutter="24">
<a-col :md="24" :sm="12">
<p v-show="YRYMmoBan">
模板下载:
<a-button type="primary" @click="downloadMoBan">一人一码受理单模板</a-button>
</p>
<p v-show="KDmoBan">
模板下载:
<a-button type="primary" @click="downloadMoBanKD">快递清单模板</a-button>
</p>
</a-col>
</a-row> </a-row>
<a-row> <a-row :gutter="24" :v-show="KDmoBan">
<a-col :span="6"> <a-col :md="24" :sm="12">
<p>宽带账号:{{ orderInfo.netNumber }}</p> <p>说明:</p>
</a-col> <p>1.批量导入请严格按照模版进行导入;</p>
<a-col :span="6"> </a-col>
<p>宽带密码:{{ orderInfo.netPassword }}</p>
</a-col>
<a-col :span="6">
<p>奖品账号:{{ orderInfo.giftAccount }}</p>
</a-col>
<a-col :span="6">
<p>奖品密码:{{ orderInfo.giftPassword }}</p>
</a-col>
</a-row> </a-row>
</a-modal>
<a-row> <a-modal
<a-col :span="6"> title="学生证审核"
<p>学生证审核状态:{{ orderInfo.studentCardCheckStatus }}</p> :visible="review"
</a-col> @ok="reviewOk"
<a-col :span="6"> @cancel="reviewCancel"
<p>宽带订单id:{{ orderInfo.kdOrderId }}</p> html-type="submit"
</a-col> width="1024px"
<a-col :span="6"> >
<p>智能平台订单号:{{ orderInfo.orderId }}</p> <div align="center">
</a-col> <img :src="reviewStudentImg"/>
<a-col :span="6">
<p>智能平台订单状态:{{ orderInfo.thStatus }}</p>
</a-col>
</a-row>
<a-divider orientation="left">附件</a-divider>
<div v-show="!imgShow">无附件</div>
<div v-show="imgShow" style="margin-bottom: 50px">
<a-carousel arrows dotsClass="slick-dots slick-thumb">
<a slot="customPaging" slot-scope="props">
<img :src="getImgUrl(props.i)" />
</a>
<div @click="pictureSize" v-for="item in certificatePhoto.length">
<img :style="imgStype" :src="certificatePhoto[item - 1]" />
</div>
</a-carousel>
</div> </div>
<a-divider orientation="left">受理信息</a-divider> <a-row :gutter="24" style="text-align: right">
<a-row> <a-col :md="6" :sm="12">
<a-col :span="6"> <p>审核状态:</p>
<p>客户名称 :{{ orderInfo.customerName }}</p> </a-col>
</a-col> <a-col :md="6" :sm="12">
<a-col :span="6"> <a-radio-group :options="options" v-model="reviewStudent.studentCardCheckStatus"/>
<p>联系电话 :{{ orderInfo.contactNumber }}</p> </a-col>
</a-col>
<a-col :span="6">
<p>现有套餐 :{{ orderInfo.nowPackage }}</p>
</a-col>
<a-col :span="6">
<p>升级套餐 :{{ orderInfo.businessPackage }}</p>
</a-col>
</a-row> </a-row>
<a-row> <a-row :gutter="24" style="text-align: right">
<a-col :span="6"> <a-col :md="6" :sm="12">
<p>受理人:{{ orderInfo.acceptName }}</p> <p>审核不通过原因:</p>
</a-col> </a-col>
<a-col :span="6"> <a-col :md="12" :sm="12">
<p>受理结果 :{{ orderInfo.acceptResult }}</p> <a-input placeholder="审核不通过原因" v-model="reviewStudent.checkFail"></a-input>
</a-col> </a-col>
<a-col :span="6">
<p>受理意见 :{{ orderInfo.acceptComment }}</p>
</a-col>
<a-col :span="6">
<p>受理时间 :{{ orderInfo.acceptDate | dayjs }}</p>
</a-col>
</a-row> </a-row>
</a-tab-pane> </a-modal>
</div>
<a-tab-pane tab="操作日志" key="3">
<a-list :grid="{ column: 4 }" :dataSource="title">
<a-list-item slot="renderItem" slot-scope="item, index">
<a-card :title="item.title" :bordered="false">
<a-card-grid style="width:100%;" v-for="item in abnormalInfo">
<div
style="overflow: hidden;text-overflow: ellipsis;white-space: nowrap;height: 20px"
>
<a-tooltip placement="left">
<template slot="title">{{item[index]}}</template>
{{ item[index] }}
</a-tooltip>
</div>
</a-card-grid>
</a-card>
</a-list-item>
</a-list>
</a-tab-pane>
</a-tabs>
</a-form>
</a-drawer>
<a-modal
title="批量导入"
:visible="modifyvisible"
@ok="createfunctionOk"
@cancel="createfunctionCancel"
html-type="submit"
width="400px"
>
<a-row :gutter="24">
<a-col :md="24" :sm="12">
<p style="text-align:center">{{ importTile }}</p>
</a-col>
</a-row>
<import-btn :url="importUrl" :responseFun="doPush">
<a-tooltip placement="topLeft" title="导入文件" arrowPointAtCenter>
<a-row :gutter="24">
<a-col :md="24" :sm="12">
<p>
选择文件:
<a-button type="primary">选择文件</a-button>
</p>
</a-col>
</a-row>
</a-tooltip>
</import-btn>
<a-row :gutter="24">
<a-col :md="24" :sm="12">
<p v-show="YRYMmoBan">
模板下载:
<a-button type="primary" @click="downloadMoBan">一人一码受理单模板</a-button>
</p>
<p v-show="KDmoBan">
模板下载:
<a-button type="primary" @click="downloadMoBanKD">快递清单模板</a-button>
</p>
</a-col>
</a-row>
<a-row :gutter="24" :v-show="KDmoBan">
<a-col :md="24" :sm="12">
<p>说明:</p>
<p>1.批量导入请严格按照模版进行导入;</p>
</a-col>
</a-row>
</a-modal>
<a-modal
title="学生证审核"
:visible="review"
@ok="reviewOk"
@cancel="reviewCancel"
html-type="submit"
width="1024px"
>
<div align="center">
<img :src="reviewStudentImg" />
</div>
<a-row :gutter="24" style="text-align: right">
<a-col :md="6" :sm="12">
<p>审核状态:</p>
</a-col>
<a-col :md="6" :sm="12">
<a-radio-group :options="options" v-model="reviewStudent.studentCardCheckStatus" />
</a-col>
</a-row>
<a-row :gutter="24" style="text-align: right">
<a-col :md="6" :sm="12">
<p>审核不通过原因:</p>
</a-col>
<a-col :md="12" :sm="12">
<a-input placeholder="审核不通过原因" v-model="reviewStudent.checkFail"></a-input>
</a-col>
</a-row>
</a-modal>
</div>
</template> </template>
<script> <script>
import STable from "@/components/table"; import STable from "@/components/table";
import { import {
orderList, orderList,
download, download,
abnormal, abnormal,
selectOrderHis, selectOrderHis,
downloadMoBan, downloadMoBan,
downloadMoBanKD, downloadMoBanKD,
reviewStudentIdCard reviewStudentIdCard
} from "../../../api/school-center/orderAPI"; } from "../../../api/school-center/orderAPI";
import { cloneObject, exportFile } from "@/utils/util"; import {cloneObject, exportFile} from "@/utils/util";
import moment from "moment"; import moment from "moment";
import ConstantActivity from "@/constant/ConstantActivity"; import ConstantActivity from "@/constant/ConstantActivity";
import ImportBtn from "../../../components/sysmanage/ImportBtn"; import ImportBtn from "../../../components/sysmanage/ImportBtn";
const options = [
{ label: "审核通过", value: "1" }, const options = [
{ label: "审核不通过", value: "0" } {label: "审核通过", value: "1"},
]; {label: "审核不通过", value: "0"}
export default { ];
name: "orderView", export default {
components: { name: "orderView",
STable, components: {
ImportBtn STable,
}, ImportBtn
data() {
return {
emptyText: {emptyText: '暂无数据'},
reviewStudentImg: "",
reviewStudent: {
id: "",
checkFail: "",
studentCardCheckStatus: ""
},
options,
review: false,
imgShow: false,
imgStype: { width: "300px", heigth: "300px" },
baseUrl:
"https://raw.githubusercontent.com/vueComponent/ant-design-vue/master/components/vc-slick/assets/img/react-slick/",
certificatePhoto: [],
childrenDrawer: false,
YRYMmoBan: false,
KDmoBan: false,
importUrl: "",
importTile: "",
modifyvisible: false,
title: ConstantActivity.title,
Formtable: this.$form.createForm(this),
visible: false,
abnormalInfo: [],
pStyle: {
fontSize: "16px",
color: "rgba(0,0,0,0.85)",
lineHeight: "24px",
display: "block",
marginBottom: "16px"
},
pStyle2: {
marginBottom: "24px"
},
apis:'',
queryParam: {
createTimeStart: "",
createTimeEnd: "",
userType: "",
orderNumber: "",
customerName: "",
businessNumber: "",
contactNumber: "",
hehuorenSchool: "",
hehuorenName: "",
orderStatus: ""
},
orderInfo: {},
columns: [
{ dataIndex: "customerName", width: 120, title: "客户姓名", fixed: "left" },
{ dataIndex: "orderNumber", width: 180, title: "订单编号", fixed: "left" },
{ dataIndex: "orderStatus", width: 100, title: "订单状态" },
{
dataIndex: "studentCardCheckStatus",
width: 100,
title: "学生证状态",
scopedSlots: { customRender: "studentCardCheckStatus" }
},
{ dataIndex: "businessPackage", width: 180, title: "升级套餐" },
{
dataIndex: "userType",
width: 100,
title: "订单类型",
scopedSlots: { customRender: "userType" }
}, },
{ dataIndex: "contactNumber", width: 200, title: "联系号码" }, data() {
{ dataIndex: "businessNumber", width: 200, title: "办理号码" }, return {
{ dataIndex: "kapin", width: 200, title: "办理套餐" }, emptyText: {emptyText: '暂无数据'},
{ dataIndex: "hehuorenSchool", width: 220, title: "合伙人学校" }, reviewStudentImg: "",
{ dataIndex: "hehuorenName", width: 150, title: "合伙人姓名" }, reviewStudent: {
{ dataIndex: "hehuorenPhone", width: 150, title: "合伙人手机" }, id: "",
{ checkFail: "",
dataIndex: "operation", studentCardCheckStatus: ""
width: 200, },
title: "操作", options,
scopedSlots: { customRender: "operation" }, review: false,
fixed: "right" imgShow: false,
} imgStype: {width: "300px", heigth: "300px"},
], baseUrl:
rowdata: parameter => { "https://raw.githubusercontent.com/vueComponent/ant-design-vue/master/components/vc-slick/assets/img/react-slick/",
const env = process.env.NODE_ENV; //获取当前环境 certificatePhoto: [],
if(env === 'development'){ //测试环境默认添加前缀 childrenDrawer: false,
this.apis = '/api/'; YRYMmoBan: false,
} KDmoBan: false,
let params = { importUrl: "",
pageNo: parameter.pageNo, importTile: "",
pageSize: parameter.pageSize modifyvisible: false,
}; title: ConstantActivity.title,
Formtable: this.$form.createForm(this),
visible: false,
abnormalInfo: [],
pStyle: {
fontSize: "16px",
color: "rgba(0,0,0,0.85)",
lineHeight: "24px",
display: "block",
marginBottom: "16px"
},
pStyle2: {
marginBottom: "24px"
},
apis: '',
queryParam: {
createTimeStart: "",
createTimeEnd: "",
userType: "",
orderNumber: "",
customerName: "",
businessNumber: "",
contactNumber: "",
hehuorenSchool: "",
hehuorenName: "",
orderStatus: ""
},
orderInfo: {},
columns: [
{dataIndex: "customerName", width: 100, title: "客户姓名", fixed: "left"},
{dataIndex: "orderNumber", width: 200, title: "订单编号", fixed: "left"},
{dataIndex: "orderStatus", width: 100, title: "订单状态"},
{
dataIndex: "studentCardCheckStatus",
width: 100,
title: "学生证状态",
scopedSlots: {customRender: "studentCardCheckStatus"}
},
{dataIndex: "businessPackage", width: 120, title: "升级套餐"},
{
dataIndex: "userType",
width: 100,
title: "订单类型",
scopedSlots: {customRender: "userType"}
},
{dataIndex: "contactNumber", width: 160, title: "联系号码"},
{dataIndex: "businessNumber", width: 160, title: "办理号码"},
{dataIndex: "kapin", width: 200, title: "办理套餐"},
{dataIndex: "hehuorenSchool", width: 220, title: "合伙人学校"},
{dataIndex: "hehuorenName", width: 150, title: "合伙人姓名"},
{dataIndex: "hehuorenPhone", width: 150, title: "合伙人手机"},
{
dataIndex: "operation",
width: 180,
title: "操作",
scopedSlots: {customRender: "operation"},
fixed: "right"
}
],
rowdata: parameter => {
const env = process.env.NODE_ENV; //获取当前环境
if (env === 'development') { //测试环境默认添加前缀
this.apis = '/api/';
}
let params = {
pageNo: parameter.pageNo,
pageSize: parameter.pageSize
};
let obj = cloneObject(this.queryParam); let obj = cloneObject(this.queryParam);
//表示 //表示
return orderList(Object.assign(params, obj)).then(res => { return orderList(Object.assign(params, obj)).then(res => {
let data = {}; let data = {};
if (res.state !== "success") { if (res.state !== "success") {
this.$message.error("查询失败!", 5); this.$message.error("查询失败!", 5);
this.emptyText.emptyText = '查询失败!' this.emptyText.emptyText = '查询失败!'
data = { data = {
data: [], data: [],
pageSize: parameter.pageSize, pageSize: parameter.pageSize,
pageNo: 1, pageNo: 1,
totalCount: 0 totalCount: 0
};
} else {
data = {
data: res.data.records,
pageSize: parameter.pageSize,
pageNo: parameter.pageNo,
totalCount: res.data.total
};
}
return data;
});
}
}; };
} else { },
data = { methods: {
data: res.data.records, moment,
pageSize: parameter.pageSize, handleMenuClick(e) {
pageNo: parameter.pageNo, if (e.key == "1") {
totalCount: res.data.total this.handleSubmit1();
}; }
} if (e.key == "2") {
return data; this.handleSubmit2();
}); }
} },
}; reviewStudentIdCard(res) {
}, this.reviewStudentImg = this.apis + res.studenCard;
methods: { /*this.reviewStudentImg =this.baseUrl+'abstract0'+1+'.jpg'*/
moment, this.reviewStudent.studentCardCheckStatus = res.studentCardCheckStatus;
handleMenuClick(e) { this.reviewStudent.checkFail = res.checkFail;
if (e.key == "1") { this.reviewStudent.id = res.id;
this.handleSubmit1(); this.review = true;
} },
if (e.key == "2") { reviewOk() {
this.handleSubmit2(); if (this.reviewStudent.studentCardCheckStatus == "0") {
} if (
}, this.reviewStudent.checkFail == "" ||
reviewStudentIdCard(res) { this.reviewStudent.checkFail == undefined
this.reviewStudentImg =this.apis + res.studenCard; ) {
/*this.reviewStudentImg =this.baseUrl+'abstract0'+1+'.jpg'*/ this.$notification.error({
this.reviewStudent.studentCardCheckStatus = res.studentCardCheckStatus; message: "审核不通过必须填写不通过原因!",
this.reviewStudent.checkFail = res.checkFail; description: "",
this.reviewStudent.id = res.id; duration: 4
this.review = true; });
}, }
reviewOk() { } else {
if (this.reviewStudent.studentCardCheckStatus == "0") { if (
if ( this.reviewStudent.checkFail != "" &&
this.reviewStudent.checkFail == "" || this.reviewStudent.checkFail != undefined
this.reviewStudent.checkFail == undefined ) {
) { this.$notification.error({
this.$notification.error({ message: "审核通过无须填写不通过原因!",
message: "审核不通过必须填写不通过原因!", description: "",
description: "", duration: 4
duration: 4 });
}); }
} }
} else { if (
if ( this.reviewStudent.checkFail == "" ||
this.reviewStudent.checkFail != "" && this.reviewStudent.checkFail == undefined
this.reviewStudent.checkFail != undefined ) {
) { this.reviewStudent.checkFail == "";
this.$notification.error({ }
message: "审核通过无须填写不通过原因!", let obj = cloneObject(this.reviewStudent);
description: "", reviewStudentIdCard(Object.assign(obj)).then(res => {
duration: 4 if (res.state == "success") {
}); this.$notification.success({
} message: "审核成功!",
} description: "",
if ( duration: 4
this.reviewStudent.checkFail == "" || });
this.reviewStudent.checkFail == undefined this.search();
) { } else {
this.reviewStudent.checkFail == ""; this.$notification.error({
} message: "审核失败!",
let obj = cloneObject(this.reviewStudent); description: "",
reviewStudentIdCard(Object.assign(obj)).then(res => { duration: 4
if (res.state == "success") { });
this.$notification.success({ }
message: "审核成功!", });
description: "", this.reviewClear();
duration: 4 },
}); reviewCancel() {
this.search(); this.reviewClear();
} else { },
this.$notification.error({ reviewClear() {
message: "审核失败!", this.reviewStudentImg = "";
description: "", this.reviewStudent.id = "";
duration: 4 this.reviewStudent.studentCardCheckStatus = "";
}); this.reviewStudent.checkFail = "";
} this.review = false;
}); },
this.reviewClear(); pictureSize() {
}, if (this.imgStype.width == "700px") {
reviewCancel() { this.imgStype = {width: "300px", heigth: "300px"};
this.reviewClear(); } else {
}, this.imgStype = {width: "700px", heigth: "500px"};
reviewClear() { }
this.reviewStudentImg = ""; },
this.reviewStudent.id = ""; getImgUrl(i) {
this.reviewStudent.studentCardCheckStatus = ""; return this.certificatePhoto[i];
this.reviewStudent.checkFail = ""; },
this.review = false; showChildrenDrawer() {
}, this.childrenDrawer = true;
pictureSize() { },
if (this.imgStype.width == "700px") { onChildrenDrawerClose() {
this.imgStype = { width: "300px", heigth: "300px" }; this.childrenDrawer = false;
} else { },
this.imgStype = { width: "700px", heigth: "500px" }; downloadMoBan: function () {
} exportFile(downloadMoBan(), "一人一码受理单.xlsx");
}, },
getImgUrl(i) { downloadMoBanKD: function () {
return this.certificatePhoto[i]; exportFile(downloadMoBanKD(), "快递清单.xlsx");
}, },
showChildrenDrawer() { // 执行上传
this.childrenDrawer = true; doPush(res) {
}, console.log(res);
onChildrenDrawerClose() { if (!res || !res.response) {
this.childrenDrawer = false; this.$message.error("上传文件出错!", 10);
}, return false;
downloadMoBan: function() { }
exportFile(downloadMoBan(), "一人一码受理单.xlsx"); const response = res.response;
}, if (response.state !== "success") {
downloadMoBanKD: function() { this.$message.error(response.msg ? response.msg : "上传文件出错!", 10);
exportFile(downloadMoBanKD(), "快递清单.xlsx"); return false;
}, }
// 执行上传 this.$message.success("上传成功!" + response.data, 5);
doPush(res) { },
console.log(res); createfunctionCancel() {
if (!res || !res.response) { this.modifyvisible = false;
this.$message.error("上传文件出错!", 10); this.clearmodel();
return false; },
} clearmodel() {
const response = res.response; this.importTile = "";
if (response.state !== "success") { this.YRYMmoBan = false;
this.$message.error(response.msg ? response.msg : "上传文件出错!", 10); this.KDmoBan = false;
return false; this.importUrl = "";
} },
this.$message.success("上传成功!" + response.data, 5); createfunctionOk() {
}, this.modifyvisible = false;
createfunctionCancel() { this.clearmodel();
this.modifyvisible = false; },
this.clearmodel(); handleSubmit1() {
}, this.importTile = "批量导入受理单";
clearmodel() { this.YRYMmoBan = true;
this.importTile = ""; this.importUrl = "manager/ciop/order/importDate";
this.YRYMmoBan = false; this.modifyvisible = true;
this.KDmoBan = false; },
this.importUrl = ""; handleSubmit2() {
}, this.importTile = "批量导入快递清单";
createfunctionOk() { this.KDmoBan = true;
this.modifyvisible = false; this.importUrl = "manager/ciop/order/importExpressDelivery";
this.clearmodel(); this.modifyvisible = true;
}, },
handleSubmit1() { search() {
this.importTile = "批量导入受理单"; this.$refs.table.refresh({search: true});
this.YRYMmoBan = true; },
this.importUrl = "manager/ciop/order/importDate"; onClose() {
this.modifyvisible = true; this.certificatePhoto = [];
}, this.orderInfo = {
handleSubmit2() { acceptResult: "",
this.importTile = "批量导入快递清单"; nowPackage: "",
this.KDmoBan = true; businessPackage: "",
this.importUrl = "manager/ciop/order/importExpressDelivery"; acceptName: "",
this.modifyvisible = true; acceptComment: "",
}, acceptDate: "",
search() { customerName: "",
this.$refs.table.refresh({ search: true }); kapin: "",
}, userSchool: "",
onClose() { xbOrderId: "",
this.certificatePhoto = []; successTime: "",
this.orderInfo = { orderId: "",
acceptResult: "", studentNumber: "",
nowPackage: "", classNumber: "",
businessPackage: "", parentName: "",
acceptName: "", contactNumber: "",
acceptComment: "", idCard: "",
acceptDate: "", businessNumber: "",
customerName: "", createTime: "",
kapin: "", address: "",
userSchool: "", site: "",
xbOrderId: "", remarks: "",
successTime: "", checkFail: "",
orderId: "", expenses: "",
studentNumber: "", identifying: "",
classNumber: "", netNumber: "",
parentName: "", netPassword: "",
contactNumber: "", giftAccount: "",
idCard: "", giftPassword: "",
businessNumber: "", kuaidiOrder: "",
createTime: "", company: "",
address: "", studentCardCheckStatus: "",
site: "", kdOrderId: "",
remarks: "", thStatus: ""
checkFail: "", };
expenses: "", this.visible = false;
identifying: "", },
netNumber: "", showDrawer(data) {
netPassword: "", this.certificatePhoto.push(this.apis + data.idCardz);
giftAccount: "", this.certificatePhoto.push(this.apis + data.idCardf);
giftPassword: "", this.certificatePhoto.push(this.apis + data.idCardzs);
kuaidiOrder: "", this.certificatePhoto.push(this.apis + data.studenCard);
company: "", /* this.certificatePhoto.push('http://yrym.winsun-aly.com/gdtel-xyzx-hhr/images/yrym-ruanyan-logo.png')
studentCardCheckStatus: "", this.certificatePhoto.push('http://yrym.winsun-aly.com/gdtel-xyzx-hhr/images/yrym-ruanyan-logo.png')
kdOrderId: "", this.certificatePhoto.push('http://yrym.winsun-aly.com/gdtel-xyzx-hhr/images/yrym-ruanyan-logo.png')
thStatus: "" this.certificatePhoto.push('http://yrym.winsun-aly.com/gdtel-xyzx-hhr/images/yrym-ruanyan-logo.png')*/
}; if (
this.visible = false; this.certificatePhoto[0] == '/api/null' &&
}, this.certificatePhoto[1] == '/api/null' &&
showDrawer(data) { this.certificatePhoto[2] == '/api/null' &&
this.certificatePhoto.push( this.apis+data.idCardz); this.certificatePhoto[3] == '/api/null'
this.certificatePhoto.push(this.apis+data.idCardf); ) {
this.certificatePhoto.push(this.apis+data.idCardzs); this.imgShow = false;
this.certificatePhoto.push(this.apis+data.studenCard); } else {
/* this.certificatePhoto.push('http://yrym.winsun-aly.com/gdtel-xyzx-hhr/images/yrym-ruanyan-logo.png') this.imgShow = true;
this.certificatePhoto.push('http://yrym.winsun-aly.com/gdtel-xyzx-hhr/images/yrym-ruanyan-logo.png') }
this.certificatePhoto.push('http://yrym.winsun-aly.com/gdtel-xyzx-hhr/images/yrym-ruanyan-logo.png') this.orderInfo = {
this.certificatePhoto.push('http://yrym.winsun-aly.com/gdtel-xyzx-hhr/images/yrym-ruanyan-logo.png')*/ acceptResult: data.acceptResult,
if ( nowPackage: data.nowPackage,
this.certificatePhoto[0] == '/api/null' && businessPackage: data.businessPackage,
this.certificatePhoto[1] == '/api/null' && acceptName: data.acceptName,
this.certificatePhoto[2] == '/api/null' && acceptComment: data.acceptComment,
this.certificatePhoto[3] == '/api/null' acceptDate: data.acceptDate,
) { customerName: data.customerName,
this.imgShow = false; kapin: data.kapin,
} else { userSchool: data.userSchool,
this.imgShow = true; xbOrderId: data.xbOrderId,
} successTime: data.successTime,
this.orderInfo = { orderId: data.orderId,
acceptResult: data.acceptResult, studentNumber: data.studentNumber,
nowPackage: data.nowPackage, classNumber: data.classNumber,
businessPackage: data.businessPackage, parentName: data.parentName,
acceptName: data.acceptName, contactNumber: data.contactNumber,
acceptComment: data.acceptComment, idCard: data.idCard,
acceptDate: data.acceptDate, businessNumber: data.businessNumber,
customerName: data.customerName, createTime: data.createTime,
kapin: data.kapin, address: data.address,
userSchool: data.userSchool, site: data.site,
xbOrderId: data.xbOrderId, remarks: data.remarks,
successTime: data.successTime, checkFail: data.checkFail,
orderId: data.orderId, expenses: data.expenses,
studentNumber: data.studentNumber, identifying: data.identifying,
classNumber: data.classNumber, netNumber: data.netNumber,
parentName: data.parentName, netPassword: data.netPassword,
contactNumber: data.contactNumber, giftAccount: data.giftAccount,
idCard: data.idCard, giftPassword: data.giftPassword,
businessNumber: data.businessNumber, kuaidiOrder: data.kuaidiOrder,
createTime: data.createTime, company: data.company,
address: data.address, studentCardCheckStatus: data.studentCardCheckStatus,
site: data.site, kdOrderId: data.kdOrderId,
remarks: data.remarks, thStatus: data.thStatus
checkFail: data.checkFail, };
expenses: data.expenses, this.selectOrderHis(data.id);
identifying: data.identifying, this.visible = true;
netNumber: data.netNumber, },
netPassword: data.netPassword, //时间事件
giftAccount: data.giftAccount, onChange(date, dateString) {
giftPassword: data.giftPassword, if (dateString.length == 0) {
kuaidiOrder: data.kuaidiOrder, this.queryParam.createTimeStart = "";
company: data.company, this.queryParam.createTimeEnd = "";
studentCardCheckStatus: data.studentCardCheckStatus, } else {
kdOrderId: data.kdOrderId, this.queryParam.createTimeStart = dateString[0];
thStatus: data.thStatus this.queryParam.createTimeEnd = dateString[1];
}; }
this.selectOrderHis(data.id); },
this.visible = true; handleSubmit() {
}, let downqueryParam = this.queryParam;
//时间事件 download(downqueryParam).then(res => {
onChange(date, dateString) { if (res.state == "success") {
if (dateString.length == 0) { this.search();
this.queryParam.createTimeStart = ""; this.$message.success(res.data, 5);
this.queryParam.createTimeEnd = ""; } else {
} else { this.$message.error(res.msg, 5);
this.queryParam.createTimeStart = dateString[0]; }
this.queryParam.createTimeEnd = dateString[1]; })
} /* if (this.callback == true) {
}, this.$message.warn("正在导出中...", 5);
handleSubmit() { }
let downqueryParam = this.queryParam; let downqueryParam = this.queryParam;
download(downqueryParam).then(res => { let nowdate = moment().format("YYYY-MM-DD");
if (res.state == "success") { this.callback = true;
this.search(); exportFile(
this.$message.success(res.data, 5); download(downqueryParam),
} else { "订单清单" + nowdate + ".xls",
this.$message.error(res.msg, 5); this.downloadstatu
} );*/
}) },
/* if (this.callback == true) { /* downloadstatu(exportId) {
this.$message.warn("正在导出中...", 5); let nowdate = moment().format("YYYY-MM-DD");
} exportFile(
let downqueryParam = this.queryParam; uploadExcel({exportId}),
let nowdate = moment().format("YYYY-MM-DD"); "订单清单" + nowdate + ".xls",
this.callback = true; );
exportFile( },*/
download(downqueryParam), selectOrderHis(orderId) {
"订单清单" + nowdate + ".xls", selectOrderHis({orderId}).then(res => {
this.downloadstatu let liu = res.data;
);*/ for (let i = 0; i < liu.length; i++) {
}, let resdate = [];
/* downloadstatu(exportId) { resdate.push(liu[i]["operator"]);
let nowdate = moment().format("YYYY-MM-DD"); let startTime = moment(new Date(liu[i]["create_date"])).format(
exportFile( this.YYYY_MM_DD_HH_MI_SS
uploadExcel({exportId}), );
"订单清单" + nowdate + ".xls", resdate.push(startTime);
); resdate.push(liu[i]["status"]);
},*/ this.abnormalInfo.push(resdate);
selectOrderHis(orderId) { }
selectOrderHis({ orderId }).then(res => { });
let liu = res.data; },
for (let i = 0; i < liu.length; i++) { abnormal(orderId) {
let resdate = []; abnormal({orderId}).then(res => {
resdate.push(liu[i]["operator"]); if (res.state == "success") {
let startTime = moment(new Date(liu[i]["create_date"])).format( this.search();
this.YYYY_MM_DD_HH_MI_SS this.$message.success(res.data, 5);
); } else {
resdate.push(startTime); this.$message.error(res.msg, 5);
resdate.push(liu[i]["status"]); }
this.abnormalInfo.push(resdate); });
} }
});
},
abnormal(orderId) {
abnormal({ orderId }).then(res => {
if (res.state == "success") {
this.search();
this.$message.success(res.data, 5);
} else {
this.$message.error(res.msg, 5);
} }
}); };
}
}
};
</script> </script>
<style scoped> <style scoped>
.ant-carousel >>> .slick-dots { .ant-carousel >>> .slick-dots {
height: auto; height: auto;
} }
.ant-carousel >>> .slick-slide img {
border: 5px solid #fff; .ant-carousel >>> .slick-slide img {
display: block; border: 5px solid #fff;
margin: auto; display: block;
max-width: 80%; margin: auto;
} max-width: 80%;
.ant-carousel >>> .slick-thumb { }
bottom: -45px;
} .ant-carousel >>> .slick-thumb {
.ant-carousel >>> .slick-thumb li { bottom: -45px;
width: 60px; }
height: 45px;
} .ant-carousel >>> .slick-thumb li {
.ant-carousel >>> .slick-thumb li img { width: 60px;
width: 100%; height: 45px;
height: 100%; }
filter: grayscale(100%);
} .ant-carousel >>> .slick-thumb li img {
.ant-carousel >>> .slick-thumb li.slick-active img { width: 100%;
filter: grayscale(0%); height: 100%;
} filter: grayscale(100%);
}
.ant-carousel >>> .slick-thumb li.slick-active img {
filter: grayscale(0%);
}
</style> </style>
<template> <template>
<div class="flex-container"> <div class="flex-container">
<!-- 查询区域 --> <!-- 查询区域 -->
<div class="table-page-search-wrapper"> <div class="table-page-search-wrapper">
<!-- 搜索区域 --> <!-- 搜索区域 -->
<a-form layout="inline"> <a-form layout="inline">
<a-row :gutter="24"> <a-row :gutter="24">
<a-col :md="6" :sm="12"> <a-col :md="6" :sm="12">
<a-form-item label="时间选择:"> <a-form-item label="时间选择:">
<a-range-picker @change="onChange" /> <a-range-picker @change="onChange"/>
</a-form-item> </a-form-item>
</a-col> </a-col>
<span class="table-page-search-submitButtons" style="float: left; overflow: hidden;"> <span class="table-page-search-submitButtons" style="float: left; overflow: hidden;">
<a-col :md="4" :sm="24"> <a-col :md="4" :sm="24">
<a-button @click="search()" type="primary">查询</a-button> <a-button @click="search()" type="primary">查询</a-button>
<a-button v-show="!callback" @click="handleSubmit" style="margin-left: 10px">导出</a-button> <a-button v-show="!callback" @click="handleSubmit" style="margin-left: 10px">导出</a-button>
<a-button v-show="callback" style="margin-left: 10px"> <a-button v-show="callback" style="margin-left: 10px">
导出中 导出中
<a-spin style="margin-left: 5px" size="small" /> <a-spin style="margin-left: 5px" size="small"/>
</a-button> </a-button>
</a-col> </a-col>
</span> </span>
</a-row> </a-row>
</a-form> </a-form>
</div> </div>
<!--列表--> <!--列表-->
<s-table <s-table
:columns="columns" :columns="columns"
:data="rowdata" :data="rowdata"
bordered bordered
ref="table" ref="table"
size="small" size="small"
class="flex-filling" class="flex-filling"
:locale="emptyText" :locale="emptyText"
></s-table> ></s-table>
</div> </div>
</template> </template>
<script> <script>
import STable from "@/components/table"; import STable from "@/components/table";
import { reportList, reportDownload } from "@/api/school-center/orderAPI"; import {reportList, reportDownload} from "../../../api/school-center/orderAPI";
import { cloneObject, exportFile } from "@/utils/util"; import {cloneObject, exportFile} from "@/utils/util";
import moment from "moment"; import moment from "moment";
export default {
name: "hhrReport", export default {
components: { name: "hhrReport",
STable components: {
}, STable
data() {
return {
emptyText: {emptyText: '暂无数据'},
callback: false,
Formtable: this.$form.createForm(this),
queryParam: {
startTime: "",
endTime: ""
},
columns: [
{
title: "时间",
fixed: "left",
children: [
{
title: "业务类型",
children: [
{
title: "县分",
dataIndex: "subName",
width: 80
},
{
dataIndex: "schoolNum",
width: 80,
title: "学校数"
},
{
dataIndex: "studentNum",
width: 80,
title: "学生数"
}
]
}
]
},
{
title: "本周",
children: [
{
title: "新增",
children: [
{ dataIndex: "newUserNumWeek", width: 80,title: "新用户" },
{ dataIndex: "newAloneNumWeek",width: 80, title: "单宽带" },
{ dataIndex: "newMixNumWeek", width: 80,title: "融合宽带" }
]
},
{
title: "存量",
children: [
{ dataIndex: "oldUserNumWeek",width: 100, title: "老用户办理" },
{
dataIndex: "oldContinueNumWeek",
width: 100,
title: "老用户续约"
}
]
},
{
title: "已竣工",
children: [
{ dataIndex: "finishNewNumWeek",width: 80, title: "新增" },
{ dataIndex: "finishOldNumWeek", width: 80,title: "存量" }
]
},
{ dataIndex: "sumWeek", width: 80,title: "总计" }
]
}, },
{ data() {
title: "本月", return {
children: [ emptyText: {emptyText: '暂无数据'},
{ callback: false,
title: "新增", Formtable: this.$form.createForm(this),
children: [ queryParam: {
{ dataIndex: "newUserNumMonth",width: 80, title: "新用户" }, startTime: "",
{ dataIndex: "newAloneNumMonth", width: 80,title: "单宽带" }, endTime: ""
{ dataIndex: "newMixNumMonth",width: 80, title: "融合宽带" }
]
},
{
title: "存量",
children: [
{
dataIndex: "oldUserNumMonth",
width: 100,
title: "老用户办理"
}, },
{ columns: [
dataIndex: "oldContinueNumMonth", {title: "时间", fixed: "left", children: [
width: 100, {title: "业务类型", children: [
title: "老用户续约" {title: "县分", dataIndex: "subName", width: 80},
{dataIndex: "schoolNum", width: 80, title: "学校数"},
{dataIndex: "studentNum", width: 80, title: "学生数"}
]
}
]
},
{title: "本周", children: [
{title: "新增", children: [
{dataIndex: "newUserNumWeek", width: 80, title: "新用户"},
{dataIndex: "newAloneNumWeek", width: 80, title: "单宽带"},
{dataIndex: "newMixNumWeek", width: 80, title: "融合宽带"}
]
},
{title: "存量", children: [
{dataIndex: "oldUserNumWeek", width: 100, title: "老用户办理"},
{dataIndex: "oldContinueNumWeek", width: 100, title: "老用户续约"}
]
},
{title: "已竣工", children: [
{dataIndex: "finishNewNumWeek", width: 80, title: "新增"},
{dataIndex: "finishOldNumWeek", width: 80, title: "存量"}
]
},
{dataIndex: "sumWeek", width: 80, title: "总计"}
]
},
{
title: "本月", children:
[
{
title: "新增", children: [
{dataIndex: "newUserNumMonth", width: 80, title: "新用户"},
{dataIndex: "newAloneNumMonth", width: 80, title: "单宽带"},
{dataIndex: "newMixNumMonth", width: 80, title: "融合宽带"}
]
},
{
title: "存量", children: [
{dataIndex: "oldUserNumMonth", width: 100, title: "老用户办理"},
{dataIndex: "oldContinueNumMonth", width: 100, title: "老用户续约"}
]
},
{
title: "已竣工", children: [
{dataIndex: "finishNewNumMonth", width: 80, title: "新增"},
{dataIndex: "finishOldNumMonth", width: 80, title: "存量"}
]
},
{dataIndex: "sumMonth", width: 80, title: "总计"}
]
},
{
title: "累计",
children: [
{
title: "新增",
children: [
{dataIndex: "newUserNumAll", width: 80, title: "新用户"},
{dataIndex: "newAloneNumAll", width: 80, title: "单宽带"},
{dataIndex: "newMixNumAll", width: 80, title: "融合宽带"}
]
},
{
title: "存量",
children: [
{dataIndex: "oldUserNumAll", width: 100, title: "老用户办理"},
{
dataIndex: "oldContinueNumAll",
width: 100,
title: "老用户续约"
}
]
},
{
title: "已竣工",
children: [
{dataIndex: "finishNewNumAll", width: 80, title: "新增"},
{dataIndex: "finishOldNumAll", width: 80, title: "存量"}
]
},
{dataIndex: "sumAll", width: 80, title: "总计"}
]
}
],
rowdata: parameter => {
let params = {
pageNo: parameter.pageNo,
pageSize: parameter.pageSize
};
let obj = cloneObject(this.queryParam);
//表示
return reportList(Object.assign(params, obj)).then(res => {
let data = {};
if (res.state !== "success") {
this.$message.error("查询失败!", 5);
this.emptyText.emptyText = '查询失败!'
data = {
data: []
};
} else {
data = {
data: res.data
};
}
return data;
});
} }
] };
},
{
title: "已竣工",
children: [
{ dataIndex: "finishNewNumMonth",width: 80, title: "新增" },
{ dataIndex: "finishOldNumMonth",width: 80, title: "存量" }
]
},
{ dataIndex: "sumMonth", width: 80,title: "总计" }
]
}, },
{ methods: {
title: "累计", moment,
children: [ search() {
{ this.$refs.table.refresh({search: true});
title: "新增",
children: [
{ dataIndex: "newUserNumAll",width: 80, title: "新用户" },
{ dataIndex: "newAloneNumAll",width: 80, title: "单宽带" },
{ dataIndex: "newMixNumAll",width: 80, title: "融合宽带" }
]
}, },
{ //时间事件
title: "存量", onChange(date, dateString) {
children: [ if (dateString.length == 0) {
{ dataIndex: "oldUserNumAll",width: 100, title: "老用户办理" }, this.queryParam.startTime = "";
{ this.queryParam.endTime = "";
dataIndex: "oldContinueNumAll", } else {
width: 100, this.queryParam.startTime = dateString[0];
title: "老用户续约" this.queryParam.endTime = dateString[1];
} }
]
}, },
{ handleSubmit() {
title: "已竣工", this.callback = true;
children: [ let today = new Date();
{ dataIndex: "finishNewNumAll", width: 80,title: "新增" }, today.setTime(today.getTime());
{ dataIndex: "finishOldNumAll",width: 80, title: "存量" } let s2 = today.getFullYear() + "-" + (today.getMonth() + 1) + "-" + today.getDate();
] exportFile(
reportDownload(),
"一人一码统计报表" + s2 + ".xlsx",
this.downloadstatu
);
}, },
{ dataIndex: "sumAll",width: 80, title: "总计" } downloadstatu() {
] this.callback = false;
}
} }
],
rowdata: parameter => {
let params = {
pageNo: parameter.pageNo,
pageSize: parameter.pageSize
};
let obj = cloneObject(this.queryParam);
//表示
return reportList(Object.assign(params, obj)).then(res => {
let data = {};
if (res.state !== "success") {
this.$message.error("查询失败!", 5);
this.emptyText.emptyText = '查询失败!'
data = {
data: []
};
} else {
data = {
data: res.data
};
}
return data;
});
}
}; };
},
methods: {
moment,
search() {
this.$refs.table.refresh({ search: true });
},
//时间事件
onChange(date, dateString) {
if (dateString.length == 0) {
this.queryParam.startTime = "";
this.queryParam.endTime = "";
} else {
this.queryParam.startTime = dateString[0];
this.queryParam.endTime = dateString[1];
}
},
handleSubmit() {
this.callback = true;
let today = new Date();
today.setTime(today.getTime());
let s2 =
today.getFullYear() +
"-" +
(today.getMonth() + 1) +
"-" +
today.getDate();
exportFile(
reportDownload(),
"一人一码统计报表" + s2 + ".xlsx",
this.downloadstatu
);
},
downloadstatu() {
this.callback = false;
}
}
};
</script> </script>
<style scoped> <style scoped>
......
...@@ -218,7 +218,7 @@ ...@@ -218,7 +218,7 @@
subNames: [], subNames: [],
columns: [ columns: [
{dataIndex: 'orderPhone', width: 25, title: '放号号码', align: "center"}, {dataIndex: 'orderPhone', width: 25, title: '放号号码', align: "center"},
{dataIndex: 'salesSchool', width: 30, title: '放号学校', align: "center"}, {dataIndex: 'salesSchool', width: 40, title: '放号学校', align: "center"},
{dataIndex: 'salesSubst', width: 15, title: '放号县分', align: "center"}, {dataIndex: 'salesSubst', width: 15, title: '放号县分', align: "center"},
{dataIndex: 'name', width: 25, title: '放号人', align: "center"}, {dataIndex: 'name', width: 25, title: '放号人', align: "center"},
{dataIndex: 'account', width: 30, title: '放号人账号', align: "center"}, {dataIndex: 'account', width: 30, title: '放号人账号', align: "center"},
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment