|
|
@@ -2,14 +2,14 @@
|
|
|
<el-dialog
|
|
|
:visible.sync="showDialog"
|
|
|
:title="title"
|
|
|
- width="95%"
|
|
|
+ width="70%"
|
|
|
:modal-append-to-body="false"
|
|
|
style="text-align:left;"
|
|
|
@close="closeDialog"
|
|
|
:close-on-click-modal="false"
|
|
|
>
|
|
|
<div class="user-panel" v-loading="loading">
|
|
|
- <el-form ref="form" :model="formModel" >
|
|
|
+ <el-form ref="form" :model="formModel" label-width="150">
|
|
|
<el-row :gutter="20" >
|
|
|
<el-col :span="8">
|
|
|
<div class="grid-content bg-purple">
|
|
|
@@ -18,219 +18,127 @@
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
- <span class="fontText">账单备注</span>
|
|
|
- <span class="data">{{formModel.bak}}</span>
|
|
|
+ <span class="fontText">收款方</span>
|
|
|
+ <span class="data">{{formModel.payee}}</span>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <span class="fontText">收款账户</span>
|
|
|
+ <span class="data">{{formModel.collectionAccount}}</span>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row :gutter="20" >
|
|
|
+ <el-col :span="8">
|
|
|
+ <div class="grid-content bg-purple">
|
|
|
+ <span class="fontText">缴费单位</span>
|
|
|
+ <span class="data">{{formModel.companyName}}</span>
|
|
|
+ </div>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <span class="fontText" >推送用户</span>
|
|
|
+ <span class="data" >{{formModel.personName}}</span>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <span class="fontText">推送状态</span>
|
|
|
+ <span class="data" v-if="formModel.status=='0'" style="color:#F56C6C">未推送</span>
|
|
|
+ <span class="data" v-else-if="formModel.status=='1'" style="color:#67C23A">已推送</span>
|
|
|
+ <span class="data" v-else-if="formModel.status=='2'" style="color:#E6A23C">推送失败</span>
|
|
|
+ <span class="data" v-else-if="formModel.status=='3'" style="color:#909399">已关闭</span>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row :gutter="20" >
|
|
|
+ <el-col :span="8">
|
|
|
+ <div class="grid-content bg-purple">
|
|
|
+ <span class="fontText">推送时间</span>
|
|
|
+ <span class="data">{{formModel.pushTime}}</span>
|
|
|
+ </div>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
- <span class="fontText">收费项目</span>
|
|
|
- <span class="data">{{formModel.payServiceN}}</span>
|
|
|
+ <span class="fontText" >缴费状态</span>
|
|
|
+ <span class="data" v-if="formModel.payStatus=='10'" style="color:#F56C6C">未支付</span>
|
|
|
+ <span class="data" v-if="formModel.payStatus=='15'" style="color:#E6A23C">部分支付</span>
|
|
|
+ <span class="data" v-else-if="formModel.payStatus=='20'" style="color:#67C23A">已支付</span>
|
|
|
+ <span class="data" v-else-if="formModel.payStatus=='30'" style="color:#909399">已关闭</span>
|
|
|
+ <span class="data" v-else-if="formModel.payStatus=='40'" style="color:#909399">已退款</span>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <span class="fontText">支付方式</span>
|
|
|
+ <span class="data">{{formModel.payName}}</span>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
<el-row :gutter="20" >
|
|
|
<el-col :span="8">
|
|
|
<div class="grid-content bg-purple">
|
|
|
- <span class="fontText">收款方</span>
|
|
|
- <span class="data">{{formModel.payee}}</span>
|
|
|
+ <span class="fontText">支付时间</span>
|
|
|
+ <span class="data">{{formModel.payTime}}</span>
|
|
|
</div>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
- <span class="fontText" >收款账户</span>
|
|
|
- <span class="data" v-if="formModel.collectionAccount=='1'">物业账户</span>
|
|
|
- <span class="data" v-if="formModel.collectionAccount=='2'">企业账户</span>
|
|
|
+ <span class="fontText" >收款人</span>
|
|
|
+ <span class="data">{{formModel.payeePerson}}</span>
|
|
|
</el-col>
|
|
|
<el-col :span="8">
|
|
|
- <span class="fontText">推送时间</span>
|
|
|
- <span class="data">{{formModel.pushTime}}</span>
|
|
|
+ <span class="fontText">账单备注</span>
|
|
|
+ <span class="data">{{formModel.bak}}</span>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</el-form>
|
|
|
</div>
|
|
|
<el-divider></el-divider>
|
|
|
- <el-form ref="queryForm" :model="queryModel" inline class="demo-form-inline">
|
|
|
- <el-form-item label="待缴用户" prop="name">
|
|
|
- <el-input type="text" size="mini" v-model="queryModel.name"></el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="手机号码" prop="phone">
|
|
|
- <el-input type="text" size="mini" v-model="queryModel.phone"></el-input>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="所属单位" prop="unit">
|
|
|
- <el-select v-model="queryModel.unit" size="mini" filterable focus="" >
|
|
|
-
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="推送状态" prop="pushStatus">
|
|
|
- <el-select v-model="queryModel.pushStatus" size="mini">
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="缴费状态" prop="payService">
|
|
|
- <el-select v-model="queryModel.payService" size="mini">
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="支付方式" prop="payService">
|
|
|
- <el-select v-model="queryModel.payService" size="mini">
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="支付时间" prop="pushTimeRange">
|
|
|
- <el-date-picker
|
|
|
- v-model="queryModel.pushTimeRange"
|
|
|
- type="daterange"
|
|
|
- size="mini"
|
|
|
- range-separator="至"
|
|
|
- start-placeholder="开始时间"
|
|
|
- end-placeholder="结束时间"
|
|
|
- placeholder="选择时间范围"
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
- >
|
|
|
- </el-date-picker>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item>
|
|
|
- <el-button
|
|
|
+ <el-row class="button-group">
|
|
|
+ <el-button type="success" size="small" plain icon="el-icon-download" @click="exportXls()">导出数据</el-button>
|
|
|
+ <el-button
|
|
|
type="primary"
|
|
|
- size="mini"
|
|
|
- icon="ios-search"
|
|
|
- @click="changePage(1)"
|
|
|
- :loading="loading"
|
|
|
- >查询</el-button>
|
|
|
- <el-button
|
|
|
- type="info"
|
|
|
- size="mini"
|
|
|
- style="margin-left: 8px"
|
|
|
- @click="handleReset('queryForm')"
|
|
|
- >重置</el-button>
|
|
|
- </el-form-item>
|
|
|
- </el-form>
|
|
|
- <el-divider></el-divider>
|
|
|
- <template>
|
|
|
- <el-tabs v-model="activeName" @tab-click="handleClick">
|
|
|
- <el-tab-pane label="全部" name="first">
|
|
|
- <el-table :data="tableData" v-loading="loading" stripe>
|
|
|
- <el-table-column type="index" label="序号" width="50"></el-table-column>
|
|
|
- <el-table-column prop="name" label="姓名"></el-table-column>
|
|
|
- <el-table-column prop="phone" label="手机号码"></el-table-column>
|
|
|
- <el-table-column prop="unit" label="所属单位"></el-table-column>
|
|
|
- <el-table-column prop="unit" label="收费项目"></el-table-column>
|
|
|
- <el-table-column prop="unit" label="收费金额"></el-table-column>
|
|
|
- <el-table-column prop="unit" label="推送状态"></el-table-column>
|
|
|
- <el-table-column prop="unit" label="缴费状态"></el-table-column>
|
|
|
- <el-table-column prop="unit" label="支付方式"></el-table-column>
|
|
|
- <el-table-column prop="unit" label="支付时间"></el-table-column>
|
|
|
- <el-table-column prop="unit" label="操作"></el-table-column>
|
|
|
- </el-table>
|
|
|
- <el-pagination style="text-align: center;"
|
|
|
- :current-page.sync="pageIndex"
|
|
|
- :total="totalElements"
|
|
|
- :page-sizes="pageSizeList"
|
|
|
- @current-change="changePage"
|
|
|
- @size-change="pageSizeChange"
|
|
|
- layout="total, sizes, prev, pager, next, jumper"
|
|
|
- ></el-pagination>
|
|
|
- </el-tab-pane>
|
|
|
- <el-tab-pane label="已支付" name="second">
|
|
|
- <el-table :data="tableData" v-loading="loading" stripe>
|
|
|
- <el-table-column type="index" label="序号" width="50"></el-table-column>
|
|
|
- <el-table-column prop="name" label="姓名"></el-table-column>
|
|
|
- <el-table-column prop="phone" label="手机号码"></el-table-column>
|
|
|
- <el-table-column prop="unit" label="所属单位"></el-table-column>
|
|
|
- <el-table-column prop="unit" label="收费项目"></el-table-column>
|
|
|
- <el-table-column prop="unit" label="收费金额"></el-table-column>
|
|
|
- <el-table-column prop="unit" label="推送状态"></el-table-column>
|
|
|
- <el-table-column prop="unit" label="缴费状态"></el-table-column>
|
|
|
- <el-table-column prop="unit" label="支付方式"></el-table-column>
|
|
|
- <el-table-column prop="unit" label="支付时间"></el-table-column>
|
|
|
- <el-table-column prop="unit" label="操作"></el-table-column>
|
|
|
- </el-table>
|
|
|
- <el-pagination style="text-align: center;"
|
|
|
- :current-page.sync="pageIndex"
|
|
|
- :total="totalElements"
|
|
|
- :page-sizes="pageSizeList"
|
|
|
- @current-change="changePage"
|
|
|
- @size-change="pageSizeChange"
|
|
|
- layout="total, sizes, prev, pager, next, jumper"
|
|
|
- ></el-pagination>
|
|
|
- </el-tab-pane>
|
|
|
- <el-tab-pane label="未支付" name="third">
|
|
|
- <el-table :data="tableData" v-loading="loading" stripe>
|
|
|
- <el-table-column type="index" label="序号" width="50"></el-table-column>
|
|
|
- <el-table-column prop="name" label="姓名"></el-table-column>
|
|
|
- <el-table-column prop="phone" label="手机号码"></el-table-column>
|
|
|
- <el-table-column prop="unit" label="所属单位"></el-table-column>
|
|
|
- <el-table-column prop="unit" label="收费项目"></el-table-column>
|
|
|
- <el-table-column prop="unit" label="收费金额"></el-table-column>
|
|
|
- <el-table-column prop="unit" label="推送状态"></el-table-column>
|
|
|
- <el-table-column prop="unit" label="缴费状态"></el-table-column>
|
|
|
- <el-table-column prop="unit" label="支付方式"></el-table-column>
|
|
|
- <el-table-column prop="unit" label="支付时间"></el-table-column>
|
|
|
- <el-table-column prop="unit" label="操作"></el-table-column>
|
|
|
- </el-table>
|
|
|
- <el-pagination style="text-align: center;"
|
|
|
- :current-page.sync="pageIndex"
|
|
|
- :total="totalElements"
|
|
|
- :page-sizes="pageSizeList"
|
|
|
- @current-change="changePage"
|
|
|
- @size-change="pageSizeChange"
|
|
|
- layout="total, sizes, prev, pager, next, jumper"
|
|
|
- ></el-pagination>
|
|
|
- </el-tab-pane>
|
|
|
- <el-tab-pane label="已发送" name="fourth">
|
|
|
- <el-table :data="tableData" v-loading="loading" stripe>
|
|
|
- <el-table-column type="index" label="序号" width="50"></el-table-column>
|
|
|
- <el-table-column prop="name" label="姓名"></el-table-column>
|
|
|
- <el-table-column prop="phone" label="手机号码"></el-table-column>
|
|
|
- <el-table-column prop="unit" label="所属单位"></el-table-column>
|
|
|
- <el-table-column prop="unit" label="收费项目"></el-table-column>
|
|
|
- <el-table-column prop="unit" label="收费金额"></el-table-column>
|
|
|
- <el-table-column prop="unit" label="推送状态"></el-table-column>
|
|
|
- <el-table-column prop="unit" label="缴费状态"></el-table-column>
|
|
|
- <el-table-column prop="unit" label="支付方式"></el-table-column>
|
|
|
- <el-table-column prop="unit" label="支付时间"></el-table-column>
|
|
|
- <el-table-column prop="unit" label="操作"></el-table-column>
|
|
|
- </el-table>
|
|
|
- <el-pagination style="text-align: center;"
|
|
|
- :current-page.sync="pageIndex"
|
|
|
- :total="totalElements"
|
|
|
- :page-sizes="pageSizeList"
|
|
|
- @current-change="changePage"
|
|
|
- @size-change="pageSizeChange"
|
|
|
- layout="total, sizes, prev, pager, next, jumper"
|
|
|
- ></el-pagination>
|
|
|
- </el-tab-pane>
|
|
|
- <el-tab-pane label="未发送" name="fiveth">
|
|
|
- <el-table :data="tableData" v-loading="loading" stripe>
|
|
|
- <el-table-column type="index" label="序号" width="50"></el-table-column>
|
|
|
- <el-table-column prop="name" label="姓名"></el-table-column>
|
|
|
- <el-table-column prop="phone" label="手机号码"></el-table-column>
|
|
|
- <el-table-column prop="unit" label="所属单位"></el-table-column>
|
|
|
- <el-table-column prop="unit" label="收费项目"></el-table-column>
|
|
|
- <el-table-column prop="unit" label="收费金额"></el-table-column>
|
|
|
- <el-table-column prop="unit" label="推送状态"></el-table-column>
|
|
|
- <el-table-column prop="unit" label="缴费状态"></el-table-column>
|
|
|
- <el-table-column prop="unit" label="支付方式"></el-table-column>
|
|
|
- <el-table-column prop="unit" label="支付时间"></el-table-column>
|
|
|
- <el-table-column prop="unit" label="操作"></el-table-column>
|
|
|
- </el-table>
|
|
|
- <el-pagination style="text-align: center;"
|
|
|
- :current-page.sync="pageIndex"
|
|
|
- :total="totalElements"
|
|
|
- :page-sizes="pageSizeList"
|
|
|
- @current-change="changePage"
|
|
|
- @size-change="pageSizeChange"
|
|
|
- layout="total, sizes, prev, pager, next, jumper"
|
|
|
- ></el-pagination>
|
|
|
- </el-tab-pane>
|
|
|
- </el-tabs>
|
|
|
- </template>
|
|
|
+ size="small"
|
|
|
+ plain
|
|
|
+ icon="el-icon-edit"
|
|
|
+ @click="handleEdit" v-if="formModel.status=='0'"
|
|
|
+ >修改账单</el-button
|
|
|
+ >
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ size="small"
|
|
|
+ plain
|
|
|
+ icon="el-icon-edit"
|
|
|
+ disabled
|
|
|
+ @click="handleEdit" v-else
|
|
|
+ >修改账单</el-button
|
|
|
+ >
|
|
|
+ </el-row>
|
|
|
+ <el-table :data="tableData" v-loading="loading" stripe>
|
|
|
+ <el-table-column type="index" label="序号" width="80"></el-table-column>
|
|
|
+ <el-table-column prop="goodsName" label="收费项目"></el-table-column>
|
|
|
+ <el-table-column prop="beginEndTime" label="起止时间" width="300"></el-table-column>
|
|
|
+ <el-table-column prop="num" label="数量"></el-table-column>
|
|
|
+ <el-table-column prop="standard" label="收费标准(元)"></el-table-column>
|
|
|
+ <el-table-column prop="totalFee" label="收费金额(元)"></el-table-column>
|
|
|
+ </el-table>
|
|
|
+ <el-pagination style="text-align: center;"
|
|
|
+ :current-page.sync="pageIndex"
|
|
|
+ :total="totalElements"
|
|
|
+ :page-sizes="pageSizeList"
|
|
|
+ @current-change="changePage"
|
|
|
+ @size-change="pageSizeChange"
|
|
|
+ layout="total, sizes, prev, pager, next, jumper"
|
|
|
+ ></el-pagination>
|
|
|
+ <billPush-detail
|
|
|
+ v-if="showModal"
|
|
|
+ :businessKey="businessKey"
|
|
|
+ :title="modalTitle"
|
|
|
+ @close="onDetailModalClose"
|
|
|
+ ></billPush-detail>
|
|
|
+
|
|
|
</el-dialog>
|
|
|
</template>
|
|
|
<script>
|
|
|
import Constant from "@/constant";
|
|
|
import billPushApi from "@/api/business/billPush";
|
|
|
import billPushPersonApi from "@/api/business/billPushPerson";
|
|
|
+import billPushDetail from "./billPush-detail";
|
|
|
export default {
|
|
|
props: ["businessKey", "title"],
|
|
|
data() {
|
|
|
return{
|
|
|
formModel:{
|
|
|
-
|
|
|
},
|
|
|
queryModel: {
|
|
|
name: "",
|
|
|
@@ -249,6 +157,7 @@ export default {
|
|
|
activeName:"first",
|
|
|
showDialog: true,
|
|
|
loading: false,
|
|
|
+ showModal: false,
|
|
|
}
|
|
|
},
|
|
|
methods:{
|
|
|
@@ -258,29 +167,67 @@ export default {
|
|
|
handleClick(){
|
|
|
|
|
|
},
|
|
|
- changePage(pageIndex) {
|
|
|
+ handleEdit() {
|
|
|
+ this.modalTitle = "编辑";
|
|
|
+ this.operation = "edit";
|
|
|
+ this.businessKey = this.businessKey;
|
|
|
+ this.showModal = true;
|
|
|
+ },
|
|
|
+ changePage(pageIndex,exportFlag) {
|
|
|
var self = this;
|
|
|
self.loading = true;
|
|
|
|
|
|
- var mainId = self.businessKey;
|
|
|
+ var billPushId = self.businessKey;
|
|
|
|
|
|
self.pageIndex = pageIndex;
|
|
|
var formData = new FormData();
|
|
|
|
|
|
- formData.append("mainId", mainId);
|
|
|
+ formData.append("billPushId", billPushId);
|
|
|
formData.append("pageIndex", self.pageIndex);
|
|
|
- formData.append("pageSize", self.pageSize);
|
|
|
+
|
|
|
+
|
|
|
+ if(exportFlag!=null){
|
|
|
+ formData.append("exportFlag", exportFlag);
|
|
|
+ formData.append("pageSize", 10000);
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ formData.append("pageSize", self.pageSize);
|
|
|
+ }
|
|
|
|
|
|
|
|
|
- billPushPersonApi.pageList(formData)
|
|
|
+ billPushApi.goodsPageList(formData)
|
|
|
.then(function(response) {
|
|
|
self.loading = false;
|
|
|
|
|
|
- var jsonData = response.data.data;
|
|
|
+ var jsonData = response.data;
|
|
|
+
|
|
|
+ if(jsonData.result) {
|
|
|
+ if(exportFlag){
|
|
|
+ //导出
|
|
|
+ self.$message({
|
|
|
+ showClose: true,
|
|
|
+ type: "success",
|
|
|
+ message: `报表已生成,<a href="${jsonData.data}">请点击链接下载</a>`,
|
|
|
+ dangerouslyUseHTMLString: true,
|
|
|
+ duration: 30000
|
|
|
+ });
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ //分页查看
|
|
|
+ var page = jsonData.data;
|
|
|
|
|
|
- self.tableData = jsonData.data;
|
|
|
- self.totalPages = jsonData.totalPages;
|
|
|
- self.totalElements = jsonData.recordsTotal;
|
|
|
+ self.tableData = page.data;
|
|
|
+ self.totalPages = page.totalPages;
|
|
|
+ self.totalElements = page.recordsTotal;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else{
|
|
|
+ self.$message.warning(jsonData.message);
|
|
|
+ }
|
|
|
+
|
|
|
+ // self.tableData = jsonData.data;
|
|
|
+ // self.totalPages = jsonData.totalPages;
|
|
|
+ // self.totalElements = jsonData.recordsTotal;
|
|
|
})
|
|
|
.catch(error => {
|
|
|
self.loading = false;
|
|
|
@@ -291,15 +238,24 @@ export default {
|
|
|
pageSizeChange(pageSize) {
|
|
|
this.pageSize = pageSize;
|
|
|
},
|
|
|
+ onDetailModalClose(retObj) {
|
|
|
+ //保存成功后回调
|
|
|
+ this.showModal = false;
|
|
|
+ this.$emit("close", false);
|
|
|
+ },
|
|
|
+ exportXls() {
|
|
|
+ this.changePage(1,true);
|
|
|
+ }
|
|
|
+ },
|
|
|
+ components: {
|
|
|
+ "billPush-detail": billPushDetail
|
|
|
},
|
|
|
mounted: function() {
|
|
|
var self = this;
|
|
|
|
|
|
- this.changePage(1);
|
|
|
-
|
|
|
(function() {
|
|
|
if (self.businessKey.length == 0) {
|
|
|
- return billPushApi.createPerson();
|
|
|
+ return billPushApi.createGoods();
|
|
|
} else {
|
|
|
return billPushApi.detail(self.businessKey);
|
|
|
}
|
|
|
@@ -317,6 +273,8 @@ export default {
|
|
|
.catch(error => {
|
|
|
self.$message.error(error + "");
|
|
|
});
|
|
|
+
|
|
|
+ this.changePage(1,false);
|
|
|
}
|
|
|
}
|
|
|
</script>
|