|
@@ -0,0 +1,747 @@
|
|
|
+<template>
|
|
|
+ <div class="app-container">
|
|
|
+ <el-form :model="queryParams" ref="queryRef" :inline="true" v-show="showSearch" label-width="68px">
|
|
|
+ <el-form-item label="账号" prop="cardNo">
|
|
|
+ <el-input
|
|
|
+ v-model="queryParams.cardNo"
|
|
|
+ placeholder="请输入账号"
|
|
|
+ clearable
|
|
|
+ @keyup.enter="handleQuery"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="初始密码" prop="password">
|
|
|
+ <el-input
|
|
|
+ v-model="queryParams.password"
|
|
|
+ placeholder="请输入初始密码"
|
|
|
+ clearable
|
|
|
+ @keyup.enter="handleQuery"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="0电子卡" prop="type">
|
|
|
+ <el-select v-model="queryParams.type" placeholder="请选择0电子卡" clearable>
|
|
|
+ <el-option
|
|
|
+ v-for="dict in card_status"
|
|
|
+ :key="dict.value"
|
|
|
+ :label="dict.label"
|
|
|
+ :value="dict.value"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="0未开卡,1已开卡,2已激活," prop="status">
|
|
|
+ <el-select v-model="queryParams.status" placeholder="请选择0未开卡,1已开卡,2已激活," clearable>
|
|
|
+ <el-option
|
|
|
+ v-for="dict in card_status"
|
|
|
+ :key="dict.value"
|
|
|
+ :label="dict.label"
|
|
|
+ :value="dict.value"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="0未分配,1已分配" prop="distributeStatus">
|
|
|
+ <el-select v-model="queryParams.distributeStatus" placeholder="请选择0未分配,1已分配" clearable>
|
|
|
+ <el-option
|
|
|
+ v-for="dict in card_status"
|
|
|
+ :key="dict.value"
|
|
|
+ :label="dict.label"
|
|
|
+ :value="dict.value"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="9已过期,10已关卡,11已失效" prop="timeStatus">
|
|
|
+ <el-select v-model="queryParams.timeStatus" placeholder="请选择9已过期,10已关卡,11已失效" clearable>
|
|
|
+ <el-option
|
|
|
+ v-for="dict in card_status"
|
|
|
+ :key="dict.value"
|
|
|
+ :label="dict.label"
|
|
|
+ :value="dict.value"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="0=未缴费,1=已缴费,2=已退费" prop="payStatus">
|
|
|
+ <el-select v-model="queryParams.payStatus" placeholder="请选择0=未缴费,1=已缴费,2=已退费" clearable>
|
|
|
+ <el-option
|
|
|
+ v-for="dict in card_status"
|
|
|
+ :key="dict.value"
|
|
|
+ :label="dict.label"
|
|
|
+ :value="dict.value"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="是否结算(0:否,1:是)" prop="isSettlement">
|
|
|
+ <el-select v-model="queryParams.isSettlement" placeholder="请选择是否结算(0:否,1:是)" clearable>
|
|
|
+ <el-option
|
|
|
+ v-for="dict in sys_yes_no"
|
|
|
+ :key="dict.value"
|
|
|
+ :label="dict.label"
|
|
|
+ :value="dict.value"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="一级代理商ID" prop="agentId">
|
|
|
+ <el-input
|
|
|
+ v-model="queryParams.agentId"
|
|
|
+ placeholder="请输入一级代理商ID"
|
|
|
+ clearable
|
|
|
+ @keyup.enter="handleQuery"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="末级代理商ID" prop="leftAgentId">
|
|
|
+ <el-input
|
|
|
+ v-model="queryParams.leftAgentId"
|
|
|
+ placeholder="请输入末级代理商ID"
|
|
|
+ clearable
|
|
|
+ @keyup.enter="handleQuery"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="安排校区" prop="campusId">
|
|
|
+ <el-input
|
|
|
+ v-model="queryParams.campusId"
|
|
|
+ placeholder="请输入安排校区"
|
|
|
+ clearable
|
|
|
+ @keyup.enter="handleQuery"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="分配学校" prop="assignSchoolId">
|
|
|
+ <el-input
|
|
|
+ v-model="queryParams.assignSchoolId"
|
|
|
+ placeholder="请输入分配学校"
|
|
|
+ clearable
|
|
|
+ @keyup.enter="handleQuery"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="校区id" prop="schoolId">
|
|
|
+ <el-input
|
|
|
+ v-model="queryParams.schoolId"
|
|
|
+ placeholder="请输入校区id"
|
|
|
+ clearable
|
|
|
+ @keyup.enter="handleQuery"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="校区班级ID" prop="classesId">
|
|
|
+ <el-input
|
|
|
+ v-model="queryParams.classesId"
|
|
|
+ placeholder="请输入校区班级ID"
|
|
|
+ clearable
|
|
|
+ @keyup.enter="handleQuery"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="班级/入学年份" prop="year">
|
|
|
+ <el-input
|
|
|
+ v-model="queryParams.year"
|
|
|
+ placeholder="请输入班级/入学年份"
|
|
|
+ clearable
|
|
|
+ @keyup.enter="handleQuery"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="高考年份" prop="endYear">
|
|
|
+ <el-input
|
|
|
+ v-model="queryParams.endYear"
|
|
|
+ placeholder="请输入高考年份"
|
|
|
+ clearable
|
|
|
+ @keyup.enter="handleQuery"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="开卡ID" prop="openId">
|
|
|
+ <el-input
|
|
|
+ v-model="queryParams.openId"
|
|
|
+ placeholder="请输入开卡ID"
|
|
|
+ clearable
|
|
|
+ @keyup.enter="handleQuery"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="分配时间" prop="distributeTime">
|
|
|
+ <el-date-picker clearable
|
|
|
+ v-model="queryParams.distributeTime"
|
|
|
+ type="date"
|
|
|
+ value-format="YYYY-MM-DD"
|
|
|
+ placeholder="请选择分配时间">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="过期时间" prop="outDate">
|
|
|
+ <el-date-picker clearable
|
|
|
+ v-model="queryParams.outDate"
|
|
|
+ type="date"
|
|
|
+ value-format="YYYY-MM-DD"
|
|
|
+ placeholder="请选择过期时间">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="开卡时间" prop="openTime">
|
|
|
+ <el-date-picker clearable
|
|
|
+ v-model="queryParams.openTime"
|
|
|
+ type="date"
|
|
|
+ value-format="YYYY-MM-DD"
|
|
|
+ placeholder="请选择开卡时间">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="缴费时间" prop="payTime">
|
|
|
+ <el-date-picker clearable
|
|
|
+ v-model="queryParams.payTime"
|
|
|
+ type="date"
|
|
|
+ value-format="YYYY-MM-DD"
|
|
|
+ placeholder="请选择缴费时间">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="激活时间" prop="activeTime">
|
|
|
+ <el-date-picker clearable
|
|
|
+ v-model="queryParams.activeTime"
|
|
|
+ type="date"
|
|
|
+ value-format="YYYY-MM-DD"
|
|
|
+ placeholder="请选择激活时间">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="结算时间" prop="settlementTime">
|
|
|
+ <el-date-picker clearable
|
|
|
+ v-model="queryParams.settlementTime"
|
|
|
+ type="date"
|
|
|
+ value-format="YYYY-MM-DD"
|
|
|
+ placeholder="请选择结算时间">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="退费时间" prop="refundTime">
|
|
|
+ <el-date-picker clearable
|
|
|
+ v-model="queryParams.refundTime"
|
|
|
+ type="date"
|
|
|
+ value-format="YYYY-MM-DD"
|
|
|
+ placeholder="请选择退费时间">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="关卡时间" prop="closeTime">
|
|
|
+ <el-date-picker clearable
|
|
|
+ v-model="queryParams.closeTime"
|
|
|
+ type="date"
|
|
|
+ value-format="YYYY-MM-DD"
|
|
|
+ placeholder="请选择关卡时间">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item>
|
|
|
+ <el-button type="primary" icon="Search" @click="handleQuery">搜索</el-button>
|
|
|
+ <el-button icon="Refresh" @click="resetQuery">重置</el-button>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+
|
|
|
+ <el-row :gutter="10" class="mb8">
|
|
|
+ <el-col :span="1.5">
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ plain
|
|
|
+ icon="Plus"
|
|
|
+ @click="handleAdd"
|
|
|
+ v-hasPermi="['dz:cards:add']"
|
|
|
+ >新增</el-button>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="1.5">
|
|
|
+ <el-button
|
|
|
+ type="success"
|
|
|
+ plain
|
|
|
+ icon="Edit"
|
|
|
+ :disabled="single"
|
|
|
+ @click="handleUpdate"
|
|
|
+ v-hasPermi="['dz:cards:edit']"
|
|
|
+ >修改</el-button>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="1.5">
|
|
|
+ <el-button
|
|
|
+ type="danger"
|
|
|
+ plain
|
|
|
+ icon="Delete"
|
|
|
+ :disabled="multiple"
|
|
|
+ @click="handleDelete"
|
|
|
+ v-hasPermi="['dz:cards:remove']"
|
|
|
+ >删除</el-button>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="1.5">
|
|
|
+ <el-button
|
|
|
+ type="warning"
|
|
|
+ plain
|
|
|
+ icon="Download"
|
|
|
+ @click="handleExport"
|
|
|
+ v-hasPermi="['dz:cards:export']"
|
|
|
+ >导出</el-button>
|
|
|
+ </el-col>
|
|
|
+ <right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+ <el-table v-loading="loading" :data="cardsList" @selection-change="handleSelectionChange">
|
|
|
+ <el-table-column type="selection" width="55" align="center" />
|
|
|
+ <el-table-column label="ID" align="center" prop="cardId" />
|
|
|
+ <el-table-column label="账号" align="center" prop="cardNo" />
|
|
|
+ <el-table-column label="初始密码" align="center" prop="password" />
|
|
|
+ <el-table-column label="0电子卡" align="center" prop="type">
|
|
|
+ <template #default="scope">
|
|
|
+ <dict-tag :options="card_status" :value="scope.row.type"/>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="0未开卡,1已开卡,2已激活," align="center" prop="status">
|
|
|
+ <template #default="scope">
|
|
|
+ <dict-tag :options="card_status" :value="scope.row.status"/>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="0未分配,1已分配" align="center" prop="distributeStatus">
|
|
|
+ <template #default="scope">
|
|
|
+ <dict-tag :options="card_status" :value="scope.row.distributeStatus"/>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="9已过期,10已关卡,11已失效" align="center" prop="timeStatus">
|
|
|
+ <template #default="scope">
|
|
|
+ <dict-tag :options="card_status" :value="scope.row.timeStatus"/>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="0=未缴费,1=已缴费,2=已退费" align="center" prop="payStatus">
|
|
|
+ <template #default="scope">
|
|
|
+ <dict-tag :options="card_status" :value="scope.row.payStatus"/>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="是否结算(0:否,1:是)" align="center" prop="isSettlement">
|
|
|
+ <template #default="scope">
|
|
|
+ <dict-tag :options="sys_yes_no" :value="scope.row.isSettlement"/>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="机构ID" align="center" prop="deptId" />
|
|
|
+ <el-table-column label="一级代理商ID" align="center" prop="agentId" />
|
|
|
+ <el-table-column label="末级代理商ID" align="center" prop="leftAgentId" />
|
|
|
+ <el-table-column label="安排校区" align="center" prop="campusId" />
|
|
|
+ <el-table-column label="分配学校" align="center" prop="assignSchoolId" />
|
|
|
+ <el-table-column label="校区id" align="center" prop="schoolId" />
|
|
|
+ <el-table-column label="校区班级ID" align="center" prop="classesId" />
|
|
|
+ <el-table-column label="班级/入学年份" align="center" prop="year" />
|
|
|
+ <el-table-column label="高考年份" align="center" prop="endYear" />
|
|
|
+ <el-table-column label="开卡ID" align="center" prop="openId" />
|
|
|
+ <el-table-column label="备注" align="center" prop="remark" />
|
|
|
+ <el-table-column label="分配时间" align="center" prop="distributeTime" width="180">
|
|
|
+ <template #default="scope">
|
|
|
+ <span>{{ parseTime(scope.row.distributeTime, '{y}-{m}-{d}') }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="过期时间" align="center" prop="outDate" width="180">
|
|
|
+ <template #default="scope">
|
|
|
+ <span>{{ parseTime(scope.row.outDate, '{y}-{m}-{d}') }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="开卡时间" align="center" prop="openTime" width="180">
|
|
|
+ <template #default="scope">
|
|
|
+ <span>{{ parseTime(scope.row.openTime, '{y}-{m}-{d}') }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="缴费时间" align="center" prop="payTime" width="180">
|
|
|
+ <template #default="scope">
|
|
|
+ <span>{{ parseTime(scope.row.payTime, '{y}-{m}-{d}') }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="激活时间" align="center" prop="activeTime" width="180">
|
|
|
+ <template #default="scope">
|
|
|
+ <span>{{ parseTime(scope.row.activeTime, '{y}-{m}-{d}') }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="结算时间" align="center" prop="settlementTime" width="180">
|
|
|
+ <template #default="scope">
|
|
|
+ <span>{{ parseTime(scope.row.settlementTime, '{y}-{m}-{d}') }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="退费时间" align="center" prop="refundTime" width="180">
|
|
|
+ <template #default="scope">
|
|
|
+ <span>{{ parseTime(scope.row.refundTime, '{y}-{m}-{d}') }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="关卡时间" align="center" prop="closeTime" width="180">
|
|
|
+ <template #default="scope">
|
|
|
+ <span>{{ parseTime(scope.row.closeTime, '{y}-{m}-{d}') }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
|
+ <template #default="scope">
|
|
|
+ <el-button link type="primary" icon="Edit" @click="handleUpdate(scope.row)" v-hasPermi="['dz:cards:edit']">修改</el-button>
|
|
|
+ <el-button link type="primary" icon="Delete" @click="handleDelete(scope.row)" v-hasPermi="['dz:cards:remove']">删除</el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+
|
|
|
+ <pagination
|
|
|
+ v-show="total>0"
|
|
|
+ :total="total"
|
|
|
+ v-model:page="queryParams.pageNum"
|
|
|
+ v-model:limit="queryParams.pageSize"
|
|
|
+ @pagination="getList"
|
|
|
+ />
|
|
|
+
|
|
|
+ <!-- 添加或修改学习卡对话框 -->
|
|
|
+ <el-dialog :title="title" v-model="open" width="500px" append-to-body>
|
|
|
+ <el-form ref="cardsRef" :model="form" :rules="rules" label-width="80px">
|
|
|
+ <el-form-item label="账号" prop="cardNo">
|
|
|
+ <el-input v-model="form.cardNo" placeholder="请输入账号" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="初始密码" prop="password">
|
|
|
+ <el-input v-model="form.password" placeholder="请输入初始密码" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="0电子卡" prop="type">
|
|
|
+ <el-select v-model="form.type" placeholder="请选择0电子卡">
|
|
|
+ <el-option
|
|
|
+ v-for="dict in card_status"
|
|
|
+ :key="dict.value"
|
|
|
+ :label="dict.label"
|
|
|
+ :value="parseInt(dict.value)"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="0未开卡,1已开卡,2已激活," prop="status">
|
|
|
+ <el-select v-model="form.status" placeholder="请选择0未开卡,1已开卡,2已激活,">
|
|
|
+ <el-option
|
|
|
+ v-for="dict in card_status"
|
|
|
+ :key="dict.value"
|
|
|
+ :label="dict.label"
|
|
|
+ :value="parseInt(dict.value)"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="0未分配,1已分配" prop="distributeStatus">
|
|
|
+ <el-select v-model="form.distributeStatus" placeholder="请选择0未分配,1已分配">
|
|
|
+ <el-option
|
|
|
+ v-for="dict in card_status"
|
|
|
+ :key="dict.value"
|
|
|
+ :label="dict.label"
|
|
|
+ :value="parseInt(dict.value)"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="9已过期,10已关卡,11已失效" prop="timeStatus">
|
|
|
+ <el-select v-model="form.timeStatus" placeholder="请选择9已过期,10已关卡,11已失效">
|
|
|
+ <el-option
|
|
|
+ v-for="dict in card_status"
|
|
|
+ :key="dict.value"
|
|
|
+ :label="dict.label"
|
|
|
+ :value="parseInt(dict.value)"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="0=未缴费,1=已缴费,2=已退费" prop="payStatus">
|
|
|
+ <el-select v-model="form.payStatus" placeholder="请选择0=未缴费,1=已缴费,2=已退费">
|
|
|
+ <el-option
|
|
|
+ v-for="dict in card_status"
|
|
|
+ :key="dict.value"
|
|
|
+ :label="dict.label"
|
|
|
+ :value="parseInt(dict.value)"
|
|
|
+ ></el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="是否结算(0:否,1:是)" prop="isSettlement">
|
|
|
+ <el-radio-group v-model="form.isSettlement">
|
|
|
+ <el-radio
|
|
|
+ v-for="dict in sys_yes_no"
|
|
|
+ :key="dict.value"
|
|
|
+ :label="parseInt(dict.value)"
|
|
|
+ >{{dict.label}}</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="一级代理商ID" prop="agentId">
|
|
|
+ <el-input v-model="form.agentId" placeholder="请输入一级代理商ID" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="末级代理商ID" prop="leftAgentId">
|
|
|
+ <el-input v-model="form.leftAgentId" placeholder="请输入末级代理商ID" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="安排校区" prop="campusId">
|
|
|
+ <el-input v-model="form.campusId" placeholder="请输入安排校区" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="分配学校" prop="assignSchoolId">
|
|
|
+ <el-input v-model="form.assignSchoolId" placeholder="请输入分配学校" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="校区id" prop="schoolId">
|
|
|
+ <el-input v-model="form.schoolId" placeholder="请输入校区id" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="校区班级ID" prop="classesId">
|
|
|
+ <el-input v-model="form.classesId" placeholder="请输入校区班级ID" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="班级/入学年份" prop="year">
|
|
|
+ <el-input v-model="form.year" placeholder="请输入班级/入学年份" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="高考年份" prop="endYear">
|
|
|
+ <el-input v-model="form.endYear" placeholder="请输入高考年份" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="开卡ID" prop="openId">
|
|
|
+ <el-input v-model="form.openId" placeholder="请输入开卡ID" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="备注" prop="remark">
|
|
|
+ <el-input v-model="form.remark" placeholder="请输入备注" />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="分配时间" prop="distributeTime">
|
|
|
+ <el-date-picker clearable
|
|
|
+ v-model="form.distributeTime"
|
|
|
+ type="date"
|
|
|
+ value-format="YYYY-MM-DD"
|
|
|
+ placeholder="请选择分配时间">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="过期时间" prop="outDate">
|
|
|
+ <el-date-picker clearable
|
|
|
+ v-model="form.outDate"
|
|
|
+ type="date"
|
|
|
+ value-format="YYYY-MM-DD"
|
|
|
+ placeholder="请选择过期时间">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="开卡时间" prop="openTime">
|
|
|
+ <el-date-picker clearable
|
|
|
+ v-model="form.openTime"
|
|
|
+ type="date"
|
|
|
+ value-format="YYYY-MM-DD"
|
|
|
+ placeholder="请选择开卡时间">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="缴费时间" prop="payTime">
|
|
|
+ <el-date-picker clearable
|
|
|
+ v-model="form.payTime"
|
|
|
+ type="date"
|
|
|
+ value-format="YYYY-MM-DD"
|
|
|
+ placeholder="请选择缴费时间">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="激活时间" prop="activeTime">
|
|
|
+ <el-date-picker clearable
|
|
|
+ v-model="form.activeTime"
|
|
|
+ type="date"
|
|
|
+ value-format="YYYY-MM-DD"
|
|
|
+ placeholder="请选择激活时间">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="结算时间" prop="settlementTime">
|
|
|
+ <el-date-picker clearable
|
|
|
+ v-model="form.settlementTime"
|
|
|
+ type="date"
|
|
|
+ value-format="YYYY-MM-DD"
|
|
|
+ placeholder="请选择结算时间">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="退费时间" prop="refundTime">
|
|
|
+ <el-date-picker clearable
|
|
|
+ v-model="form.refundTime"
|
|
|
+ type="date"
|
|
|
+ value-format="YYYY-MM-DD"
|
|
|
+ placeholder="请选择退费时间">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="关卡时间" prop="closeTime">
|
|
|
+ <el-date-picker clearable
|
|
|
+ v-model="form.closeTime"
|
|
|
+ type="date"
|
|
|
+ value-format="YYYY-MM-DD"
|
|
|
+ placeholder="请选择关卡时间">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-form>
|
|
|
+ <template #footer>
|
|
|
+ <div class="dialog-footer">
|
|
|
+ <el-button type="primary" @click="submitForm">确 定</el-button>
|
|
|
+ <el-button @click="cancel">取 消</el-button>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-dialog>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script setup name="Cards">
|
|
|
+import { listCards, getCards, delCards, addCards, updateCards } from "@/api/dz/cards"
|
|
|
+
|
|
|
+const { proxy } = getCurrentInstance()
|
|
|
+const { card_status, sys_yes_no } = proxy.useDict('card_status', 'sys_yes_no')
|
|
|
+
|
|
|
+const cardsList = ref([])
|
|
|
+const open = ref(false)
|
|
|
+const loading = ref(true)
|
|
|
+const showSearch = ref(true)
|
|
|
+const ids = ref([])
|
|
|
+const single = ref(true)
|
|
|
+const multiple = ref(true)
|
|
|
+const total = ref(0)
|
|
|
+const title = ref("")
|
|
|
+
|
|
|
+const data = reactive({
|
|
|
+ form: {},
|
|
|
+ queryParams: {
|
|
|
+ pageNum: 1,
|
|
|
+ pageSize: 10,
|
|
|
+ cardNo: null,
|
|
|
+ password: null,
|
|
|
+ type: null,
|
|
|
+ status: null,
|
|
|
+ distributeStatus: null,
|
|
|
+ timeStatus: null,
|
|
|
+ payStatus: null,
|
|
|
+ isSettlement: null,
|
|
|
+ deptId: null,
|
|
|
+ agentId: null,
|
|
|
+ leftAgentId: null,
|
|
|
+ campusId: null,
|
|
|
+ assignSchoolId: null,
|
|
|
+ schoolId: null,
|
|
|
+ classesId: null,
|
|
|
+ year: null,
|
|
|
+ endYear: null,
|
|
|
+ openId: null,
|
|
|
+ distributeTime: null,
|
|
|
+ outDate: null,
|
|
|
+ openTime: null,
|
|
|
+ payTime: null,
|
|
|
+ activeTime: null,
|
|
|
+ settlementTime: null,
|
|
|
+ refundTime: null,
|
|
|
+ closeTime: null,
|
|
|
+ },
|
|
|
+ rules: {
|
|
|
+ type: [
|
|
|
+ { required: true, message: "0电子卡不能为空", trigger: "change" }
|
|
|
+ ],
|
|
|
+ status: [
|
|
|
+ { required: true, message: "0未开卡,1已开卡,2已激活,不能为空", trigger: "change" }
|
|
|
+ ],
|
|
|
+ distributeStatus: [
|
|
|
+ { required: true, message: "0未分配,1已分配不能为空", trigger: "change" }
|
|
|
+ ],
|
|
|
+ timeStatus: [
|
|
|
+ { required: true, message: "9已过期,10已关卡,11已失效不能为空", trigger: "change" }
|
|
|
+ ],
|
|
|
+ payStatus: [
|
|
|
+ { required: true, message: "0=未缴费,1=已缴费,2=已退费不能为空", trigger: "change" }
|
|
|
+ ],
|
|
|
+ isSettlement: [
|
|
|
+ { required: true, message: "是否结算(0:否,1:是)不能为空", trigger: "change" }
|
|
|
+ ],
|
|
|
+ createTime: [
|
|
|
+ { required: true, message: "生成时间不能为空", trigger: "blur" }
|
|
|
+ ],
|
|
|
+ updateTime: [
|
|
|
+ { required: true, message: "更新时间不能为空", trigger: "blur" }
|
|
|
+ ]
|
|
|
+ }
|
|
|
+})
|
|
|
+
|
|
|
+const { queryParams, form, rules } = toRefs(data)
|
|
|
+
|
|
|
+/** 查询学习卡列表 */
|
|
|
+function getList() {
|
|
|
+ loading.value = true
|
|
|
+ listCards(queryParams.value).then(response => {
|
|
|
+ cardsList.value = response.rows
|
|
|
+ total.value = response.total
|
|
|
+ loading.value = false
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+// 取消按钮
|
|
|
+function cancel() {
|
|
|
+ open.value = false
|
|
|
+ reset()
|
|
|
+}
|
|
|
+
|
|
|
+// 表单重置
|
|
|
+function reset() {
|
|
|
+ form.value = {
|
|
|
+ cardId: null,
|
|
|
+ cardNo: null,
|
|
|
+ password: null,
|
|
|
+ type: null,
|
|
|
+ status: null,
|
|
|
+ distributeStatus: null,
|
|
|
+ timeStatus: null,
|
|
|
+ payStatus: null,
|
|
|
+ isSettlement: null,
|
|
|
+ deptId: null,
|
|
|
+ agentId: null,
|
|
|
+ leftAgentId: null,
|
|
|
+ campusId: null,
|
|
|
+ assignSchoolId: null,
|
|
|
+ schoolId: null,
|
|
|
+ classesId: null,
|
|
|
+ year: null,
|
|
|
+ endYear: null,
|
|
|
+ openId: null,
|
|
|
+ remark: null,
|
|
|
+ distributeTime: null,
|
|
|
+ outDate: null,
|
|
|
+ openTime: null,
|
|
|
+ payTime: null,
|
|
|
+ activeTime: null,
|
|
|
+ settlementTime: null,
|
|
|
+ refundTime: null,
|
|
|
+ closeTime: null,
|
|
|
+ createTime: null,
|
|
|
+ updateTime: null
|
|
|
+ }
|
|
|
+ proxy.resetForm("cardsRef")
|
|
|
+}
|
|
|
+
|
|
|
+/** 搜索按钮操作 */
|
|
|
+function handleQuery() {
|
|
|
+ queryParams.value.pageNum = 1
|
|
|
+ getList()
|
|
|
+}
|
|
|
+
|
|
|
+/** 重置按钮操作 */
|
|
|
+function resetQuery() {
|
|
|
+ proxy.resetForm("queryRef")
|
|
|
+ handleQuery()
|
|
|
+}
|
|
|
+
|
|
|
+// 多选框选中数据
|
|
|
+function handleSelectionChange(selection) {
|
|
|
+ ids.value = selection.map(item => item.cardId)
|
|
|
+ single.value = selection.length != 1
|
|
|
+ multiple.value = !selection.length
|
|
|
+}
|
|
|
+
|
|
|
+/** 新增按钮操作 */
|
|
|
+function handleAdd() {
|
|
|
+ reset()
|
|
|
+ open.value = true
|
|
|
+ title.value = "添加学习卡"
|
|
|
+}
|
|
|
+
|
|
|
+/** 修改按钮操作 */
|
|
|
+function handleUpdate(row) {
|
|
|
+ reset()
|
|
|
+ const _cardId = row.cardId || ids.value
|
|
|
+ getCards(_cardId).then(response => {
|
|
|
+ form.value = response.data
|
|
|
+ open.value = true
|
|
|
+ title.value = "修改学习卡"
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+/** 提交按钮 */
|
|
|
+function submitForm() {
|
|
|
+ proxy.$refs["cardsRef"].validate(valid => {
|
|
|
+ if (valid) {
|
|
|
+ if (form.value.cardId != null) {
|
|
|
+ updateCards(form.value).then(response => {
|
|
|
+ proxy.$modal.msgSuccess("修改成功")
|
|
|
+ open.value = false
|
|
|
+ getList()
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ addCards(form.value).then(response => {
|
|
|
+ proxy.$modal.msgSuccess("新增成功")
|
|
|
+ open.value = false
|
|
|
+ getList()
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+/** 删除按钮操作 */
|
|
|
+function handleDelete(row) {
|
|
|
+ const _cardIds = row.cardId || ids.value
|
|
|
+ proxy.$modal.confirm('是否确认删除学习卡编号为"' + _cardIds + '"的数据项?').then(function() {
|
|
|
+ return delCards(_cardIds)
|
|
|
+ }).then(() => {
|
|
|
+ getList()
|
|
|
+ proxy.$modal.msgSuccess("删除成功")
|
|
|
+ }).catch(() => {})
|
|
|
+}
|
|
|
+
|
|
|
+/** 导出按钮操作 */
|
|
|
+function handleExport() {
|
|
|
+ proxy.download('dz/cards/export', {
|
|
|
+ ...queryParams.value
|
|
|
+ }, `cards_${new Date().getTime()}.xlsx`)
|
|
|
+}
|
|
|
+
|
|
|
+getList()
|
|
|
+</script>
|