Commit f8f2e90b by zhao_shaonan

优化基础查询、日志(字段及样式)

parent cac5da5e
......@@ -22,9 +22,9 @@
}
.titleWrap{
margin-top:15px; margin-bottom: 10px;
.two-title{display: inline-block;width:127px;text-align: right;font-weight:600;font-size: 16px;color: #333333;vertical-align: middle;}
.two-title{display: inline-block;color:$base-color;width:127px;text-align: right;font-weight:600;font-size: 16px;vertical-align: middle;}
.border{display:inline-block;width: 6px;height: 20px;background: $border-bg;vertical-align: middle;margin-left: 10px;}
.dashedBorder{display: inline-block;width: calc(100% - 167px);margin-left: 9px;position: relative;top: -2px;border-bottom: 1px dashed #CFCFCF;}
.dashedBorder{display: inline-block;width: calc(100% - 167px);margin-left: 9px;position: relative;top: -2px;opacity:0.3;border-bottom: 1px dashed $base-color;}
}
}
}
......@@ -61,7 +61,7 @@
.zdycol2{display: inline-block;width:33%;margin-right: 33%; vertical-align: middle;}
.zdycol1{
display: inline-block;width:100%; vertical-align: middle;
.el-input{width:600px;}
.el-input{width:703px;}
}
.formWrap{
width:$wrap-width;
......@@ -77,7 +77,7 @@
border-radius: 4px;
}
.search{background: $base-color;box-shadow: 0px 4px 4px rgba(26, 129, 225, 0.2);}
.delete{border: 1px solid #666666;background: none;color: #333333;}
.delete2{color: $delete-color;cursor: pointer;display: inline-block;width:120px;height:40px;line-height:40px;margin-left:40px;}
.el-date-editor.el-input{width:100%;}
.el-form-item{margin-bottom:5px;}
.checkboxGroup{
......@@ -94,9 +94,10 @@
z-index: 10;
margin: 0 auto;
min-height: 40px;
.conditionTitle{display: inline-block;width:164px;text-align: right;color:$base-color;padding-right:12px;vertical-align: top;line-height: 40px;}
.conditionWrap{display: inline-block;width:calc(100% - 400px)}
.inline{display: inline-block;}
background:rgba(255,255,255,0.8);
.conditionTitle{display: inline-block;width:calc((100% - 1400px)/2 - 9px);text-align: right;color:$base-color;padding-right:10px;vertical-align: top;line-height: 40px;}
.conditionWrap{display: inline-block;width:1400px;}
.inline{display: inline-block;vertical-align: middle;}
.el-tag{
height: 32px;
background: #FFFFFF;
......
......@@ -7,14 +7,15 @@
opacity: 1;
overflow-y:auto;
font-size: $ns-font-size-base;
.iconfont{margin-right:10px;}
.iconfont{margin-right:18px;margin-left:20px;}
.el-menu{
margin-top:10px;
height:calc(100% - 10px);
.el-menu-item.is-active{
background:$-left-active-background !important;
color:$base-color;
/*background:$-left-active-background !important;*/
font-weight:bold;
border-right:$-left-active-background-border;
/*border-right:$-left-active-background-border;*/
}
}
......
......@@ -4,11 +4,12 @@
主色调,蓝色:#1AB1E1,绿色 #4CAF50,蓝色:#03A9F4,黄色:#FF9800,粉色:#FF547B,棕色:#C3A769,浅绿色:#65C4AA,黑色:#333333,紫色:#B323B4,淡粉色:#FF8B8B,element UI:#409eff
*/
$base-color: #1A81E1;
$base-color: #126CE4;
$base-color-success: #0BD9B6;
$base-color-warning: #F56C6C;
$base-color-info: #FE9200;
$body-bg: #F1F3F6;
$delete-color:#F56C6C;
/* 文字基本颜色 */
$ns-text-color: #333333; /*基本色*/
......@@ -27,6 +28,8 @@ $title-color:#69ABE9;
$border-bg:#409EFF;
$-left-active-background:rgba(64, 158, 255 ,0.08);//左侧选中及hover背景色
$-left-active-background-border:6px solid #409EFF;//左侧选中及hover背景右侧边框
body {
line-height: 1.8;
font-family: 'Helvetica Neue', Helvetica, 'Microsoft Yahei', 'PingFang SC', 'Hiragino Sans GB', 'WenQuanYi Micro Hei', sans-serif;
......@@ -52,9 +55,30 @@ body {
right:251px;
}
/deep/ .el-pagination__sizes /deep/ .el-input__inner{height:32px;line-height: 32px;border: 1px solid #CFCFCF;}
/deep/ .el-date-editor /deep/ .el-range__icon {
position: absolute;
right: 0px;
top: 2px;
line-height: 32px;
}
/deep/ .el-icon-date:before {
content: "\e607";
}
.leftMenu /deep/.el-menu-item:hover{background: rgba(64, 158, 255, 0.08) !important;}
/*分页显示多少条自定义位置 formWrap必须是父级容器 end*/
.content{width:100%;height:calc(100vh - 60px);overflow: hidden;display: flex;}
.color1{color:$base-color;}
.pointer{cursor: pointer;text-decoration: underline;}
.inherit{color:#606266;cursor: inherit;}
.back{
line-height: 17px;
margin-left: 22px;
font-size: 15px;
font-weight: 600;
position: relative;
top: -6px;
}
.back span{cursor: pointer;}
.color2,.zdyLxTag:hover{color:#333;}
.zdyLxTag{
display: inline-block;
......@@ -239,11 +263,12 @@ img {
}
.el-dialog__body{padding:0 10px !important;}
.el-button+.el-button{margin:0px;}
.el-pagination{text-align: center;}
/deep/ .el-pagination{text-align: center;margin:4px 0;}
.el-button{margin-right:10px !important;}
.zdyInputCol2{
.el-input{width:calc((100% - 58px)/2) !important;}
}
/*头部*/
.headerT{
height: $header-height;
......
......@@ -9,20 +9,22 @@
margin: 15px;
padding: 0 10px;
padding-bottom:14px;
.el-form{margin-right:20px;}
.total{
color:#999;
float: left;
margin-left: 28px;
margin-right: 40px;
}
.export{margin-right:0px !important;}
.export{margin-right:0px !important;width:104px;}
.cx-btn{
margin:10px 0;
.el-button[data-v-9f1b2e90] {
margin-right:25px;
.el-button{
width: 160px;
height: 40px;
padding: 0;
line-height: 40px;
font-size:14px;
}
}
.flTtitle{
......@@ -37,7 +39,7 @@
position: relative;
.absolute{position: absolute; left: calc(100% + 10px);top: 9px;}
}
.el-select,.el-input,.el-range-editor.el-input__inner,.zdyInputW,.el-textarea,.el-input.el-date-editor--datetime{display: inline-block;width:100%;text-align: left;line-height:30px;vertical-align: middle;}
.el-select,.el-input,.el-range-editor.el-input__inner,.zdyInputW,.el-textarea,.el-input.el-date-editor--datetime{display: inline-block;width:100%;text-align: left;line-height:36px;height:36px;vertical-align: middle;}
.zdycol3{display: inline-block;width:33%;}
.zdycol2{display: inline-block;width:33%;margin-right: 33% !important;}
.zdycol4{
......
......@@ -13,6 +13,7 @@
opacity: 1;
border-radius: 4px; vertical-align: middle;padding:0px;width:88px;color:#333;margin-top:-12px;}
/*结果筛选*/
.sxWrap{
margin:0px 34px;
display: flex;
......@@ -26,14 +27,15 @@
}
.sxcontent{
flex:1;margin-top:24px;
.flTitle{width:145px;text-align: right;display: inline-block;color: #333333;vertical-align: top;font-size:14px;}
.flTitle{width:145px;text-align: right;display: inline-block;color: #333333;vertical-align: top;font-size:14px;padding-top:12px;}
.radioGroup{display: inline-block;width:calc(100% - 150px);vertical-align: middle;
color: #666666;
}
}
.left-radio{display: inline-block;width:calc(100% - 80px)}
.left-radio{display: inline-block;width:calc(100% - 80px);padding: 12px 0 12px 0;
border-bottom: 1px dashed #b7b7b7;}
.right-btn{display: inline-block;width:64px;vertical-align: top;font-size:14px;color:$base-color;cursor: pointer;}
}
.sxWrap .sxcontent>div:nth-child(1) .left-radio,.sxWrap .sxcontent>div:nth-child(1) .flTitle{padding-top:0px;}
}
......@@ -3,7 +3,7 @@
<div>
<div class="titleWrap">
<span class="two-title">{{ field.title }}</span
><span class="border"></span><span class="dashedBorder"></span>
><span class="dashedBorder"></span>
</div>
<div class="zdyLine" v-if="field.id != 'flxx'">
<el-form-item
......@@ -275,7 +275,8 @@ export default {
},
props: {
formField: Object,
formDa: Object
formDa: Object,
deleteIdKey:String,
},
data() {
return {
......@@ -300,6 +301,15 @@ export default {
};
},
watch: {
deleteIdKey(val){
let self=this;
if(val!=''){
if(self.emitSeleted.length!=0){
self.emitSeleted.splice(self.emitSeleted.findIndex(item => item.id == val),
1)
}
}
},
formD:{
handler(newVal){
if(newVal.flxx.indexOf("nldfl")==-1){
......@@ -339,6 +349,23 @@ export default {
}
},
methods: {
setFlxxJtValue(data){
debugger
if(data=="nldfl1"){
this.radioNldfl="嫌疑人";
}else if(data=="xbfl1"){
this.radioXbfl="嫌疑人";
}else if(data=="gjfl1"){
this.radioGjfl="嫌疑人";
}else if(data=="hjdfl1"){
this.radioHjdfl="嫌疑人";
}else if(data=="mzfl1"){
this.radioMzfl="嫌疑人";
}
},
deleteValue(){
this.emitSeleted=[];
},
getCheckboxValue(val,item){
let arr=[],zname='';
if(val.length!=0){
......@@ -546,6 +573,9 @@ export default {
}else{
ret2.value2 = value;
}
}else{
item.value2=value;
this.$set(self.emitSeleted, self.emitSeleted.length, item);
}
}
self.$emit("getSelected", self.emitSeleted);
......@@ -553,8 +583,26 @@ export default {
var index = self.emitSeleted.findIndex(val => {
return val.id === item.id;
});
self.emitSeleted.splice(index, 1);
self.$emit("getSelected", self.emitSeleted,item);
if(item.id2){
if(flag){
item.value2="";
this.$set(self.emitSeleted, index, item);
self.$emit("getSelected", self.emitSeleted);
}else{
item.value="";
this.$set(self.emitSeleted, index, item);
self.$emit("getSelected", self.emitSeleted);
}
if(item.value==""&&item.value2==""){
self.emitSeleted.splice(index, 1);
self.$emit("getSelected", self.emitSeleted,item);
}
}else{
self.emitSeleted.splice(index, 1);
self.$emit("getSelected", self.emitSeleted,item);
}
}
}
},
......@@ -570,17 +618,18 @@ export default {
padding: 0px 24px;
height: 36px;
line-height: 36px;
background: #fcfcfd;
border: 1px solid #cfcfcf;
background: #fff;
border: 1.5px solid #cfcfcf;
color: #555555;
opacity: 1;
border-radius: 4px;
box-shadow: none !important;
}
.checkboxGroup .el-checkbox-button.is-checked .el-checkbox-button__inner {
background-color: transparent;
color: #1a81e1;
background: #fcfcfd;
border: 1px solid #1a81e1;
border: 1.5px solid #1a81e1;
}
.checkboxGroup .el-checkbox-button:first-child .el-checkbox-button__inner,
.checkboxGroup .el-checkbox-button:last-child .el-checkbox-button__inner {
......@@ -606,14 +655,8 @@ export default {
.paneDiv .el-date-editor--daterange.el-input__inner {
width: 100%;
}
.el-date-editor .el-range__icon {
position: absolute;
right: 0px;
top: 2px;
}
.el-icon-date:before {
content: "\e607";
}
</style>
<style scoped lang="scss">
@import "../assets/styles/form.scss";
......
......@@ -14,26 +14,34 @@
:model="formD"
>
<form-item
ref="formItem1"
:formField="ajxxDefaultField"
:formDa="formD"
:deleteIdKey="deleteIdKey"
v-show="ajxxDefaultField.data.length != 0"
@getSelected="getSelected"
></form-item>
<form-item
ref="formItem2"
:formField="xyrxxDefaultField"
:formDa="formD"
:deleteIdKey="deleteIdKey"
v-show="xyrxxDefaultField.data.length != 0"
@getSelected="getSelected"
></form-item>
<form-item
ref="formItem3"
:formField="shrxxDefaultField"
:formDa="formD"
:deleteIdKey="deleteIdKey"
v-show="shrxxDefaultField.data.length != 0"
@getSelected="getSelected"
></form-item>
<form-item
ref="formItem4"
:formField="flxxDefaultField"
:formDa="formD"
:deleteIdKey="deleteIdKey"
v-show="flxxDefaultField.data.length != 0"
@getSelected="getSelected"
></form-item>
......@@ -60,7 +68,7 @@
@click="doQuery('shrxx')"
>受害人信息查询</el-button
>
<!-- <el-button plain size="small" class="zdybtn delete" @click="deleteField"
<!-- <el-button plain size="small" class="zdybtn delete" @click="deleteField"
>清空</el-button
>-->
</div>
......@@ -109,10 +117,12 @@ export default {
XyrxxDefaultFormField: Object,
ShrxxDefaultFormField: Object,
FlxxDefaultFormField: Object,
fieldType: String
fieldType: String,
deleteId: String
},
data() {
return {
deleteIdKey:this.deleteId,
formD: this.formData,
ajxxField: this.AjxxFormField,
xyrxxField: this.XyrxxFormField,
......@@ -132,8 +142,17 @@ export default {
};
},
methods: {
setFlxxValue(data){
this.$refs.formItem4.setFlxxJtValue(data);
},
delete(){//清空所有得时候
this.$refs.formItem1.deleteValue();
this.$refs.formItem2.deleteValue();
this.$refs.formItem3.deleteValue();this.$refs.formItem4.deleteValue();
},
deleteField() {
let self=this;
let self = this;
for (let i in self.formD) {
if (i == "flxx") {
self.formD[i] = [];
......@@ -151,8 +170,8 @@ export default {
loading(data) {
this.$emit("emitLoading", data);
},
getSelected(data,index) {
this.$emit("getSeletedList", data,index);
getSelected(data, index) {
this.$emit("getSeletedList", data, index);
},
doQuery(type) {
let self = this;
......@@ -259,6 +278,9 @@ export default {
self.initCode();
},
watch: {
deleteId(val){
this.deleteIdKey=val;
},
AjxxDefaultFormField(val) {
this.ajxxDefaultField = val;
},
......
......@@ -2,7 +2,7 @@
<!--左侧导航-->
<div
class="leftMenu"
:style="{ width: isCollapse == true ? '0px' : '200px' }"
:style="{ width: isCollapse == true ? '0px' : '260px' }"
>
<!--<div @click="isCollapse=!isCollapse" style="width:51px;text-align:center;color:#409EFF;cursor: pointer;line-height:36px;" :title="isCollapse == true?'展开':'收缩'"><i class="fa fa-bars"></i></div>-->
<el-menu
......
......@@ -50,6 +50,7 @@
<!--下拉框-->
<el-select
v-model="formData[item.id]"
clearable
:placeholder="item.placeholder"
v-else-if="item.type == 'select'"
>
......@@ -78,6 +79,7 @@
align="right"
:picker-options="item.pickerOptions"
unlink-panels
suffix-icon="el-icon-date"
value-format="yyyy-MM-dd HH:mm:ss"
v-else-if="item.type == 'datetime'"
>
......@@ -93,9 +95,23 @@
start-placeholder="开始日期"
value-format="yyyy-MM-dd"
end-placeholder="结束日期"
suffix-icon="el-icon-date"
v-else-if="item.type == 'date'"
>
</el-date-picker>
<el-date-picker
v-model="formData[item.id]"
type="datetimerange"
align="right"
:picker-options="item.pickerOptions"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
value-format="yyyy-MM-dd HH:mm:ss"
end-placeholder="结束日期"
prefix-icon="el-icon-date"
v-else-if="item.type == 'datetimerange'">
</el-date-picker>
<!--多选框-->
<div class="zdyInputW" v-else-if="item.type == 'checkbox'">
<el-checkbox-group v-model="formData[item.id]" size="small">
......@@ -163,7 +179,7 @@
<span class="flTtitle">查询结果</span>
<!--可配置化图标-->
<div
style="height:30px;line-height: 30px;text-align: right;font-size:12px;display: inline-block;width: calc(100% - 119px);"
style="height:30px;line-height: 30px;text-align: right;font-size:12px;display: inline-block;width: calc(100% - 140px);"
>
<span class="total">共有{{ tableDataLength }}条查询结果</span>
<el-button plain class="zdybtn export" size="small" @click="export2Excel"
......@@ -347,13 +363,21 @@ export default {
spinner: "el-icon-loading",
background: "rgba(255, 255, 255, 0.7)"
});
let json={};
for(let i in self.formData){
if(i!="cxSj"){
json[i]=self.formData[i]
}else{
json[i]=self.formData[i]!=''?(self.formData[i].join(" - ")):"";
}
}
tHeader = [];
filterVal = [];
self.propdefaultFormThead.forEach(val => {
tHeader.push(val.label);
filterVal.push(val.prop);
});
self.doQueryRequest(JSON.stringify(self.formData)).then(res => {
self.doQueryRequest(JSON.stringify(json)).then(res => {
if (res.success === true) {
if (res.data.total > 5000) {
self.$message({
......@@ -364,7 +388,7 @@ export default {
require.ensure([], () => {
const {
export_json_to_excel
} = require("../assets/vendor/Export2Excel");
} = require("../vendor/Export2Excel");
const list = res.data.rows;
const data = self.formatJson(filterVal, list);
export_json_to_excel(tHeader, data, self.excelHeader);
......@@ -404,9 +428,16 @@ export default {
console.log(column);
},
doQuery(flag) {
let self = this;
let self = this,json={};
for(let i in self.formData){
if(i!="cxSj"){
json[i]=self.formData[i]
}else{
json[i]=self.formData[i]!=''?(self.formData[i].join(" - ")):"";
}
}
if (flag) {
self.doQueryRequest(JSON.stringify(self.formData)).then(response => {
self.doQueryRequest(JSON.stringify(json)).then(response => {
if (response.success === true) {
self.tableData = response.data.rows;
self.tableDataLength = response.data.total;
......@@ -438,6 +469,7 @@ export default {
};
</script>
<style>
@import url("../assets/styles/iconfont.css");
.el-dialog__body {
padding: 10px 15px !important;
}
......@@ -469,7 +501,7 @@ export default {
vertical-align: top;
}
.rightContent .el-date-editor .el-range__close-icon {
margin-top: -31px;
margin-top: -4px;
}
.rightContent .el-form-item__error {
left: calc(66% - 27px);
......@@ -481,5 +513,6 @@ export default {
.Content .el-input,.Content .el-date-editor--daterange.el-input__inner{width:100% !important;}
</style>
<style scoped lang="scss">
@import "../assets/styles/rightContent.scss";
</style>
......@@ -28,9 +28,9 @@
</div>
</div>
<!--下钻 二级-->
<div class="sxWrap sxcontent" style="margin:0 34px;">
<div class="sxWrap sxcontent" style="margin:0 34px;display: block;">
<div v-for="item in xzFlxxList" :key="item.name" style="display: flex;">
<div class="flTitle" style="width:241px;text-align:right;font-size:14px;">{{ item.name }}</div>
<div class="flTitle" style="width:241px;text-align:right;font-size:14px;padding-top:12px;">{{ item.name }}</div>
<div class="radioGroup" style="width:calc(100% - 245px)">
<div class="left-radio">
<el-radio-group v-model="xbfl2">
......@@ -52,9 +52,9 @@
</div>
</div>
<!--下钻 三级-->
<div class="sxWrap sxcontent" style="margin:0 34px;">
<div class="sxWrap sxcontent" style="margin:0 34px;display: block;">
<div v-for="item in xzSFlxxList" :key="item.name" style="display: flex;">
<div class="flTitle" style="width:241px;text-align:right;font-size:14px;">{{ item.name }}</div>
<div class="flTitle" style="width:241px;text-align:right;font-size:14px;padding-top:12px;">{{ item.name }}</div>
<div class="radioGroup" style="width:calc(100% - 245px)">
<div class="left-radio">
<el-radio-group v-model="xbfl3">
......
......@@ -46,7 +46,7 @@ export default[
name: "dlrz",
component: () => import("@/views/rzcx/dlrz.vue"),
meta: {
title: "日志查询"
title: "日志管理"
}
},
{
......@@ -54,7 +54,7 @@ export default[
name: "gnsyrz",
component: () => import("@/views/rzcx/gnsyrz.vue"),
meta: {
title: "日志查询"
title: "日志管理"
}
},
{
......@@ -62,7 +62,7 @@ export default[
name: "ldfwrz",
component: () => import("@/views/rzcx/ldfwrz.vue"),
meta: {
title: "日志查询"
title: "日志管理"
}
},
]
......
......@@ -35,8 +35,8 @@ let jccxFormData = {
asjswryRsMax: "",
asjssryRsMin: "",
asjssryRsMax: "",
ssjzrmbyMin: "",
ssjzrmbyMax: "",
ajSsjzrmbyMin: "",
ajSsjzrmbyMax: "",
slsj: "",
sldwGajgjgdm: "",
larq: "",
......@@ -311,8 +311,8 @@ let jccxAjxxDefaultFormField = {
},
{
name: "损失价值",
id: "ssjzrmbyMin",
id2: "ssjzrmbyMax",
id: "ajSsjzrmbyMin",
id2: "ajSsjzrmbyMax",
type: "zdyText",
value: "",
placeholder: "请输入",
......@@ -993,8 +993,8 @@ let jccxAjxxFormField = {
},
{
name: "损失价值",
id: "ssjzrmbyMin",
id2: "ssjzrmbyMax",
id: "bhrSsjzrmbyMin",
id2: "bhrSsjzrmbyMax",
type: "zdyText",
value: "",
placeholder: "请输入",
......@@ -3886,7 +3886,7 @@ let rzcxPropLeftMenu = [
},
{
id: "ldfwrz",
label: "联动服务日志",
label: "使用情况统计",
index: "3",
className: "iconfont iconliandong"
}
......@@ -3894,8 +3894,7 @@ let rzcxPropLeftMenu = [
/*登录日志*/
let rzcxcxHeader='登录日志';
let rzcxcxFormData = {
kssj: "",
jssj: "",
cxSj:"",
unitcode: "",
usernName: "",
limit: 10,
......@@ -3903,66 +3902,95 @@ let rzcxcxFormData = {
};
let rzcxCxQueryField = [
{
name: "开始时间",
id: "kssj",
type: "datetime",
name: "登录时间",
id: "cxSj",
type: "datetimerange",
value: "",
col: "3",
pickerOptions: {
shortcuts: [
{
text: "今天",
text: "最近一个月",
onClick(picker) {
picker.$emit("pick", new Date());
}
},
{
text: "昨天",
onClick(picker) {
const date = new Date();
date.setTime(date.getTime() - 3600 * 1000 * 24);
picker.$emit("pick", date);
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month = start.getMonth();
if (month === 0) {
month = 12;
year = year - 1;
}
if (month < 10) {
month = "0" + month;
}
let firstDayOfPreMonth =
year + "-" + month + "-" + start.getDate();
firstDayOfPreMonth = new Date(firstDayOfPreMonth);
picker.$emit("pick", [firstDayOfPreMonth, end]);
}
},
{
text: "一周前",
text: "最近三个月",
onClick(picker) {
const date = new Date();
date.setTime(date.getTime() - 3600 * 1000 * 24 * 7);
picker.$emit("pick", date);
}
}
]
}
},
{
name: "结束时间",
id: "jssj",
type: "datetime",
value: "",
col: "3",
pickerOptions: {
shortcuts: [
{
text: "今天",
onClick(picker) {
picker.$emit("pick", new Date());
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month = start.getMonth() - 2;
if (month === 0) {
month = 12;
year = year - 1;
}
if (month < 10) {
month = "0" + month;
}
let firstDayOfPreMonth =
year + "-" + month + "-" + start.getDate();
firstDayOfPreMonth = new Date(firstDayOfPreMonth);
picker.$emit("pick", [firstDayOfPreMonth, end]);
}
},
{
text: "昨天",
text: "最近六个月",
onClick(picker) {
const date = new Date();
date.setTime(date.getTime() - 3600 * 1000 * 24);
picker.$emit("pick", date);
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month = start.getMonth() - 5;
if (month === 0) {
month = 12;
year = year - 1;
}
if (month < 10) {
month = "0" + month;
}
let firstDayOfPreMonth =
year + "-" + month + "-" + start.getDate();
firstDayOfPreMonth = new Date(firstDayOfPreMonth);
picker.$emit("pick", [firstDayOfPreMonth, end]);
}
},
{
text: "一周前",
text: "最近一年",
onClick(picker) {
const date = new Date();
date.setTime(date.getTime() - 3600 * 1000 * 24 * 7);
picker.$emit("pick", date);
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month = start.getMonth() - 11;
if (month === 0) {
month = 12;
year = year - 1;
}
if (month < 0) {
month = 12 + month;
year = year - 1;
}
if (month < 10) {
month = "0" + month;
}
let firstDayOfPreMonth =
year + "-" + month + "-" + start.getDate();
firstDayOfPreMonth = new Date(firstDayOfPreMonth);
picker.$emit("pick", [firstDayOfPreMonth, end]);
}
}
]
......@@ -4014,14 +4042,13 @@ let rzcxCxDefaultFormThead = [
prop: "xxdjryLxdh"
}
];
let rzcxCxURL = "log/getLoginLog";
let rzcxCxURL = "/log/getLoginLog";
/*功能使用日志*/
let rzcxGncxHeader='功能使用日志';
let rzcxGncxFormData = {
czlx: "",
czmk: "",
kssj: "",
jssj: "",
cxSj:"",
unitcode: "",
usernName: "",
limit: 10,
......@@ -4051,66 +4078,95 @@ let rzcxGnCxQueryField = [
col: "3"
},
{
name: "开始时间",
id: "kssj",
type: "datetime",
name: "操作时间",
id: "cxSj",
type: "datetimerange",
value: "",
col: "3",
pickerOptions: {
shortcuts: [
{
text: "今天",
onClick(picker) {
picker.$emit("pick", new Date());
}
},
{
text: "昨天",
text: "最近一个月",
onClick(picker) {
const date = new Date();
date.setTime(date.getTime() - 3600 * 1000 * 24);
picker.$emit("pick", date);
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month = start.getMonth();
if (month === 0) {
month = 12;
year = year - 1;
}
if (month < 10) {
month = "0" + month;
}
let firstDayOfPreMonth =
year + "-" + month + "-" + start.getDate();
firstDayOfPreMonth = new Date(firstDayOfPreMonth);
picker.$emit("pick", [firstDayOfPreMonth, end]);
}
},
{
text: "一周前",
onClick(picker) {
const date = new Date();
date.setTime(date.getTime() - 3600 * 1000 * 24 * 7);
picker.$emit("pick", date);
}
}
]
}
},
{
name: "结束时间",
id: "jssj",
type: "datetime",
value: "",
col: "3",
pickerOptions: {
shortcuts: [
{
text: "今天",
text: "最近三个月",
onClick(picker) {
picker.$emit("pick", new Date());
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month = start.getMonth() - 2;
if (month === 0) {
month = 12;
year = year - 1;
}
if (month < 10) {
month = "0" + month;
}
let firstDayOfPreMonth =
year + "-" + month + "-" + start.getDate();
firstDayOfPreMonth = new Date(firstDayOfPreMonth);
picker.$emit("pick", [firstDayOfPreMonth, end]);
}
},
{
text: "昨天",
text: "最近六个月",
onClick(picker) {
const date = new Date();
date.setTime(date.getTime() - 3600 * 1000 * 24);
picker.$emit("pick", date);
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month = start.getMonth() - 5;
if (month === 0) {
month = 12;
year = year - 1;
}
if (month < 10) {
month = "0" + month;
}
let firstDayOfPreMonth =
year + "-" + month + "-" + start.getDate();
firstDayOfPreMonth = new Date(firstDayOfPreMonth);
picker.$emit("pick", [firstDayOfPreMonth, end]);
}
},
{
text: "一周前",
text: "最近一年",
onClick(picker) {
const date = new Date();
date.setTime(date.getTime() - 3600 * 1000 * 24 * 7);
picker.$emit("pick", date);
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month = start.getMonth() - 11;
if (month === 0) {
month = 12;
year = year - 1;
}
if (month < 0) {
month = 12 + month;
year = year - 1;
}
if (month < 10) {
month = "0" + month;
}
let firstDayOfPreMonth =
year + "-" + month + "-" + start.getDate();
firstDayOfPreMonth = new Date(firstDayOfPreMonth);
picker.$emit("pick", [firstDayOfPreMonth, end]);
}
}
]
......@@ -4170,7 +4226,219 @@ let rzcxGnCxDefaultFormThead = [
prop: "xxdjryLxdh"
}
];
let rzcxGnCxURL = "log/getCzLog";
let rzcxGnCxURL = "/log/getCzLog";
/*使用情况统计*/
let rzcxSyqkcxHeader='使用情况统计';
let rzcxSyqkcxFormDataYh = {
loginTime:'',
name:'',
unitCode:'',
policeId:'',
cxlx:'DW',
limit: 10,
page: 1
};
let rzcxSyqkCxQueryField = [
{
name: "登录时间",
id: "loginTime",
type: "daterange",
value: "",
placeholder: "请选择",
col: "3",
pickerOptions: {
shortcuts: [
{
text: "最近一个月",
onClick(picker) {
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month = start.getMonth();
if (month === 0) {
month = 12;
year = year - 1;
}
if (month < 10) {
month = "0" + month;
}
let firstDayOfPreMonth =
year + "-" + month + "-" + start.getDate();
firstDayOfPreMonth = new Date(firstDayOfPreMonth);
picker.$emit("pick", [firstDayOfPreMonth, end]);
}
},
{
text: "最近三个月",
onClick(picker) {
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month = start.getMonth() - 2;
if (month === 0) {
month = 12;
year = year - 1;
}
if (month < 10) {
month = "0" + month;
}
let firstDayOfPreMonth =
year + "-" + month + "-" + start.getDate();
firstDayOfPreMonth = new Date(firstDayOfPreMonth);
picker.$emit("pick", [firstDayOfPreMonth, end]);
}
},
{
text: "最近六个月",
onClick(picker) {
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month = start.getMonth() - 5;
if (month === 0) {
month = 12;
year = year - 1;
}
if (month < 10) {
month = "0" + month;
}
let firstDayOfPreMonth =
year + "-" + month + "-" + start.getDate();
firstDayOfPreMonth = new Date(firstDayOfPreMonth);
picker.$emit("pick", [firstDayOfPreMonth, end]);
}
},
{
text: "最近一年",
onClick(picker) {
const end = new Date();
const start = new Date();
let year = start.getFullYear();
let month = start.getMonth() - 11;
if (month === 0) {
month = 12;
year = year - 1;
}
if (month < 0) {
month = 12 + month;
year = year - 1;
}
if (month < 10) {
month = "0" + month;
}
let firstDayOfPreMonth =
year + "-" + month + "-" + start.getDate();
firstDayOfPreMonth = new Date(firstDayOfPreMonth);
picker.$emit("pick", [firstDayOfPreMonth, end]);
}
}
]
}
},
{
name: "姓名",
id: "name",
type: "text",
value: "",
placeholder: "",
col: "3",
hidden:'YH'
},
{
name: "单位代码",
id: "unitCode",
type: "code",
value: "",
placeholder: "",
codeOptions: [],
codeTree: "CODE_UNIT",
col: "3"
},
{
name: "警号",
id: "policeId",
type: "text",
value: "",
placeholder: "",
col: "3",
hidden:'YH'
},
{
name: "查询类型",
id: "cxlx",
type: "radio",
value: "",
placeholder: "请选择",
col: "3",
radioData: [
{ name: "单位", value: "DW" },
{ name: "用户", value: "YH" }
]
}
];
let rzcxSyqkCxDefaultFormTheadYh = [
{
/*table默认得表头*/
label: "用户账号",
prop: "userName"
},
{
label: "姓名",
prop: "trueName"
},
{
label: "警号",
prop: "policemanId"
},
{
label: "联系电话",
prop: "telephone"
},
{
label: "单位",
prop: "unitName"
},
{
label: "登录次数",
prop: "num"
},
{
label: "排名",
prop: "rank"
}
];
let rzcxSyqkCxDefaultFormTheadDw = [
{
/*table默认得表头*/
label: "单位名称",
prop: "name"
},
{
label: "用户数",
prop: "userNumber"
},
{
label: "总使用量",
prop: "total"
},
{
label: "人均使用量",
prop: "avgr"
},
{
label: "活跃用户数",
prop: "actUser"
},
{
label: "排名",
prop: "rank"
}
];
let rzcxSyqkCxURLYh = "/log/selectUserLog";
let rzcxSyqkCxURLDw = "/log/selectStationLog";
let rzcxSyqkCxURLDwXz = "/log/selectCityLog";
export {
/*基础查询界面--数据*/
jccxFormData,
......@@ -4204,5 +4472,14 @@ export {
rzcxGncxFormData,
rzcxGnCxQueryField,
rzcxGnCxDefaultFormThead,
rzcxGnCxURL
rzcxGnCxURL,
/*使用情况统计*/
rzcxSyqkcxHeader,
rzcxSyqkcxFormDataYh,
rzcxSyqkCxQueryField,
rzcxSyqkCxDefaultFormTheadYh,
rzcxSyqkCxDefaultFormTheadDw,
rzcxSyqkCxURLYh,
rzcxSyqkCxURLDw,
rzcxSyqkCxURLDwXz
};
......@@ -35,6 +35,8 @@
<script>
import { Home, test, test1, js_test } from "@/api/home.js";
import { mapGetters } from "vuex";
import Http from "@/utils/axiosHttp.js";
import url from "@/api/base";
export default {
name: "Home",
components: {},
......@@ -53,16 +55,29 @@ export default {
};
},
created() {
this.getHome();
this.getH();
this.getT();
this.time = this.$util.timeStampTurnTime("1603697627061");
this.ttt();
let self=this;
self.doLogin("admin","0").then(res => {
if (res.success === true) {
console.log("登录刑专二期成功")
} else {
self.$message({
type: "error",
message: "登录失败"
});
}
});
},
computed: {
...mapGetters(["defaultGoodsImage", "userAuth"])
},
methods: {
doLogin(username,password) {
return Http({
url: url.rzURL + '/login',
params: {username,password},
method: "post"
});
},
toJccx() {
let routeData = this.$router.resolve({
path: "/jccxIndex"
......
......@@ -6,11 +6,13 @@
:selectList="selectList"
@cValue="cValue"
@getHeight="getHeight"
@deleteAll="deleteAll"
v-show="selectList.length != 0"
ref="select"
></list-select>
<div class="wrap" :style="{ marginTop: marginTop + 'px' }">
<list-form
ref="form"
:formData="formData"
:AjxxFormField="AjxxFormField"
:XyrxxFormField="XyrxxFormField"
......@@ -21,6 +23,7 @@
:ShrxxDefaultFormField="ShrxxDefaultFormField"
:FlxxDefaultFormField="FlxxDefaultFormField"
:fieldType="fieldType"
:deleteId="deleteId"
@doQueryList="doQueryList"
@getSeletedList="getSeletedList"
@emitLoading="emitLoading"
......@@ -107,6 +110,7 @@ export default {
},
data() {
return {
deleteId: "",
pageLoading: true, //页面进来时候的加载
radioFZt: "", //一级状态
radioZt: "", //二级状态
......@@ -183,6 +187,9 @@ export default {
};
},
methods: {
deleteAll() {
this.$refs.form.delete();
},
changeSize(size, type) {
this.formData["rows"] = size;
this.doQueryList(type, this.formData, false, "handleCurrentChange");
......@@ -460,21 +467,27 @@ export default {
this.formData[id] = [];
} else {
this.formData[id] = "";
this.deleteId = id;
}
},
getSeletedList(data, obj) {
let self = this;
if (obj) {
//删除值
self.selectList.forEach((val, key) => {
if (val.id == obj.id) {
self.selectList.splice(key, 1);
}
});
} else {
//添加值
data.forEach(val => {
self.selectList.forEach((val2, key) => {
if (val.id == val2.id) {
self.$set(val2, "value", val.value);
if (val2.id2) {
self.$set(val2, "value2", val.value2);
}
self.$set(self.selectList, key, val2);
}
});
......@@ -698,7 +711,7 @@ export default {
require.ensure([], () => {
const {
export_json_to_excel
} = require("../../assets/vendor/Export2Excel");
} = require("../../vendor/Export2Excel");
const list = res.data.rows;
const data = self.formatJson(filterVal, list);
export_json_to_excel(tHeader, data, self.excelHeader);
......@@ -732,7 +745,7 @@ export default {
require.ensure([], () => {
const {
export_json_to_excel
} = require("../../assets/vendor/Export2Excel");
} = require("../../vendor/Export2Excel");
const list = res.data.rows;
const data = self.formatJson(filterVal, list);
export_json_to_excel(tHeader, data, self.excelHeader);
......@@ -766,7 +779,7 @@ export default {
require.ensure([], () => {
const {
export_json_to_excel
} = require("../../assets/vendor/Export2Excel");
} = require("../../vendor/Export2Excel");
const list = res.data.rows;
const data = self.formatJson(filterVal, list);
export_json_to_excel(tHeader, data, self.excelHeader);
......@@ -878,12 +891,13 @@ export default {
self.formData = formList;
self.pageNum = self.formData.page;
self.formData["flxx"].forEach(val => {
if (val == "nldfl") {
if (val == "nldfl") {//如果没有选受害人还是嫌疑人、全部,默认查嫌疑人
if (
self.formData["flxx"].indexOf("nldfl1") < 0 &&
self.formData["flxx"].indexOf("nldfl2") < 0
) {
self.formData["flxx"].push("nldfl1");
self.$refs.form.setFlxxValue("nldfl1");
}
}
if (val == "xbfl") {
......@@ -892,6 +906,7 @@ export default {
self.formData["flxx"].indexOf("xbfl2") < 0
) {
self.formData["flxx"].push("xbfl1");
self.$refs.form.setFlxxValue("xbfl1");
}
}
if (val == "gjfl") {
......@@ -900,6 +915,7 @@ export default {
self.formData["flxx"].indexOf("gjfl2") < 0
) {
self.formData["flxx"].push("gjfl1");
self.$refs.form.setFlxxValue("gjfl1");
}
}
if (val == "hjdfl") {
......@@ -908,6 +924,7 @@ export default {
self.formData["flxx"].indexOf("hjdfl2") < 0
) {
self.formData["flxx"].push("hjdfl1");
self.$refs.form.setFlxxValue("hjdfl1");
}
}
if (val == "mzfl") {
......@@ -916,6 +933,7 @@ export default {
self.formData["flxx"].indexOf("mzfl2") < 0
) {
self.formData["flxx"].push("mzfl1");
self.$refs.form.setFlxxValue("mzfl1");
}
}
});
......
......@@ -19,9 +19,7 @@
</el-tag>
</div>
<div class="delete_btn inline">
<el-button plain size="small" class="zdybtn delete" @click="deleteField"
>清空</el-button
>
<a class="zdybtn delete2" @click="deleteField"><i class="el-icon-delete" style="margin-right: 4px;"></i>清空条件</a>
</div>
</div>
</template>
......@@ -54,6 +52,7 @@ export default {
methods: {
deleteField(){
let self=this;
self.$emit("deleteAll");
for(let i=self.dynamicTags.length-1;i>=0;i--){
self.handleClose(self.dynamicTags[i])
}
......
......@@ -11,8 +11,7 @@
</template>
<script>
import Http from "@/utils/axiosHttp.js";
import url from "@/api/base";
import listHeader from "@c/header_components.vue";
import leftMenu from "@c/leftMenu_components.vue";
import {
......@@ -41,26 +40,10 @@ export default {
name: item[index-1].id,
});
},
doLogin(username,password) {
return Http({
url: url.rzURL + 'login',
params: {username,password},
method: "post"
});
},
},
mounted() {
let self=this;
self.doLogin("admin","0").then(res => {
if (res.success === true) {
console.log("登录刑专二期成功")
} else {
self.$message({
type: "error",
message: "登录失败"
});
}
});
}
};
......@@ -68,6 +51,6 @@ export default {
<style scoped lang="scss">
@import "../../assets/styles/rightContent.scss";
.headerT {
position: inherit !important;
position: inherit !important;text-indent:70px;
}
</style>
<template>
<div>22222</div>
<div class="Content">
<div class="cxtjWrap paneDiv">
<el-row>
<el-col :span="24">
<span class="flTtitle">查询条件</span>
</el-col>
</el-row>
<el-form
label-position="right"
label-width="140px"
ref="queryForm"
:model="formData"
>
<div class="zdyLine">
<el-form-item
:label="item.name"
v-for="item in propQueryField"
:key="item.id"
:prop="item.id"
v-show="!item.hidden ? true : item.hidden == formData['cxlx']"
:class="'demo-input-suffix zdycol' + item.col"
>
<!--<div class="zdName">{{item.name}}</div>-->
<!--输入框-->
<el-input
clearable
:placeholder="item.placeholder"
v-model="formData[item.id]"
v-if="item.type == 'text'"
>
</el-input>
<!--输入框-最大值与最小值-->
<div
class="zdyInputW zdyInputCol2"
v-else-if="item.type == 'zdyText'"
>
<el-input
clearable
:placeholder="item.placeholder"
v-model="formData[item.id]"
>
</el-input>
<el-input
clearable
:placeholder="item.placeholder2"
v-model="formData[item.id2]"
style="width:calc((100% - 150)/2)"
>
</el-input>
</div>
<!--下拉框-->
<el-select
v-model="formData[item.id]"
clearable
:placeholder="item.placeholder"
v-else-if="item.type == 'select'"
>
<el-option
v-for="item3 in item.selectData"
:key="item3.value"
:label="item3.name"
:value="item3.value"
>
</el-option>
</el-select>
<!--文本域-->
<el-input
type="textarea"
autosize
resize="none"
:placeholder="item.placeholder"
v-model="formData[item.id]"
v-else-if="item.type == 'textarea'"
>
</el-input>
<!--日期框 日期时间-->
<el-date-picker
v-model="formData[item.id]"
type="datetime"
align="right"
:picker-options="item.pickerOptions"
unlink-panels
value-format="yyyy-MM-dd HH:mm:ss"
v-else-if="item.type == 'datetime'"
>
</el-date-picker>
<!--日期框-->
<el-date-picker
v-model="formData[item.id]"
type="daterange"
align="right"
:picker-options="item.pickerOptions"
unlink-panels
range-separator="至"
start-placeholder="开始日期"
value-format="yyyy-MM-dd"
end-placeholder="结束日期"
v-else-if="item.type == 'daterange'"
>
</el-date-picker>
<!--多选框-->
<div class="zdyInputW" v-else-if="item.type == 'checkbox'">
<el-checkbox-group v-model="formData[item.id]" size="small">
<el-checkbox
v-for="item2 in item.checkboxData"
:label="item2"
:key="item2"
>{{ item2 }}</el-checkbox
>
</el-checkbox-group>
</div>
<!--单选框-->
<div class="zdyInputW" v-else-if="item.type == 'radio'">
<el-radio-group v-model="formData[item.id]" size="small">
<el-radio
:label="item2.value"
v-for="item2 in item.radioData"
:key="item2.value"
>{{ item2.name }}</el-radio
>
</el-radio-group>
</div>
<!--字典框 @emitValue="getLbValue"-->
<div
class="zdyInputW"
v-else-if="item.type == 'code' || item.type == 'jlCode'"
>
<select-tree
v-model="formData[item.id]"
:placeholder="'请选择' + item.name"
:options="item.codeOptions"
:sendId="item.id"
/>
</div>
</el-form-item>
</div>
</el-form>
<!--按钮-->
<div class="ar cx-btn">
<!--
<span @click="switchingConditions" class="color1 mg10"><i :class="toggleZd ? 'fa fa-angle-up fa-zdy20':'fa fa-angle-down fa-zdy20'"></i>{{toggleZd ? '收起条件':'更多条件'}}</span>
-->
<el-button
type="primary"
icon="el-icon-search"
size="small"
@click="creteForm(formData['cxlx'])"
class="zdybtn"
>查询</el-button
>
<el-button
plain
icon="el-icon-delete"
size="small"
@click="clearData"
class="zdybtn"
>清空</el-button
>
</div>
</div>
<div class="paneDiv" v-show="YhTable">
<el-row>
<el-col :span="24">
<span class="flTtitle">查询结果</span>
<!--可配置化图标-->
<div
style="height:30px;line-height: 30px;text-align: right;font-size:12px;display: inline-block;width: calc(100% - 140px);"
>
<span class="total">共有{{ tableDataLength }}条查询结果</span>
<el-button
plain
class="zdybtn export"
size="small"
@click="export2Excel('YH')"
><i
class="fa fa-external-link"
aria-hidden="true"
style="margin-right:5px;"
></i
>导出</el-button
>
</div>
</el-col>
</el-row>
<div>
<!--表格-->
<el-table
id="ajzbQuery"
v-loading="tableLoading"
element-loading-text="拼命加载中"
:key="key"
ref="itsmDataTable"
:data="tableData"
tooltip-effect="dark"
style="width: 99%;margin:0 auto"
width="100%"
size="small"
border
:row-class-name="tableRowClassName"
>
<el-table-column
align="center"
:min-width="
columnTitle.prop == 'jyaq' || columnTitle.prop == 'asjbh'
? '360'
: '160'
"
v-for="columnTitle in propdefaultFormTheadYh"
:prop="columnTitle.prop"
:key="columnTitle.label"
:label="columnTitle.label"
>
<template slot-scope="scope">
<div v-html="scope.row[columnTitle.prop]"></div>
</template>
</el-table-column>
</el-table>
<!--分页-->
<el-pagination
background
@current-change="handleCurrentChange"
:current-page.sync="currentPage1"
:page-size="page_size"
layout="prev, pager, next"
:small="true"
:total="tableDataLength"
v-if="pageShow"
>
</el-pagination>
</div>
</div>
<div class="paneDiv" v-show="DwTable">
<el-row>
<el-col :span="24">
<span class="flTtitle">查询结果</span>
<!--可配置化图标-->
<div
style="height:30px;line-height: 30px;text-align: right;font-size:12px;display: inline-block;width: calc(100% - 140px);"
>
<span class="total">共有{{ tableDataLengthDw }}条查询结果</span>
<el-button
plain
class="zdybtn export"
size="small"
@click="export2Excel('DW')"
><i
class="fa fa-external-link"
aria-hidden="true"
style="margin-right:5px;"
></i
>导出</el-button
>
</div>
</el-col>
</el-row>
<!--表格-->
<el-table
id="DwTable"
v-loading="tableLoading"
element-loading-text="拼命加载中"
:key="key"
ref="itsmDataTable"
:data="tableDataDw"
tooltip-effect="dark"
style="width: 99%;margin:0 auto"
width="100%"
size="small"
border
:row-class-name="tableRowClassName"
>
<el-table-column
align="center"
:min-width="
columnTitle.prop == 'jyaq' || columnTitle.prop == 'asjbh'
? '360'
: '160'
"
v-for="columnTitle in propdefaultFormTheadDw"
:prop="columnTitle.prop"
:key="columnTitle.label"
:label="columnTitle.label"
>
<template slot-scope="scope">
<div v-if="columnTitle.prop == 'name'">
<span
class="color1 pointer"
@click="
showDwXz(
'DWXZ',
scope.row['unitId'],
scope.row[columnTitle.prop]
)
"
v-if="scope.row['isParent'] == 'true'"
>{{ scope.row[columnTitle.prop] }}</span
>
<span class="inherit" v-else>{{
scope.row[columnTitle.prop]
}}</span>
</div>
<div
v-if="columnTitle.prop != 'name'"
v-html="scope.row[columnTitle.prop]"
></div>
</template>
</el-table-column>
</el-table>
<!--分页-->
<el-pagination
background
@current-change="handleCurrentChangeDw"
:current-page.sync="currentPage1Dw"
:page-size="page_sizeDw"
layout="prev, pager, next"
:small="true"
:total="tableDataLengthDw"
>
</el-pagination>
</div>
<div class="paneDiv" v-show="DwXzTable">
<el-row>
<el-col :span="24">
<span class="flTtitle">查询结果</span>
<!--可配置化图标-->
<div
style="height:30px;line-height: 30px;text-align: right;font-size:12px;display: inline-block;width: calc(100% - 140px);"
>
<span class="total">共有{{ tableDataLengthDwXz }}条查询结果</span>
<el-button
plain
class="zdybtn export"
size="small"
@click="export2Excel('DWXZ')"
><i
class="fa fa-external-link"
aria-hidden="true"
style="margin-right:5px;"
></i
>导出</el-button
>
</div>
</el-col>
</el-row>
<div class="back" @click="showDw">
<span><i class="fa fa-mail-reply"></i>返回</span>
</div>
<!--表格-->
<el-table
id="DwXzTable"
v-loading="tableLoading"
element-loading-text="拼命加载中"
:key="key"
ref="itsmDataTable"
:data="tableDataDwXz"
tooltip-effect="dark"
style="width: 99%;margin:0 auto"
width="100%"
size="small"
border
:row-class-name="tableRowClassName"
>
<el-table-column
align="center"
:min-width="
columnTitle.prop == 'jyaq' || columnTitle.prop == 'asjbh'
? '360'
: '160'
"
v-for="columnTitle in propdefaultFormTheadDw"
:prop="columnTitle.prop"
:key="columnTitle.label"
:label="columnTitle.label"
>
<template slot-scope="scope">
<div v-if="columnTitle.prop == 'asjbh'">
{{ scope.row[columnTitle.prop] }}
</div>
<div
v-if="columnTitle.prop != 'jyaq' && columnTitle.prop != 'asjbh'"
v-html="scope.row[columnTitle.prop]"
></div>
</template>
</el-table-column>
</el-table>
<!--分页-->
<el-pagination
background
@current-change="handleCurrentChangeDwXz"
:current-page.sync="currentPage1DwXz"
:page-size="page_sizeDwXz"
layout="prev, pager, next"
:small="true"
:total="tableDataLengthDwXz"
>
</el-pagination>
</div>
</div>
</template>
<script>
export default {
name: "ldfwrz"
import SelectTree from "@c/tree_components.vue";
import Http from "@/utils/axiosHttp.js";
import request from "@/api/interface/dictionaryCode.js";
import url from "@/api/base";
import "@/assets/styles/font-awesome.min.css";
import {
rzcxSyqkcxHeader,
rzcxSyqkcxFormDataYh,
rzcxSyqkCxQueryField,
rzcxSyqkCxDefaultFormTheadYh,
rzcxSyqkCxDefaultFormTheadDw,
rzcxSyqkCxURLYh,
rzcxSyqkCxURLDw,
rzcxSyqkCxURLDwXz
} from "@/utils/params";
export default {
name: "ldfwrz",
components: {
SelectTree
},
data() {
return {
YhTable: false,
DwTable: true,
DwXzTable: false,
currentPage1: 1, //表格页码
currentPage1Dw: 1, //表格页码
currentPage1DwXz: 1, //表格页码
page_size: 10, //每页显示多少条
page_sizeDw: 10, //每页显示多少条
page_sizeDwXz: 10, //每页显示多少条
pageShow: true, //是否显示分页
formData: rzcxSyqkcxFormDataYh, //查询条件form用户
propQueryField: rzcxSyqkCxQueryField, //查询条件
tableLoading: false, //table得loading
key: 1, //table得key
tableDataLength: 0, //表格总数
tableDataLengthDw: 0, //表格总数
tableDataLengthDwXz: 0, //表格总数
tableData: [], //表格数据
tableDataDw: [], //表格数据
tableDataDwXz: [], //表格数据
propdefaultFormTheadYh: rzcxSyqkCxDefaultFormTheadYh, //表格表头
propdefaultFormTheadDw: rzcxSyqkCxDefaultFormTheadDw, //表格表头
excelHeader: rzcxSyqkcxHeader,
YhcxUrl: rzcxSyqkCxURLYh, //用户路径
DwcxUrl: rzcxSyqkCxURLDw, //单位路径
DwXzcxUrl: rzcxSyqkCxURLDwXz, //单位下钻路径
zdyDwName: "", //保存点击得单位名字
zdyUnitCode: "" //保存点击得单位代码
};
},
watch: {
formData: {
handler(newVal) {
if (newVal.cxlx == "YH") {
this.YhTable = true;
this.DwTable = false;
this.DwXzTable = false;
} else if (newVal.cxlx == "DW") {
this.YhTable = false;
this.DwTable = true;
this.DwXzTable = false;
}
},
deep: true
}
},
methods: {
showDwXz(flag, id, name) {
this.zdyDwName = name;
this.creteForm(flag, id);
},
showDw() {
this.YhTable = false;
this.DwTable = true;
this.DwXzTable = false;
},
clearData() {
let self = this;
for (let i in self.formData) {
if (i != "limit" || i != "page") {
self.formData[i] = "";
}
}
self.formData["limit"] = 10;
self.formData["page"] = 1;
},
formatJson(filterVal, jsonData) {
return jsonData.map(v => filterVal.map(j => v[j]));
},
export2Excel(flag) {
/*导出*/
let self = this,
tHeader = [],
filterVal = [];
//self.formData.limit = 5000;
const loading = this.$loading({
lock: true,
text: "正在导出...",
spinner: "el-icon-loading",
background: "rgba(255, 255, 255, 0.7)"
});
tHeader = [];
filterVal = [];
if (flag == "YH") {
self.propdefaultFormTheadYh.forEach(val => {
tHeader.push(val.label);
filterVal.push(val.prop);
});
let excelHeader = "用户" + self.excelHeader;
let json = self.creteForm(flag, self.zdyUnitCode, "export");
self.doQueryRequestYh(JSON.stringify(json)).then(res => {
if (res.success === true) {
if (res.data.total > 5000) {
self.$message({
type: "error",
message: "最多只能导出5000条"
});
} else {
require.ensure([], () => {
const {
export_json_to_excel
} = require("../../vendor/Export2Excel");
const list = res.data.rows;
const data = self.formatJson(filterVal, list);
export_json_to_excel(tHeader, data, excelHeader);
});
}
loading.close();
} else {
loading.close();
self.$message({
type: "error",
message: "查询失败"
});
}
self.tableLoadingEmit = false;
});
} else if (flag == "DW") {
self.propdefaultFormTheadDw.forEach(val => {
tHeader.push(val.label);
filterVal.push(val.prop);
});
let excelHeader = "单位" + self.excelHeader;
let json = self.creteForm(flag, self.zdyUnitCode, "export");
self.doQueryRequestDw(JSON.stringify(json)).then(res => {
if (res.success === true) {
if (res.data.total > 5000) {
self.$message({
type: "error",
message: "最多只能导出5000条"
});
} else {
require.ensure([], () => {
const {
export_json_to_excel
} = require("../../vendor/Export2Excel");
const list = res.data.rows;
const data = self.formatJson(filterVal, list);
export_json_to_excel(tHeader, data, excelHeader);
});
}
loading.close();
} else {
loading.close();
self.$message({
type: "error",
message: "查询失败"
});
}
self.tableLoadingEmit = false;
});
} else if (flag == "DWXZ") {
self.propdefaultFormTheadDw.forEach(val => {
tHeader.push(val.label);
filterVal.push(val.prop);
});
let excelHeader = self.zdyDwName + self.excelHeader;
let json = self.creteForm(flag, self.zdyUnitCode, "export");
self.doQueryRequestDwXz(JSON.stringify(json)).then(res => {
if (res.success === true) {
if (res.data.total > 5000) {
self.$message({
type: "error",
message: "最多只能导出5000条"
});
} else {
require.ensure([], () => {
const {
export_json_to_excel
} = require("../../vendor/Export2Excel");
const list = res.data.rows;
const data = self.formatJson(filterVal, list);
export_json_to_excel(tHeader, data, excelHeader);
});
}
loading.close();
} else {
loading.close();
self.$message({
type: "error",
message: "查询失败"
});
}
self.tableLoadingEmit = false;
});
}
},
handleCurrentChange(val) {
this.currentPage1 = val;
this.creteForm("YH");
},
handleCurrentChangeDw(val) {
this.currentPage1Dw = val;
this.creteForm("DW");
},
handleCurrentChangeDwXz(val) {
this.currentPage1DwXz = val;
this.creteForm("DWXZ", this.zdyUnitCode);
},
doQueryRequestYh(form) {
return Http({
url: url.rzURL + this.YhcxUrl,
params: JSON.parse(form),
method: "POST"
});
},
doQueryRequestDw(form) {
return Http({
url: url.rzURL + this.DwcxUrl,
params: JSON.parse(form),
method: "POST"
});
},
doQueryRequestDwXz(form) {
return Http({
url: url.rzURL + this.DwXzcxUrl,
params: JSON.parse(form),
method: "POST"
});
},
tableRowClassName({ rowIndex }) {
if (rowIndex % 2 == 0) {
return "";
} else {
return "success-row";
}
},
orderBy(column) {
console.log(column);
},
doQuery(flag, data) {
let self = this;
if (flag == "YH") {
self.doQueryRequestYh(JSON.stringify(data)).then(response => {
if (response.success === true) {
self.tableData = response.data.rows;
self.tableDataLength = response.data.total;
} else {
self.$message({
type: "error",
message: response.message
});
}
});
} else if (flag == "DW") {
self.doQueryRequestDw(JSON.stringify(data)).then(response => {
if (response.success === true) {
self.tableDataDw = response.data.rows;
self.tableDataLengthDw = response.data.total;
} else {
self.$message({
type: "error",
message: response.message
});
}
});
} else if (flag == "DWXZ") {
self.doQueryRequestDwXz(JSON.stringify(data)).then(response => {
if (response.success === true) {
self.tableDataDwXz = response.data.rows;
self.tableDataLengthDwXz = response.data.total;
} else {
self.$message({
type: "error",
message: response.message
});
}
});
}
},
creteForm(flag, id, isExport) {
//id为下钻时带过来得单位代码
let self = this,
json = {};
if (flag == "YH") {
for (let i in self.formData) {
if (i != "cxlx") {
if (i != "loginTime") {
json[i] = self.formData[i];
} else {
json[i] =
self.formData[i] != "" ? self.formData[i].join(" - ") : "";
}
}
}
json.page = self.currentPage1;
if (isExport) {
json.limit = 5000;
return json;
} else {
self.doQuery("YH", json);
}
} else if (flag == "DW") {
for (let i in self.formData) {
if (i != "cxlx" && i != "name" && i != "policeId") {
if (i != "loginTime") {
json[i] = self.formData[i];
} else {
json[i] =
self.formData[i] != "" ? self.formData[i].join(" - ") : "";
}
}
}
json.page = self.currentPage1Dw;
if (isExport) {
json.limit = 5000;
return json;
} else {
self.doQuery("DW", json);
}
} else if (flag == "DWXZ") {
this.YhTable = false;
this.DwTable = false;
this.DwXzTable = true;
for (let i in self.formData) {
if (i != "cxlx" && i != "name" && i != "policeId") {
if (i != "loginTime") {
json[i] = self.formData[i];
} else {
json[i] =
self.formData[i] != "" ? self.formData[i].join(" - ") : "";
}
}
}
json.page = self.currentPage1DwXz;
if (id) {
self.zdyUnitCode = id;
json.unitCode = id;
}
if (isExport) {
json.limit = 5000;
return json;
} else {
self.doQuery("DWXZ", json);
}
}
}
},
mounted() {
let self = this;
self.propQueryField.forEach(val => {
if (val.type == "code") {
if (val.codeOptions.length == 0) {
request.axiosCode(val.codeTree).then(response => {
if (response.success === true) {
self.$set(val, "codeOptions", response.data.list);
}
});
}
}
});
self.creteForm("YH");
self.creteForm("DW");
}
};
</script>
<style scoped>
<style>
@import url("../../assets/styles/iconfont.css");
.el-dialog__body {
padding: 10px 15px !important;
}
.rightContent .el-input__inner,
#formCommonPage .el-input__inner {
height: 36px;
line-height: 36px;
font-family: inherit;
}
.el-table__header-wrapper th,
.el-table__header-wrapper tr {
background: #f4f6f7;
}
.rightContent .el-input__icon,
#formCommonPage .el-input__icon,
.el-input__suffix-inner {
line-height: 36px;
}
.rightContent .el-range-separator {
position: relative;
top: -4px;
}
.rightContent .el-textarea__inner,
#formCommonPage .el-textarea__inner {
width: 100%;
font-family: inherit;
}
.rightContent .el-range-input,
#formCommonPage .el-range-input {
vertical-align: top;
}
.rightContent .el-date-editor .el-range__close-icon {
margin-top: -4px;
}
.rightContent .el-form-item__error {
left: calc(66% - 27px);
top: 12px;
}
.success-row {
background-color: #fbf9f4 !important;
}
.Content .el-input,
.Content .el-date-editor--daterange.el-input__inner {
width: 100% !important;
}
</style>
<style scoped lang="scss">
@import "../../assets/styles/rightContent.scss";
</style>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment