Commit 8d79e5b0 by 董有沛

Merge remote-tracking branch 'origin/master'

parents 102d9fe7 a6ffc313
......@@ -9,15 +9,11 @@ let getSchoolNames = (params) => postAction(prefix + "/salesOrder/getSchoolName
let getList = (params) => postAction(prefix + "/salesOrder/list" , params);
// 导出放号充值达标清单
let exportOut= (params) => downFilePost(prefix + "/salesOrder/exportList" , params);
// 删除
let deleteOrder = (params) => postAction(prefix + "/salesOrder/deleteOrder" , params);
// 下载导入结果清单
let downloadResult = (params) => downFilePost(prefix + "/salesOrder/exportResult" , params);
export {
initSubstName,
getSchoolNames,
......
import {postAction,downFilePost} from '@/api/manage'
const prefix = '/manager/ciop';
// 楼长KPI管理
let excelOut = (params) => downFilePost(prefix + "/studentCardVerify/excelOut" , params);
let list = (params) => postAction(prefix + "/studentCardVerify/list" , params);
let update = (params) => postAction(prefix + "/studentCardVerify/update" , params);
let queryById = (params) => postAction(prefix + "/studentCardVerify/queryById" , params);
export {
excelOut,
list,
update,
queryById
}
import {postAction,downFilePost} from '@/api/manage'
const prefix = '/manager/ciop';
// 楼长KPI管理
let excelOut = (params) => downFilePost(prefix + "/studentDwkVerify/excelOut" , params);
let list = (params) => postAction(prefix + "/studentDwkVerify/list" , params);
let update = (params) => postAction(prefix + "/studentDwkVerify/update" , params);
let queryById = (params) => postAction(prefix + "/studentDwkVerify/queryById" , params);
export {
excelOut,
list,
update,
queryById
}
......@@ -5,12 +5,12 @@
<!-- 搜索区域 -->
<a-form layout="inline">
<a-row :gutter="24">
<a-col :md="3" :sm="6">
<a-col :md="4" :sm="6">
<a-form-item label="姓名">
<a-input placeholder="姓名" v-model="queryParam.userName" style="width: 8rem;"></a-input>
</a-form-item>
</a-col>
<a-col :md="3" :sm="6">
<a-col :md="4" :sm="6">
<a-form-item label="县分">
<a-select v-model="queryParam.substName" @change="getSchoolNames" style="width: 8rem;">
<a-select-option key="">--全部--</a-select-option>
......
......@@ -5,7 +5,7 @@
<!-- 搜索区域 -->
<a-form layout="inline">
<a-row :gutter="24">
<a-col :md="3" :sm="6">
<a-col :md="4" :sm="6">
<a-form-item label="姓名">
<a-input placeholder="姓名" v-model="queryParam.name" style="width: 8rem;"></a-input>
</a-form-item>
......
......@@ -7,7 +7,7 @@
<a-row :gutter="24">
<a-col :md="6" :sm="12">
<a-form-item label="时间选择:">
<a-range-picker @change="onChange" format="YYYY-MM" />
<a-range-picker @change="onChange" format="YYYY-MM"/>
</a-form-item>
</a-col>
<a-col :md="4" :sm="12">
......@@ -82,15 +82,17 @@
<a-dropdown>
<a-menu slot="overlay" @click="handleMenuClick">
<a-menu-item key="1">
<a-icon type="arrow-up" />受理单
<a-icon type="arrow-up"/>
受理单
</a-menu-item>
<a-menu-item key="2">
<a-icon type="arrow-up" />快递
<a-icon type="arrow-up"/>
快递
</a-menu-item>
</a-menu>
<a-button style="margin-left: 8px">
导入
<a-icon type="down" />
<a-icon type="down"/>
</a-button>
</a-dropdown>
</a-col>
......@@ -126,17 +128,19 @@
<p v-if="text=='6'">羊城通业务</p>
</template>
<template slot="studentCardCheckStatus" slot-scope="text">
<p v-if="text=='0'">未审核</p>
<p v-if="text=='1'">已审核</p>
<p v-if="text=='0'">审核不通过</p>
<p v-if="text=='1'">审核通过</p>
<p v-if="text==null">待审核</p>
</template>
<template slot="operation" slot-scope="text, record">
<span>
<a @click="showDrawer(record)">查看</a>
<a-divider type="vertical" />
<a-divider type="vertical"/>
<a @click="abnormal(record.id)">设为异常单</a>
<a-divider type="vertical"/>
<a v-show="record.studentCardCheckStatus == null" @click="reviewStudentIdCard(record)">审核学生证</a>
<a-divider v-if="record.orderStatus === '待审核' " type="vertical" />
<a v-show="record.orderStatus === '待审核'" @click="reviewStudentIdCard(record)">审核学生证</a>
<a-divider v-if="record.orderStatus === '待审核' " type="vertical"/>
</span>
</template>
</s-table>
......@@ -246,10 +250,10 @@
<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)" />
<img :src="getImgUrl(props.i)"/>
</a>
<div @click="pictureSize" v-for="item in certificatePhoto.length">
<img :style="imgStype" :src="certificatePhoto[item - 1]" />
<img :style="imgStype" :src="certificatePhoto[item - 1]"/>
</div>
</a-carousel>
</div>
......@@ -289,9 +293,7 @@
<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"
>
<div style="overflow: hidden;text-overflow: ellipsis;white-space: nowrap;height: 20px">
<a-tooltip placement="left">
<template slot="title">{{item[index]}}</template>
{{ item[index] }}
......@@ -359,14 +361,14 @@
width="1024px"
>
<div align="center">
<img :src="reviewStudentImg" />
<van-image width="100" height="100" :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-radio-group :options="options" v-model="reviewStudent.studentCardCheckStatus"/>
</a-col>
</a-row>
<a-row :gutter="24" style="text-align: right">
......@@ -382,8 +384,8 @@
</template>
<script>
import STable from "@/components/table";
import {
import STable from "@/components/table";
import {
orderList,
download,
abnormal,
......@@ -391,16 +393,20 @@ import {
downloadMoBan,
downloadMoBanKD,
reviewStudentIdCard
} from "@/api/school-center/orderAPI";
import { cloneObject, exportFile } from "@/utils/util";
import moment from "moment";
import ConstantActivity from "@/constant/ConstantActivity";
import ImportBtn from "../../../components/sysmanage/ImportBtn";
const options = [
{ label: "审核通过", value: "1" },
{ label: "审核不通过", value: "0" }
];
export default {
} from "@/api/school-center/orderAPI";
import {cloneObject, exportFile} from "@/utils/util";
import moment from "moment";
import ConstantActivity from "@/constant/ConstantActivity";
import ImportBtn from "../../../components/sysmanage/ImportBtn";
import Vue from 'vue';
import { Image as VanImage } from 'vant';
Vue.use(VanImage);
const options = [
{label: "审核通过", value: "1"},
{label: "审核不通过", value: "0"}
];
export default {
name: "orderView",
components: {
STable,
......@@ -418,7 +424,7 @@ export default {
options,
review: false,
imgShow: false,
imgStype: { width: "300px", heigth: "300px" },
imgStype: {width: "300px", heigth: "300px"},
baseUrl:
"https://raw.githubusercontent.com/vueComponent/ant-design-vue/master/components/vc-slick/assets/img/react-slick/",
certificatePhoto: [],
......@@ -442,7 +448,7 @@ export default {
pStyle2: {
marginBottom: "24px"
},
apis:'',
apis: '',
queryParam: {
createTimeStart: "",
createTimeEnd: "",
......@@ -457,39 +463,39 @@ export default {
},
orderInfo: {},
columns: [
{ dataIndex: "customerName", width: 120, title: "客户姓名", fixed: "left" },
{ dataIndex: "orderNumber", width: 180, title: "订单编号", fixed: "left" },
{ dataIndex: "orderStatus", width: 100, title: "订单状态" },
{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" }
scopedSlots: {customRender: "studentCardCheckStatus"}
},
{ dataIndex: "businessPackage", width: 180, title: "升级套餐" },
{dataIndex: "businessPackage", width: 180, title: "升级套餐"},
{
dataIndex: "userType",
width: 100,
title: "订单类型",
scopedSlots: { customRender: "userType" }
scopedSlots: {customRender: "userType"}
},
{ dataIndex: "contactNumber", width: 200, title: "联系号码" },
{ dataIndex: "businessNumber", width: 200, title: "办理号码" },
{ dataIndex: "kapin", width: 200, title: "办理套餐" },
{ dataIndex: "hehuorenSchool", width: 220, title: "合伙人学校" },
{ dataIndex: "hehuorenName", width: 150, title: "合伙人姓名" },
{ dataIndex: "hehuorenPhone", width: 150, title: "合伙人手机" },
{dataIndex: "contactNumber", width: 200, title: "联系号码"},
{dataIndex: "businessNumber", width: 200, title: "办理号码"},
{dataIndex: "kapin", width: 200, title: "办理套餐"},
{dataIndex: "hehuorenSchool", width: 220, title: "合伙人学校"},
{dataIndex: "hehuorenName", width: 150, title: "合伙人姓名"},
{dataIndex: "hehuorenPhone", width: 150, title: "合伙人手机"},
{
dataIndex: "operation",
width: 200,
width: 220,
title: "操作",
scopedSlots: { customRender: "operation" },
scopedSlots: {customRender: "operation"},
fixed: "right"
}
],
rowdata: parameter => {
const env = process.env.NODE_ENV; //获取当前环境
if(env === 'development'){ //测试环境默认添加前缀
if (env === 'development') { //测试环境默认添加前缀
this.apis = '/api/';
}
let params = {
......@@ -534,7 +540,7 @@ export default {
}
},
reviewStudentIdCard(res) {
this.reviewStudentImg =this.apis + res.studenCard;
this.reviewStudentImg = this.apis + res.studenCard;
/*this.reviewStudentImg =this.baseUrl+'abstract0'+1+'.jpg'*/
this.reviewStudent.studentCardCheckStatus = res.studentCardCheckStatus;
this.reviewStudent.checkFail = res.checkFail;
......@@ -602,9 +608,9 @@ export default {
},
pictureSize() {
if (this.imgStype.width == "700px") {
this.imgStype = { width: "300px", heigth: "300px" };
this.imgStype = {width: "300px", heigth: "300px"};
} else {
this.imgStype = { width: "700px", heigth: "500px" };
this.imgStype = {width: "700px", heigth: "500px"};
}
},
getImgUrl(i) {
......@@ -616,10 +622,10 @@ export default {
onChildrenDrawerClose() {
this.childrenDrawer = false;
},
downloadMoBan: function() {
downloadMoBan: function () {
exportFile(downloadMoBan(), "一人一码受理单.xlsx");
},
downloadMoBanKD: function() {
downloadMoBanKD: function () {
exportFile(downloadMoBanKD(), "快递清单.xlsx");
},
// 执行上传
......@@ -663,7 +669,7 @@ export default {
this.modifyvisible = true;
},
search() {
this.$refs.table.refresh({ search: true });
this.$refs.table.refresh({search: true});
},
onClose() {
this.certificatePhoto = [];
......@@ -706,10 +712,10 @@ export default {
this.visible = false;
},
showDrawer(data) {
this.certificatePhoto.push( this.apis+data.idCardz);
this.certificatePhoto.push(this.apis+data.idCardf);
this.certificatePhoto.push(this.apis+data.idCardzs);
this.certificatePhoto.push(this.apis+data.studenCard);
this.certificatePhoto.push(this.apis + data.idCardz);
this.certificatePhoto.push(this.apis + data.idCardf);
this.certificatePhoto.push(this.apis + data.idCardzs);
this.certificatePhoto.push(this.apis + data.studenCard);
/* 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.certificatePhoto.push('http://yrym.winsun-aly.com/gdtel-xyzx-hhr/images/yrym-ruanyan-logo.png')
......@@ -803,7 +809,7 @@ export default {
);
},*/
selectOrderHis(orderId) {
selectOrderHis({ orderId }).then(res => {
selectOrderHis({orderId}).then(res => {
let liu = res.data;
for (let i = 0; i < liu.length; i++) {
let resdate = [];
......@@ -818,7 +824,7 @@ export default {
});
},
abnormal(orderId) {
abnormal({ orderId }).then(res => {
abnormal({orderId}).then(res => {
if (res.state == "success") {
this.search();
this.$message.success(res.data, 5);
......@@ -828,32 +834,37 @@ export default {
});
}
}
};
};
</script>
<style scoped>
.ant-carousel >>> .slick-dots {
.ant-carousel >>> .slick-dots {
height: auto;
}
.ant-carousel >>> .slick-slide img {
}
.ant-carousel >>> .slick-slide img {
border: 5px solid #fff;
display: block;
margin: auto;
max-width: 80%;
}
.ant-carousel >>> .slick-thumb {
}
.ant-carousel >>> .slick-thumb {
bottom: -45px;
}
.ant-carousel >>> .slick-thumb li {
}
.ant-carousel >>> .slick-thumb li {
width: 60px;
height: 45px;
}
.ant-carousel >>> .slick-thumb li img {
}
.ant-carousel >>> .slick-thumb li img {
width: 100%;
height: 100%;
filter: grayscale(100%);
}
.ant-carousel >>> .slick-thumb li.slick-active img {
}
.ant-carousel >>> .slick-thumb li.slick-active img {
filter: grayscale(0%);
}
}
</style>
......@@ -162,7 +162,7 @@
import ImportBtn from "../../../components/sysmanage/ImportBtn";
export default {
name: "salesOrder",
name: "salesList",
components: {
STable,ImportBtn
},
......@@ -361,7 +361,6 @@
deleteOrder(id){
let params = {};
params.id = id;
deleteOrder(params).then(res => {
if(res.state == "success"){
this.$message.success(res.data ? res.data : '删除成功', 5)
......
<template>
<div class="flex-container">
<!-- 查询区域 -->
<div class="table-page-search-wrapper">
<!-- 搜索区域 -->
<a-form layout="inline">
<a-row :gutter="24">
<a-col :md="4" :sm="4">
<a-form-item label="放号人">
<a-input placeholder="" v-model="queryParam.name"></a-input>
</a-form-item>
</a-col>
<a-col :md="4" :sm="10">
<a-form-item label="放号账号">
<a-input placeholder="" v-model="queryParam.account"></a-input>
</a-form-item>
</a-col>
<a-col :md="4" :sm="2">
<a-form-item label="县分">
<a-select v-model="queryParam.salesSubst" @change="getSchoolNames">
<a-select-option key="">--全部--</a-select-option>
<a-select-option v-for="d in subNames" :key="d.value" :value="d.value">{{d.text}}
</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :md="6" :sm="12">
<a-form-item label="学校">
<a-select v-model="queryParam.salesSchool" style="width: 15rem;">
<a-select-option key="">--全部--</a-select-option>
<a-select-option v-for="d in schoolNames" :key="d.value" :value="d.value">{{d.text}}
</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :md="4" :sm="8">
<a-form-item :labelCol="{span: 5}" :wrapperCol="{span: 18, offset: 1}" label="职位">
<a-select placeholder="--全部--" v-model="queryParam.position">
<a-select-option key="">--全部--</a-select-option>
<a-select-option key="总经理">总经理</a-select-option>
<a-select-option key="楼长">楼长</a-select-option>
<a-select-option key="成员">成员</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :md="4" :sm="12">
<a-form-item label="上级领导">
<a-input placeholder="" v-model="queryParam.leader"></a-input>
</a-form-item>
</a-col>
<a-col :md="4" :sm="12">
<a-form-item label="上级总经理">
<a-input placeholder="" v-model="queryParam.president"></a-input>
</a-form-item>
</a-col>
<a-col :md="6" :sm="12">
<a-form-item label="激活时间">
<a-range-picker
:placeholder="['开始月份', '结束月份']"
format="YYYYMM"
:value="queryParam.activateTime"
:mode="tempMode"
@panelChange="handlePanelChange"
style="width: 16rem;"
/>
</a-form-item>
</a-col>
<span class="table-page-search-submitButtons" style="float: left; overflow: hidden;">
<a-col :md="6" :sm="24">
<a-button @click="search()" type="primary">查询</a-button>
<a-divider type="vertical"/>
<a-button @click="exportList()" type="primary">导出所有数据</a-button>
<a-dropdown >
<a-button v-show="false" style="margin-left: 8px">导入<a-icon type="down" />
<a-menu slot="overlay" @click="handleMenuClick">
<a-menu-item key="1">
<a-icon type="arrow-up" />放号上传
</a-menu-item>
<a-menu-item key="2">
<a-icon type="arrow-up" />充值审核
</a-menu-item>
<a-menu-item key="3">
<a-icon type="arrow-up" />累计充值导入
</a-menu-item>
</a-menu>
</a-button>
</a-dropdown>
</a-col>
</span>
</a-row>
</a-form>
</div>
<!--列表-->
<s-table :locale="emptyText" :columns="columns" :data="rowdata" bordered ref="table" size="small" class="flex-filling">
<!--拦截器-->
<template slot="createTime" slot-scope="text">
{{ text | dayjs}}
</template>
<!--拦截器-->
<template slot="activateTime" slot-scope="text">
{{ text | dayjs}}
</template>
<template slot="operation" slot-scope="text,record">
<!-- <a @click="modifyfunction(record)">编辑</a>-->
<a-divider type="vertical"/>
<a-popconfirm title="是否要删除此行?" @confirm="deleteOrder(record.id)">
<a>删除</a>
</a-popconfirm>
<a-divider type="vertical"/>
</template>
</s-table>
<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="FHTemplate">
模板下载:
<a-button type="primary" @click="downloadTemplateFH">放号上传模板</a-button>
</p>
<p v-show="CZTemplate">
模板下载:
<a-button type="primary" @click="downloadTemplateCZ">充值审核模板</a-button>
</p>
<!-- <p v-show="LJTemplate">-->
<!-- 模板下载:-->
<!-- <a-button type="primary" @click="downloadTemplateLJ">累计审核模板</a-button>-->
<!-- </p>-->
</a-col>
</a-row>
</a-modal>
</div>
</template>
<script>
import STable from '@/components/table';
import {} from "@/api/school-center/salesOrder";
import {
getSchoolNames, initSubstName, getList, deleteOrder,
downloadTemplateFH, downloadTemplateCZ, downloadResult, exportOut
} from "../../../api/school-center/salesOrderAPI";
import {cloneObject,exportFile} from '@/utils/util';
import ImportBtn from "../../../components/sysmanage/ImportBtn";
import Vue from 'vue';
import moment from "moment";
import {DatetimePicker} from 'vant';
Vue.use(DatetimePicker);
export default {
name: "salesOrder",
components: {
STable,ImportBtn
},
data: function () {
return {
emptyText: {emptyText: '暂无数据'},
previewVisible: false,
previewImage: '',
fileList: [
],
apis:'',
fileid:{},
brackgroundurl:"manager/ciop/school/schoolManagement/qrcodeUpload",
// form
Formtable: this.$form.createForm(this, {name: 'Formtable'}),
FHTemplate: false,
CZTemplate: false,
importUrl: "",
importTile: "",
modifyvisible: false,
modifyForm: {
id: '',
title: '',
desc: '',
integral: '',
activityType: '',
subclass: '',
imageUrl: '',
range: '',
sort: '',
},
packageName:[],
chosePages:[],
products:[],
//输入框列表
queryParam: {
name: '',
account: '',
salesSubst: '',
salesSchool: '',
activateTime: '',
president: '',
position:'',
leader: '',
},
tempMode:['month', 'month'],
schoolNames: [],
subNames: [],
columns: [
{dataIndex: 'orderPhone', width: 25, title: '放号号码', align: "center"},
{dataIndex: 'salesSchool', width: 30, title: '放号学校', align: "center"},
{dataIndex: 'salesSubst', width: 15, title: '放号县分', align: "center"},
{dataIndex: 'name', width: 25, title: '放号人', align: "center"},
{dataIndex: 'account', width: 30, title: '放号人账号', align: "center"},
{dataIndex: 'position', width: 30, title: '职位', align: "center"},
{dataIndex: 'leader', width: 30, title: '上级领导', align: "center"},
{dataIndex: 'president', width: 30, title: '总经理', align: "center"},
{dataIndex: 'createTime', width: 30, title: '上传时间', align: "center",scopedSlots: {customRender: "createTime"}},
{dataIndex: 'activateTime', width: 30, title: '激活时间', align: "center",scopedSlots: {customRender: "activateTime"}},
/*{
dataIndex: 'operation',
width: 200,
title: '操作',
align: "center",
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)
return getList(Object.assign(params, obj)).then(res => {
let data = {}
if (res.state !== 'success') {
this.$message.error("查询失败!", 5);
this.emptyText.emptyText = '查询失败!'
data = {
data: [],
pageSize: parameter.pageSize,
pageNo: 1,
totalCount: 0
}
} else {
data = {
data: res.data.records,
pageSize: parameter.pageSize,
pageNo: parameter.pageNo,
totalCount: res.data.total
}
}
return data
})
}
}
},
methods:{
moment,
handlePanelChange(value, mode) {
this.queryParam.activateTime = value;
this.tempMode = [mode[0] === 'date' ? 'month' : mode[0], mode[1] === 'date' ? 'month' : mode[1]];
//console.log("this.tempMode=================="+this.tempMode);
},
search() {
this.$refs.table.refresh({search: true})
},
handleMenuClick(e) {
if (e.key == "1") {
this.handleSubmit1();
}
if (e.key == "2") {
this.handleSubmit2();
}
},
handleSubmit1() {
this.importTile = "放号上传";
this.FHTemplate = true;
this.importUrl = "manager/ciop/salesOrders/importOrder";
this.modifyvisible = true;
},
handleSubmit2() {
this.importTile = "充值审核";
this.CZTemplate = true;
this.importUrl = "manager/ciop/salesOrders/importRechargeData";
this.modifyvisible = true;
},
downloadTemplateFH: function() {
exportFile(downloadTemplateFH(), "放号上传清单.xlsx");
},
downloadTemplateCZ: function() {
exportFile(downloadTemplateCZ(), "充值审核清单.xlsx");
},
// downloadTemplateLJ: function() {
// exportFile(downloadMoBanKD(), "累计充值审核清单.xlsx");
// },
createfunctionOk() {
this.modifyvisible = false;
this.clearmodel();
},
createfunctionCancel() {
this.modifyvisible = false;
this.clearmodel();
},
clearmodel() {
this.importTile = "";
this.FHTemplate = false;
this.CZTemplate = false;
this.importUrl = "";
},
// 执行上传
doPush(res) {
console.log(res);
if (!res || !res.response) {
this.$message.error("上传文件出错!", 10);
return false;
}
const response = res.response;
if (response.state !== "success") {
this.$message.error(response.msg ? response.msg : "上传文件出错!", 5);
return false;
}
this.$message.success("上传成功!" + response.data, 5);
if(response.data.indexOf("返回导入结果清单") > -1){
exportFile(downloadResult(), "导入结果清单.xlsx");
}
this.createfunctionCancel();
this.search();
},
deleteOrder(id){
let params = {};
params.id = id;
deleteOrder(params).then(res => {
if(res.state == "success"){
this.$message.success(res.data ? res.data : '删除成功', 5)
this.search();
return null;
}
this.$message.success(res.data ? res.data : '删除失败', 5);
})
},
exportList(){
let obj = cloneObject(this.queryParam)
let nowdate = moment().format("YYYY-MM-DD");
//导出
exportFile(
exportOut(Object.assign(obj)),
"放号充值达标清单" + nowdate + ".xlsx",
);
},
getSchoolNames() {
this.queryParam.schoolName = ''
getSchoolNames({"substName": this.queryParam.salesSubst}).then((res) => {
if (res.state == "success") {
const result = res.data
result.forEach((r) => {
if (r.schoolName === 'null')
return;
this.schoolNames.push({
value: r.schoolName,
text: r.schoolName
})
})
}
})
},
initSubstName() {
initSubstName().then((res) => {
if (res.state == "success") {
const result = res.data
result.forEach((r) => {
if (r.subName === 'null')
return;
this.subNames.push({
value: r.subName,
text: r.subName
})
})
}
})
}
},
mounted() {
this.initSubstName();
this.getSchoolNames();
}
}
</script>
<style scoped>
</style>
\ No newline at end of file
<template>
<div class="flex-container">
<!-- 查询区域 -->
<div class="table-page-search-wrapper">
<!-- 搜索区域 -->
<a-form layout="inline">
<a-row :gutter="24">
<a-col :md="4" :sm="8">
<a-form-item label="用户姓名">
<a-input placeholder="用户姓名" v-model="queryParam.userName" style="width: 8rem;"></a-input>
</a-form-item>
</a-col>
<a-col :md="4" :sm="8">
<a-form-item label="办理号码">
<a-input placeholder="办理号码" v-model="queryParam.orderPhone" style="width: 8rem;"></a-input>
</a-form-item>
</a-col>
<a-col :md="4" :sm="8">
<a-form-item label="联系号码">
<a-input placeholder="联系号码" v-model="queryParam.linkPhone" style="width: 8rem;"></a-input>
</a-form-item>
</a-col>
<a-col :md="4" :sm="8">
<a-form-item label="是否审核通过">
<a-select v-model="queryParam.auditState" style="width: 8rem;">
<a-select-option key="">--全部--</a-select-option>
<a-select-option key="1">未审核</a-select-option>
<a-select-option key="2"></a-select-option>
<a-select-option key="3"></a-select-option>
<a-select-option key="4">无效</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :md="4" :sm="8">
<a-form-item label="审核人">
<a-input placeholder="审核人" v-model="queryParam.auditName" style="width: 8rem;"></a-input>
</a-form-item>
</a-col>
<a-col :md="6" :sm="10">
<a-form-item label="上传资料时间">
<a-range-picker @change="onChange" v-model="queryParam.uploadDate"/>
</a-form-item>
</a-col>
<a-col :md="6" :sm="10">
<a-form-item label="审核时间">
<a-range-picker @change="onChange1" v-model="queryParam.auditDate"/>
</a-form-item>
</a-col>
<span class="table-page-search-submitButtons" style="float: left; overflow: hidden;">
<a-col :md="6" :sm="24">
<a-button @click="search()" type="primary">查询</a-button>
<a-divider type="vertical"/>
<a-button type="primary":disabled="hasSelected" :loading="loading" @click="start('2')">
审核
</a-button>
<a-divider type="vertical"/>
<a-button type="primary" :loading="loading" @click="start('2')">
批量通过
</a-button>
<a-divider type="vertical"/>
<a-button type="primary" :loading="loading" @click="start('3')">
批量不通过
</a-button>
<a-divider type="vertical"/>
<a-button @click="excelOut()" type="primary">导出所有数据</a-button>
</a-col>
</span>
</a-row>
</a-form>
</div>
<!--列表-->
<s-table :columns="columns" :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" :data="rowdata" bordered ref="table" size="small" class="flex-filling" :locale="emptyText">
<!--拦截器-->
<template slot="uploadDate" slot-scope="text">
{{ text | dayjs}}
</template>
<!--拦截器-->
<template slot="crnActivateDate" slot-scope="text">
{{ text | dayjs}}
</template>
<!--拦截器-->
<template slot="auditDate" slot-scope="text">
{{ text | dayjs}}
</template>
<template slot="isComboMoney49" slot-scope="text">
<p v-if="text=='0'"></p>
<p v-if="text=='1'"></p>
<p v-else=""></p>
</template>
<template slot="isFull" slot-scope="text">
<p v-if="text=='0'"></p>
<p v-if="text=='1'"></p>
<p v-else=""></p>
</template>
<template slot="isClear" slot-scope="text">
<p v-if="text=='0'"></p>
<p v-if="text=='1'"></p>
<p v-else=""></p>
</template>
<template slot="isUnderYears" slot-scope="text">
<p v-if="text=='0'"></p>
<p v-if="text=='1'"></p>
<p v-else=""></p>
</template>
<template slot="isStudentAccordance" slot-scope="text">
<p v-if="text=='0'"></p>
<p v-if="text=='1'"></p>
<p v-else=""></p>
</template>
<template slot="isSchoolAccordance" slot-scope="text">
<p v-if="text=='0'"></p>
<p v-if="text=='1'"></p>
<p v-else=""></p>
</template>
<template slot="isUploadBeforeActivate" slot-scope="text">
<p v-if="text=='0'"></p>
<p v-if="text=='1'"></p>
<p v-else=""></p>
</template>
<template slot="isFirstUpload" slot-scope="text">
<p v-if="text=='0'"></p>
<p v-if="text=='1'"></p>
<p v-else=""></p>
</template>
<template slot="auditState" slot-scope="text">
<p v-if="text=='1'">未审核</p>
<p v-if="text=='2'">审核通过</p>
<p v-if="text=='3'">审核不通过</p>
<p v-if="text=='4'">无效</p>
<p v-else=""></p>
</template>
<template slot="studentCardUrl" slot-scope="text">
<van-image width="100" height="100" @click="imgClick(text)" :src="apis + text" />
<!--<van-image width="100" height="100" @click="imgClick('https://img.yzcdn.cn/vant/cat.jpeg')" src="https://img.yzcdn.cn/vant/cat.jpeg" />-->
</template>
<template slot="otherImgUrl1" slot-scope="text">
<van-image width="100" height="100" @click="imgClick(text)" :src="apis + text" />
<!--<van-image width="100" height="100" @click="imgClick('https://img.yzcdn.cn/vant/cat.jpeg')" src="https://img.yzcdn.cn/vant/cat.jpeg" />-->
</template>
<template slot="otherImgUrl2" slot-scope="text">
<van-image width="100" height="100" @click="imgClick(text)" :src="apis + text" />
<!--<van-image width="100" height="100" @click="imgClick('https://img.yzcdn.cn/vant/cat.jpeg')" src="https://img.yzcdn.cn/vant/cat.jpeg" />-->
</template>
<template slot="otherImgUrl3" slot-scope="text">
<van-image width="100" height="100" @click="imgClick(text)" :src="apis + text" />
</template>
<!--<template slot="operation" slot-scope="text,record">
<span>
<a v-if="record.auditState == 1" @click="modifyfunction(record)">审核</a>
</span>
</template>-->
</s-table>
<!----弹框-->
<a-drawer
title="图片"
placement="right"
:closable="false"
@close="pictureOnClose"
:visible="visiblepicture"
width="30%"
>
<div>
<img class="bg-img" :src="imgInfo">
</div>
</a-drawer>
<!----弹框-->
<a-modal title="审核" :visible="modifyvisible" @ok="createfunctionOk" @cancel="createfunctionCancel" html-type="submit" width="824px">
<!-- 搜索区域 -->
<a-form layout="inline">
<a-form-item label="用户姓名">{{Formtable.userName}}</a-form-item>
<a-form-item label="办理号码">{{Formtable.orderPhone}}</a-form-item>
<br>
<a-form-item label="联系号码">{{Formtable.linkPhone}}</a-form-item>
<a-form-item label="上传资料时间">{{Formtable.uploadDate | dayjs}}</a-form-item>
<br>
<a-form-item label="上传图片1:">
<van-image width="100" height="100" @click="imgClick(Formtable.studentCardUrl)" :src="apis + Formtable.studentCardUrl" />
</a-form-item>
<a-form-item label="上传图片2">
<van-image width="100" height="100" @click="imgClick(Formtable.otherImgUrl1)" :src="apis + Formtable.otherImgUrl1" />
</a-form-item>
<a-form-item label="上传图片3">
<van-image width="100" height="100" @click="imgClick(Formtable.otherImgUrl2)" :src="apis + Formtable.otherImgUrl2" />
</a-form-item>
<br>
<a-form-item label="是否审核通过">
<a-select v-model="tempstate" style="width: 8rem;">
<a-select-option key="是"></a-select-option>
<a-select-option key="否"></a-select-option>
<a-select-option key="无效">无效</a-select-option>
</a-select>
</a-form-item>
</a-form>
</a-modal>
</div>
</template>
<script>
import STable from '@/components/table';
import ImportBtn from "../../../components/sysmanage/ImportBtn";
import {list, excelOut,update,queryById} from "@/api/school-center/studentCardVerifyAPI"
import {cloneObject, exportFile} from '@/utils/util';
import ConstantActivity from "@/constant/ConstantActivity";
import Vue from 'vue';
import moment from "moment";
import {DatetimePicker, Dialog} from 'vant';
import { Image as VanImage } from 'vant';
Vue.use(VanImage);
Vue.use(Dialog)
Vue.use(DatetimePicker);
export default {
name: "studentCardVerify",
components: {
STable, ImportBtn
},
data() {
return {
emptyText: {emptyText: '暂无数据'},
modifyvisible: false,
Formtable: {
id: '',
userName: '',
orderPhone: '',
linkPhone: '',
auditState: '',
uploadDate: '',
auditDate: '',
studentCardUrl: '',
otherImgUrl1: '',
otherImgUrl2: '',
otherImgUrl3: '',
},
tempstate: '',
title: ConstantActivity.title,
queryParam: {
userName: '',
orderPhone: '',
linkPhone: '',
auditName: '',
auditState: '',
uploadDate: ['', ''],
auditDate: ['', ''],
},
columns: [
{dataIndex: 'userName', width: 100, title: '姓名'},
{dataIndex: 'orderPhone', width: 100, title: '办理号码'},
{dataIndex: 'linkPhone', width: 100, title: '联系号码'},
{dataIndex: 'auditName', width: 100, title: '审核人姓名'},
{dataIndex: 'county', width: 80, title: '县分'},
{dataIndex: 'school', width: 120, title: '学校'},
{dataIndex: 'studentCardUrl', width: 180, title: '学生证封面照片', scopedSlots: {customRender: "studentCardUrl"}},
{dataIndex: 'otherImgUrl1', width: 180, title: '学生证内页照片', scopedSlots: {customRender: "otherImgUrl1"}},
{dataIndex: 'otherImgUrl2', width: 180, title: '身份证照片', scopedSlots: {customRender: "otherImgUrl2"}},
{dataIndex: 'otherImgUrl3', width: 180, title: '补充照片', scopedSlots: {customRender: "otherImgUrl3"}},
{dataIndex: 'isComboMoney49', width: 100, title: '办理号码是否新49', ellipsis: true, scopedSlots: {customRender: "isComboMoney49"}},
{dataIndex: 'isFull', width: 100, title: '是否已上传学生证照片、学校等必填信息', ellipsis: true, scopedSlots: {customRender: "isFull"}},
{dataIndex: 'isClear', width: 100, title: '学生证照片是否清晰', ellipsis: true, scopedSlots: {customRender: "isClear"}},
{dataIndex: 'isUnderYears', width: 100, title: '学生年龄是否25岁及以下', ellipsis: true, scopedSlots: {customRender: "isUnderYears"}},
{dataIndex: 'isStudentAccordance', width: 100, title: '号码被实名人员与上传学生证用户是否一致', ellipsis: true, scopedSlots: {customRender: "isStudentAccordance"}},
{dataIndex: 'isSchoolAccordance', width: 100, title: '学生证所属学校与号码所属学校是否一致', ellipsis: true, scopedSlots: {customRender: "isSchoolAccordance"}},
{dataIndex: 'isUploadBeforeActivate', width: 100, title: '资料上传时间是否早于CRM系统激活时间', ellipsis: true, scopedSlots: {customRender: "isUploadBeforeActivate"}},
{dataIndex: 'uploadDate', width: 100, title: '上传时间', scopedSlots: {customRender: "uploadDate"}},
{dataIndex: 'crnActivateDate', width: 100, title: 'crm激活时间', scopedSlots: {customRender: "crnActivateDate"}},
{dataIndex: 'isFirstUpload', width: 100, title: '是否首次上传', ellipsis: true, scopedSlots: {customRender: "isFirstUpload"}},
{dataIndex: 'agentBusinessman', width: 100, title: '代理商'},
{ dataIndex: 'auditState',width: 100,title: '是否通过审核',ellipsis: true,scopedSlots: {customRender: "auditState"}},
{dataIndex: 'auditDate', width: 100, title: '审核时间', scopedSlots: {customRender: "auditDate"}},
],
rowdata: parameter => {
let params = {
pageNo: parameter.pageNo,
pageSize: parameter.pageSize
}
let obj = cloneObject(this.queryParam)
return list(Object.assign(params, obj)).then(res => {
let data = {}
if (res.state !== 'success') {
this.$message.error("查询失败!", 5);
this.emptyText.emptyText = '查询失败!'
data = {
data: [],
pageSize: parameter.pageSize,
pageNo: 1,
totalCount: 0
}
} else {
data = {
data: res.data.records,
pageSize: parameter.pageSize,
pageNo: parameter.pageNo,
totalCount: res.data.total
}
}
return data
})
},
tempMode: ['month', 'month'],
apis: 'img/',
imgInfo: '',//require("../../../assets/img/previewAvatar.jpg"),
visiblepicture: false,
selectedRowKeys: [],
hasSelected: false,
}
},
methods: {
moment,
modifyfunction(data) {
if (data != undefined) {
this.Formtable.id = data.id
this.Formtable.userName = data.userName
this.Formtable.orderPhone = data.orderPhone
this.Formtable.linkPhone = data.linkPhone
this.Formtable.auditState = data.auditState
this.Formtable.uploadDate = data.uploadDate
this.Formtable.auditDate = data.auditDate
this.Formtable.studentCardUrl = data.studentCardUrl
this.Formtable.otherImgUrl1 = data.otherImgUrl1
this.Formtable.otherImgUrl2 = data.otherImgUrl2
this.Formtable.otherImgUrl3 = data.otherImgUrl3
}
this.modifyvisible = true;
},
start(auditState) {
console.log(auditState);
if(this.selectedRowKeys.length == 0){
alert("请勾选审核项!!!");
return;
}
if(this.selectedRowKeys.length == 1){
queryById({'ids': this.selectedRowKeys}).then(res => {
if (res.state == 'success') {
this.Formtable.id = res.data.id
this.Formtable.userName = res.data.userName
this.Formtable.orderPhone = res.data.orderPhone
this.Formtable.linkPhone = res.data.linkPhone
this.Formtable.uploadDate = res.data.uploadDate
this.Formtable.auditDate = res.data.auditDate
this.Formtable.studentCardUrl = res.data.studentCardUrl
this.Formtable.otherImgUrl1 = res.data.otherImgUrl1
this.Formtable.otherImgUrl2 = res.data.otherImgUrl2
this.Formtable.otherImgUrl3 = res.data.otherImgUrl3
this.Formtable.auditState = res.data.auditState
if(res.data.auditState == 1 || res.data.auditState == 2){
this.tempstate = '是'
}else if(res.data.auditState == 3){
this.tempstate = '否'
}else if(res.data.auditState == 4){
this.tempstate = '无效'
}
this.modifyvisible = true;
}
})
}else{
update({'ids': this.selectedRowKeys,'state':auditState}).then(res => {
if (res.state !== 'success') {
this.$message.error("审核失败!", 5);
}else{
setTimeout(() => {
this.loading = false;
this.selectedRowKeys = [];
}, 1000);
this.hasSelected = true;
this.$refs.table.refresh({search: true})
}
})
}
},
onSelectChange(selectedRowKeys) {
console.log('selectedRowKeys changed: ', selectedRowKeys);
this.selectedRowKeys = selectedRowKeys;
if(this.selectedRowKeys.length > 1){
this.hasSelected = true;
}else{
this.hasSelected = false;
}
},
onChange(date, dateString) {
//this.queryParam.uploadDate = dateString;
console.log(dateString);
},
onChange1(date, dateString) {
//this.queryParam.auditDate = dateString;
console.log(dateString);
},
pictureOnClose() {
this.imgInfo = ''
this.visiblepicture = false;
},
imgClick(res) {
this.imgInfo = this.apis + res
this.visiblepicture = true
},
excelOut() {
let obj = cloneObject(this.queryParam)
let nowdate = moment().format("YYYY-MM-DD");
//导出
exportFile(
excelOut(Object.assign(obj)),
"学生不限量证件清单" + nowdate + ".xlsx",
);
},
createfunctionOk() {
this.selectedRowKeys = []
this.selectedRowKeys.push(this.Formtable.id);
if(this.tempstate == '是'){
this.Formtable.auditState = 2
}else if(this.tempstate == '否'){
this.Formtable.auditState == 3
}else if(this.tempstate == '无效'){
this.Formtable.auditState = 4
}
update({'ids': this.selectedRowKeys,'state':this.Formtable.auditState}).then(res => {
if (res.state !== 'success') {
this.$message.error("审核失败!", 5);
}else{
setTimeout(() => {
this.loading = false;
this.selectedRowKeys = [];
}, 1000);
this.hasSelected = true;
this.$refs.table.refresh({search: true})
}
})
this.modifyvisible=false
this.clearmodel();
},
createfunctionCancel() {
this.modifyvisible=false
this.clearmodel0();
},
clearmodel() {
this.Formtable.id = ''
this.Formtable.userName = ''
this.Formtable.orderPhone = ''
this.Formtable.linkPhone = ''
this.Formtable.uploadDate = ''
this.Formtable.auditDate = ''
this.Formtable.studentCardUrl = ''
this.Formtable.otherImgUrl1 = ''
this.Formtable.otherImgUrl2 = ''
this.Formtable.otherImgUrl3 = ''
this.Formtable.auditState == ''
},
search() {
console.log("queryParam.month==================" + this.queryParam);
this.$refs.table.refresh({search: true})
},
},
mounted() {
}
}
</script>
<style scoped>
</style>
\ No newline at end of file
<template>
<div class="flex-container">
<!-- 查询区域 -->
<div class="table-page-search-wrapper">
<!-- 搜索区域 -->
<a-form layout="inline">
<a-row :gutter="24">
<a-col :md="4" :sm="8">
<a-form-item label="用户姓名">
<a-input placeholder="用户姓名" v-model="queryParam.userName" style="width: 8rem;"></a-input>
</a-form-item>
</a-col>
<a-col :md="4" :sm="8">
<a-form-item label="办理号码">
<a-input placeholder="办理号码" v-model="queryParam.orderPhone" style="width: 8rem;"></a-input>
</a-form-item>
</a-col>
<a-col :md="4" :sm="8">
<a-form-item label="联系号码">
<a-input placeholder="联系号码" v-model="queryParam.linkPhone" style="width: 8rem;"></a-input>
</a-form-item>
</a-col>
<a-col :md="4" :sm="8">
<a-form-item label="是否审核通过">
<a-select v-model="queryParam.auditState" style="width: 8rem;">
<a-select-option key="">--全部--</a-select-option>
<a-select-option key="1">未审核</a-select-option>
<a-select-option key="2"></a-select-option>
<a-select-option key="3"></a-select-option>
<a-select-option key="4">无效</a-select-option>
</a-select>
</a-form-item>
</a-col>
<a-col :md="4" :sm="8">
<a-form-item label="审核人">
<a-input placeholder="审核人" v-model="queryParam.auditName" style="width: 8rem;"></a-input>
</a-form-item>
</a-col>
<a-col :md="6" :sm="10">
<a-form-item label="上传资料时间">
<a-range-picker @change="onChange" v-model="queryParam.uploadDate"/>
</a-form-item>
</a-col>
<a-col :md="6" :sm="10">
<a-form-item label="审核时间">
<a-range-picker @change="onChange1" v-model="queryParam.auditDate"/>
</a-form-item>
</a-col>
<span class="table-page-search-submitButtons" style="float: left; overflow: hidden;">
<a-col :md="6" :sm="24">
<a-button @click="search()" type="primary">查询</a-button>
<a-divider type="vertical"/>
<a-button type="primary":disabled="hasSelected" :loading="loading" @click="start('2')">
审核
</a-button>
<a-divider type="vertical"/>
<a-button type="primary" :loading="loading" @click="start('2')">
批量通过
</a-button>
<a-divider type="vertical"/>
<a-button type="primary" :loading="loading" @click="start('3')">
批量不通过
</a-button>
<a-divider type="vertical"/>
<a-button @click="excelOut('')" type="primary">导出所有数据</a-button>
<a-divider type="vertical"/>
<a-button @click="excelOut('2')" type="primary">导出审核通过数据</a-button>
<a-divider type="vertical"/>
<a-button @click="excelOut('3')" type="primary">导出审核不通过数据</a-button>
</a-col>
</span>
</a-row>
</a-form>
</div>
<!--列表-->
<s-table :columns="columns" :row-selection="{ selectedRowKeys: selectedRowKeys, onChange: onSelectChange }" :data="rowdata" bordered ref="table" size="small" class="flex-filling" :locale="emptyText">
<!--拦截器-->
<template slot="uploadDate" slot-scope="text">
{{ text | dayjs}}
</template>
<!--拦截器-->
<template slot="crnActivateDate" slot-scope="text">
{{ text | dayjs}}
</template>
<!--拦截器-->
<template slot="auditDate" slot-scope="text">
{{ text | dayjs}}
</template>
<template slot="isComboMoney49" slot-scope="text">
<p v-if="text=='0'"></p>
<p v-if="text=='1'"></p>
<p v-else=""></p>
</template>
<template slot="isFull" slot-scope="text">
<p v-if="text=='0'"></p>
<p v-if="text=='1'"></p>
<p v-else=""></p>
</template>
<template slot="isClear" slot-scope="text">
<p v-if="text=='0'"></p>
<p v-if="text=='1'"></p>
<p v-else=""></p>
</template>
<template slot="isUnderYears" slot-scope="text">
<p v-if="text=='0'"></p>
<p v-if="text=='1'"></p>
<p v-else=""></p>
</template>
<template slot="isStudentAccordance" slot-scope="text">
<p v-if="text=='0'"></p>
<p v-if="text=='1'"></p>
<p v-else=""></p>
</template>
<template slot="isSchoolAccordance" slot-scope="text">
<p v-if="text=='0'"></p>
<p v-if="text=='1'"></p>
<p v-else=""></p>
</template>
<template slot="isUploadBeforeActivate" slot-scope="text">
<p v-if="text=='0'"></p>
<p v-if="text=='1'"></p>
<p v-else=""></p>
</template>
<template slot="isFirstUpload" slot-scope="text">
<p v-if="text=='0'"></p>
<p v-if="text=='1'"></p>
<p v-else=""></p>
</template>
<template slot="auditState" slot-scope="text">
<p v-if="text=='1'">未审核</p>
<p v-if="text=='2'">审核通过</p>
<p v-if="text=='3'">审核不通过</p>
<p v-if="text=='4'">无效</p>
<p v-else=""></p>
</template>
<template slot="studentCardUrl" slot-scope="text">
<van-image width="100" height="100" @click="imgClick(text)" :src="apis + text" />
<!--<van-image width="100" height="100" @click="imgClick('https://img.yzcdn.cn/vant/cat.jpeg')" src="https://img.yzcdn.cn/vant/cat.jpeg" />-->
</template>
<template slot="schoolCardUrl" slot-scope="text">
<van-image width="100" height="100" @click="imgClick(text)" :src="apis + text" />
<!--<van-image width="100" height="100" @click="imgClick('https://img.yzcdn.cn/vant/cat.jpeg')" src="https://img.yzcdn.cn/vant/cat.jpeg" />-->
</template>
<template slot="noticeUrl" slot-scope="text">
<van-image width="100" height="100" @click="imgClick(text)" :src="apis + text" />
<!--<van-image width="100" height="100" @click="imgClick('https://img.yzcdn.cn/vant/cat.jpeg')" src="https://img.yzcdn.cn/vant/cat.jpeg" />-->
</template>
<template slot="otherUrl" slot-scope="text">
<van-image width="100" height="100" @click="imgClick(text)" :src="apis + text" />
<!--<van-image width="100" height="100" @click="imgClick('https://img.yzcdn.cn/vant/cat.jpeg')" src="https://img.yzcdn.cn/vant/cat.jpeg" />-->
</template>
<!--<template slot="operation" slot-scope="text,record">
<span>
<a v-if="record.auditState == 1" @click="modifyfunction(record)">审核</a>
</span>
</template>-->
</s-table>
<!----弹框-->
<a-drawer
title="图片"
placement="right"
:closable="false"
@close="pictureOnClose"
:visible="visiblepicture"
width="30%"
>
<div>
<img class="bg-img" :src="imgInfo">
</div>
</a-drawer>
<!----弹框-->
<a-modal title="审核" :visible="modifyvisible" @ok="createfunctionOk" @cancel="createfunctionCancel" html-type="submit" width="824px">
<!-- 搜索区域 -->
<a-form layout="inline">
<a-form-item label="用户姓名">{{Formtable.userName}}</a-form-item>
<a-form-item label="办理号码">{{Formtable.orderPhone}}</a-form-item>
<br>
<a-form-item label="联系号码">{{Formtable.linkPhone}}</a-form-item>
<a-form-item label="上传资料时间">{{Formtable.uploadDate | dayjs}}</a-form-item>
<br>
<a-form-item label="上传图片1:">
<van-image width="100" height="100" @click="imgClick(Formtable.studentCardUrl)" :src="apis + Formtable.studentCardUrl" />
</a-form-item>
<a-form-item label="上传图片2">
<van-image width="100" height="100" @click="imgClick(Formtable.schoolCardUrl)" :src="apis + Formtable.schoolCardUrl" />
</a-form-item>
<a-form-item label="上传图片3">
<van-image width="100" height="100" @click="imgClick(Formtable.schoolCardUrl)" :src="apis + Formtable.noticeUrl" />
</a-form-item>
<br>
<a-form-item label="是否审核通过">
<a-select v-model="tempstate" style="width: 8rem;">
<a-select-option key="是"></a-select-option>
<a-select-option key="否"></a-select-option>
<a-select-option key="无效">无效</a-select-option>
</a-select>
</a-form-item>
</a-form>
</a-modal>
</div>
</template>
<script>
import STable from '@/components/table';
import ImportBtn from "../../../components/sysmanage/ImportBtn";
import {list, excelOut,update} from "@/api/school-center/studentdwkVerifyKpiAPI"
import {cloneObject, exportFile} from '@/utils/util';
import ConstantActivity from "@/constant/ConstantActivity";
import Vue from 'vue';
import moment from "moment";
import {DatetimePicker,Dialog} from 'vant';
import {queryById} from "../../../api/school-center/studentdwkVerifyKpiAPI";
import { Image as VanImage } from 'vant';
Vue.use(VanImage);
Vue.use(Dialog)
Vue.use(DatetimePicker);
export default {
name: "studentdwkVerify",
components: {
STable, ImportBtn
},
data() {
return {
emptyText: {emptyText: '暂无数据'},
modifyvisible: false,
Formtable: {
id: '',
userName: '',
orderPhone: '',
linkPhone: '',
auditState: '',
uploadDate: '',
auditDate: '',
studentCardUrl: '',
schoolCardUrl: '',
noticeUrl: '',
otherUrl: '',
},
tempstate: '',
title: ConstantActivity.title,
queryParam: {
userName: '',
orderPhone: '',
linkPhone: '',
auditName: '',
auditState: '',
uploadDate: ['', ''],
auditDate: ['', ''],
},
columns: [
{dataIndex: 'userName', width: 60, title: '姓名'},
{dataIndex: 'orderPhone', width: 100, title: '办理号码'},
{dataIndex: 'linkPhone', width: 100, title: '联系号码'},
{dataIndex: 'auditName', width: 100, title: '审核人姓名'},
{dataIndex: 'auditDate', width: 100, title: '审核时间', scopedSlots: {customRender: "auditDate"}},
{ dataIndex: 'auditState',width: 100,title: '是否通过审核',ellipsis: true,scopedSlots: {customRender: "auditState"}},
{dataIndex: 'studentCardUrl', width: 180, title: '学生证封面照片', scopedSlots: {customRender: "studentCardUrl"}},
{dataIndex: 'schoolCardUrl', width: 180, title: '学生证内页照片', scopedSlots: {customRender: "schoolCardUrl"}},
{dataIndex: 'noticeUrl', width: 180, title: '身份证照片', scopedSlots: {customRender: "noticeUrl"}},
{dataIndex: 'otherUrl', width: 180, title: '补充照片', scopedSlots: {customRender: "otherUrl"}},
{dataIndex: 'uploadDate', width: 100, title: '上传时间', scopedSlots: {customRender: "uploadDate"}},
{dataIndex: 'agentBusinessman', width: 60, title: '代理商'},
],
rowdata: parameter => {
let params = {
pageNo: parameter.pageNo,
pageSize: parameter.pageSize
}
let obj = cloneObject(this.queryParam)
return list(Object.assign(params, obj)).then(res => {
let data = {}
if (res.state !== 'success') {
this.$message.error("查询失败!", 5);
this.emptyText.emptyText = '查询失败!'
data = {
data: [],
pageSize: parameter.pageSize,
pageNo: 1,
totalCount: 0
}
} else {
data = {
data: res.data.records,
pageSize: parameter.pageSize,
pageNo: parameter.pageNo,
totalCount: res.data.total
}
}
return data
})
},
tempMode: ['month', 'month'],
apis: 'img/',
imgInfo: '',//require("../../../assets/img/previewAvatar.jpg"),
visiblepicture: false,
selectedRowKeys: [],
hasSelected: false,
}
},
methods: {
moment,
start(auditState) {
console.log(auditState);
if(this.selectedRowKeys.length == 0){
this.$message.error("请勾选审核项!!!");
return;
}
if(this.selectedRowKeys.length == 1){
queryById({'ids': this.selectedRowKeys}).then(res => {
if (res.state == 'success') {
this.Formtable.id = res.data.id
this.Formtable.userName = res.data.userName
this.Formtable.orderPhone = res.data.orderPhone
this.Formtable.linkPhone = res.data.linkPhone
this.Formtable.uploadDate = res.data.uploadDate
this.Formtable.auditDate = res.data.auditDate
this.Formtable.studentCardUrl = res.data.studentCardUrl
this.Formtable.schoolCardUrl = res.data.schoolCardUrl
this.Formtable.noticeUrl = res.data.noticeUrl
this.Formtable.otherUrl = res.data.otherUrl
this.Formtable.auditState = res.data.auditState
if(res.data.auditState == 1 || res.data.auditState == 2){
this.tempstate = '是'
}else if(res.data.auditState == 3){
this.tempstate = '否'
}else if(res.data.auditState == 4){
this.tempstate = '无效'
}
this.modifyvisible = true;
}
})
}else{
update({'ids': this.selectedRowKeys,'state':auditState}).then(res => {
if (res.state !== 'success') {
this.$message.error("审核失败!", 5);
}else{
setTimeout(() => {
this.loading = false;
this.selectedRowKeys = [];
}, 1000);
this.hasSelected = true;
this.$refs.table.refresh({search: true})
}
})
}
},
onSelectChange(selectedRowKeys) {
console.log('selectedRowKeys changed: ', selectedRowKeys);
this.selectedRowKeys = selectedRowKeys;
if(this.selectedRowKeys.length > 1){
this.hasSelected = true;
}else{
this.hasSelected = false;
}
},
onChange(date, dateString) {
//this.queryParam.uploadDate = dateString;
console.log(dateString);
},
onChange1(date, dateString) {
//this.queryParam.auditDate = dateString;
console.log(dateString);
},
pictureOnClose() {
this.imgInfo = ''
this.visiblepicture = false;
},
imgClick(res) {
this.imgInfo = this.apis + res
this.visiblepicture = true
},
excelOut(state) {
if(state != ''){
this.queryParam.auditState = state;
}
let nowdate = moment().format("YYYY-MM-DD");
//导出
exportFile(
excelOut(this.queryParam),
"大王卡证件稽核清单" + nowdate + ".xlsx",
);
},
createfunctionOk() {
this.selectedRowKeys = []
this.selectedRowKeys.push(this.Formtable.id);
if(this.tempstate == '是'){
this.Formtable.auditState = 2
}else if(this.tempstate == '否'){
this.Formtable.auditState == 3
}else if(this.tempstate == '无效'){
this.Formtable.auditState = 4
}
update({'ids': this.selectedRowKeys,'state':this.Formtable.auditState}).then(res => {
if (res.state !== 'success') {
this.$message.error("审核失败!", 5);
}else{
setTimeout(() => {
this.loading = false;
this.selectedRowKeys = [];
}, 1000);
this.hasSelected = true;
this.$refs.table.refresh({search: true})
}
})
this.modifyvisible=false
this.clearmodel();
},
createfunctionCancel() {
this.modifyvisible=false
this.clearmodel0();
},
clearmodel() {
this.Formtable.id = ''
this.Formtable.userName = ''
this.Formtable.orderPhone = ''
this.Formtable.linkPhone = ''
this.Formtable.uploadDate = ''
this.Formtable.auditDate = ''
this.Formtable.studentCardUrl = ''
this.Formtable.schoolCardUrl = ''
this.Formtable.noticeUrl = ''
this.Formtable.otherUrl = ''
this.Formtable.auditState == ''
},
search() {
console.log("queryParam.month==================" + this.queryParam);
this.$refs.table.refresh({search: true})
},
},
mounted() {
}
}
</script>
<style scoped>
</style>
\ No newline at end of file
......@@ -25,8 +25,7 @@
</div>
<!--列表-->
<s-table :columns="columns" :data="rowdata" bordered ref="table" size="small" class="flex-filling"
:locale="emptyText">
<s-table :columns="columns" :data="rowdata" bordered ref="table" size="small" class="flex-filling" :locale="emptyText">
<!--拦截器-->
<template slot="productLastUpdateTime" slot-scope="text">
{{ text | dayjs}}
......@@ -237,7 +236,8 @@
title: '操作',
scopedSlots: {customRender: 'operation'},
fixed: "right"
}]
}
]
,
rowdata: parameter => {
let params = {
......
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