Преглед изворни кода

2022年5月13日15:44:30

master
wq пре 3 година
родитељ
комит
95ae596c0e

+ 1
- 1
.env.development Прегледај датотеку

@@ -3,4 +3,4 @@ ENV = 'development'

# .env.development
# base api
VITE_APP_BASE_URL = 'http://localhost:8080'
VITE_APP_BASE_URL = '10.52.0.172:10389/csms/'

+ 1
- 1
.env.production Прегледај датотеку

@@ -3,4 +3,4 @@ ENV = 'production'

# .env.production
# base api
VITE_APP_BASE_URL = 'http://localhost:8080'
VITE_APP_BASE_URL = '10.52.0.172:10389/csms/'

+ 28
- 1
package-lock.json Прегледај датотеку

@@ -1,5 +1,5 @@
{
"name": "etcProject",
"name": "etc-project",
"version": "0.0.0",
"lockfileVersion": 2,
"requires": true,
@@ -20,6 +20,7 @@
"screenfull": "^6.0.1",
"vue": "^3.2.2",
"vue-fragment": "^1.5.2",
"vue-json-excel": "^0.3.0",
"vue-router": "4",
"vuex": "^4.0.2",
"xlsx": "^0.18.5"
@@ -1175,6 +1176,11 @@
"node": ">=6.0.0"
}
},
"node_modules/downloadjs": {
"version": "1.4.7",
"resolved": "https://registry.npmmirror.com/downloadjs/-/downloadjs-1.4.7.tgz",
"integrity": "sha512-LN1gO7+u9xjU5oEScGFKvXhYf7Y/empUIIEAGBs1LzUq/rg5duiDrkuH5A2lQGd5jfMOb9X9usDa2oVXwJ0U/Q=="
},
"node_modules/duplexer2": {
"version": "0.1.4",
"resolved": "https://registry.npm.taobao.org/duplexer2/download/duplexer2-0.1.4.tgz",
@@ -3413,6 +3419,14 @@
"vue": "^2.5.16"
}
},
"node_modules/vue-json-excel": {
"version": "0.3.0",
"resolved": "https://registry.npmmirror.com/vue-json-excel/-/vue-json-excel-0.3.0.tgz",
"integrity": "sha512-FrSh0tVUpw4K+ilLO8g0Qp52eFJw/hkk3rZPTEKo9qVkJgVfQtZwzj3UWc5ACYxA3jLk9HtjK+f9xKHCN4Kgag==",
"dependencies": {
"downloadjs": "^1.4.7"
}
},
"node_modules/vue-loader": {
"version": "16.8.3",
"resolved": "https://registry.npmmirror.com/vue-loader/-/vue-loader-16.8.3.tgz",
@@ -4393,6 +4407,11 @@
"esutils": "^2.0.2"
}
},
"downloadjs": {
"version": "1.4.7",
"resolved": "https://registry.npmmirror.com/downloadjs/-/downloadjs-1.4.7.tgz",
"integrity": "sha512-LN1gO7+u9xjU5oEScGFKvXhYf7Y/empUIIEAGBs1LzUq/rg5duiDrkuH5A2lQGd5jfMOb9X9usDa2oVXwJ0U/Q=="
},
"duplexer2": {
"version": "0.1.4",
"resolved": "https://registry.npm.taobao.org/duplexer2/download/duplexer2-0.1.4.tgz",
@@ -6145,6 +6164,14 @@
"integrity": "sha512-KEW0gkeNOLJjtXN4jqJhTazez5jtrwimHkE5Few/VxblH4F9EcvJiEsahrV5kg5uKd5U8du4ORKS6QjGE0piYA==",
"requires": {}
},
"vue-json-excel": {
"version": "0.3.0",
"resolved": "https://registry.npmmirror.com/vue-json-excel/-/vue-json-excel-0.3.0.tgz",
"integrity": "sha512-FrSh0tVUpw4K+ilLO8g0Qp52eFJw/hkk3rZPTEKo9qVkJgVfQtZwzj3UWc5ACYxA3jLk9HtjK+f9xKHCN4Kgag==",
"requires": {
"downloadjs": "^1.4.7"
}
},
"vue-loader": {
"version": "16.8.3",
"resolved": "https://registry.npmmirror.com/vue-loader/-/vue-loader-16.8.3.tgz",

+ 1
- 0
package.json Прегледај датотеку

@@ -21,6 +21,7 @@
"screenfull": "^6.0.1",
"vue": "^3.2.2",
"vue-fragment": "^1.5.2",
"vue-json-excel": "^0.3.0",
"vue-router": "4",
"vuex": "^4.0.2",
"xlsx": "^0.18.5"

+ 157
- 0
src/components/exportTable/exportTable.vue Прегледај датотеку

@@ -0,0 +1,157 @@
<template>
<div class="app-content">
<el-button ref="hwcell" size="small" type="primary" @click="exportExcel" v-if="isShow">文件导出</el-button>
<el-table :data="tableData" style="width: 100%" border>
<el-table-column type="index" label="序号" width="60" />
<el-table-column prop="etcCardNumber" label="ETC卡号" width="190" />
<el-table-column prop="licensePlateNumber" label="车牌号" width="100" />
<el-table-column prop="consumptionType" label="消费类型" width="90" />
<el-table-column prop="entranceTime" label="入口时间" width="110" />
<el-table-column prop="entryStationName" label="入口站名" width="110" />
<el-table-column prop="exportTime" label="出口时间" width="110" />
<el-table-column prop="exitStationName" label="出口站名" width="110" />
<el-table-column prop="balanceBeforeTransaction" label="交易前余额(元)" width="140" />
<el-table-column prop="transactionAmount" label="交易金额(元)" width="125" />
<el-table-column prop="postransactionalance" label="交易后余额(元)" width="140" />
</el-table>
</div>
</template>

<script>

import * as XLSX from "xlsx";
export default {
data() {
return {
isShow:false,
fileData: "" ,// 保存选择的文件数据,
tableData:[
{
etcCardNumber: '52011328220200481698',
licensePlateNumber: '贵A710AE',
consumptionType: '省内流水',
entranceTime: '2019-12-27 20:14:02',
entryStationName: '贵阳西主线站',
exportTime: '2019-12-27 20:18:20',
exitStationName: '贵阳西主线站',
balanceBeforeTransaction: '38.25',
transactionAmount: '0.00',
postransactionalance: '38.25',
},
{
etcCardNumber: '52011328220200481698',
licensePlateNumber: '贵A710AE',
consumptionType: '省内流水',
entranceTime: '2019-12-27 20:14:02',
entryStationName: '贵阳西主线站',
exportTime: '2019-12-27 20:18:20',
exitStationName: '贵阳西主线站',
balanceBeforeTransaction: '38.25',
transactionAmount: '0.00',
postransactionalance: '38.25',
},
{
etcCardNumber: '52011328220200481698',
licensePlateNumber: '贵A710AE',
consumptionType: '省内流水',
entranceTime: '2019-12-27 20:14:02',
entryStationName: '贵阳西主线站',
exportTime: '2019-12-27 20:18:20',
exitStationName: '贵阳西主线站',
balanceBeforeTransaction: '38.25',
transactionAmount: '0.00',
postransactionalance: '38.25',
},
{
etcCardNumber: '52011328220200481698',
licensePlateNumber: '贵A710AE',
consumptionType: '省内流水',
entranceTime: '2019-12-27 20:14:02',
entryStationName: '贵阳西主线站',
exportTime: '2019-12-27 20:18:20',
exitStationName: '贵阳西主线站',
balanceBeforeTransaction: '38.25',
transactionAmount: '0.00',
postransactionalance: '38.25',
},
{
etcCardNumber: '52011328220200481698',
licensePlateNumber: '贵A710AE',
consumptionType: '省内流水',
entranceTime: '2019-12-27 20:14:02',
entryStationName: '贵阳西主线站',
exportTime: '2019-12-27 20:18:20',
exitStationName: '贵阳西主线站',
balanceBeforeTransaction: '38.25',
transactionAmount: '0.00',
postransactionalance: '38.25',
},
{
etcCardNumber: '52011328220200481698',
licensePlateNumber: '贵A710AE',
consumptionType: '省内流水',
entranceTime: '2019-12-27 20:14:02',
entryStationName: '贵阳西主线站',
exportTime: '2019-12-27 20:18:20',
exitStationName: '贵阳西主线站',
balanceBeforeTransaction: '38.25',
transactionAmount: '0.00',
postransactionalance: '38.25',
},
]
};
},
create() {
console.log(XLSX);
},


methods: {
//导出文件
exportExcel() {
if (!this.tableData.length) {
this.$message.warning("暂无数据导出");
return false;
}
import("@/utils/Export2Excel").then(excel => {
//导出表格头部内容(要与下面字段对照)
const tHeader = ['ETC卡号', '车牌号', '消费类型', '入口时间', '入口站名', '出口时间', '出口站名', '交易前余额(元)', '交易金额(元)', '交易后金额(元)'];
const filterVal = [ "etcCardNumber", "licensePlateNumber", "consumptionType", "entranceTime", "entryStationName", "exportTime", "exitStationName", "balanceBeforeTransaction", "transactionAmount", "postransactionalance"];
const data = this.formatJson(filterVal);
//保存excel
excel.export_json_to_excel({
header: tHeader,
data,
//导出的文件名
filename: "通行流水数据表"
});
});

},

//格式转换
formatJson(filterVal) {
return this.tableData.map(v =>
// obj = {
// name:'',
// age:''
// }
filterVal.map(j => {
// obj[name]
// obj[age]
console.log(v[j]);
return v[j];
})
);
// [[name,age],[name,age],[name,age]]
},
}
};
</script>

<style>
</style>

+ 4
- 1
src/main.ts Прегледај датотеку

@@ -15,10 +15,13 @@ import './style/main.css'
import { isValidKey } from '@/utils/utils'
//请求
import * as request from '@/api/index'
//导出表格
//import JsonExcel from 'vue-json-excel'

import itemIoc from '@/layout/components/ItemIcon.vue'

const app = createApp(App)
//app.component('downloadExcel', JsonExcel)
//全局注册请求
app.config.globalProperties.$request = request;
app.use(router)

+ 380
- 248
src/views/fancongcong/advancepaymentaccount/advancepaymentaccount.vue Прегледај датотеку

@@ -1,262 +1,394 @@
<template>
<div class="app_container">
<div class="menu">
<el-form :inline="true" :model="formInline" class="demo-form-inline">
<el-form-item label="导入时间">
<div class="block">
<el-date-picker v-model="value1" type="datetime" placeholder="请选择申请开始时间" />
</div>
<el-icon>
<semi-select />
</el-icon>
<div class="block">
<el-date-picker v-model="value2" type="datetime" placeholder="请选择申请结束时间" />
</div>
</el-form-item>
<el-form-item label="对方账号">
<el-input v-model="formInline.user" placeholder="对方账号" />
</el-form-item>
<el-form-item label="对方户名">
<el-input v-model="formInline.user" placeholder="对方户名" />
</el-form-item>
<el-form-item label="交易流水编号">
<el-input v-model="formInline.user" placeholder="交易流水编号" />
</el-form-item>
<el-form-item>
<el-button :icon="Search" type="primary">查询</el-button>
<el-button type="info">重置</el-button>
<el-button type="primary">导入Excel</el-button>
<el-button type="primary">下载导入模板</el-button>
</el-form-item>
</el-form>
</div>
<el-table :data="tableData" border style="width: 100%" class="table_box" stripe >
<el-table-column prop="date" label="交易流水号" width="200px"/>
<el-table-column prop="name" label="交易时间" width="200px"/>
<el-table-column prop="address" label="支出金额" width="200px"/>
<el-table-column prop="number" label="收入金额" width="200px"/>
<el-table-column prop="time" label="对方账号" width="200px"/>
<el-table-column prop="type" label="对方户名" width="200px"/>
<el-table-column prop="regname" label="对方行名" width="200px"/>
<el-table-column prop="nonumber" label="对公账户账号" width="200px"/>
<el-table-column prop="use" label="用途" width="200px"/>
<el-table-column prop="nonumbers" label="附言" width="200px"/>
<el-table-column prop="usetype" label="摘要" width="200px"/>
<el-table-column label="操作" class="table_btn" width="500px" align="center">
<el-tooltip content="拒绝" placement="top">
<el-button type="warning" @click="опровергать">拒绝</el-button>
</el-tooltip>
<el-tooltip content="同意" placement="top">
<el-button type="warning" @click="agree">同意</el-button>
</el-tooltip>
<el-tooltip content="请输入对公账号" placement="top">
<el-button type="warning" @click="dialogFormVisible = true">请输入对公账号</el-button>
</el-tooltip>
</el-table-column>
</el-table>
<div class="page_box">
<el-pagination :page-size="20" :pager-count="11" layout="prev, pager, next" :total="1000" />
</div>
<el-dialog v-model="dialogFormVisible" :title="title">
<el-form :model="form">
<el-form-item label="输入对方对公账号" :label-width="formLabelWidth">
<el-input v-model="form.phone" autocomplete="off" disabled />
</el-form-item>
</el-form>
<template #footer>
<span class="dialog-footer">
<el-button @click="dialogFormVisible = false">确定</el-button>
<el-button type="primary" @click="dialogFormVisible = false">关闭</el-button>
</span>
</template>
</el-dialog>
</div>
<div class="app_container">
<div class="menu">
<el-form :inline="true" :model="formInline" class="demo-form-inline">
<el-form-item label="导入时间">
<div class="block">
<el-date-picker v-model="start_time" type="datetime" placeholder="请选择申请开始时间"/>
</div>
<el-icon>
<semi-select/>
</el-icon>
<div class="block">
<el-date-picker v-model="end_time" type="datetime" placeholder="请选择申请结束时间"/>
</div>
</el-form-item>
<el-form-item label="对方账号">
<el-input v-model="formInline.Number" placeholder="对方账号"/>
</el-form-item>
<el-form-item label="对方户名">
<el-input v-model="formInline.coNumber" placeholder="对方户名"/>
</el-form-item>
<el-form-item label="交易流水编号">
<el-input v-model="formInline.user" placeholder="交易流水编号"/>
</el-form-item>
<el-form-item>
<el-button :icon="Search" type="primary" @click="grabble">查询</el-button>
<el-button type="info" @click="resive">重置</el-button>
<el-button type="primary">导入Excel</el-button>
<el-button type="primary">下载导入模板</el-button>
</el-form-item>
</el-form>
</div>
<el-table :data="tableData" border style="width: 100%" class="table_box" stripe>
<el-table-column prop="serialNo" label="交易流水号" width="200px"/>
<el-table-column prop="createTime" label="交易时间" width="200px"/>
<el-table-column prop="outFee" label="支出金额" width="200px"/>
<el-table-column prop="incomeFee" label="收入金额" width="200px"/>
<el-table-column prop="reciprocalAccount" label="对方账号" width="200px"/>
<el-table-column prop="reciprocalAccountName" label="对方户名" width="200px"/>
<el-table-column prop="reciprocalBankName" label="对方行名" width="200px"/>
<el-table-column prop="reciprocalAccountName" label="对公账户账号" width="200px"/>
<el-table-column prop="useage" label="用途" width="200px"/>
<el-table-column prop="remarks" label="附言" width="200px"/>
<el-table-column prop="snippet" label="摘要" width="200px"/>
<el-table-column label="操作" class="table_btn" width="500px" align="center">
<template v-slot="scope">
<el-tooltip content="拒绝" placement="top">
<el-button type="warning" @click="опровергать(scope.row)">拒绝</el-button>
</el-tooltip>
<el-tooltip content="同意" placement="top">
<el-button type="warning" @click="agree(scope.row)">同意</el-button>
</el-tooltip>
<el-tooltip content="请输入对公账号" placement="top">
<el-button type="warning" @click="opendialo">请输入对公账号</el-button>
</el-tooltip>
</template>
</el-table-column>
</el-table>
<div class="page_box">
<el-pagination :page-size="20" :pager-count="11" layout="prev, pager, next" :total="pageCount" @current-change="pagechange"/>
</div>
<el-dialog v-model="dialogFormVisible" :title="title">
<el-form :model="form">
<el-form-item label="输入对方对公账号" :label-width="formLabelWidth">
<el-input v-model="form.phone" autocomplete="off"/>
</el-form-item>
</el-form>
<template #footer>
<span class="dialog-footer">
<el-button @click="account">确定</el-button>
<el-button type="primary" @click="dialogFormVisible = false">关闭</el-button>
</span>
</template>
</el-dialog>

<el-dialog v-model="dialogFormVisibles" title="驳回申请">
<el-form :model="form">
<el-form-item label="驳回原因" :label-width="formLabelWidth">
<el-input v-model="form.data_msg" autocomplete="off" placeholder="请输入驳回原因"/>
</el-form-item>
</el-form>
<template #footer>
<span class="dialog-footer">
<el-button @click="dialogFormVisibles = false">关闭</el-button>
<el-button type="primary" @click="getMsg">确定</el-button>
</span>
</template>
</el-dialog>
</div>
</template>

<script lang="ts" setup>
//模块导入
import {
Search
} from '@element-plus/icons-vue'
import {
reactive,
ref
} from 'vue'
import {ElMessage, ElMessageBox} from 'element-plus'
//模块导入
import { Search } from '@element-plus/icons-vue'
import { reactive, ref, getCurrentInstance, onMounted } from 'vue'
import { ElMessage, ElMessageBox } from 'element-plus'

//变量声明
const formInline = reactive({
user: '',
region: '',
})
const onSubmit = () => {
console.log('submit!')
}
let title = ref("对公账户信息")
const options = [{
value: '',
label: '全部',
},
{
value: '1',
label: '驳回',
},
{
value: '0',
label: '待审核',
},
{
value: '1',
label: '已启用',
},
{
value: '2',
label: '待修改初始密码',
},
]
let value1 = ref('')
let value2 = ref('')
let value3 = ref('')
let value4 = ref('')
let dialogTableVisible = ref(false)
let dialogFormVisible = ref(false)
let formLabelWidth = '140px'
let form = reactive({
phone: '13078580843',//手机号
region: '',//验证码
delivery: false,//是否展示详细
number:''//对公账户资金账户编号
})
const optiones = [{
value: '2',
label: '2',
},
{
value: '6',
label: '6',
},
{
value: '10',
label: '10',
},
{
value: '15',
label: '15',
},
{
value: '30',
label: '30',
},
]
const defaultTime = new Date(2000, 1, 1, 12, 0, 0)
const shortcuts = [{
text: 'Today',
value: new Date(),
},
{
text: 'Yesterday',
value: () => {
const date = new Date()
date.setTime(date.getTime() - 3600 * 1000 * 24)
return date
},
},
{
text: 'A week ago',
value: () => {
const date = new Date()
date.setTime(date.getTime() - 3600 * 1000 * 24 * 7)
return date
},
},
]
const tableData = [
{
date: '34625032',
name: '2022-05-07',
address: '0.0',
number: "5000.0",
time: "2021-06-22T12:52:17",
type: "23921001040002085",
regname: "贵州省黔西南州水文水资源局",
regtime: "中国农业银行股份有限公司兴义南盘江支行",
nonumber:"szm123456",
nonumbers:"贵E15389充ETC",
use:"测试",
usetype:"小额来账自动入账"
}
]
//变量声明
const { proxy } = getCurrentInstance()
const formInline = ref({
user:'',
region: '',
number:'',
coNumber:'',
user:'',
})
const onSubmit = () => {
console.log('submit!')
}
let title = ref('对公账户信息')
const options = [
{
value: '',
label: '全部'
},
{
value: '1',
label: '驳回'
},
{
value: '0',
label: '待审核'
},
{
value: '1',
label: '已启用'
},
{
value: '2',
label: '待修改初始密码'
}
]
let start_time = ref('') //申请选择开始时间
let end_time = ref('') //申请选择结束时间
let value3 = ref('')
let value4 = ref('')
let pageNo = ref(1)
let dialogTableVisible = ref(false)
let dialogFormVisible = ref(false)
let dialogFormVisibles = ref(false)
let pageCount = ref(0) //总页数
let formLabelWidth = '140px'
let form = reactive({
phone: '13078580843', //手机号
region: '', //验证码
delivery: false, //是否展示详细
number: '', //对公账户资金账户编号
data_msg:'',//驳回原因
data_id:''//点击表格获取的id
})
const optiones = [
{
value: '2',
label: '2'
},
{
value: '6',
label: '6'
},
{
value: '10',
label: '10'
},
{
value: '15',
label: '15'
},
{
value: '30',
label: '30'
}
]
const defaultTime = new Date(2000, 1, 1, 12, 0, 0)
const shortcuts = [
{
text: 'Today',
value: new Date()
},
{
text: 'Yesterday',
value: () => {
const date = new Date()
date.setTime(date.getTime() - 3600 * 1000 * 24)
return date
}
},
{
text: 'A week ago',
value: () => {
const date = new Date()
date.setTime(date.getTime() - 3600 * 1000 * 24 * 7)
return date
}
}
]
const tableData = ref([
{
accountId: 11,
channelId: 53,
channelName: 'LMJVTSCAA',
createTime: '1984/01/11 16:42:41',
fileName: 'LGCRFGITS',
filePath: 'MHWXGWCPR',
id: '820000199611275614',
incomeFee: 78,
outFee: 91,
reason: 'JMQOEDBRD',
reciprocalAccount: 'CUCUQBHPR',
reciprocalAccountName: 'SGUUYJEIJ',
reciprocalBankName: 'JIUPWBXSY',
remarks: 'HVLJOFURE',
serialNo: 'MBBHHKVNX',
snippet: 'PPFAKYCKG',
staffId: 'MQWJVIMRO',
staffName: 'JQLOMWANP',
status: 1,
transTime: 'MYHFJBLCP',
updateTime: '1982/10/14 13:50:50',
useage: 'OYQYKVWPG'
}
])

//事件
//同意申请
const agree = (row) => {
console.log(row.id)
dialogFormVisible.value = false;
ElMessageBox.confirm('确定通过这个申请?', '警告', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => {
proxy.$request.post('/advancepayment/confirm', {}, {
        baseURL: 'http://localhost:8089',
id:row.id,
// message:form.data_msg,
value:0
    }).then((res) => {
        console.log(res,form.data_id,form.value);
if(res.data.success){
ElMessage({
type: 'success',
message: '操作成功!'
})
grabble()
}
    }).catch((err) => {
        console.log(err);
    })
})
.catch(() => {
ElMessage({
type: '取消',
message: '已取消'
})
})
}
//驳回申请
const опровергать = (row) => {
dialogFormVisible.value = false;
form.data_id = row.id
ElMessageBox.confirm('确定驳回这个申请?', '警告', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
})
.then(() => {
dialogFormVisibles.value = true;
})
.catch(() => {
ElMessage({
type: '取消',
message: '已取消'
})
})
}
//驳回申请原因
const getMsg=()=>{
proxy.$request.post('/advancepayment/confirm', {}, {
        baseURL: 'http://localhost:8089',
id:form.data_id,
message:form.data_msg,
value:1
    }).then((res) => {
console.log(res,form.data_id,form.data_msg);
if(res.data.success){
ElMessage({
type: 'success',
message: '操作成功!'
})
dialogFormVisibles.value = false;
grabble()
}
    }).catch((err) => {
        console.log(err);
    })
}

//事件
//同意申请
const agree = (id:any) => {
ElMessageBox.confirm(
'确定同意?',
'警告', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}
)
.then(() => {
ElMessage({
type: 'success',
message: '操作成功!',
})
})
.catch(() => {
ElMessage({
type: '取消',
message: '已取消',
})
})
}
//驳回申请
const опровергать = (id:any) => {
ElMessageBox.confirm(
'确定拒绝?',
'警告', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning',
}
)
.then(() => {
ElMessage({
type: 'success',
message: '操作成功!',
})
})
.catch(() => {
ElMessage({
type: '取消',
message: '已取消',
})
})
//搜索
const grabble = () => {
let data = {
corporateAccountId: 'string',
endTime: '2020/01/01 00:00:00',
pageNo: 0,
pageSize: 0,
startTime: '2020/01/01 00:00:00',
type: 0,
baseURL: 'http://localhost:8089'
}

proxy.$request
.post('/advancepayment/queryPage', {}, data)
.then((res) => {
console.log(res, form.data_id, form.value)
if (res.data.success) {
tableData.value = res.data.result
console.log('res', tableData)
pageCount.value = res.data.pageCount
}
})
.catch((err) => {
console.log(err)
})
}

onMounted(() => {
grabble()
})

//获取当前页数据
const pagechange = (el) => {
console.log('el', el)
pageNo.value = el
grabble()
}

//重置
const resive = () => {
console.log('重置')
start_time.value = '';
end_time.value = '';
formInline.value.number= '';
formInline.value.coNumber = '';
formInline.value.user= '';
}

//填入对方对公账号
const account = ()=>{
let data = {
id:form.data_id,
accountId:form.phone,
baseURL: 'http://localhost:8089'
}
proxy.$request.post('/advancepayment/account', {}, data).then((res) => {
console.log(res, form.data_id, form.value)
if (res.data.success) {
dialogFormVisible.value = false;
grabble();
}
})
.catch((err) => {
console.log(err)
})
}
//打开填写对公账户的弹窗
const opendialo = (row)=>{
form.data_id = row.id;
dialogFormVisible.value = true;
}
</script>

<style lang="scss">
.app_container {
padding: 20px;
display: flex;
flex-direction: column;
.app_container {
padding: 20px;
display: flex;
flex-direction: column;

.table_box {
margin-top: 25px;
.table_btn{
display: flex;
flex-direction: column;
align-self: stretch;
align-content: space-around;
align-items: flex-start;
}
}
.table_box {
margin-top: 25px;
.table_btn {
display: flex;
flex-direction: column;
align-self: stretch;
align-content: space-around;
align-items: flex-start;
}
}

.page_box {
margin-top: 25px;
}
}
.page_box {
margin-top: 25px;
}
}
</style>

+ 26
- 35
src/views/fancongcong/corporateaccountManage/corporateaccountManage.vue Прегледај датотеку

@@ -4,13 +4,13 @@
<el-form :inline="true" :model="formInline" class="demo-form-inline">
<el-form-item label="申请时间">
<div class="block">
<el-date-picker v-model="start_time" type="datetime" placeholder="请选择申请开始时间"/>
<el-date-picker v-model="start_time" type="datetime" placeholder="请选择申请开始时间" format="YYYY/MM/DD" value-format="YYYY/MM/DD"/>
</div>
<el-icon>
<semi-select/>
</el-icon>
<div class="block">
<el-date-picker v-model="end_time" type="datetime" placeholder="请选择申请结束时间"/>
<el-date-picker v-model="end_time" type="datetime" placeholder="请选择申请结束时间" format="YYYY/MM/DD" value-format="YYYY/MM/DD"/>
</div>
</el-form-item>
<el-form-item label="账号状态">
@@ -74,7 +74,7 @@
</el-table>

<div class="page_box">
<el-pagination :page-size="pageSize" :pager-count="15" layout="prev, pager, next" :total="pageCount"/>
<el-pagination :page-size="20" :pager-count="11" layout="prev, pager, next" :total="pageCount" @current-change="pagechange"/>
</div>

<el-dialog v-model="dialogFormVisible" :title="title" :show-close="false">
@@ -462,10 +462,10 @@ const search = () => {
bankCardId:"",
corporateIdNum:formInline.number,
corporateName: formInline.user,
endApplyTime:end_time,
endApplyTime:end_time.value,
pageNo:pageNo,
pageSize:номер,
startApplyTime:start_time,
startApplyTime:start_time.value,
status:cтатус_счета,
baseURL:'http://localhost:8089',
}
@@ -479,7 +479,9 @@ const search = () => {
proxy.$request.post('/corporateaccount/queryPage', {},data).then((res) => {
        console.log(res);
if(res.data.success){
tableData.value = res.data.result
console.log("res",tableData)
pageCount.value = res.data.pageCount;
}
    }).catch((err) => {
        console.log(err,form.delivery);
@@ -539,37 +541,26 @@ const regcode = () => {
}

onMounted(() => {
getList()
 })

//获取详细信息,打开弹窗
const getDetil=(val)=>{
// form.value.data_id = id;
dialogFormVisible.value = true;
try {
form.data_id = val.id;
console.log("dedil_id",form.data_id);
} catch (error) {
}
}
search()
})

//获取查询数据
const getList = ()=>{
proxy.$request.post('/corporateaccount/queryPage', {}, {
        baseURL:'http://localhost:8089',
    }).then((res) => {
        console.log(res.data.result,res.data.success);
if(res.data.success){
tableData.value = res.data.result
console.log("res",tableData)
pageCount.value = res.data.pageCount;
}
    }).catch((err) => {
        console.log(err);
    })
//获取详细信息,打开弹窗
const getDetil=(val)=>{
// form.value.data_id = id;
dialogFormVisible.value = true;
try {
form.data_id = val.id;
console.log("dedil_id",form.data_id);
} catch (error) {
}

}
//获取当前页数据
const pagechange = (el)=>{
console.log("el",el)
pageNo.value = el;
search()
}
</script>

<style lang="scss">

+ 74
- 31
src/views/shengbo/blacklistQuery/blacklistQuery.vue Прегледај датотеку

@@ -7,15 +7,16 @@
<!-- 输入框 -->
<div class="topstyle">
<span style="margin-right: 10px; width: 40px">卡号</span>
<el-input v-model="formdata.ardNumber" placeholder="请输入卡号" style="width: 220px"> </el-input>
<el-input v-model="formdata.ardNumber" placeholder="请输入卡号" style="width: 220px">
</el-input>
</div>
<!-- 日期框 -->
<div class="topstyle">
<el-date-picker
v-model="formdata.startDate"
value-format="YYYY-MM-DD hh:mm:ss"
type="datetime"
placeholder="开始日期"
format="YYYY/MM/DD hh:mm:ss"
/>
<!-- <span>-</span> -->
<!-- <el-button>至</el-button> -->
@@ -23,7 +24,7 @@
v-model="formdata.endDate"
type="datetime"
placeholder="结束日期"
format="YYYY/MM/DD hh:mm:ss"
value-format="YYYY-MM-DD hh:mm:ss"
style="margin-left: 5px"
/>
</div>
@@ -44,9 +45,9 @@
</div>
<!-- 弹窗 -->
<div>
<el-dialog v-model="dialogFormVisible" class="as-gravity-center">
<el-dialog v-model="dialogFormVisible">
<span class="as-gravity-center" style="font-size: 25px">卡黑名单-操作(下黑反白)</span>
<el-form :model="addtodata" style="padding-top: 22px" :rules="rules">
<el-form-item prop="ardNumber" label="卡号:" :label-width="110">
<el-input v-model="addtodata.ardNumber" style="width: 215px" />
@@ -82,7 +83,7 @@
</div>
<div style="padding-top: 12px">
<el-table :data="tableData" border style="width: 100%">
<el-table-column prop="serialNumber" label="序号" width="60" />
<el-table-column type="index" label="序号" width="60" />
<el-table-column prop="ardNumber" label="卡号" width="120" />
<el-table-column prop="blacklistType" label="黑名单类型" width="100" />
<el-table-column prop="effectiveTimeOfBlacklist" label="黑名单生效时间" width="170" />
@@ -96,7 +97,7 @@
<el-button @click="dialogFormVisible1 = true" style="border-style: none">详情</el-button>
</el-table-column>
</el-table>
<el-dialog v-model="dialogFormVisible1" class="as-gravity-center">
<el-dialog v-model="dialogFormVisible1">
<span class="as-gravity-center" style="font-size: 22px">基本信息</span>
<el-form :model="detailsPopup" style="padding-top: 12px">
<el-form-item label="卡号:" :label-width="100">
@@ -134,16 +135,18 @@
</template>
</el-dialog>
</div>
<div style="padding-top: 12px" class="as-gravity-center-end">
<!-- <div style="padding-top: 12px" class="as-gravity-center-end">
<el-pagination :page-sizes="[10, 20, 30, 40]" layout="sizes, prev, pager, next" :total="1000" />
</div>
</div> -->
</template>

<script lang="ts" setup>
import { reactive, ref, toRaw } from 'vue'
import { reactive, ref, toRaw,getCurrentInstance } from 'vue'
import { useRoute, useRouter } from 'vue-router'
import { Calendar, Search, Refresh, Plus } from '@element-plus/icons-vue'
import type { ElTable, FormInstance, FormRules} from 'element-plus'
import type { ElTable, FormInstance, FormRules } from 'element-plus'
const { proxy }: any = getCurrentInstance()

const dialogFormVisible = ref(false)
const dialogFormVisible1 = ref(false)

@@ -161,12 +164,27 @@ const addtodata = reactive({
})
//搜索
function search() {
proxy.$request
.post('api/user',{},
{
baseURL: 'http://192.168.101.123:8080',
}
)
.then((res: {}) => {
console.log(res)
})
.catch((err: {}) => {
console.log(err)
})
console.log(toRaw(formdata))
console.log('发送搜索请求')
}
//重置
function reset() {
console.log('重置')
formdata.ardNumber = ''
formdata.startDate = ''
formdata.endDate = ''
formdata.queryType = ''
}
//添加
function addTo() {
@@ -175,30 +193,37 @@ function addTo() {
console.log('添加弹窗')
}
const rules = reactive<FormRules>({
ardNumber: [{
ardNumber: [
{
required: true,
message: '卡号不能为空',
trigger: 'blur',
}],
blacklistType: [{
},
],
blacklistType: [
{
required: true,
message: '黑名单类型不能为空',
trigger: 'blur',
}],
statusType: [{
},
],
statusType: [
{
required: true,
message: '状态类型不能为空',
trigger: 'blur',
}],
reason: [{
},
],
reason: [
{
required: true,
message: '原因不能为空',
trigger: 'blur',
}],
})
},
],
})

// 详情弹窗
// 详情弹窗
const detailsPopup = reactive({
ardNumber: '52011640230217310678', //卡号
vehicleNumber: '云AG9L76', //车辆号
@@ -206,12 +231,12 @@ const detailsPopup = reactive({
blacklistType: '账户透支黑名单', //黑名单类型
uploadLog: '未查到黑名单上传日志!', //上传日志
queryResults: '成功', //查询结果
causeOfBlack: '银行卡号:621476*********6594,总欠额:229.78元,最后一次补扣时间:2022-05-09 07:31:06,失败原因:总行处理失败:帐户余额不足,请保证余额充足系统每天会自动补扣', //下黑原因
causeOfBlack:
'银行卡号:621476*********6594,总欠额:229.78元,最后一次补扣时间:2022-05-09 07:31:06,失败原因:总行处理失败:帐户余额不足,请保证余额充足系统每天会自动补扣', //下黑原因
})

interface User {
serialNumber: string //序号
ardNumber: string //卡号
ardNumber: string //卡号
blacklistType: string //黑名单类型
effectiveTimeOfBlacklist: string //黑名单生效时间
state: string //状态
@@ -232,7 +257,6 @@ const handleCurrentChange = (val: User | undefined) => {
}
const tableData: User[] = [
{
serialNumber: '1',
ardNumber: '52011640230217310678',
blacklistType: '账户透支',
effectiveTimeOfBlacklist: '2020-12-19T03:41:04',
@@ -243,8 +267,29 @@ const tableData: User[] = [
antiWhiteOperatorNo: '',
negativeeasons: '',
},
{
serialNumber: '2',
{
ardNumber: '52011640230217310678',
blacklistType: '账户透支',
effectiveTimeOfBlacklist: '2020-12-19T03:41:04',
state: '在黑',
blacklistAntiWhiteTime: '',
xiaheiOperatorNo: 'ETCGsyh002',
causeOfBlack: '车牌尾号L76欠费:229.78元;于20201219进入黑名单',
antiWhiteOperatorNo: '',
negativeeasons: '',
},
{
ardNumber: '52011640230217310678',
blacklistType: '账户透支',
effectiveTimeOfBlacklist: '2020-12-19T03:41:04',
state: '在黑',
blacklistAntiWhiteTime: '',
xiaheiOperatorNo: 'ETCGsyh002',
causeOfBlack: '车牌尾号L76欠费:229.78元;于20201219进入黑名单',
antiWhiteOperatorNo: '',
negativeeasons: '',
},
{
ardNumber: '52011640230217310678',
blacklistType: '账户透支',
effectiveTimeOfBlacklist: '2020-12-19T03:41:04',
@@ -256,7 +301,6 @@ const tableData: User[] = [
negativeeasons: '',
},
{
serialNumber: '3',
ardNumber: '52011640230217310678',
blacklistType: '账户透支',
effectiveTimeOfBlacklist: '2020-12-19T03:41:04',
@@ -268,7 +312,6 @@ const tableData: User[] = [
negativeeasons: '',
},
{
serialNumber: '4',
ardNumber: '52011640230217310678',
blacklistType: '账户透支',
effectiveTimeOfBlacklist: '2020-12-19T03:41:04',

+ 71
- 39
src/views/shengbo/trafficFlow/trafficFlow.vue Прегледај датотеку

@@ -19,7 +19,7 @@
v-model="formData.startDate"
type="datetime"
placeholder="开始日期"
format="YYYY/MM/DD hh:mm:ss"
value-format="YYYY-MM-DD hh:mm:ss"
/>
<!-- <span>-</span> -->
<!-- <el-button>至</el-button> -->
@@ -27,21 +27,25 @@
v-model="formData.endDate"
type="datetime"
placeholder="结束日期"
format="YYYY/MM/DD hh:mm:ss"
value-format="YYYY-MM-DD hh:mm:ss"
style="margin-left: 5px"
/>
</div>
<!-- 按钮 -->
<div class="topstyle">
<el-button type="success" :icon="Search" @click="submitForm">搜索</el-button>
<el-button type="warning" :icon="Refresh" @click="submitReset">重置</el-button>
<el-button type="primary" plain @click="exportAll">导出当前页</el-button>
<el-button type="success" :icon="Search" @click="search">搜索</el-button>
<el-button type="warning" :icon="Refresh" @click="reset">重置</el-button>
<el-button type="primary" plain @click="exportCurrentPage">导出当前页</el-button>

<el-button type="primary" plain @click="exportAll">导出所有</el-button>
</div>
</div>

<div style="padding-top: 12px">
<el-table :data="tableData1" style="width: 100%" border>
<el-table-column prop="serialNumber" label="序号" width="60" />
<exportTable ref="exportTS"></exportTable>
<!-- <el-table :data="tableData1" style="width: 100%" border>
<el-table-column type="index" label="序号" width="60" />
<el-table-column prop="etcCardNumber" label="ETC卡号" width="190" />
<el-table-column prop="licensePlateNumber" label="车牌号" width="100" />
<el-table-column prop="consumptionType" label="消费类型" width="90" />
@@ -52,7 +56,7 @@
<el-table-column prop="balanceBeforeTransaction" label="交易前余额(元)" width="140" />
<el-table-column prop="transactionAmount" label="交易金额(元)" width="125" />
<el-table-column prop="postransactionalance" label="交易后余额(元)" width="140" />
</el-table>
</el-table> -->
</div>
<div style="padding-top: 12px" class="as-gravity-center-end">
<el-pagination :page-sizes="[10, 20, 30, 40]" :total="1000" />
@@ -60,35 +64,24 @@
</template>

<script lang="ts" setup>
import { reactive, ref } from 'vue'
import { reactive, ref, toRaw,getCurrentInstance, onMounted } from 'vue'
import { useRoute, useRouter } from 'vue-router'
import { Calendar, Search, Refresh } from '@element-plus/icons-vue'
import type { ElTable } from 'element-plus'
import { getCurrentInstance, onMounted } from 'vue'
import exportTable from'../../../components/exportTable/exportTable.vue'


const { proxy } = getCurrentInstance()
onMounted(() => {
proxy.$request
.get('api/user',{},{
baseURL: 'http://192.168.1.101:8080',
}
)
.then((res) => {
console.log(res,'12345')
})
.catch((err) => {
console.log(err)
})
})

const { proxy }: any = getCurrentInstance()
const formData = reactive({
etcCardNumber: '', //ETC卡号
licensePlateNumber: '', //车牌号
startDate: '', //开始日期
endDate: '', //结束日期
})
const exportTS = ref()
const tableData = reactive({
title: "xx公司表格",
serialNumber: '', //序号
etcCardNumber: '', //ETC卡号
licensePlateNumber: '', //车牌号
@@ -101,17 +94,62 @@ const tableData = reactive({
transactionAmount: '', //交易金额
postransactionalance: '', //交易后余额
})
// 搜索
const submitForm = () => {}
// 重置
const submitReset = () => {
//myform.value?.resetFields()
}

function exportAll() {}
// json_fields: {
// "排查日期":'date',
// "整改隐患内容":'details',
// "整改措施":'measure',
// "整改时限":'timeLimit',
// "应急措施和预案":'plan',
// "整改责任人":'personInCharge',
// "填表人":'preparer',
// "整改资金":'fund',
// "整改完成情况":'complete',
// "备注":'remark',
// },

//搜索
function search() {
if(formData.etcCardNumber !=''){
proxy.$request
.post('/uc/trafficrecord/query',{},
{
baseURL: 'http://localhost:8080',
}
)
.then((res: {}) => {
console.log(res)
})
.catch((err: {}) => {
console.log(err)
})
}else{
}
console.log(toRaw(formData))
console.log('发送搜索请求')
}
//重置
function reset() {
formData.etcCardNumber = ''
formData.licensePlateNumber = ''
formData.startDate = ''
formData.endDate = ''
}
//导出当前页
const exportCurrentPage=()=>{
exportTS.value.exportExcel()
// childRef.value.exportExcel()
console.log('导出当前页的表格数据')
}
//导出所有
function exportAll() {
proxy.$refs.exportTable.exportExcel();
console.log('导出所有数据')
}

interface User {
serialNumber: string //序号
etcCardNumber: string //ETC卡号
licensePlateNumber: string //车牌号
consumptionType: string //消费类型
@@ -136,7 +174,6 @@ const handleCurrentChange = (val: User | undefined) => {

const tableData1: User[] = [
{
serialNumber: '1',
etcCardNumber: '52011328220200481698',
licensePlateNumber: '贵A710AE',
consumptionType: '省内流水',
@@ -149,7 +186,6 @@ const tableData1: User[] = [
postransactionalance: '38.25',
},
{
serialNumber: '2',
etcCardNumber: '52011328220200481698',
licensePlateNumber: '贵A710AE',
consumptionType: '省内流水',
@@ -162,7 +198,6 @@ const tableData1: User[] = [
postransactionalance: '38.25',
},
{
serialNumber: '3',
etcCardNumber: '52011328220200481698',
licensePlateNumber: '贵A710AE',
consumptionType: '省内流水',
@@ -175,7 +210,6 @@ const tableData1: User[] = [
postransactionalance: '38.25',
},
{
serialNumber: '4',
etcCardNumber: '52011328220200481698',
licensePlateNumber: '贵A710AE',
consumptionType: '省内流水',
@@ -188,7 +222,6 @@ const tableData1: User[] = [
postransactionalance: '38.25',
},
{
serialNumber: '5',
etcCardNumber: '52011328220200481698',
licensePlateNumber: '贵A710AE',
consumptionType: '省内流水',
@@ -201,7 +234,6 @@ const tableData1: User[] = [
postransactionalance: '38.25',
},
{
serialNumber: '6',
etcCardNumber: '52011328220200481698',
licensePlateNumber: '贵A710AE',
consumptionType: '省内流水',

+ 1
- 1
src/views/system/home/Home.vue Прегледај датотеку

@@ -5,7 +5,7 @@
<template #trigger>
<el-button type="primary">select file</el-button>
</template>
<el-button class="ml-3" type="success" @click="submitUpload"> upload to server </el-button>
<el-button class="ml-3" type="success"> upload to server </el-button>
<template #tip>
<div class="el-upload__tip">jpg/png files with a size less than 500kb</div>
</template>

+ 12
- 0
yarn.lock Прегледај датотеку

@@ -740,6 +740,11 @@
dependencies:
"esutils" "^2.0.2"

"downloadjs@^1.4.7":
"integrity" "sha512-LN1gO7+u9xjU5oEScGFKvXhYf7Y/empUIIEAGBs1LzUq/rg5duiDrkuH5A2lQGd5jfMOb9X9usDa2oVXwJ0U/Q=="
"resolved" "https://registry.npmmirror.com/downloadjs/-/downloadjs-1.4.7.tgz"
"version" "1.4.7"

"duplexer2@~0.1.4":
"integrity" "sha1-ixLauHjA1p4+eJEFFmKjL8a93ME="
"resolved" "https://registry.npm.taobao.org/duplexer2/download/duplexer2-0.1.4.tgz"
@@ -2142,6 +2147,13 @@
"resolved" "https://registry.npmmirror.com/vue-fragment/-/vue-fragment-1.5.2.tgz"
"version" "1.5.2"

"vue-json-excel@^0.3.0":
"integrity" "sha512-FrSh0tVUpw4K+ilLO8g0Qp52eFJw/hkk3rZPTEKo9qVkJgVfQtZwzj3UWc5ACYxA3jLk9HtjK+f9xKHCN4Kgag=="
"resolved" "https://registry.npmmirror.com/vue-json-excel/-/vue-json-excel-0.3.0.tgz"
"version" "0.3.0"
dependencies:
"downloadjs" "^1.4.7"

"vue-loader@^16.0.0-alpha.3":
"integrity" "sha512-7vKN45IxsKxe5GcVCbc2qFU5aWzyiLrYJyUuMz4BQLKctCj/fmCa0w6fGiiQ2cLFetNcek1ppGJQDCup0c1hpA=="
"resolved" "https://registry.npmmirror.com/vue-loader/-/vue-loader-16.8.3.tgz"

Loading…
Откажи
Сачувај