Merge branch 'master' of http://git.xdadan.com/tanex/emis-frontend
This commit is contained in:
commit
1cdc3670f2
44
src/api/system/sysDataAuditCfg.js
Normal file
44
src/api/system/sysDataAuditCfg.js
Normal file
@ -0,0 +1,44 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询表数据监控记录配置列表
|
||||
export function listSysDataAuditCfg(query) {
|
||||
return request({
|
||||
url: '/system/sysDataAuditCfg/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询表数据监控记录配置详细
|
||||
export function getSysDataAuditCfg(id) {
|
||||
return request({
|
||||
url: '/system/sysDataAuditCfg/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增表数据监控记录配置
|
||||
export function addSysDataAuditCfg(data) {
|
||||
return request({
|
||||
url: '/system/sysDataAuditCfg',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改表数据监控记录配置
|
||||
export function updateSysDataAuditCfg(data) {
|
||||
return request({
|
||||
url: '/system/sysDataAuditCfg',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除表数据监控记录配置
|
||||
export function delSysDataAuditCfg(id) {
|
||||
return request({
|
||||
url: '/system/sysDataAuditCfg/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
44
src/api/system/sysDataAuditRecord.js
Normal file
44
src/api/system/sysDataAuditRecord.js
Normal file
@ -0,0 +1,44 @@
|
||||
import request from '@/utils/request'
|
||||
|
||||
// 查询数据修改记录表列表
|
||||
export function listSysDataAuditRecord(query) {
|
||||
return request({
|
||||
url: '/system/sysDataAuditRecord/list',
|
||||
method: 'get',
|
||||
params: query
|
||||
})
|
||||
}
|
||||
|
||||
// 查询数据修改记录表详细
|
||||
export function getSysDataAuditRecord(id) {
|
||||
return request({
|
||||
url: '/system/sysDataAuditRecord/' + id,
|
||||
method: 'get'
|
||||
})
|
||||
}
|
||||
|
||||
// 新增数据修改记录表
|
||||
export function addSysDataAuditRecord(data) {
|
||||
return request({
|
||||
url: '/system/sysDataAuditRecord',
|
||||
method: 'post',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 修改数据修改记录表
|
||||
export function updateSysDataAuditRecord(data) {
|
||||
return request({
|
||||
url: '/system/sysDataAuditRecord',
|
||||
method: 'put',
|
||||
data: data
|
||||
})
|
||||
}
|
||||
|
||||
// 删除数据修改记录表
|
||||
export function delSysDataAuditRecord(id) {
|
||||
return request({
|
||||
url: '/system/sysDataAuditRecord/' + id,
|
||||
method: 'delete'
|
||||
})
|
||||
}
|
||||
@ -1,20 +1,30 @@
|
||||
<template>
|
||||
<div class="date-box">
|
||||
<el-date-picker
|
||||
<div class="adv-picker">
|
||||
<el-select id="selectInput" v-model="valueStr" :placeholder="placeholder" clearable ref="searchSelect" :filter-method="dataFilter" @visible-change="visibleChange" @focus="selectFocus" @blur="selectBlur" @change="selectChange">
|
||||
<el-option
|
||||
v-for="item in selectOptions"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value">
|
||||
<!-- <div style="font-size: 13px;text-align:center">{{ item.label }}</div> -->
|
||||
</el-option>
|
||||
</el-select>
|
||||
<div class="date-picker-wrapper">
|
||||
<el-date-picker
|
||||
v-model="dateRange"
|
||||
:picker-options="pickerOptions"
|
||||
type="datetimerange"
|
||||
:default-time="['00:00:00', '23:59:59']"
|
||||
value-format="yyyy-MM-dd HH:mm:ss"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
ref="timeRangePicker"
|
||||
|
||||
v-model="dateRange"
|
||||
:picker-options="pickerOptions"
|
||||
type="datetimerange"
|
||||
:default-time="['00:00:00', '23:59:59']"
|
||||
value-format="yyyy-MM-dd HH:mm:ss"
|
||||
start-placeholder="开始日期"
|
||||
end-placeholder="结束日期"
|
||||
ref="timeRangePicker"
|
||||
|
||||
@change="dateChange"
|
||||
style="width: 100%;"
|
||||
>
|
||||
@change="dateChange"
|
||||
style="width: 100%;"
|
||||
>
|
||||
</el-date-picker>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
|
||||
331
src/components/DatePickerAdv/elDate7DaySimplePicker.vue
Normal file
331
src/components/DatePickerAdv/elDate7DaySimplePicker.vue
Normal file
@ -0,0 +1,331 @@
|
||||
<template>
|
||||
<div class="adv-picker">
|
||||
|
||||
|
||||
|
||||
<el-select id="selectInput" v-model="valueStr" :placeholder="placeholder" clearable ref="searchSelect" :filter-method="dataFilter" @visible-change="visibleChange" @focus="selectFocus" @blur="selectBlur" @change="selectChange">
|
||||
<el-option
|
||||
v-for="item in selectOptions"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value">
|
||||
<!-- <div style="font-size: 13px;text-align:center">{{ item.label }}</div> -->
|
||||
</el-option>
|
||||
</el-select>
|
||||
<div class="date-picker-wrapper">
|
||||
<el-date-picker class="daySelectPicker"
|
||||
v-model="daySelectValue"
|
||||
type="date"
|
||||
ref="daySelectPicker"
|
||||
size="mini"
|
||||
v-show="true"
|
||||
@change="dayChange"
|
||||
>
|
||||
</el-date-picker>
|
||||
</div>
|
||||
<div class="time-picker-wrapper">
|
||||
<el-date-picker
|
||||
v-model="dateTimeRange"
|
||||
:default-time="['00:00:00', '23:59:59']"
|
||||
type="datetimerange"
|
||||
range-separator="-"
|
||||
start-placeholder="开始时间"
|
||||
end-placeholder="结束时间"
|
||||
ref="timePicker"
|
||||
size="mini"
|
||||
v-show="false"
|
||||
@change="dateTimeChange"
|
||||
>
|
||||
</el-date-picker>
|
||||
</div>
|
||||
<!-- v-show="false" -->
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
props: {
|
||||
value: {
|
||||
type: [Array],
|
||||
required: false
|
||||
},
|
||||
placeholder: "",
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
selectOptions:[],
|
||||
daySelectValue: null,
|
||||
dateTimeRange: [],
|
||||
optionsFilter: [],
|
||||
valueStr: undefined,
|
||||
}
|
||||
},
|
||||
watch: {
|
||||
value(newVal){
|
||||
if(!this.value||this.value==''){
|
||||
this.valueStr=null;
|
||||
this.daySelectValue=null;
|
||||
this.dateTimeRange=[] ;
|
||||
}
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.initDateSelector();
|
||||
},
|
||||
methods: {
|
||||
initDateSelector(){
|
||||
this.selectOptions= [
|
||||
{value: '1',label: '今天'},
|
||||
{value: '2',label: '昨天'},
|
||||
{value: '-7',label: '过去7天'},
|
||||
{value: '-30',label: '过去30天'},
|
||||
{value: '-2',label: '...'},
|
||||
{value: '3',label: '这个月'},
|
||||
{value: '4',label: '上个月'},
|
||||
{value: '-1',label: '手动选择'},
|
||||
// {value: '5',label: '最近三天'},
|
||||
// {value: '6',label: '最近一周'},
|
||||
// {value: '7',label: '最近三个月'}
|
||||
]
|
||||
},
|
||||
dataFilter(val) {
|
||||
// this.value = val;
|
||||
// if (val) {
|
||||
// this.options = this.optionsFilter.filter((item) => {
|
||||
// if (item.label.includes(val) || item.label.toUpperCase().includes(val.toUpperCase())) {
|
||||
// return true
|
||||
// }
|
||||
// })
|
||||
// } else {
|
||||
// this.options = this.optionsFilter;
|
||||
// }
|
||||
},
|
||||
selectFocus(e){
|
||||
// let value = e.target.value;
|
||||
// setTimeout(() => {
|
||||
// let input = this.$refs.searchSelect.$children[0].$refs.input;
|
||||
// input.value = value;
|
||||
// })
|
||||
},
|
||||
selectBlur(){
|
||||
// console.log('失去')
|
||||
},
|
||||
selectChange(){
|
||||
let input = this.$refs.searchSelect.$children[0].$refs.input;
|
||||
var start='';
|
||||
var end='';
|
||||
if(this.valueStr == 1){
|
||||
let day=this.getDay(0);
|
||||
start = day + " 00:00:00";
|
||||
end = day + " 23:59:59";
|
||||
}
|
||||
else if(this.valueStr == 2){
|
||||
let day=this.getDay(-1);
|
||||
start = day + " 00:00:00";
|
||||
end = day + " 23:59:59";
|
||||
}
|
||||
else if(this.valueStr == -7){
|
||||
let day=this.getDay(-7);
|
||||
start = day + " 00:00:00";
|
||||
let nowDay=this.getDay(0);
|
||||
end = nowDay + " 00:00:00";
|
||||
}
|
||||
else if(this.valueStr == -30){
|
||||
let day=this.getDay(-30);
|
||||
start = day + " 00:00:00";
|
||||
let nowDay=this.getDay(0);
|
||||
end = nowDay + " 00:00:00";
|
||||
}
|
||||
else if(this.valueStr == 3){
|
||||
start = this.getCurrentMonthFirst() + " 00:00:00";
|
||||
end = this.getCurrentMonthLast() + " 23:59:59";
|
||||
}
|
||||
else if(this.valueStr == 4){
|
||||
start = this.getLastMonthFirst() + " 00:00:00";
|
||||
end = this.getLastMonthLast() + " 23:59:59";
|
||||
}
|
||||
else if(this.valueStr == -2){
|
||||
document.querySelector('.daySelectPicker > input').focus()
|
||||
}
|
||||
else if(this.valueStr == -1){
|
||||
document.querySelector('.time-picker-wrapper .el-date-editor').querySelector('input').focus()
|
||||
}
|
||||
|
||||
// this.dateTimeRange[0]=new Date(start);
|
||||
// this.dateTimeRange[1]=new Date(end);
|
||||
|
||||
if(start!=null){
|
||||
this.dateTimeRange=[];
|
||||
|
||||
this.dateTimeRange[0]=start;
|
||||
this.dateTimeRange[1]=end;
|
||||
this.valueStr=start + " - " + end;
|
||||
this.$emit('input',this.dateTimeRange)
|
||||
this.$emit('change',this.dateTimeRange)
|
||||
}
|
||||
// input.value = this.valueStr;
|
||||
},
|
||||
visibleChange(val){
|
||||
if(!val){
|
||||
let input = this.$refs.searchSelect.$children[0].$refs.input;
|
||||
input.blur();
|
||||
}
|
||||
}
|
||||
,getDay(day) {
|
||||
var today = new Date();
|
||||
var targetday_milliseconds = today.getTime() + 1000 * 60 * 60 * 24 * day;
|
||||
today.setTime(targetday_milliseconds);
|
||||
var tYear = today.getFullYear();
|
||||
var tMonth = today.getMonth();
|
||||
var tDate = today.getDate();
|
||||
tMonth = this.doHandleMonth(tMonth + 1);
|
||||
tDate = this.doHandleMonth(tDate);
|
||||
return tYear + "-" + tMonth + "-" + tDate;
|
||||
},
|
||||
doHandleMonth(month) {
|
||||
var m = month;
|
||||
if (month.toString().length == 1) {
|
||||
m = "0" + month;
|
||||
}
|
||||
return m;
|
||||
},
|
||||
getCurrentMonthFirst() {
|
||||
var date = new Date()
|
||||
date.setDate(1)
|
||||
var tYear = date.getFullYear();
|
||||
var tMonth = date.getMonth();
|
||||
var tDate = date.getDate();
|
||||
tMonth = this.doHandleMonth(tMonth + 1);
|
||||
tDate = this.doHandleMonth(tDate);
|
||||
return tYear + "-" + tMonth + "-" + tDate;
|
||||
},
|
||||
// 获取当前月的最后一天
|
||||
getCurrentMonthLast() {
|
||||
var date = new Date()
|
||||
var currentMonth = date.getMonth()
|
||||
var nextMonth = ++currentMonth
|
||||
var nextMonthFirstDay = new Date(date.getFullYear(), nextMonth, 1)
|
||||
var oneDay = 1000 * 60 * 60 * 24
|
||||
|
||||
var newDate=new Date(nextMonthFirstDay - oneDay);
|
||||
var tYear = newDate.getFullYear();
|
||||
var tMonth = newDate.getMonth();
|
||||
var tDate = newDate.getDate();
|
||||
tMonth = this.doHandleMonth(tMonth + 1);
|
||||
tDate = this.doHandleMonth(tDate);
|
||||
return tYear + "-" + tMonth + "-" + tDate;
|
||||
},
|
||||
getLastMonthFirst() {
|
||||
const nowdays = new Date()
|
||||
let year = nowdays.getFullYear()
|
||||
let month = nowdays.getMonth()
|
||||
if (month === 0) {
|
||||
month = 12
|
||||
year = year - 1
|
||||
}
|
||||
if (month < 10) {
|
||||
month = '0' + month
|
||||
}
|
||||
let firstDayOfPreMonth = year + '-' + month + '-' + '01'
|
||||
firstDayOfPreMonth = firstDayOfPreMonth.toString()
|
||||
return firstDayOfPreMonth
|
||||
// return new Date(firstDayOfPreMonth)
|
||||
}
|
||||
,getLastMonthLast() {
|
||||
const nowdays = new Date()
|
||||
let year = nowdays.getFullYear()
|
||||
let month = nowdays.getMonth()
|
||||
if (month === 0) {
|
||||
month = 12
|
||||
year = year - 1
|
||||
}
|
||||
if (month < 10) {
|
||||
month = '0' + month
|
||||
}
|
||||
const lastDay = new Date(year, month, 0)
|
||||
let lastDayOfPreMonth = year + '-' + month + '-' + lastDay.getDate()
|
||||
lastDayOfPreMonth = lastDayOfPreMonth.toString()
|
||||
return lastDayOfPreMonth
|
||||
// return new Date(lastDayOfPreMonth)
|
||||
}
|
||||
,getDateTimeToString(date)
|
||||
{
|
||||
var year = date.getFullYear();
|
||||
var month = date.getMonth()+1;
|
||||
var day = date.getDate();
|
||||
if(month<10) month = "0"+month;
|
||||
if(day<10) day = "0"+day;
|
||||
|
||||
var hours = date.getHours();
|
||||
var mins = date.getMinutes();
|
||||
var secs = date.getSeconds();
|
||||
// var msecs = date.getMilliseconds();
|
||||
if(hours<10) hours = "0"+hours;
|
||||
if(mins<10) mins = "0"+mins;
|
||||
if(secs<10) secs = "0"+secs;
|
||||
// if(msecs<10) secs = "0"+msecs;
|
||||
return year+"-"+month+"-"+day+" "+hours+":"+mins+":"+secs;
|
||||
}
|
||||
,getDayToString(date)
|
||||
{
|
||||
var year = date.getFullYear();
|
||||
var month = date.getMonth()+1;
|
||||
var day = date.getDate();
|
||||
if(month<10) month = "0"+month;
|
||||
if(day<10) day = "0"+day;
|
||||
return year+"-"+month+"-"+day;
|
||||
}
|
||||
,dateTimeChange(value) {
|
||||
// picker.$emit('pick', [start, end])
|
||||
|
||||
if(value==null){
|
||||
return ;
|
||||
}
|
||||
|
||||
var start=this.getDateTimeToString(this.dateTimeRange[0]);
|
||||
var end=this.getDateTimeToString(this.dateTimeRange[1]);
|
||||
this.dateTimeRange[0]=start;
|
||||
this.dateTimeRange[1]=end;
|
||||
this.valueStr=start + " - " + end;
|
||||
this.$emit('input',this.dateTimeRange)
|
||||
this.$emit('change',this.dateTimeRange)
|
||||
}
|
||||
,dayChange(value) {
|
||||
var day=this.getDayToString(value);
|
||||
var start=day + " 00:00:00";
|
||||
var end=day + " 23:59:59";
|
||||
this.dateTimeRange[0]=start;
|
||||
this.dateTimeRange[1]=end;
|
||||
this.valueStr=start + " - " + end;
|
||||
this.$emit('input',this.dateTimeRange)
|
||||
this.$emit('change',this.dateTimeRange)
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.datetimepicker {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.date-picker-wrapper {
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
width: 0px;
|
||||
overflow: hidden;
|
||||
height: 0px;
|
||||
}
|
||||
|
||||
.time-picker-wrapper {
|
||||
position: absolute;
|
||||
top: 0px;
|
||||
left: 0px;
|
||||
width: 0px;
|
||||
overflow: hidden;
|
||||
height: 0px;
|
||||
}
|
||||
|
||||
</style>
|
||||
@ -184,8 +184,8 @@ export default {
|
||||
},
|
||||
showFirstFile(){
|
||||
if(this.isA4){
|
||||
this.scale=75;
|
||||
this.preScale=75;
|
||||
this.scale=50;
|
||||
this.preScale=50;
|
||||
this.pageCount=this.cacheA4FileList.length;
|
||||
setTimeout( this.showA4Page(this.cacheA4FileList.length),3000);
|
||||
}else{
|
||||
@ -409,8 +409,9 @@ export default {
|
||||
|
||||
.grid2 {
|
||||
height: 200px;
|
||||
background-image: radial-gradient(circle, rgb(165, 165, 165) 1px, #fff 1px);
|
||||
background-size: 20px 20px;
|
||||
// background-image: radial-gradient(circle, rgb(165, 165, 165) 1px, #fff 1px);
|
||||
background-image: radial-gradient(circle, #4a4a4a 1px, #3f3f3f 1px);
|
||||
background-size: 15px 15px;
|
||||
background-position: center center;
|
||||
}
|
||||
|
||||
|
||||
@ -39,8 +39,6 @@
|
||||
</div>
|
||||
</div>
|
||||
<div style="min-height:1600px;margin: 0 auto;overflow: auto;">
|
||||
<!-- <el-scrollbar style="height:800px"> -->
|
||||
<!-- </el-scrollbar> -->
|
||||
<div class="pdf-wrapper">
|
||||
<pdf
|
||||
:src="currentPdfUrl"
|
||||
@ -49,7 +47,6 @@
|
||||
@page-loaded="onPageLoaded($event)"
|
||||
ref="pdf"
|
||||
></pdf>
|
||||
<!-- v-drag -->
|
||||
</div>
|
||||
|
||||
|
||||
@ -103,9 +100,8 @@ export default {
|
||||
cacheA4FileList:[],
|
||||
thisPageCount:1,
|
||||
|
||||
|
||||
scale: 20,
|
||||
preScale: 20,
|
||||
scale: 30,
|
||||
preScale: 30,
|
||||
|
||||
pdfUtils:new PdfUtils(),
|
||||
|
||||
@ -134,7 +130,7 @@ export default {
|
||||
if(this.isA4){
|
||||
this.doScale(75);
|
||||
}else{
|
||||
this.doScale(20);
|
||||
this.doScale(30);
|
||||
}
|
||||
},
|
||||
isLoadComplete(newVal,oldVal){
|
||||
@ -191,8 +187,8 @@ export default {
|
||||
this.pageCount=this.cacheA4FileList.length;
|
||||
setTimeout( this.showA4Page(this.cacheA4FileList.length),3000);
|
||||
}else{
|
||||
this.scale=20;
|
||||
this.preScale=20;
|
||||
this.scale=30;
|
||||
this.preScale=30;
|
||||
this.pageCount=this.cacheFileList.length;
|
||||
setTimeout( this.showSinglePage(1),2000);
|
||||
}
|
||||
@ -420,8 +416,9 @@ export default {
|
||||
|
||||
.grid2 {
|
||||
height: 200px;
|
||||
background-image: radial-gradient(circle, rgb(165, 165, 165) 1px, #fff 1px);
|
||||
background-size: 20px 20px;
|
||||
// background-image: radial-gradient(circle, rgb(165, 165, 165) 1px, #fff 1px);
|
||||
background-image: radial-gradient(circle, #4a4a4a 1px, #3f3f3f 1px);
|
||||
background-size: 15px 15px;
|
||||
background-position: center center;
|
||||
}
|
||||
|
||||
|
||||
@ -20,7 +20,7 @@
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="" prop="blSubBill">
|
||||
<el-checkbox style="font-size:400;margin-right:10px;" v-model="queryParams.blSubBill" :true-label="'1'" :false-label="'0'">显示子单</el-checkbox>
|
||||
<el-checkbox style="font-size:400;margin-right:10px;" v-model="blSubBill" :true-label="1" :false-label="0">显示子单</el-checkbox>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
@ -39,11 +39,21 @@
|
||||
|
||||
<div style="min-height: 100%;padding: 0px 10px 5px 0px;">
|
||||
<el-scrollbar style="height: 1000px">
|
||||
<CardWithHeader v-for="(item,index) in emisWaybillList" :key="resetRefreshId+'.'+index" :header="'运单号:'+item.billCode" >
|
||||
<template v-slot:body>
|
||||
<TraceWaybillDetailView :scanBillCode="item.billCode" :billDetail="item.waybillDetail" :key="resetRefreshId+'.d.'+index" ></TraceWaybillDetailView>
|
||||
</template>
|
||||
</CardWithHeader>
|
||||
<!-- 如果显示子单勾选则循环显示子单 -->
|
||||
<div v-for="(item,index) in emisWaybillList" :key="resetRefreshId+'.'+index">
|
||||
<CardWithHeader :header="'运单号:'+item.billCode" >
|
||||
<template v-slot:body>
|
||||
<TraceWaybillDetailView :scanBillCode="item.billCode" :billDetail="item.waybillDetail" :key="resetRefreshId+'.d.'+index" ></TraceWaybillDetailView>
|
||||
</template>
|
||||
</CardWithHeader>
|
||||
|
||||
<CardWithHeader :header="'运单号:'+item.billCode" >
|
||||
<template v-slot:body>
|
||||
<TraceWaybillDetailView :scanBillCode="item.billCode" :billDetail="item.waybillDetail" :key="resetRefreshId+'.d.'+index" ></TraceWaybillDetailView>
|
||||
</template>
|
||||
</CardWithHeader>
|
||||
</div>
|
||||
|
||||
</el-scrollbar>
|
||||
</div>
|
||||
|
||||
@ -70,13 +80,13 @@ export default {
|
||||
resetRefreshId:null,
|
||||
// 运单列表表格数据
|
||||
emisWaybillList: [],
|
||||
|
||||
blSubBill:0,
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 20,
|
||||
billCode: null,
|
||||
blSubBill:0,
|
||||
|
||||
},
|
||||
};
|
||||
},
|
||||
|
||||
@ -31,7 +31,7 @@
|
||||
<el-radio :key="1" label="1">发货时间</el-radio>
|
||||
</el-radio-group>
|
||||
</div>
|
||||
<elDate7DayPicker v-model="dateRange" ></elDate7DayPicker>
|
||||
<elDate7DaySimplePicker v-model="dateRange" ></elDate7DaySimplePicker>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="queryExpireNotSign">
|
||||
<el-checkbox style="font-size:400;margin-right:10px;" v-model="queryParams.params.expireNotSign" :true-label="'1'" :false-label="'0'">超时未签收</el-checkbox>
|
||||
@ -589,7 +589,7 @@ import elDate7DayPicker from '@/components/DatePickerAdv/elDate7DayPicker';
|
||||
|
||||
// import emisWaybillView from '@/views/emis/emisWaybill/emisWaybillView';
|
||||
import emisWaybillForm from '@/views/emis/emisWaybill/emisWaybillForm';
|
||||
import elDateAdvPicker from '@/components/DatePickerAdv/elDateAdvPicker';
|
||||
import elDate7DaySimplePicker from '@/components/DatePickerAdv/elDate7DaySimplePicker';
|
||||
|
||||
import CountryPicker1 from '@/views/emis/EmisBaseTools/CountryPicker.vue';
|
||||
|
||||
@ -635,7 +635,8 @@ export default {
|
||||
components: {
|
||||
TraceWaybillDetailView,
|
||||
EmisMonthpayAccountPicker,
|
||||
elDate7DayPicker,emisWaybillForm,
|
||||
elDate7DaySimplePicker,
|
||||
emisWaybillForm,
|
||||
CountryPicker1,
|
||||
CountryPicker2,ProvincePicker2,
|
||||
TransLinePicker,TransProductPicker,
|
||||
|
||||
422
src/views/system/sysDataAuditCfg/index.vue
Normal file
422
src/views/system/sysDataAuditCfg/index.vue
Normal file
@ -0,0 +1,422 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<SearchForm :model="queryParams" ref="queryForm" size="small" :maxShow="3" label-width="68px" v-show="showSearch" @search="handleQuery" @reset="resetQuery">
|
||||
|
||||
<el-form-item label="" prop="tableName">
|
||||
<el-input
|
||||
v-model="queryParams.tableName"
|
||||
:placeholder="$t('表名称')"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="tableComment">
|
||||
<el-input
|
||||
v-model="queryParams.tableComment"
|
||||
:placeholder="$t('表描述')"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="fieldName">
|
||||
<el-input
|
||||
v-model="queryParams.fieldName"
|
||||
:placeholder="$t('字段名称')"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="fieldComment">
|
||||
<el-input
|
||||
v-model="queryParams.fieldComment"
|
||||
:placeholder="$t('字段描述')"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="pkName">
|
||||
<el-input
|
||||
v-model="queryParams.pkName"
|
||||
:placeholder="$t('主键名称')"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="blEnable">
|
||||
<el-input
|
||||
v-model="queryParams.blEnable"
|
||||
:placeholder="$t('是否启用')"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="remark">
|
||||
<el-input
|
||||
v-model="queryParams.remark"
|
||||
:placeholder="$t('备注')"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="" prop="delFlag">
|
||||
<el-input
|
||||
v-model="queryParams.delFlag"
|
||||
:placeholder="$t('删除标志(0代表存在')"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
</SearchForm>
|
||||
|
||||
|
||||
<XdTable v-loading="loading"
|
||||
border stripe
|
||||
size="small"
|
||||
:data="sysDataAuditCfgList"
|
||||
:showSearch.sync="showSearch"
|
||||
:queryParams="queryParams"
|
||||
:total="total"
|
||||
@queryTable="getList"
|
||||
@selection-change="handleSelectionChange"
|
||||
@sort-change="handleSortChange"
|
||||
>
|
||||
|
||||
<div slot="toolbar">
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-plus"
|
||||
size="mini"
|
||||
@click="handleAdd"
|
||||
v-hasPermi="['system:sysDataAuditCfg:add']"
|
||||
>新增</el-button>
|
||||
</el-col>
|
||||
<!--
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="success"
|
||||
plain
|
||||
icon="el-icon-edit"
|
||||
size="mini"
|
||||
:disabled="single"
|
||||
@click="handleUpdate"
|
||||
v-hasPermi="['system:sysDataAuditCfg:edit']"
|
||||
>修改</el-button>
|
||||
</el-col> -->
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="danger"
|
||||
plain
|
||||
icon="el-icon-delete"
|
||||
size="mini"
|
||||
:disabled="multiple"
|
||||
@click="handleDelete"
|
||||
v-hasPermi="['system:sysDataAuditCfg:remove']"
|
||||
>删除</el-button>
|
||||
</el-col>
|
||||
<!-- <el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
v-hasPermi="['system:sysDataAuditCfg:export']"
|
||||
>导出</el-button>
|
||||
</el-col> -->
|
||||
</el-row>
|
||||
</div>
|
||||
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
<!--
|
||||
<el-table-column label="序号" align="center" min-width="60">
|
||||
<template slot-scope="scope">
|
||||
<span v-text="getIndex(scope.$index)"> </span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="xxx" align="left" prop="xxx" min-width="180">
|
||||
<template slot-scope="scope">
|
||||
<div class="link-type" @click="handleView(scope.row)">{{scope.row.orderSn}}</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
|
||||
<el-table-column label="结算状态" align="center" prop="settleStatus" :sort-orders="['descending','ascending']" sortable="custom" min-width="80">
|
||||
<template slot-scope="scope">
|
||||
<div v-if="scope.row.settleStatus == 0" style="color:red;">
|
||||
<span class="el-tag el-tag--info">未结算</span>
|
||||
</div>
|
||||
<div v-if="scope.row.settleStatus == 10" style="color:red;">
|
||||
<span class="el-tag">待确认</span>
|
||||
</div>
|
||||
<div v-if="scope.row.settleStatus == 11" style="color:green;">
|
||||
<span class="el-tag el-tag--success el-tag--light">已确认</span>
|
||||
</div>
|
||||
<div v-if="scope.row.settleStatus == 20" >
|
||||
<span class="el-tag el-tag--warning el-tag--light">待打款</span>
|
||||
</div>
|
||||
<div v-if="scope.row.settleStatus == 21" style="color:green;">
|
||||
<span class="el-tag el-tag--success el-tag--light">已打款</span>
|
||||
</div>
|
||||
<div v-if="scope.row.settleStatus == 40" style="color:red;">
|
||||
<span class="el-tag el-tag--danger">已拒绝</span>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
-->
|
||||
|
||||
<el-table-column :label="$t('表名称')" align="center" prop="tableName" min-width="100" />
|
||||
<el-table-column :label="$t('表描述')" align="center" prop="tableComment" min-width="100" />
|
||||
<el-table-column :label="$t('字段名称')" align="center" prop="fieldName" min-width="100" />
|
||||
<el-table-column :label="$t('字段描述')" align="center" prop="fieldComment" min-width="100" />
|
||||
<el-table-column :label="$t('主键名称')" align="center" prop="pkName" min-width="100" />
|
||||
<el-table-column :label="$t('是否启用')" align="center" prop="blEnable" min-width="100" />
|
||||
<el-table-column :label="$t('备注')" align="center" prop="remark" min-width="100" />
|
||||
<el-table-column :label="$t('删除标志(0代表存在')" align="center" prop="delFlag" min-width="100" />
|
||||
<el-table-column :label="$t('操作')" align="center" class-name="small-padding fixed-width">
|
||||
<template slot-scope="scope">
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-edit"
|
||||
@click="handleUpdate(scope.row)"
|
||||
v-hasPermi="['system:sysDataAuditCfg:edit']"
|
||||
>修改</el-button>
|
||||
<!--
|
||||
<el-button
|
||||
size="mini"
|
||||
type="text"
|
||||
icon="el-icon-delete"
|
||||
@click="handleDelete(scope.row)"
|
||||
v-hasPermi="['system:sysDataAuditCfg:remove']"
|
||||
>删除</el-button> -->
|
||||
</template>
|
||||
</el-table-column>
|
||||
</XdTable>
|
||||
|
||||
<el-dialog :title="titleForm" :visible.sync="openForm" width="50%" :destroy-on-close="true" v-dialogDrag append-to-body>
|
||||
<sysDataAuditCfgForm :id="currentId" @on-changed="handleFormChanged" @on-cancel="cancelForm"></SysDataAuditCfgForm>
|
||||
</el-dialog>
|
||||
|
||||
|
||||
<!--
|
||||
<el-dialog :title="titleView" :visible.sync="openView" width="60%" :close-on-click-modal="false" v-dialogDrag append-to-body>
|
||||
<sysDataAuditCfgView :id="id" ></SysDataAuditCfgView>
|
||||
</el-dialog>
|
||||
-->
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listSysDataAuditCfg, getSysDataAuditCfg, delSysDataAuditCfg, addSysDataAuditCfg, updateSysDataAuditCfg } from "@/api/system/sysDataAuditCfg";
|
||||
import elDateSimplePicker from '@/components/DatePickerAdv/elDateSimplePicker';
|
||||
// import sysDataAuditCfgView from '@/views/system/sysDataAuditCfg/sysDataAuditCfgView';
|
||||
import sysDataAuditCfgForm from '@/views/system/sysDataAuditCfg/sysDataAuditCfgForm';
|
||||
|
||||
export default {
|
||||
name: "sysDataAuditCfg",
|
||||
components: { elDateSimplePicker,sysDataAuditCfgForm },
|
||||
dicts: [
|
||||
],
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 选中数组
|
||||
ids: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 创建时间搜索
|
||||
dateTimeRange:[],
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 表数据监控记录配置表格数据
|
||||
sysDataAuditCfgList: [],
|
||||
|
||||
currentId:null,
|
||||
openForm: false,
|
||||
titleForm: "",
|
||||
|
||||
// 弹出展示层
|
||||
id:null,
|
||||
titleView:"",
|
||||
openView: false,
|
||||
// 更新网点时间范围
|
||||
daterangeCreateTime: [],
|
||||
// 更新网点时间范围
|
||||
daterangeUpdateTime: [],
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 20,
|
||||
tableName: null,
|
||||
tableComment: null,
|
||||
fieldName: null,
|
||||
fieldComment: null,
|
||||
pkName: null,
|
||||
blEnable: null,
|
||||
remark: null,
|
||||
delFlag: null,
|
||||
},
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
/** 查询表数据监控记录配置列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
this.queryParams.params = {};
|
||||
if (null != this.daterangeCreateTime && '' != this.daterangeCreateTime) {
|
||||
this.queryParams.params["beginCreateTime"] = this.daterangeCreateTime[0];
|
||||
this.queryParams.params["endCreateTime"] = this.daterangeCreateTime[1];
|
||||
}
|
||||
if (null != this.daterangeUpdateTime && '' != this.daterangeUpdateTime) {
|
||||
this.queryParams.params["beginUpdateTime"] = this.daterangeUpdateTime[0];
|
||||
this.queryParams.params["endUpdateTime"] = this.daterangeUpdateTime[1];
|
||||
}
|
||||
listSysDataAuditCfg(this.addDateRange(this.queryParams, this.dateTimeRange)).then(response => {
|
||||
this.sysDataAuditCfgList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
},
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map(item => item.id)
|
||||
this.single = selection.length!==1
|
||||
this.multiple = !selection.length
|
||||
},
|
||||
// 排序 查询字段是表格中字段名字 动态取值排序顺序
|
||||
handleSortChange(column) {
|
||||
this.queryParams.orderByColumn = column.prop;
|
||||
this.queryParams.isAsc = column.order;
|
||||
this.getList();
|
||||
},
|
||||
/** 新增按钮操作 */
|
||||
handleAdd(row) {
|
||||
this.currentId=null;
|
||||
this.openForm= true;
|
||||
this.titleForm = "新增";
|
||||
},
|
||||
handleShowMoreInput(){
|
||||
this.moreInputVisible = !this.moreInputVisible;
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row) {
|
||||
this.currentId= row.id;
|
||||
this.openForm = true;
|
||||
this.titleForm = "修改";
|
||||
},
|
||||
handleView(row) {
|
||||
this.id=row.id;
|
||||
this.titleView="查看";
|
||||
this.openView=true;
|
||||
// this.router.push({ path: '/system/sysDataAuditCfg/viewDetail', query: { id: row.id }})
|
||||
},
|
||||
handleFormChanged(){
|
||||
this.openForm = false;
|
||||
this.getList();
|
||||
},
|
||||
cancelForm(){
|
||||
this.openForm = false;
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const ids = row.id || this.ids;
|
||||
this.$modal.confirm('是否确认删除').then(function() {
|
||||
return delSysDataAuditCfg(ids);
|
||||
}).then(() => {
|
||||
this.getList();
|
||||
this.$modal.msgSuccess("删除成功");
|
||||
}).catch(() => {});
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
// this.download('system/sysDataAuditCfg/export', {
|
||||
// ...this.queryParams
|
||||
// }, `sysDataAuditCfg_${new Date().getTime()}.xlsx`)
|
||||
const loadingInstance = this.$loading({
|
||||
text: '正在导出...'
|
||||
})
|
||||
var qParam = {...this.queryParams};
|
||||
qParam.pageNum=1;
|
||||
qParam.pageSize=5000;
|
||||
|
||||
listSysDataAuditCfg(this.addDateRange(qParam, this.dateTimeRange)).then(response => {
|
||||
this.downloadLoading = false
|
||||
if (response.code === 200) {
|
||||
const curList = response.rows
|
||||
import('@/vendor/Export2Excel').then(excel => {
|
||||
const tHeader = ['id','表名称','表描述','字段名称','字段描述','主键名称','是否启用','备注','租户ID','删除标志(0代表存在','创建者','创建时间','更新者','更新时间','创建网点','更新网点',];
|
||||
const filterVal = ['id','tableName','tableComment','fieldName','fieldComment','pkName','blEnable','remark','tenantId','delFlag','createBy','createTime','updateBy','updateTime','createSite','updateSite',];
|
||||
const data = this.formatJson(filterVal, curList, response.rows)
|
||||
excel.export_json_to_excel({
|
||||
header: tHeader,
|
||||
data,
|
||||
filename: '表数据监控记录配置',
|
||||
autoWidth: true
|
||||
})
|
||||
loadingInstance.close()
|
||||
})
|
||||
}
|
||||
});
|
||||
},
|
||||
formatJson(filterVal, jsonData, resData) {
|
||||
let index = 0
|
||||
return jsonData.map(v => filterVal.map(j => {
|
||||
if (j === 'index') {
|
||||
return ++index
|
||||
}
|
||||
if (j === 'status') {
|
||||
var statusStr='xxx'
|
||||
if(v[j] == 10){
|
||||
statusStr='xxx'
|
||||
}
|
||||
return statusStr;
|
||||
}
|
||||
return v[j]
|
||||
}))
|
||||
},
|
||||
/** 列索引函数 */
|
||||
getIndex($index) {
|
||||
return (this.queryParams.pageNum - 1) * this.queryParams.pageSize + $index + 1
|
||||
},
|
||||
/** 时间搜索响应函数 */
|
||||
dateTimeChange(value){
|
||||
this.dateTimeRange=value;
|
||||
},
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.el-divider{
|
||||
margin-top: 0px;
|
||||
background: 0 0;
|
||||
border-top: 1px solid #E6EBF5;
|
||||
}
|
||||
.el-divider__text {
|
||||
color: #0955ee;
|
||||
cursor: pointer;
|
||||
}
|
||||
</style>
|
||||
200
src/views/system/sysDataAuditCfg/sysDataAuditCfgForm.vue
Normal file
200
src/views/system/sysDataAuditCfg/sysDataAuditCfgForm.vue
Normal file
@ -0,0 +1,200 @@
|
||||
<template>
|
||||
<div >
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;">
|
||||
<el-col :span="24">
|
||||
<el-form-item label="表名称" prop="tableName">
|
||||
<el-input v-model="form.tableName" placeholder="请输入表名称" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="表描述" prop="tableComment">
|
||||
<el-input v-model="form.tableComment" placeholder="请输入表描述" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="字段名称" prop="fieldName">
|
||||
<el-input v-model="form.fieldName" placeholder="请输入字段名称" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="字段描述" prop="fieldComment">
|
||||
<el-input v-model="form.fieldComment" placeholder="请输入字段描述" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="主键名称" prop="pkName">
|
||||
<el-input v-model="form.pkName" placeholder="请输入主键名称" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="是否启用" prop="blEnable">
|
||||
<el-input v-model="form.blEnable" placeholder="请输入是否启用" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-input v-model="form.remark" placeholder="请输入备注" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="删除标志(0代表存在" prop="delFlag">
|
||||
<el-input v-model="form.delFlag" placeholder="请输入删除标志(0代表存在" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<!--
|
||||
<el-form-item label="上级字典">
|
||||
<treeselect
|
||||
ref="tree"
|
||||
v-model="form.parentId"
|
||||
:options="sysDataAuditCfgOptions"
|
||||
:normalizer="normalizer"
|
||||
:default-expand-level="1"
|
||||
:show-count="true"
|
||||
placeholder="选择上级"
|
||||
/>
|
||||
</el-form-item>
|
||||
-->
|
||||
</el-row>
|
||||
</el-form>
|
||||
<div style="text-align: center;margin-bottom: 10px;">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listSysDataAuditCfg, getSysDataAuditCfg, delSysDataAuditCfg, addSysDataAuditCfg, updateSysDataAuditCfg } from "@/api/system/sysDataAuditCfg";
|
||||
|
||||
export default {
|
||||
name: "sysDataAuditCfgForm",
|
||||
props:{
|
||||
id:{
|
||||
type:Number
|
||||
}
|
||||
},
|
||||
components: { },
|
||||
dicts: [
|
||||
],
|
||||
data() {
|
||||
return {
|
||||
sysDataAuditCfgOptions: [],
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {
|
||||
id: [
|
||||
{ required: true, message: "id不能为空", trigger: "blur" }
|
||||
],
|
||||
delFlag: [
|
||||
{ required: true, message: "删除标志(0代表存在不能为空", trigger: "blur" }
|
||||
],
|
||||
}
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
"id": {
|
||||
handler (newValue, oldValue) {
|
||||
this.id = newValue;
|
||||
this.initData();
|
||||
},
|
||||
deep: true
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.initData();
|
||||
},
|
||||
|
||||
methods: {
|
||||
initData() {
|
||||
|
||||
if(this.id !=null) {
|
||||
this.loading = true;
|
||||
getSysDataAuditCfg(this.id).then(response => {
|
||||
this.form = response.data;
|
||||
this.loading = false;
|
||||
});
|
||||
}else{
|
||||
this.reset();
|
||||
}
|
||||
// this.getTreeselect();
|
||||
},
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.reset();
|
||||
this.$emit("on-cancel");
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
id: null,
|
||||
tableName: null,
|
||||
tableComment: null,
|
||||
fieldName: null,
|
||||
fieldComment: null,
|
||||
pkName: null,
|
||||
blEnable: null,
|
||||
remark: null,
|
||||
tenantId: null,
|
||||
delFlag: null,
|
||||
createBy: null,
|
||||
createTime: null,
|
||||
updateBy: null,
|
||||
updateTime: null,
|
||||
createSite: null,
|
||||
updateSite: null
|
||||
};
|
||||
this.resetForm("form");
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitForm() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
if (this.form.id != null) {
|
||||
updateSysDataAuditCfg(this.form).then(response => {
|
||||
this.$modal.msgSuccess("修改成功");
|
||||
this.$emit("on-changed");
|
||||
});
|
||||
} else {
|
||||
addSysDataAuditCfg(this.form).then(response => {
|
||||
this.$modal.msgSuccess("新增成功");
|
||||
this.$emit("on-changed");
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
// /** 转换菜单数据结构 */
|
||||
// normalizer(node) {
|
||||
// if (node.children && !node.children.length) {
|
||||
// delete node.children;
|
||||
// }
|
||||
// return {
|
||||
// id: node.id,
|
||||
// label: node.idName,
|
||||
// children: node.children
|
||||
// };
|
||||
// },
|
||||
// /** 查询菜单下拉树结构 */
|
||||
// getTreeselect() {
|
||||
// const queryParams = {}
|
||||
// listSysDataAuditCfg(queryParams).then(response => {
|
||||
// this.sysDataAuditCfgOptions = [];
|
||||
// const rootItem = { idId: 0, sysDataAuditCfgName: '-', children: [] };
|
||||
// rootItem.children = this.handleTree(response.data, "id");
|
||||
// this.sysDataAuditCfgOptions.push(rootItem);
|
||||
|
||||
// if(this.parentId != undefined) {
|
||||
// this.form.parentId = this.parentId;
|
||||
// }
|
||||
|
||||
// });
|
||||
// },
|
||||
}
|
||||
};
|
||||
</script>
|
||||
328
src/views/system/sysDataAuditRecord/index.vue
Normal file
328
src/views/system/sysDataAuditRecord/index.vue
Normal file
@ -0,0 +1,328 @@
|
||||
<template>
|
||||
<div class="app-container">
|
||||
<SearchForm :model="queryParams" ref="queryForm" size="mini" :maxShow="10" label-width="100px" v-show="showSearch" @search="handleQuery" @reset="resetQuery">
|
||||
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;">
|
||||
<el-col :span="6">
|
||||
<el-form-item label="运单号" prop="billCode" label-width="auto">
|
||||
<XdTextareaInput
|
||||
v-model="queryParams.billCode"
|
||||
:placeholder="$t('多个流水号逗号或换行隔开')"
|
||||
clearable
|
||||
:rows="6"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="18">
|
||||
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;">
|
||||
<el-col :span="24">
|
||||
<el-form-item label="数据修改时间" prop="dateTimeRange" label-position="top" >
|
||||
<elDateAdvPicker v-model="dateTimeRange" ></elDateAdvPicker>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="修改表名" prop="tableName">
|
||||
<el-input
|
||||
v-model="queryParams.tableName"
|
||||
:placeholder="$t('修改表名')"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="修改类型" prop="operationType">
|
||||
<el-input
|
||||
v-model="queryParams.operationType"
|
||||
:placeholder="$t('修改类型')"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
<el-form-item label="修改网点" prop="tableName">
|
||||
<el-input
|
||||
v-model="queryParams.tableName"
|
||||
:placeholder="$t('修改表名')"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="修改人" prop="operationType">
|
||||
<el-input
|
||||
v-model="queryParams.operationType"
|
||||
:placeholder="$t('修改人')"
|
||||
clearable
|
||||
@keyup.enter.native="handleQuery"
|
||||
/>
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</el-col>
|
||||
|
||||
</el-row>
|
||||
|
||||
|
||||
|
||||
</SearchForm>
|
||||
|
||||
|
||||
<XdTable v-loading="loading"
|
||||
border stripe
|
||||
size="small"
|
||||
:data="sysDataAuditRecordList"
|
||||
:showSearch.sync="showSearch"
|
||||
:queryParams="queryParams"
|
||||
:total="total"
|
||||
@queryTable="getList"
|
||||
@selection-change="handleSelectionChange"
|
||||
@sort-change="handleSortChange"
|
||||
>
|
||||
|
||||
<div slot="toolbar">
|
||||
<el-row :gutter="10" class="mb8">
|
||||
<el-col :span="1.5">
|
||||
<el-button
|
||||
type="warning"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
size="mini"
|
||||
@click="handleExport"
|
||||
v-hasPermi="['system:sysDataAuditRecord:export']"
|
||||
>导出</el-button>
|
||||
</el-col>
|
||||
</el-row>
|
||||
</div>
|
||||
|
||||
<el-table-column type="selection" width="55" align="center" />
|
||||
|
||||
<!-- <el-table-column :label="$t('主键值')" align="center" prop="pkValue" min-width="100" /> -->
|
||||
<el-table-column :label="$t('运单编号')" align="center" prop="billCode" min-width="100" />
|
||||
<!-- <el-table-column :label="$t('修改表名')" align="center" prop="tableName" min-width="100" /> -->
|
||||
<el-table-column :label="$t('修改表名')" align="center" prop="tableComment" min-width="100" />
|
||||
<el-table-column :label="$t('修改时间')" align="center" prop="createTime" min-width="170" />
|
||||
<el-table-column :label="$t('操作类型')" align="center" prop="operationType" min-width="100" />
|
||||
<!-- <el-table-column :label="$t('修改字段')" align="center" prop="fieldName" min-width="100" /> -->
|
||||
<el-table-column :label="$t('修改字段')" align="center" prop="fieldComment" min-width="100" />
|
||||
<el-table-column :label="$t('修改前值')" align="center" prop="oldValue" min-width="100" />
|
||||
<el-table-column :label="$t('修改后值')" align="center" prop="newValue" min-width="100" />
|
||||
<el-table-column :label="$t('修改人')" align="center" prop="createByName" min-width="100" />
|
||||
<el-table-column :label="$t('修改网点')" align="center" prop="createSiteName" min-width="100" />
|
||||
<el-table-column :label="$t('数据标识')" align="center" prop="id" min-width="100" />
|
||||
|
||||
</XdTable>
|
||||
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listSysDataAuditRecord, getSysDataAuditRecord, delSysDataAuditRecord, addSysDataAuditRecord, updateSysDataAuditRecord } from "@/api/system/sysDataAuditRecord";
|
||||
import elDateAdvPicker from '@/components/DatePickerAdv/elDateAdvPicker';
|
||||
|
||||
export default {
|
||||
name: "sysDataAuditRecord",
|
||||
components: { elDateAdvPicker },
|
||||
dicts: [
|
||||
],
|
||||
data() {
|
||||
return {
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 选中数组
|
||||
ids: [],
|
||||
// 非单个禁用
|
||||
single: true,
|
||||
// 非多个禁用
|
||||
multiple: true,
|
||||
// 显示搜索条件
|
||||
showSearch: true,
|
||||
// 创建时间搜索
|
||||
dateTimeRange:[],
|
||||
// 总条数
|
||||
total: 0,
|
||||
// 数据修改记录表表格数据
|
||||
sysDataAuditRecordList: [],
|
||||
|
||||
currentId:null,
|
||||
openForm: false,
|
||||
titleForm: "",
|
||||
|
||||
// 弹出展示层
|
||||
id:null,
|
||||
titleView:"",
|
||||
openView: false,
|
||||
// 更新网点时间范围
|
||||
daterangeCreateTime: [],
|
||||
// 更新网点时间范围
|
||||
daterangeUpdateTime: [],
|
||||
// 查询参数
|
||||
queryParams: {
|
||||
pageNum: 1,
|
||||
pageSize: 20,
|
||||
pkValue: null,
|
||||
billCode: null,
|
||||
tableName: null,
|
||||
tableComment: null,
|
||||
fieldName: null,
|
||||
fieldComment: null,
|
||||
oldValue: null,
|
||||
newValue: null,
|
||||
operationType: null,
|
||||
transferCode: null,
|
||||
remark: null,
|
||||
delFlag: null,
|
||||
},
|
||||
};
|
||||
},
|
||||
created() {
|
||||
this.getList();
|
||||
},
|
||||
methods: {
|
||||
/** 查询数据修改记录表列表 */
|
||||
getList() {
|
||||
this.loading = true;
|
||||
this.queryParams.params = {};
|
||||
if (null != this.daterangeCreateTime && '' != this.daterangeCreateTime) {
|
||||
this.queryParams.params["beginCreateTime"] = this.daterangeCreateTime[0];
|
||||
this.queryParams.params["endCreateTime"] = this.daterangeCreateTime[1];
|
||||
}
|
||||
if (null != this.daterangeUpdateTime && '' != this.daterangeUpdateTime) {
|
||||
this.queryParams.params["beginUpdateTime"] = this.daterangeUpdateTime[0];
|
||||
this.queryParams.params["endUpdateTime"] = this.daterangeUpdateTime[1];
|
||||
}
|
||||
listSysDataAuditRecord(this.addDateRange(this.queryParams, this.dateTimeRange)).then(response => {
|
||||
this.sysDataAuditRecordList = response.rows;
|
||||
this.total = response.total;
|
||||
this.loading = false;
|
||||
});
|
||||
},
|
||||
|
||||
/** 搜索按钮操作 */
|
||||
handleQuery() {
|
||||
this.queryParams.pageNum = 1;
|
||||
this.getList();
|
||||
},
|
||||
/** 重置按钮操作 */
|
||||
resetQuery() {
|
||||
this.resetForm("queryForm");
|
||||
this.handleQuery();
|
||||
},
|
||||
// 多选框选中数据
|
||||
handleSelectionChange(selection) {
|
||||
this.ids = selection.map(item => item.id)
|
||||
this.single = selection.length!==1
|
||||
this.multiple = !selection.length
|
||||
},
|
||||
// 排序 查询字段是表格中字段名字 动态取值排序顺序
|
||||
handleSortChange(column) {
|
||||
this.queryParams.orderByColumn = column.prop;
|
||||
this.queryParams.isAsc = column.order;
|
||||
this.getList();
|
||||
},
|
||||
/** 新增按钮操作 */
|
||||
handleAdd(row) {
|
||||
this.currentId=null;
|
||||
this.openForm= true;
|
||||
this.titleForm = "新增";
|
||||
},
|
||||
handleShowMoreInput(){
|
||||
this.moreInputVisible = !this.moreInputVisible;
|
||||
},
|
||||
/** 修改按钮操作 */
|
||||
handleUpdate(row) {
|
||||
this.currentId= row.id;
|
||||
this.openForm = true;
|
||||
this.titleForm = "修改";
|
||||
},
|
||||
handleView(row) {
|
||||
this.id=row.id;
|
||||
this.titleView="查看";
|
||||
this.openView=true;
|
||||
// this.router.push({ path: '/system/sysDataAuditRecord/viewDetail', query: { id: row.id }})
|
||||
},
|
||||
handleFormChanged(){
|
||||
this.openForm = false;
|
||||
this.getList();
|
||||
},
|
||||
cancelForm(){
|
||||
this.openForm = false;
|
||||
},
|
||||
/** 删除按钮操作 */
|
||||
handleDelete(row) {
|
||||
const ids = row.id || this.ids;
|
||||
this.$modal.confirm('是否确认删除').then(function() {
|
||||
return delSysDataAuditRecord(ids);
|
||||
}).then(() => {
|
||||
this.getList();
|
||||
this.$modal.msgSuccess("删除成功");
|
||||
}).catch(() => {});
|
||||
},
|
||||
/** 导出按钮操作 */
|
||||
handleExport() {
|
||||
// this.download('system/sysDataAuditRecord/export', {
|
||||
// ...this.queryParams
|
||||
// }, `sysDataAuditRecord_${new Date().getTime()}.xlsx`)
|
||||
const loadingInstance = this.$loading({
|
||||
text: '正在导出...'
|
||||
})
|
||||
var qParam = {...this.queryParams};
|
||||
qParam.pageNum=1;
|
||||
qParam.pageSize=5000;
|
||||
|
||||
listSysDataAuditRecord(this.addDateRange(qParam, this.dateTimeRange)).then(response => {
|
||||
this.downloadLoading = false
|
||||
if (response.code === 200) {
|
||||
const curList = response.rows
|
||||
import('@/vendor/Export2Excel').then(excel => {
|
||||
const tHeader = ['id','主键值','运单号','表名称','表描述','字段名称','字段描述','旧值','新值','操作类型','转义代码','备注','租户ID','删除标志(0代表存在','创建者','创建时间','更新者','更新时间','创建网点','更新网点',];
|
||||
const filterVal = ['id','pkValue','billCode','tableName','tableComment','fieldName','fieldComment','oldValue','newValue','operationType','transferCode','remark','tenantId','delFlag','createBy','createTime','updateBy','updateTime','createSite','updateSite',];
|
||||
const data = this.formatJson(filterVal, curList, response.rows)
|
||||
excel.export_json_to_excel({
|
||||
header: tHeader,
|
||||
data,
|
||||
filename: '数据修改记录表',
|
||||
autoWidth: true
|
||||
})
|
||||
loadingInstance.close()
|
||||
})
|
||||
}
|
||||
});
|
||||
},
|
||||
formatJson(filterVal, jsonData, resData) {
|
||||
let index = 0
|
||||
return jsonData.map(v => filterVal.map(j => {
|
||||
if (j === 'index') {
|
||||
return ++index
|
||||
}
|
||||
if (j === 'status') {
|
||||
var statusStr='xxx'
|
||||
if(v[j] == 10){
|
||||
statusStr='xxx'
|
||||
}
|
||||
return statusStr;
|
||||
}
|
||||
return v[j]
|
||||
}))
|
||||
},
|
||||
/** 列索引函数 */
|
||||
getIndex($index) {
|
||||
return (this.queryParams.pageNum - 1) * this.queryParams.pageSize + $index + 1
|
||||
},
|
||||
/** 时间搜索响应函数 */
|
||||
dateTimeChange(value){
|
||||
this.dateTimeRange=value;
|
||||
},
|
||||
}
|
||||
};
|
||||
</script>
|
||||
|
||||
<style scoped>
|
||||
.el-divider{
|
||||
margin-top: 0px;
|
||||
background: 0 0;
|
||||
border-top: 1px solid #E6EBF5;
|
||||
}
|
||||
.el-divider__text {
|
||||
color: #0955ee;
|
||||
cursor: pointer;
|
||||
}
|
||||
</style>
|
||||
218
src/views/system/sysDataAuditRecord/sysDataAuditRecordForm.vue
Normal file
218
src/views/system/sysDataAuditRecord/sysDataAuditRecordForm.vue
Normal file
@ -0,0 +1,218 @@
|
||||
<template>
|
||||
<div >
|
||||
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
|
||||
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;">
|
||||
<el-col :span="24">
|
||||
<el-form-item label="主键值" prop="pkValue">
|
||||
<el-input v-model="form.pkValue" placeholder="请输入主键值" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="运单号" prop="billCode">
|
||||
<el-input v-model="form.billCode" placeholder="请输入运单号" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="表名称" prop="tableName">
|
||||
<el-input v-model="form.tableName" placeholder="请输入表名称" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="表描述" prop="tableComment">
|
||||
<el-input v-model="form.tableComment" placeholder="请输入表描述" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="字段名称" prop="fieldName">
|
||||
<el-input v-model="form.fieldName" placeholder="请输入字段名称" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="字段描述" prop="fieldComment">
|
||||
<el-input v-model="form.fieldComment" placeholder="请输入字段描述" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="旧值" prop="oldValue">
|
||||
<el-input v-model="form.oldValue" placeholder="请输入旧值" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="新值" prop="newValue">
|
||||
<el-input v-model="form.newValue" placeholder="请输入新值" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="操作类型" prop="operationType">
|
||||
<el-input v-model="form.operationType" placeholder="请输入操作类型" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="转义代码" prop="transferCode">
|
||||
<el-input v-model="form.transferCode" placeholder="请输入转义代码" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="备注" prop="remark">
|
||||
<el-input v-model="form.remark" placeholder="请输入备注" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
<el-col :span="24">
|
||||
<el-form-item label="删除标志(0代表存在" prop="delFlag">
|
||||
<el-input v-model="form.delFlag" placeholder="请输入删除标志(0代表存在" />
|
||||
</el-form-item>
|
||||
</el-col>
|
||||
|
||||
<!--
|
||||
<el-form-item label="上级字典">
|
||||
<treeselect
|
||||
ref="tree"
|
||||
v-model="form.parentId"
|
||||
:options="sysDataAuditRecordOptions"
|
||||
:normalizer="normalizer"
|
||||
:default-expand-level="1"
|
||||
:show-count="true"
|
||||
placeholder="选择上级"
|
||||
/>
|
||||
</el-form-item>
|
||||
-->
|
||||
</el-row>
|
||||
</el-form>
|
||||
<div style="text-align: center;margin-bottom: 10px;">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
<el-button @click="cancel">取 消</el-button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import { listSysDataAuditRecord, getSysDataAuditRecord, delSysDataAuditRecord, addSysDataAuditRecord, updateSysDataAuditRecord } from "@/api/system/sysDataAuditRecord";
|
||||
|
||||
export default {
|
||||
name: "sysDataAuditRecordForm",
|
||||
props:{
|
||||
id:{
|
||||
type:Number
|
||||
}
|
||||
},
|
||||
components: { },
|
||||
dicts: [
|
||||
],
|
||||
data() {
|
||||
return {
|
||||
sysDataAuditRecordOptions: [],
|
||||
// 遮罩层
|
||||
loading: true,
|
||||
// 表单参数
|
||||
form: {},
|
||||
// 表单校验
|
||||
rules: {
|
||||
}
|
||||
};
|
||||
},
|
||||
watch: {
|
||||
"id": {
|
||||
handler (newValue, oldValue) {
|
||||
this.id = newValue;
|
||||
this.initData();
|
||||
},
|
||||
deep: true
|
||||
}
|
||||
},
|
||||
created() {
|
||||
this.initData();
|
||||
},
|
||||
|
||||
methods: {
|
||||
initData() {
|
||||
|
||||
if(this.id !=null) {
|
||||
this.loading = true;
|
||||
getSysDataAuditRecord(this.id).then(response => {
|
||||
this.form = response.data;
|
||||
this.loading = false;
|
||||
});
|
||||
}else{
|
||||
this.reset();
|
||||
}
|
||||
// this.getTreeselect();
|
||||
},
|
||||
// 取消按钮
|
||||
cancel() {
|
||||
this.reset();
|
||||
this.$emit("on-cancel");
|
||||
},
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.form = {
|
||||
id: null,
|
||||
pkValue: null,
|
||||
billCode: null,
|
||||
tableName: null,
|
||||
tableComment: null,
|
||||
fieldName: null,
|
||||
fieldComment: null,
|
||||
oldValue: null,
|
||||
newValue: null,
|
||||
operationType: null,
|
||||
transferCode: null,
|
||||
remark: null,
|
||||
tenantId: null,
|
||||
delFlag: null,
|
||||
createBy: null,
|
||||
createTime: null,
|
||||
updateBy: null,
|
||||
updateTime: null,
|
||||
createSite: null,
|
||||
updateSite: null
|
||||
};
|
||||
this.resetForm("form");
|
||||
},
|
||||
/** 提交按钮 */
|
||||
submitForm() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
if (this.form.id != null) {
|
||||
updateSysDataAuditRecord(this.form).then(response => {
|
||||
this.$modal.msgSuccess("修改成功");
|
||||
this.$emit("on-changed");
|
||||
});
|
||||
} else {
|
||||
addSysDataAuditRecord(this.form).then(response => {
|
||||
this.$modal.msgSuccess("新增成功");
|
||||
this.$emit("on-changed");
|
||||
});
|
||||
}
|
||||
}
|
||||
});
|
||||
},
|
||||
// /** 转换菜单数据结构 */
|
||||
// normalizer(node) {
|
||||
// if (node.children && !node.children.length) {
|
||||
// delete node.children;
|
||||
// }
|
||||
// return {
|
||||
// id: node.id,
|
||||
// label: node.idName,
|
||||
// children: node.children
|
||||
// };
|
||||
// },
|
||||
// /** 查询菜单下拉树结构 */
|
||||
// getTreeselect() {
|
||||
// const queryParams = {}
|
||||
// listSysDataAuditRecord(queryParams).then(response => {
|
||||
// this.sysDataAuditRecordOptions = [];
|
||||
// const rootItem = { idId: 0, sysDataAuditRecordName: '-', children: [] };
|
||||
// rootItem.children = this.handleTree(response.data, "id");
|
||||
// this.sysDataAuditRecordOptions.push(rootItem);
|
||||
|
||||
// if(this.parentId != undefined) {
|
||||
// this.form.parentId = this.parentId;
|
||||
// }
|
||||
|
||||
// });
|
||||
// },
|
||||
}
|
||||
};
|
||||
</script>
|
||||
Loading…
Reference in New Issue
Block a user