海洋无痕 3 år sedan
förälder
incheckning
74074ff04c

+ 3848
- 18
package-lock.json
Filskillnaden har hållits tillbaka eftersom den är för stor
Visa fil


+ 4
- 1
package.json Visa fil

@@ -12,6 +12,7 @@
"@element-plus/icons-vue": "^1.1.4",
"axios": "^0.27.2",
"element-plus": "^2.1.7",
"file-saver": "^2.0.5",
"fuse.js": "^6.5.3",
"js-cookie": "^3.0.1",
"jsencrypt": "^3.2.1",
@@ -20,7 +21,8 @@
"vue": "^3.2.2",
"vue-fragment": "^1.5.2",
"vue-router": "4",
"vuex": "^4.0.2"
"vuex": "^4.0.2",
"xlsx": "^0.18.5"
},
"devDependencies": {
"@babel/types": "^7.16.0",
@@ -39,6 +41,7 @@
"postcss": "^8.4.4",
"prettier": "^2.4.1",
"sass": "^1.44.0",
"script-loader": "^0.7.2",
"typescript": "^4.5.2",
"vite": "^2.4.2",
"vite-plugin-compression": "^0.3.6",

+ 3
- 3
src/components/SlidingBlockVerifyTwo/SlidingBlockVerifyTwo.vue Visa fil

@@ -24,9 +24,9 @@
<div style="max-height: 200px;margin-bottom: 10px;">
<!-- 图片 -->
<img :src="SlideImgThreePng" class="as-radius-5px" style="height: 200px;width: 300px;">
<!-- 裁剪部分 -->
<canvas class="as-radius-5px" id="canvas-cut" :width="canWidth * 2" :height="canHeight * 2" style="position: relative;
background-color: #3FC0FC;z-index: 10;top: 0px;box-shadow: 1px 1px 2.5px #333;"
<!-- 裁剪部分 background-color: #3FC0FC; -->
<canvas class="as-radius-5px" id="canvas-cut" :width="canWidth * 2" :height="canHeight * 2"
style="position: relative;z-index: 10;top: 0px;box-shadow: 1px 1px 2.5px #333;"
:style="`left:${canLeft}px;top:${initTop}px;width: ${canWidth}px;height: ${canHeight}px;`">
</canvas>
<!-- 阴影部分 -->

+ 59
- 31
src/crud/index.vue Visa fil

@@ -37,34 +37,39 @@
<el-dialog v-model="dialogFormVisible" :title="`${title}`">
<!-- 是否自定义Dialog -->
<div v-if="tableFrom.customDialog">
<slot name="search" :searchCondition="searchCondition" />
</div>
<div v-else>
<!-- 系统内容 -->
<el-form ref="ruleFormRef" :rules="rules" :model="form">
<el-form-item v-for="(item,index) in tableFrom.field" :label="item.label" :prop="item.prop"
:label-width="formLabelWidth" >
<!-- 输入框 -->
<div style="width: 100%;" v-if="item.form.type === 'input'">
<el-input v-model="form[item.prop]" :type="item.itemType"
:placeholder="item.form.placeholder" />
</div>
<!-- 选择框 -->
<div style="width: 100%;" v-else-if="item.form.type === 'select'">
<el-select style="width: 100%;" v-model="form[item.prop]"
:placeholder="item.form.placeholder">
<el-option v-for="(itemData,index) in item.form.listData" :label="itemData.label"
:value="itemData.value" />
</el-select>
</div>
<!-- 日期框 -->
<div style="width: 100%;" v-else-if="item.form.type === 'date'">
<el-date-picker style="width: 100%;" v-model="form[item.prop]"
:value-format="item.form.valueFormat" :type="item.form.itemType"
:placeholder="item.form.placeholder" />
</div>
</el-form-item>

</el-form>

</div>
<!-- 系统内容 -->
<el-form ref="ruleFormRef" :rules="rules" :model="form">
<el-form-item v-for="(item,index) in tableFrom.field" :label="item.label" :prop="item.prop"
:label-width="formLabelWidth">
<!-- 输入框 -->
<div style="width: 100%;" v-if="item.form.type === 'input'">
<el-input v-model="form[item.prop]" :type="item.itemType"
:placeholder="item.form.placeholder" />
</div>
<!-- 选择框 -->
<div style="width: 100%;" v-else-if="item.form.type === 'select'">
<el-select style="width: 100%;" v-model="form[item.prop]" :placeholder="item.form.placeholder">
<el-option v-for="(itemData,index) in item.form.listData" :label="itemData.label"
:value="itemData.value" />
</el-select>
</div>
<!-- 日期框 -->
<div style="width: 100%;" v-else-if="item.form.type === 'date'">
<el-date-picker style="width: 100%;" v-model="form[item.prop]"
:value-format="item.form.valueFormat" :type="item.form.itemType"
:placeholder="item.form.placeholder" />
</div>
</el-form-item>
</el-form>

<template #footer>
<template v-if="!tableFrom.customDialog" #footer>
<span class="dialog-footer">
<el-button @click="cancel">取消</el-button>
<el-button type="primary" @click="affirm(ruleFormRef)">提交</el-button>
@@ -86,7 +91,6 @@

// 声明事件
const emit = defineEmits(['add', 'remove', 'refresh', 'edit', 'search', 'submit', 'handleEdit', 'handleDelete'])

// 声明props
const props = defineProps({
homeData: { //表单配置
@@ -99,11 +103,35 @@
type: Array,
default: function () {
return [{
name: '测试数据'
}, {
name: '测试数据'
one: '范晓东',
two: '贵ZEY123',
three: '蓝色',
four: '52011328220201499572',
five: '正常',
six: '储值卡',
seven:'52011328220201499572',
eight:'正常',
data:'2020-12-24'
}, {
name: '测试数据'
one: '李丽霞',
two: '贵ANS989',
three: '蓝色',
four: '52011328220201499572',
five: '正常',
six: '储值卡',
seven:'52011328220200034040',
eight:'正常',
data:'2021-08-24'
},{
one: '沈波',
two: '贵ABB123',
three: '蓝色',
four: '52011328220201499572',
five: '正常',
six: '储值卡',
seven:'52011328220201499572',
eight:'正常',
data:'2022-01-22'
}]
}
}
@@ -114,7 +142,7 @@
const testData = ref(props.tableData) //表单数据
const visible = ref(false) //删除提示框是否显示
const dialogFormVisible = ref(false) //表单弹框是否显示
const formLabelWidth = '80px' //默认表单宽度
const formLabelWidth = '100px' //默认表单宽度
const title = ref('添加') //表单标题
const DStart = ref(true) //删除按钮状态
const EStart = ref(true) //编辑按钮状态

+ 11
- 10
src/data/cardAfter/cardFillDo.ts Visa fil

@@ -6,7 +6,8 @@ export const Data = {
},
table: {
style: '',
customDialog: false,
customDialog: false, //自定义Dialog (默认false)
titleDialog: '补卡信息', //自定义Dialog标题
extend: [{
type: 'index',
label: '序号',
@@ -14,7 +15,7 @@ export const Data = {
}],
field: [ //表格
{
prop: 'name',
prop: 'one',
label: '客户名称',
width: '120',
overflow: true,
@@ -24,7 +25,7 @@ export const Data = {
placeholder: '请输入客户名称'
}
}, {
prop: 'name',
prop: 'two',
label: '车牌号码',
width: '120',
form: {
@@ -33,7 +34,7 @@ export const Data = {
placeholder: '请输入车牌号码'
}
}, {
prop: 'name',
prop: 'three',
label: '车牌颜色',
width: '120',
form: {
@@ -42,7 +43,7 @@ export const Data = {
placeholder: '请输入车牌颜色'
}
}, {
prop: 'name',
prop: 'four',
label: '卡号',
width: '180',
form: {
@@ -51,7 +52,7 @@ export const Data = {
placeholder: '卡号'
}
}, {
prop: 'name',
prop: 'five',
label: '卡片状态',
width: '120',
form: {
@@ -60,7 +61,7 @@ export const Data = {
placeholder: '请输入卡片状态'
}
}, {
prop: 'name',
prop: 'six',
label: '卡片类型',
width: '120',
form: {
@@ -70,7 +71,7 @@ export const Data = {
}
},
{
prop: 'name',
prop: 'seven',
label: 'OBU编号',
width: '180',
form: {
@@ -79,9 +80,9 @@ export const Data = {
placeholder: 'OBU编号'
}
}, {
prop: 'name',
prop: 'eight',
label: 'OBU状态',
width: '120',
width: '',
form: {
required: true,
type: 'input',

+ 7
- 7
src/data/cardAfter/cardRenewal.ts Visa fil

@@ -11,7 +11,7 @@ export const Data = {
}],
field: [ //表格
{
prop: 'name',
prop: 'one',
label: '客户名称',
width: '120',
overflow: true,
@@ -21,7 +21,7 @@ export const Data = {
placeholder: '请输入客户名称'
}
}, {
prop: 'name',
prop: 'two',
label: '证件类型',
width: '180',
form: {
@@ -30,7 +30,7 @@ export const Data = {
placeholder: '请输入证件类型'
}
}, {
prop: 'name',
prop: 'three',
label: '证件号码',
width: '180',
form: {
@@ -39,7 +39,7 @@ export const Data = {
placeholder: '请输入证件号码'
}
}, {
prop: 'name',
prop: 'four',
label: '车牌号码',
width: '120',
form: {
@@ -48,7 +48,7 @@ export const Data = {
placeholder: '请输入车牌号码'
}
}, {
prop: 'name',
prop: 'five',
label: '卡号',
width: '180',
form: {
@@ -57,7 +57,7 @@ export const Data = {
placeholder: '请输入卡号'
}
}, {
prop: 'name',
prop: 'data',
label: '卡片状态',
width: '120',
form: {
@@ -67,7 +67,7 @@ export const Data = {
}
},
{
prop: 'name',
prop: 'seven',
label: '到期时间',
width: '180',
form: {

+ 8
- 8
src/data/cardAfter/initiativeHangUp.ts Visa fil

@@ -13,7 +13,7 @@ export const Data = {
}],
field: [ //表格
{
prop: 'name',
prop: 'one',
label: '客户名称',
width: '120',
overflow: true,
@@ -23,7 +23,7 @@ export const Data = {
placeholder: '请输入客户名称'
}
}, {
prop: 'name',
prop: 'two',
label: '车牌号码',
width: '120',
form: {
@@ -32,7 +32,7 @@ export const Data = {
placeholder: '请输入车牌号码'
}
}, {
prop: 'name',
prop: 'three',
label: '车牌颜色',
width: '120',
form: {
@@ -41,7 +41,7 @@ export const Data = {
placeholder: '请输入车牌颜色'
}
}, {
prop: 'name',
prop: 'four',
label: '卡号',
width: '180',
form: {
@@ -50,7 +50,7 @@ export const Data = {
placeholder: '卡号'
}
}, {
prop: 'name',
prop: 'five',
label: '卡片状态',
width: '120',
form: {
@@ -59,7 +59,7 @@ export const Data = {
placeholder: '请输入卡片状态'
}
}, {
prop: 'name',
prop: 'six',
label: '卡片类型',
width: '120',
form: {
@@ -69,7 +69,7 @@ export const Data = {
}
},
{
prop: 'name',
prop: 'seven',
label: 'OBU编号',
width: '180',
form: {
@@ -78,7 +78,7 @@ export const Data = {
placeholder: 'OBU编号'
}
}, {
prop: 'name',
prop: 'eight',
label: 'OBU状态',
width: '120',
form: {

+ 2
- 0
src/data/tableConfig.ts Visa fil

@@ -5,6 +5,8 @@ export const cfg = {
table: { //table 样式配置
style: '', //默认表格样式
border: false, //是否添加边框(默认false)
customDialog: false, //自定义Dialog (默认false)
titleDialog: '', //自定义Dialog标题
extend: [{ //表头拓展
type: '', //类型:selection,index,expand
width: '', //表头宽度

+ 0
- 1
src/layout/components/Head.vue Visa fil

@@ -67,7 +67,6 @@
}
//提示点击
function hint(msg) {

if (msg === '退出登录') {
Cookies.remove('token')
Cookies.remove('rememberPSWD')

+ 15
- 15
src/views/shengbo/blacklistQuery/blacklistQuery.vue Visa fil

@@ -1,5 +1,5 @@
<template>
<div style="font-size: 13px; color: rgb(209, 65, 65)">
<div style="font-size: 13px; color: rgb(209, 65, 65);margin-left: 16px;">
注:目前仅支持中国工商银行贵州省分行、中国工商银行股份有限公司贵州省分行、农业银行、部互联网发行、
世纪恒通、工行微ETC、工总行直连模式三、贵州农信联社、贵州工行微ETC、世纪恒通GH查询下黑原因!
</div>
@@ -40,13 +40,13 @@
<el-button v-model="input4" type="success" :icon="Search" @click="search">搜索</el-button>
<el-button type="warning" :icon="Refresh" @click="reset">重置</el-button>
<el-button type="primary" :icon="Plus" @click="dialogFormVisible = true">添加</el-button>
<el-dialog v-model="dialogFormVisible" title="卡黑名单-操作(下黑反白)">
<el-dialog v-model="dialogFormVisible" title="卡黑名单-操作(下黑反白)" class="as-gravity-center">
<el-form :model="form">
<el-form-item label="卡号:" :label-width="150">
<el-form-item label="卡号:" :label-width="100">
<el-input v-model="form.name" style="width: 215px" />
</el-form-item>
<el-form-item label="黑名单类型:" :label-width="150">
<el-select v-model="form" placeholder="请选择黑名单类型">
<el-form-item label="黑名单类型:" :label-width="100">
<el-select v-model="form.region" placeholder="请选择黑名单类型">
<el-option label="卡挂失" value="shanghai" />
<el-option label="无卡挂起" value="beijing" />
<el-option label="无卡销售" value="shanghai" />
@@ -56,13 +56,13 @@
<el-option label="储值卡余额不足" value="shanghai" />
</el-select>
</el-form-item>
<el-form-item label="状态类型:" :label-width="150">
<el-form-item label="状态类型:" :label-width="100">
<el-select v-model="form.region" placeholder="请选择状态类型">
<el-option label="下黑" value="shanghai" />
<el-option label="反白" value="beijing" />
</el-select>
</el-form-item>
<el-form-item label="原因:" :label-width="150">
<el-form-item label="原因:" :label-width="100">
<el-input v-model="form.desc" type="textarea" />
</el-form-item>
</el-form>
@@ -91,42 +91,42 @@
<el-button @click="dialogFormVisible1 = true" style="border-style: none">详情</el-button>
</el-table-column>
</el-table>
<el-dialog v-model="dialogFormVisible1">
<el-dialog v-model="dialogFormVisible1" class="as-gravity-center">
<span class="as-gravity-center" style="font-size: 22px">基本信息</span>
<el-form :model="form1" style="padding-top: 12px">
<el-form-item label="卡号:" :label-width="150">
<el-form-item label="卡号:" :label-width="100">
<el-input v-model="form1.data" style="width: 215px" disabled />
</el-form-item>
</el-form>
<el-form :model="form1">
<el-form-item label="车辆号:" :label-width="150">
<el-form-item label="车辆号:" :label-width="100">
<el-input v-model="form1.data1" style="width: 215px" disabled />
</el-form-item>
</el-form>
<el-form :model="form1">
<el-form-item label="机构名称:" :label-width="150">
<el-form-item label="机构名称:" :label-width="100">
<el-input v-model="form1.data2" style="width: 215px" disabled />
</el-form-item>
</el-form>
<el-form :model="form1">
<el-form-item label="黑名单类型:" :label-width="150">
<el-form-item label="黑名单类型:" :label-width="100">
<el-input v-model="form1.data3" style="width: 215px" disabled />
</el-form-item>
</el-form>
<span class="as-gravity-center" style="font-size: 22px">黑名单上传日志</span>
<el-form :model="form1" style="padding-top: 12px">
<el-form-item label="上传日志:" :label-width="150" style="color: rgb(209, 65, 65)">
<el-form-item label="上传日志:" :label-width="100" style="color: rgb(209, 65, 65)">
<el-input v-model="form1.data4" type="textarea" disabled />
</el-form-item>
</el-form>
<span class="as-gravity-center" style="font-size: 22px">渠道下黑原因</span>
<el-form :model="form1" style="padding-top: 12px">
<el-form-item label="查询结果:" :label-width="150" style="color: rgb(209, 65, 65)">
<el-form-item label="查询结果:" :label-width="100" style="color: rgb(209, 65, 65)">
<el-input v-model="form1.data5" style="width: 215px" disabled />
</el-form-item>
</el-form>
<el-form :model="form1">
<el-form-item label="下黑原因:" :label-width="150" style="color: rgb(209, 65, 65)">
<el-form-item label="下黑原因:" :label-width="100" style="color: rgb(209, 65, 65)">
<el-input v-model="form1.data6" type="textarea" disabled />
</el-form-item>
</el-form>

+ 32
- 13
src/views/shengbo/trafficFlow/trafficFlow.vue Visa fil

@@ -12,7 +12,7 @@
<el-date-picker
v-model="value1"
type="datetime"
placeholder="开始日志日期"
placeholder="开始日期"
format="YYYY/MM/DD hh:mm:ss"
/>
@@ -22,7 +22,7 @@
v-model="value1"
type="datetime"
placeholder="结束日志日期"
placeholder="结束日期"
format="YYYY/MM/DD hh:mm:ss"
style="margin-left: 5px;"
/>
@@ -31,14 +31,14 @@
<div class="topstyle">
<el-button v-model="input4" 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>
<el-button type="primary" plain @click="excelExport()">导出当前页</el-button>
<el-button type="primary" plain @click="excelExport()">导出所有</el-button>
</div>
</div>
<div style="padding-top: 12px">
<el-table :data="tableData" border style="width: 100%">
<el-table-column property="date1" label="序号" width="60" />
<el-table-column property="date2" label="ETC卡号" width="140" />
<el-table-column property="date2" label="ETC卡号" width="190" />
<el-table-column property="date3" label="车牌号" width="100" />
<el-table-column property="date4" label="消费类型" width="90" />
<el-table-column property="date5" label="入口时间" width="110" />
@@ -97,14 +97,33 @@ const setCurrent = (row?: User) => {
const handleCurrentChange = (val: User | undefined) => {
currentRow.value = val
}
// const objectService = {
// url: 'http://localhost:8888/list2',
// }

// const { data } = useRequest(objectService)
// console.log(data.value);

// const tableData = data
//点击导出
function excelExport(){
import('@/vendor/Export2Excel').then(excel => {
const tHeader = ['用户名称', '账号', '手机号', '所属公司','用户角色','创建者','部门名称','创建时间','最近登录时间']
const filterVal = ['userName', 'email', 'phonenumber', 'orgName','roleName','createBy','deptName','createTime','loginTime']
const list = this.list
const data = this.formatJson(filterVal, list)
excel.export_json_to_excel({
header: tHeader,
data,
filename: "账号列表",
// filename: this.filename,
autoWidth: this.autoWidth,
bookType: this.bookType
})
this.downloadLoading = false
})
}
function formatJson(filterVal, jsonData) {
return this.dataList.map(v => filterVal.map(j => {
if (j === 'timestamp') {
return parseTime(v[j])
} else {
return v[j]
}
}))
}
const tableData: User[] = [
{
date1: '1',

+ 1977
- 1977
yarn.lock
Filskillnaden har hållits tillbaka eftersom den är för stor
Visa fil


Laddar…
Avbryt
Spara