@@ -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", |
@@ -103,11 +103,35 @@ | |||
type: Array, | |||
default: function () { | |||
return [{ | |||
name: '测试数据' | |||
one: '范晓东', | |||
two: '贵ZEY123', | |||
three: '蓝色', | |||
four: '52011328220201499572', | |||
five: '正常', | |||
six: '储值卡', | |||
seven:'52011328220201499572', | |||
eight:'正常', | |||
data:'2020-12-24' | |||
}, { | |||
name: '测试数据' | |||
}, { | |||
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' | |||
}] | |||
} | |||
} |
@@ -15,7 +15,7 @@ export const Data = { | |||
}], | |||
field: [ //表格 | |||
{ | |||
prop: 'name', | |||
prop: 'one', | |||
label: '客户名称', | |||
width: '120', | |||
overflow: true, | |||
@@ -25,7 +25,7 @@ export const Data = { | |||
placeholder: '请输入客户名称' | |||
} | |||
}, { | |||
prop: 'name', | |||
prop: 'two', | |||
label: '车牌号码', | |||
width: '120', | |||
form: { | |||
@@ -34,7 +34,7 @@ export const Data = { | |||
placeholder: '请输入车牌号码' | |||
} | |||
}, { | |||
prop: 'name', | |||
prop: 'three', | |||
label: '车牌颜色', | |||
width: '120', | |||
form: { | |||
@@ -43,7 +43,7 @@ export const Data = { | |||
placeholder: '请输入车牌颜色' | |||
} | |||
}, { | |||
prop: 'name', | |||
prop: 'four', | |||
label: '卡号', | |||
width: '180', | |||
form: { | |||
@@ -52,7 +52,7 @@ export const Data = { | |||
placeholder: '卡号' | |||
} | |||
}, { | |||
prop: 'name', | |||
prop: 'five', | |||
label: '卡片状态', | |||
width: '120', | |||
form: { | |||
@@ -61,7 +61,7 @@ export const Data = { | |||
placeholder: '请输入卡片状态' | |||
} | |||
}, { | |||
prop: 'name', | |||
prop: 'six', | |||
label: '卡片类型', | |||
width: '120', | |||
form: { | |||
@@ -71,7 +71,7 @@ export const Data = { | |||
} | |||
}, | |||
{ | |||
prop: 'name', | |||
prop: 'seven', | |||
label: 'OBU编号', | |||
width: '180', | |||
form: { | |||
@@ -80,7 +80,7 @@ export const Data = { | |||
placeholder: 'OBU编号' | |||
} | |||
}, { | |||
prop: 'name', | |||
prop: 'eight', | |||
label: 'OBU状态', | |||
width: '', | |||
form: { |
@@ -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: { |
@@ -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: { |
@@ -40,12 +40,12 @@ | |||
<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-form-item label="黑名单类型:" :label-width="100"> | |||
<el-select v-model="form.region" placeholder="请选择黑名单类型"> | |||
<el-option label="卡挂失" value="shanghai" /> | |||
<el-option label="无卡挂起" value="beijing" /> | |||
@@ -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> |
@@ -31,8 +31,8 @@ | |||
<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"> | |||
@@ -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', |