Commit cb2e1c29 by lp784568205

标注统计

parent 8b20212a
import {
get,
post,
postform,
postJson
} from "@/utils/http.js";
//第一栏
export const EsBztQuery = params =>
post("/api/EsBztQuery", params)
//第二栏
// export const EsBztQuery = params =>
// post("/api/EsBztQuery", params)
//第三栏
export const EsBzDqQuery = params =>
post("/api/EsBzDqQuery", params)
//第三栏详情
export const EsBzDqXqQuery = params =>
post("/api/EsBzDqXqQuery", params)
//第四栏
export const EsBzBtQuery = params =>
post("/api/EsBzBtQuery", params)
//导出
export const getTj = params =>
post("/api/getTj", params)
<template>
<div class="rightContent">
<div class="topTitle">
<span>标注统计详情</span>
<!-- <div
class="subTitle"
v-for="item in navList"
:key="item.name"
@click="goNav(item)"
>
<div class="ajTitle">
{{ item.name }}
<i class="el-icon-lock" v-if="item.isClock && !isInclude"></i>
</div>
<div :class="active == item.path ? 'bottom' : 'bottom1'"></div>
</div> -->
</div>
<div class="Content paneDiv paneDiv2">
<div class="cxtjWrap">
<el-form
label-position="right"
label-width="140px"
ref="queryForm"
:model="formData"
:class="propQueryField.length < 3 ? 'inlineBtn' : ''"
>
<div class="zdyLine">
<el-form-item
:label="item.name + ':'"
v-for="item in propQueryField"
:key="item.id"
:prop="item.id"
v-show="!item.hidden"
:class="'demo-input-suffix zdycol' + item.col"
>
<!--输入框-->
<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
:placeholder="item.placeholder"
v-model="formData[item.id]"
>
</el-input>
<el-input
:placeholder="item.placeholder2"
v-model="formData[item.id2]"
style="width: calc((100% - 150) / 2)"
>
</el-input>
</div>
<div
class="zdyInputW zdyInputCol2"
v-else-if="item.type == 'zdyDate'"
>
<el-date-picker
v-model="formData[item.id]"
type="date"
align="right"
:picker-options="item.pickerOptions"
unlink-panels
value-format="yyyy-MM-dd"
>
</el-date-picker>
<el-date-picker
v-model="formData[item.id2]"
type="date"
align="right"
:picker-options="item.pickerOptions2"
unlink-panels
value-format="yyyy-MM-dd"
>
</el-date-picker>
</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
suffix-icon="el-icon-date"
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="结束日期"
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">
<el-checkbox
v-for="city in item.checkList"
:label="city"
:key="city.val"
>{{ city.label }}</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.val"
v-for="item2 in item.radioData"
:key="item2.val"
>{{ item2.label }}
</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>
<!--字典弹框 @emitValue="getLbValue"-->
<div class="zdyInputW" v-else-if="item.type == 'codeTreeDialog'">
<select-tree-dialog
:placeholder="'请选择' + item.name"
:sendId="item.id"
:formData="formData"
:currentItem="item"
ref="selectTree"
/>
</div>
<!--字典弹框懒加载 @emitValue="getLbValue"-->
<div
class="zdyInputW"
v-else-if="item.type == 'lazyCodeTreeDialog'"
>
<lazy-select-tree-dialog
:placeholder="'请选择' + item.name"
:sendId="item.id"
:formData="formData"
:currentItem="item"
/>
</div>
</el-form-item>
</div>
</el-form>
<!--按钮-->
<div class="btm-btns">
<el-button
type="primary"
size="small"
style="width: 100px"
@click="doQueryBtn(true)"
>查询
</el-button>
<el-button size="small" @click="clearData" style="width: 100px"
>清空
</el-button>
</div>
</div>
</div>
<div class="Content paneDiv paneDiv2">
<div class="">
<el-row style="width: 99%; margin: 0 auto">
<el-col :span="24">
<span class="flTtitle">案件信息</span>
<!--可配置化图标-->
<div class="total">
<span> {{ tableDataLength }} </span>
</div>
<span class="export-btn">
<el-button plain size="small" @click="export2Excel" class="export"
><i
class="iconfont iconshangchuan"
style="margin-right: 2px"
></i
>导出
</el-button>
</span>
</el-col>
</el-row>
<!--表格-->
<el-table
id="ajzbQuery"
v-loading="tableLoading"
element-loading-text="拼命加载中"
:key="key"
ref="itsmDataTable"
:data="tableData"
tooltip-effect="dark"
max-height="600"
style="width: 99%; margin: 0 auto"
width="100%"
size="small"
:row-class-name="tableRowClassName"
>
<el-table-column
align="center"
label="操作"
v-if="pageBs == 'queryCheckBj' && cxFormData.bzzt == 1"
:width="'200'"
>
<template slot-scope="scope">
<span @click="bjBack(scope.row.asjbh)" class="edit">退回</span>
</template>
</el-table-column>
<el-table-column
align="center"
v-for="columnTitle in propdefaultFormThead"
:prop="columnTitle.prop"
:key="columnTitle.label"
:label="columnTitle.label"
:width="columnTitle.width"
>
<template slot-scope="scope">
<div v-if="columnTitle.prop == 'jyaq'">
<div class="ajxq_s">
<!-- <span class="none" v-html="scope.row[columnTitle.prop]"></span -->
<span class="none" v-html="showDate(scope.row.jyaq,formData.jyaq)"></span
><a
href="javascript:void(0);"
onclick='javascript:this.parentNode.style.display="none";this.parentNode.nextSibling.style.display="block"'
style="
display: inline-block;
width: 100%;
text-align: right;
color: #3692c6;
font-weight: 600;
"
id="open"
v-show="
scope.row[columnTitle.prop] != '' &&
scope.row[columnTitle.prop] != null
"
>展开</a
>
</div>
<div class="ajxq_n" style="display: none">
<span
style="display: block"
v-html="showDate(scope.row.jyaq,formData.jyaq)"
></span
><a
href="javascript:void(0);"
onclick='javascript:this.parentNode.style.display="none";this.parentNode.previousSibling.style.display="block"'
style="float: right; color: #3692c6; font-weight: 600"
id="stop"
v-show="
scope.row[columnTitle.prop] != '' &&
scope.row[columnTitle.prop] != null
"
>收起</a
>
</div>
</div>
<div
v-else-if="columnTitle.prop == 'asjbh'"
@click="goDetail(scope)"
style="
cursor: pointer;
color: #096cc9;
font-size: 13px !important;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
"
>
{{ scope.row[columnTitle.prop] }}
</div>
<div
v-else-if="columnTitle.prop == 'bzzt'"
:style="{
color: scope.row[columnTitle.prop] == 1 ? '' : 'red',
}"
>
{{ scope.row[columnTitle.prop] == 1 ? "已标注" : "未标注" }}
</div>
<div v-else v-html="scope.row[columnTitle.prop]"></div>
</template>
</el-table-column>
</el-table>
<!--分页-->
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="currentPage1"
:page-sizes="[10, 20, 50, 100]"
:page-size="page_size"
layout="sizes,prev, pager, next"
:total="tableDataLength"
v-if="pageShow"
>
</el-pagination>
</div>
</div>
</div>
</template>
<script>
import SelectTree from "@c/tree_components.vue";
import SelectTreeDialog from "@c/treeCode_components.vue";
import LazySelectTreeDialog from "@c/lazy_treeCode.vue";
import axios from "axios";
import { getTj } from "@/api/ajbztj.js";
import Http from "@/utils/http.js";
import qs from "qs";
import Bus from "@/utils/Bus";
export default {
name: "ptCxForm",
components: {
SelectTree,
SelectTreeDialog,
LazySelectTreeDialog,
},
props: {
pageBs: String,
cxQueryField: {
type: Array,
default: () => [],
},
cxDefaultFormThead: {
type: Array,
default: () => [],
},
cxFormData: Object,
cxUrl: String,
header: String,
pageFlag: String,
},
data() {
return {
isBtn: false,
tPage: null,
checkResult: true,
asjbh: "",
spType: "",
pageBszfc: this.pageBs,
tableLoading: true, //loading
currentPage1: 1, //表格页码
page_size: 10, //每页显示多少条
pageShow: true, //是否显示分页
formData: this.cxFormData, //查询条件form
propQueryField: this.cxQueryField, //查询条件
key: 1, //table得key
tableDataLength: 0, //表格总数
talbeBhgCount: "", // 不合格
talbehgCount: "", // 合格
tableData: [], //表格数据
propdefaultFormThead: this.cxDefaultFormThead, //表格表头
excelHeader: "案件标注",
cz: this.pageFlag,
navList: [
{
name: "案件标注信息",
path: "/queryAj",
isClock: false,
},
{
name: "标注查验信息",
path: "/queryCheckAj",
isClock: true,
},
],
identitycard: JSON.parse(sessionStorage.getItem("userInfo")).identitycard,
isInclude: false,
active: "/queryAj",
};
},
created() {
let arr = [
"34222419830726005X",
"350628197501115019",
"33020197911103615",
"32038219900701789X",
];
this.isInclude = arr.some((item) => item == this.identitycard);
},
methods: {
// 筛选变色
showDate(val,keyword) {
console.log(val);
let _self = this
console.log(keyword);
val = val + "";
if (val.indexOf(keyword) !== -1 && keyword !== "") {
return val.replace(
keyword,
'<font color="#409EFF">' + keyword+ "</font>"
);
} else {
return val;
}
},
bjBack(ajbh) {
this.$emit("bjBack", ajbh);
},
goNav(item) {
if (item.isClock && !this.isInclude) {
return;
} else {
this.active = item.path;
this.$router.push(item.path);
}
},
goDetail(scope) {
debugger;
if (this.pageBs == "queryCheckBj") {
this.$router.pushToTab({
path: "ajbzDetail",
query: {
asjbh: scope.row.asjbh,
isCheck: "Check",
bzzt:scope.row.bzzt,
},
});
} else if (this.pageBs == "queryAj") {
debugger;
// console.log(scope);
// this.formData.jyaq = '1'
// if (this.isBtn) {
this.$router.pushToTab({
path: "ajbzDetail",
query: {
asjbh: scope.row.asjbh,
bzzt: scope.row.bzzt,
asjbhIndex: scope.$index,
form: JSON.stringify(this.formData),
},
});
/*} else {
let list = {
page: 1,
limit: 5000,
asjbh: this.cxFormData.asjbh,
Ladw_gajgjgdms: this.cxFormData.Ladw_gajgjgdms,
lasjRqsjKssj: this.cxFormData.lasjRqsjKssj,
lasjRqsjJssj: this.cxFormData.lasjRqsjJssj,
asjfssjKssj: this.cxFormData.asjfssjKssj,
asjfssjJssj: this.cxFormData.asjfssjJssj,
xszalxdm: this.cxFormData.xszalxdm,
xslalxdm: this.cxFormData.xslalxdm,
xsclalxdm: this.cxFormData.xsclalxdm,
bzzt: this.cxFormData.bzzt,
asjfsdd_xzqhdm: this.cxFormData.asjfsdd_xzqhdm,
jyaq: this.cxFormData.jyaq,
asjfsddDzmc: this.cxFormData.asjfsddDzmc,
sfhgpdbz: this.cxFormData.sfhgpdbz,
};
this.$router.pushToTab({
path: "ajbzDetail",
query: {
asjbh: scope.row.asjbh,
bzzt: scope.row.bzzt,
asjbhIndex: scope.$index,
form: JSON.stringify(list),
},
});
}*/
} else {
this.$router.pushToTab({
path: "ajbzDetail",
query: {
asjbh: scope.row.asjbh,
},
});
}
},
export2Excel() {
/*导出*/
let self = this,
tHeader = [],
filterVal = [];
if (self.tableDataLength > 5000) {
self.$message({
type: "error",
message: "最多只能导出5000条",
});
} else {
const loading = this.$loading({
lock: true,
text: "正在导出...",
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] != null
? self.formData[i].join(" - ")
: "";
}
}
json.asjkssj = self.formData.asjkssj;
json.asjjssj = self.formData.asjjssj;
json.ladw = self.formData.ladw;
tHeader = [];
filterVal = [];
self.propdefaultFormThead.forEach((val) => {
tHeader.push(val.label);
filterVal.push(val.prop);
});
getTj(json).then((res) => {
// self.doQueryRequest(json).then((res) => {
if (res.code === 200) {
require.ensure([], () => {
const { export_json_to_excel } = require("../utils/Export2Excel");
const list = res.data.rows;
const data = self.formatJson(filterVal, list);
debugger;
export_json_to_excel(tHeader, data, self.excelHeader);
});
loading.close();
} else {
loading.close();
self.$message({
type: "error",
message: "查询失败",
});
}
self.tableLoadingEmit = false;
});
}
},
delectByAjbh(asjbh) {
var self = this;
this.$confirm("删除后不可恢复,是否删除?", "提示", {
confirmButtonText: "确定",
cancelButtonText: "取消",
type: "warning",
})
.then(() => {})
.catch(() => {
this.$message({
type: "info",
message: "已取消删除",
});
});
},
toXg(item, type) {
let routeData = this.$router.resolve({
path: "/malamodify",
query: { asjbh: item.asjbh, type: type },
});
window.open(routeData.href, "_blank");
},
toLasxxg(asjbh, type, type2) {
let routeData = this.$router.resolve({
path: "/malasxmodify",
query: { asjbh: asjbh, type: type, type2 },
});
window.open(routeData.href, "_blank");
},
closeLoading() {
this.tableLoading = false;
},
showLoading() {
this.tableLoading = true;
},
handleSizeChange(val) {
this.page_size = val;
this.formData.rows = val;
this.doQuery("yes");
},
clearData() {
let self = this;
for (let i in self.formData) {
if (
i != "rows" &&
i != "page" &&
i != "typeFlag" &&
i != "unitcode" &&
i != "grade" &&
i != "flwssfhgpdbz"
) {
self.formData[i] = "";
}
// if(self.pageBszfc =='queryCheckBj' && i != "bzzt"){
// self.formData[i] = "";
// }
}
self.formData["rows"] = 10;
self.formData["limit"] = 10;
self.formData["page"] = 1;
if (self.pageBszfc == "queryCheckBj") {
self.formData["bzzt"] = "1";
}
},
formatJson(filterVal, jsonData) {
let arr = [];
jsonData.map((v) => {
let arr1 = [];
filterVal.map((j) => {
if (j.indexOf(",") != -1) {
let arr = j.split(",");
let data = "";
for (let i = 0; i <= arr.length - 1; i++) {
data += arr[i].split(":")[0] + ":" + v[arr[i].split(":")[1]];
}
arr1.push(data);
} else {
arr1.push(v[j]);
}
});
arr.push(arr1);
});
return arr;
},
handleCurrentChange(val) {
this.currentPage1 = val;
this.formData.page = val;
this.doQuery("yes");
},
tableRowClassName({ rowIndex }) {
if (rowIndex % 2 == 0) {
return "";
} else {
return "success-row";
}
},
doQueryBtn(val) {
debugger;
this.isBtn = true;
if (val) {
this.formData.sfhgpdbz = "";
}
// debugger
// Bus.$emit("queryAj", this.formData);
this.formData.page = 1;
this.searchData = this.formData.jyaq
this.doQuery("yes");
},
doQuery(flag) {
this.showLoading();
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] != null
? self.formData[i].join(" - ")
: "";
}
}
if (flag) {
self
.doQueryRequest(json)
.then((response) => {
if (response.code === 200) {
response.data.rows.forEach((item) => {
item.larqafsj = `${item.larq}
${item.asjfssjAsjfskssj}`;
item.alllb = item.ajzlbMc
? `${item.ajlbdmMc}/${item.ajzlbMc}/${item.ajxzlbMc}`
: `${item.ajlbdmMc}`;
});
self.tableData = response.data.rows;
debugger;
self.tableDataLength = response.data.total;
self.tPage = Math.ceil(response.data.total / self.page_size);
self.closeLoading();
} else {
/*self.$message({
type: "error",
message: response.data.message
});*/
self.closeLoading();
}
})
.catch((err) => {
this.tableLoading = false;
});
}
},
doQueryRequest(form, relurl) {
/*post方法*/
let currentUrl = "";
currentUrl = `/api${this.cxUrl}`;
debugger;
return Http({
url: currentUrl,
data: qs.stringify(form),
method: "post",
headers: {
"blade-auth": sessionStorage.getItem("token"),
},
});
},
},
mounted() {
let self = this;
self.active = self.$route.path;
/*获取字典*/
self.propQueryField.forEach((val) => {
if (val.type == "code" || val.type == "codeTreeDialog") {
if (val.codeOptions.length == 0) {
axios
.get(`JsonData/${val.codeTree}.json`)
.then((res) => {
// let userInfo = JSON.parse(sessionStorage.getItem("userInfo"));
// if (userInfo.grade == "B") {
// self.$set(val, "codeOptions", res.data.rows);
// } else {
// debugger
// let unitcode = userInfo.unitcode.slice(0, 2);
// let arr1 = res.data.data.rows.filter(
// (item) => item.id.slice(0, 2) == unitcode
// );
// self.$set(val, "codeOptions", arr1);
// }
self.$set(val, "codeOptions", res.data.rows);
})
.catch((err) => {
console.log(err);
});
}
}
});
self.doQuery("yes");
},
computed: {
//过滤掉重大伤亡重复人员等的操作列
ifShowOperation() {
return (
this.pageBszfc != "zczjcfry" &&
this.pageBszfc != "zdswxxgl" &&
this.pageBszfc != "cfryIndex" &&
this.pageBszfc != "jsbhgl"
);
},
},
};
</script>
<style>
@import url("../assets/styles/iconfont.css");
.el-dialog__body {
padding: 10px 15px !important;
}
.rightContent .el-input__inner,
#formCommonPage .el-input__inner {
height: 32px;
line-height: 32px;
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: 32px;
}
.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";
/deep/ .el-table .cell {
white-space: pre-line;
}
.el-radio {
color: #606266;
cursor: pointer;
margin-right: 13px;
}
</style>
<style lang="scss">
.el-textarea__inner {
height: 100px;
}
</style>
......@@ -94,6 +94,15 @@ export default [
component: () => import("@/views/bztj.vue")
},
{
path: "/bztjDetail",
name: "bztjDetail",
meta: {
title: "标注统计详情页",
auth: 5
},
component: () => import("@/views/bztjDetail.vue")
},
{
path: "/ajbzDetail",
name: "ajbzDetail",
meta: {
......
<template>
<div class="Content">
<div
class="Content"
v-loading="echartsPieLoading"
element-loading-text="拼命加载中"
element-loading-background="rgba(255,255,255,0.2)"
>
<div class="rightContent">
<div class="topTitle">
<span>案件标注统计</span>
......@@ -9,7 +14,10 @@
</div>
</div>
<!-- 搜索输入框 -->
<div class="Content paneDiv paneDiv2">
<div
style="margin: 20px auto; width: 1680px"
class="Content paneDiv paneDiv2"
>
<div class="cxtjWrap">
<el-form
label-position="right"
......@@ -17,7 +25,7 @@
ref="bztj"
:model="formData"
>
<div class="zdyLine">
<div class="zdyLine" style="display: flex">
<el-form-item
:label="item.name + ':'"
v-for="item in BztjCxtj"
......@@ -46,86 +54,205 @@
</div>
</el-form-item>
</div>
<div
style="position: absolute; top: 18px; right: 800px"
class="btm-btns"
>
<el-button size="small" @click="clearData" style="width: 100px"
>清空
</el-button>
<el-button
type="primary"
size="small"
style="width: 100px"
@click="doQuery"
>查询
</el-button>
</div>
</el-form>
<!--按钮-->
<div class="btm-btns">
<el-button
type="primary"
size="small"
style="width: 100px"
@click="doQuery"
>查询
</el-button>
<el-button size="small" @click="clearData" style="width: 100px"
>清空
</el-button>
</div>
</div>
</div>
<!-- 表格内容 -->
<div class="Content paneDiv paneDiv2">
<div class="">
<el-row style="width: 99%; margin: 0 auto">
<el-col :span="24">
<span class="flTtitle">案件信息</span>
<!--可配置化图标-->
<div class="total">
<span> {{ tableDataLength }} </span>
</div>
<span class="export-btn">
<el-button
plain
size="small"
@click="export2Excel"
class="export"
><i
class="iconfont iconshangchuan"
style="margin-right: 2px"
></i
>导出
</el-button>
</span>
</el-col>
</el-row>
<!-- 中间五个按钮 -->
<div
style="width: 1704px; height: 120px; margin: 0 auto; display: flex"
class=""
>
<div
class="Content paneDiv paneDiv2 fiveBox"
style="
width: 318px;
height: 120px;
flex-direction: row;
margin: 0 12px;
padding-bottom: 0;
"
v-for="(item, index) in buttonBox"
:key="index"
>
<p style="color: #999; font-size: 16px; margin: 30px 20px 0 20px">
{{ item.name }}
</p>
<p style="color: #000; font-size: 26px; margin: -10px 20px 0 20px">
{{ item.value }}<span style="font-size: 15px">(起)</span>
</p>
<!--表格-->
<!-- <img style="width:50px;height: 50px;" :src="item.backgroundImg" alt=""> -->
<img
style="
width: 50px;
height: 50px;
position: absolute;
right: 35px;
top: 35px;
"
:src="item.leftIcon"
alt=""
/>
<img
style="
width: 159px;
height: 120px;
position: absolute;
right: 0;
top: 0;
"
:src="item.backgroundImg"
alt=""
/>
</div>
</div>
<!-- 中间统计图 -->
<div
style="
height: 337px;
width: 1680px;
margin: 30px auto 10px;
postion: relative;
"
class="paneDiv paneDiv2"
>
<div
style="
width: 300px;
display: flex;
position: absolute;
left: 24px;
top: 12px;
"
>
<p style="font-size: 20px; margin-right: 20px">案件标注统计</p>
<el-button size="small" plain @click="tableShow = false"
>图标</el-button
>
<el-button size="small" plain @click="tableShow = true"
>列表</el-button
>
</div>
<div v-if="!tableShow" id="echartszhu" ref="echartszhu"></div>
<div v-if="tableShow" style="margin-top: 50px">
<el-table
v-loading="tableLoading"
element-loading-text="拼命加载中"
ref="itsmDataTable"
id="ajzbQuery"
:data="twoData"
tooltip-effect="dark"
max-height="600"
style="width: 99%; margin: 0 auto"
width="100%"
size="small"
:data="bztjDataList"
:row-class-name="tableRowClassName"
>
<el-table-column
align="center"
v-for="columnTitle in bztjFormThead"
v-for="columnTitle in propFormThead"
:prop="columnTitle.prop"
:key="columnTitle.label"
:label="columnTitle.label"
:width="columnTitle.width"
>
<template slot-scope="scope">
<!-- <div
v-if="columnTitle.label == '标注不合格'"
@click="ThreeDetailData(scope.row)"
v-html="scope.row[columnTitle.prop]"
></div>
<div v-else-if="columnTitle.label == '操作'">
<el-button type="text" @click="ThreeExportData(scope.row)"
>不合格导出</el-button
>
</div>
<div v-else-if="columnTitle.label == '排名'">
{{ index + 1 }}
</div>
<div v-else v-html="scope.row[columnTitle.prop]"></div> -->
{{ scope.row[columnTitle.prop] }}
</template>
</el-table-column>
</el-table>
<!--分页-->
<!-- <el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page.sync="currentPage1"
:page-sizes="[10, 20, 50, 100]"
:page-size="page_size"
layout="sizes,prev, pager, next"
:total="tableDataLength"
>
</el-pagination> -->
</div>
</div>
<!-- 下方两块 -->
<div style="height: 336px; width: 1680px; margin: 0 auto; display: flex">
<!-- 下方表格 -->
<div
style="
height: 336px;
width: 1002px;
margin-right: 24px;
postion: relative;
"
class="witheback"
>
<div style="margin-left: 24px; margin-top: 12px">
<p style="font-size: 20px">不合格标注单位</p>
</div>
<div>
<el-table
id="ajzbQuery"
:data="threeData"
tooltip-effect="dark"
max-height="600"
style="width: 99%; margin: 0 auto"
width="100%"
size="small"
>
<el-table-column
align="center"
v-for="(columnTitle, index) in propdefaultFormThead"
:prop="columnTitle.prop"
:key="columnTitle.label"
:label="columnTitle.label"
>
<template slot-scope="scope">
<div
v-if="columnTitle.label == '标注不合格'"
@click="ThreeDetailData(scope.row)"
v-html="scope.row[columnTitle.prop]"
></div>
<!-- <div v-else-if="columnTitle.label == '操作'">
<el-button type="text" @click="ThreeExportData(scope.row)"
>不合格导出</el-button
>
</div> -->
<div v-else-if="columnTitle.label == '排名'">
{{ index + 1 }}
</div>
<div v-else v-html="scope.row[columnTitle.prop]"></div>
</template>
</el-table-column>
<el-table-column align="center" label="操作"
><template slot-scope="scope"
><el-button type="text" @click="ThreeExportData(scope.row)"
>不合格导出</el-button
></template
></el-table-column
>
</el-table>
</div>
</div>
<!-- 下方饼图 -->
<div style="height: 336px; width: 659px" class="witheback">
<div style="margin-left: 24px; margin-top: 12px">
<p style="font-size: 20px">不合格原因分布</p>
</div>
<div id="echartsbing"></div>
</div>
</div>
</div>
......@@ -133,13 +260,11 @@
</template>
<script>
import { getAjBzTj } from "@/api/ypbg.js";
import { EsBztQuery, EsBzDqQuery, getTj, EsBzBtQuery } from "@/api/ajbztj.js";
export default {
name: "bztj",
data() {
return {
excelHeader: "案件标注统计",
tableLoading: false, // 表格loading
currentPage1: 1, //表格页码
page_size: 10, //每页显示多少条
// 多少条数据
......@@ -186,102 +311,135 @@ export default {
label: "标注率",
prop: "bzl",
},
// {
// label: "盗窃",
// children: [
// {
// label: "未标注/已标注",
// prop: "contBz0",
// width: "150",
// },
// {
// label: "已破/未破",
// prop: "contPa1",
// width: "150",
// },
// ],
// },
// {
// /*table默认得表头*/
// label: "诈骗案",
// children: [
// {
// label: "未标注/已标注",
// prop: "contBz1",
// width: "150",
// },
// {
// label: "已破/未破",
// prop: "contPa1",
// width: "150",
// },
// ],
// },
// {
// label: "抢劫案",
// children: [
// {
// label: "未标注/已标注",
// prop: "contBz2",
// width: "150",
// },
// {
// label: "已破/未破",
// prop: "contPa2",
// width: "150",
// },
// ],
// },
// {
// label: "抢夺案",
// children: [
// {
// label: "未标注/已标注",
// prop: "contBz3",
// width: "150",
// },
// {
// label: "已破/未破",
// prop: "contPa3",
// width: "150",
// },
// ],
// },
],
//按钮数据
buttonBox: [
{
name: "上报案件",
value: "0",
backgroundImg: require(`@/assets/img/bztj/ty1.png`),
leftIcon: require(`@/assets/img/bztj/icon1.png`),
},
{
name: "上报破案",
value: "0",
backgroundImg: require(`@/assets/img/bztj/ty2.png`),
leftIcon: require(`@/assets/img/bztj/icon2.png`),
},
{
name: "未标注",
value: "0",
backgroundImg: require(`@/assets/img/bztj/ty3.png`),
leftIcon: require(`@/assets/img/bztj/icon3.png`),
},
{
name: "标注合格",
value: "0",
backgroundImg: require(`@/assets/img/bztj/ty4.png`),
leftIcon: require(`@/assets/img/bztj/icon4.png`),
},
{
name: "标注不合格",
value: "0",
backgroundImg: require(`@/assets/img/bztj/ty5.png`),
leftIcon: require(`@/assets/img/bztj/icon5.png`),
},
],
echartsPieLoading: false,
loadingIndex: 0,
//栏目数据
fanum: "",
panum: "",
wbznum: "",
bzhnum: "",
bzbnum: "",
twoData: [],
threeData: [],
fourData: [],
tableShow: true,
propdefaultFormThead: [
{
label: "单位名称",
prop: "name",
},
{
label: "上报案件",
prop: "fanum",
},
{
label: "标注合格",
prop: "bzhnum",
},
{
label: "标注不合格",
prop: "bzbnum",
},
{
label: "排名",
prop: "index",
},
// {
// label: "招摇撞骗案",
// children: [
// {
// label: "未标注/已标注",
// prop: "contBz4",
// width: "150",
// },
// {
// label: "已破/未破",
// prop: "contPa4",
// width: "150",
// },
// ],
// label: "操作",
// prop: "index",
// },
],
// 表格数据
bztjDataList: [],
loading: null,
propFormThead: [
{
label: "立案单位",
prop: "name",
},
{
label: "发案",
prop: "fanum",
},
{
label: "已标注",
prop: "bznum",
},
{
label: "未标注",
prop: "wbznum",
},
{
label: "标注率",
prop: "index",
},
{
label: "标注合格",
prop: "bzhnum",
},
{
label: "标注不合格",
prop: "bzbnum ",
},
],
};
},
created() {
// this.$set(
// this.formData,
// "asjfssjAsjfskssj",
// this.formatStartDate(new Date())
// );
// this.$set(this.formData, "asjfssjAsjfsjssj", this.formatDate(new Date()));
// this.loading = this.$loading({
// lock: true,
// text: "查询中...",
// spinner: "el-icon-loading",
// background: "rgba(255, 255, 255, 0.7)",
// });
// this.getAjTj();
},
mounted() {
let self = this;
this.$set(
this.formData,
"asjfssjAsjfskssj",
this.formatStartDate(new Date())
);
this.$set(this.formData, "asjfssjAsjfsjssj", this.formatDate(new Date()));
this.loading = this.$loading({
lock: true,
text: "查询中...",
spinner: "el-icon-loading",
background: "rgba(255, 255, 255, 0.7)",
});
this.getAjTj();
self.doQuery();
},
methods: {
formatDate(date) {
......@@ -297,30 +455,444 @@ export default {
return y + "-01-01";
},
doQuery() {
this.loading = this.$loading({
lock: true,
text: "查询中...",
spinner: "el-icon-loading",
background: "rgba(255, 255, 255, 0.7)",
// this.loading = this.$loading({
// lock: true,
// text: "查询中...",
// spinner: "el-icon-loading",
// background: "rgba(255, 255, 255, 0.7)",
// });
let self = this;
self.loadingIndex++;
console.log(self.loadingIndex);
self.getOneData();
self.getThreeData();
self.getFourData();
},
getOneData() {
let self = this;
self.loadingIndex++;
EsBztQuery({
asjkssj: self.formData.asjfssjAsjfskssj,
asjjssj: self.formData.asjfssjAsjfsjssj,
}).then((res) => {
if ((res.code == 200) & (res.success == true)) {
self.buttonBox[0].value = res.data.fanum;
self.buttonBox[1].value = res.data.panum;
self.buttonBox[2].value = res.data.wbznum;
self.buttonBox[3].value = res.data.bzhnum;
self.buttonBox[4].value = res.data.bzbnum;
self.twoData = res.data.rows;
let xData = res.data.rows.map((i) => ({
name: i.name,
value: i.code,
}));
let data1 = res.data.rows.map((i) => ({
name: i.name,
dm: i.code,
value: i.bznum,
}));
let data2 = res.data.rows.map((i) => ({
name: i.name,
dm: i.code,
value: i.wbznum,
}));
let data3 = res.data.rows.map((i) => ({
name: i.name,
dm: i.code,
value: i.bzhnum,
}));
let data4 = res.data.rows.map((i) => ({
name: i.name,
dm: i.code,
value: i.bzbnum,
}));
let data5 = res.data.rows.map((i) => ({
name: i.name,
dm: i.code,
value: i.fanum,
}));
this.getCharts(xData, data1, data2, data3, data4, data5);
setTimeout(() => {
self.loadingIndex--;
}, 1000);
} else {
self.loadingIndex--;
}
});
},
getThreeData() {
let self = this;
self.loadingIndex++;
EsBzDqQuery({
asjkssj: self.formData.asjfssjAsjfskssj,
asjjssj: self.formData.asjfssjAsjfsjssj,
}).then((res) => {
if ((res.code == 200) & (res.success == true)) {
self.threeData = res.data.rows;
setTimeout(() => {
self.loadingIndex--;
}, 1000);
} else {
self.loadingIndex--;
}
});
this.getAjTj();
},
getAjTj() {
var self = this;
getAjBzTj({
asjfssjAsjfskssj: self.formData.asjfssjAsjfskssj,
asjfssjAsjfsjssj: self.formData.asjfssjAsjfsjssj,
getFourData() {
let self = this;
self.loadingIndex++;
EsBzBtQuery({
asjkssj: self.formData.asjfssjAsjfskssj,
asjjssj: self.formData.asjfssjAsjfsjssj,
}).then((res) => {
debugger
self.bztjDataList = res.data.rows;
self.tableDataLength = res.data.total;
this.loading.close();
if ((res.code == 200) & (res.success == true)) {
self.fourData = res.data;
let dataPie = [
{
name: "小案空",
value: res.data.xnull,
},
{
name: "细案字典不匹配",
value: res.data.xl,
},
{
name: "小案字典不匹配",
value: res.data.xb,
},
{
name: "小,细案字典不匹配",
value: res.data.xbxb,
},
{
name: "小案空,细案字典不匹配",
value: res.data.xnullxb,
},
];
self.getChartsPie(dataPie);
setTimeout(() => {
self.loadingIndex--;
}, 1000);
} else {
self.loadingIndex--;
}
});
},
ThreeExportData(row) {
let self = this;
self.loadingIndex++;
getTj({
asjkssj: self.formData.asjfssjAsjfskssj,
asjjssj: self.formData.asjfssjAsjfsjssj,
ladwdm: row.code,
}).then((res) => {
if ((res.code == 200) & (res.success == true)) {
tHeader = [];
filterVal = [];
self.propdefaultFormThead.forEach((val) => {
tHeader.push(val.label);
filterVal.push(val.prop);
});
require.ensure([], () => {
const { export_json_to_excel } = require("../utils/Export2Excel");
const list = res.data.rows;
const data = self.formatJson(filterVal, list);
debugger;
export_json_to_excel(tHeader, data, self.excelHeader);
});
loading.close();
setTimeout(() => {
self.loadingIndex--;
}, 1000);
} else {
self.loadingIndex--;
}
});
},
ThreeDetailData(row) {
this.$router.pushToTab({
path: "bztjDetail",
query: {
ladw: row.code,
asjkssj: self.formData.asjfssjAsjfskssj,
asjjssj: self.formData.asjfssjAsjfsjssj,
},
});
},
// 清空按钮
clearData() {
this.formData = {};
},
//初始化柱状图
getCharts(x, data1, data2, data3, data4, data5, rotate) {
let _this = this;
let myChart = this.$echarts.init(this.$refs.echartszhu);
myChart.setOption({
title: {
text: "",
textStyle: {
color: "#000",
fontWeight: 600,
fontSize: 18,
},
left: "3%",
top: "5%",
},
tooltip: {
trigger: "axis",
axisPointer: {
label: {
formatter: function (name) {
return name.seriesData[0].name;
},
},
// 坐标轴指示器,坐标轴触发有效
type: "shadow", // 默认为直线,可选为:'line' | 'shadow'
},
},
grid: {
top: "20%",
left: "15%",
right: "10%",
bottom: "20%",
// containLabel: true
},
xAxis: [
{
type: "category",
axisLine: {
show: false,
color: "#A582EA",
interval: 0,
rotate: 40,
},
axisLabel: {
formatter: function (a, b) {
return x[b].name;
},
color: "#000",
width: 100,
clickable: true,
rotate: -30,
},
silent: false,
triggerEvent: true,
splitLine: {
show: false,
},
boundaryGap: true,
data: x,
id: 1,
},
],
yAxis: [
{
type: "value",
min: 0,
splitNumber: 4,
splitLine: {
show: true,
lineStyle: {
color: "#000",
opacity: 0.23,
},
},
axisLine: {
show: false,
},
axisLabel: {
show: true,
margin: 20,
textStyle: {
color: "#000",
},
},
axisTick: {
show: false,
},
},
],
legend: {
right: 35,
top: 52,
textStyle: {
color: "#000",
},
itemWidth: 12,
itemHeight: 10,
// itemGap: 35
},
series: [
{
name: "标注数",
type: "bar",
data: data1,
stack: "one",
barWidth: "35px",
itemStyle: {
normal: {
color: "#247FDC",
},
},
},
{
name: "未标注",
type: "bar",
data: data2,
stack: "one",
barWidth: "35px",
itemStyle: {
normal: {
color: "#247FDC",
},
},
},
{
name: "标注合格",
type: "bar",
data: data3,
stack: "one",
barWidth: "35px",
itemStyle: {
normal: {
color: "#247FDC",
},
},
},
{
name: "标注不合格",
type: "bar",
data: data4,
stack: "one",
barWidth: "35px",
itemStyle: {
normal: {
color: "#247FDC",
},
},
},
{
name: "发案数",
type: "bar",
data: data5,
stack: "one",
barWidth: "35px",
itemStyle: {
normal: {
color: "#247FDC",
},
},
},
],
});
//自适应
window.addEventListener("resize", () => {
myChart.resize();
});
///3、在渲染点击事件之前先清除点击事件
// myChart.off("click");
// myChart.on("click", function (params) {
// //点击文字下钻
// if (params.componentType == "xAxis") {
// let dm = params.value;
// //调用接口
// _this.getChartsData(dm);
// } else if (params.componentSubType == "bar") {
// let dm = params.data.dm;
// _this.getTableData(dm);
// }
// });
},
//初始化饼图
getChartsPie(data) {
//颜色组
const colorList = [
"#FDB36A",
"#58D5FF",
"#9E87FF",
"#73ACFF",
"#FDD56A",
"#FDB36A",
"#FD866A",
];
// 基于准备好的dom,初始化echarts实例
let myChart = this.$echarts.init(this.$refs.xyrdazt);
myChart.setOption({
title: {
text: "五类案件嫌疑人抓获情况",
textStyle: {
color: "#333333",
fontWeight: 800,
fontSize: 16,
},
left: 50,
},
tooltip: {
trigger: "item",
},
legend: {
type: "plain",
orient: "vertical",
top: "30%",
right: "53%",
itemWidth: 14,
itemGap: 17,
formatter: function (params) {
let num;
if (data.length > 0) {
num = data.find((i) => params == i.name);
}
return `${params}\xa0\xa0\xa0\xa0${num.value}`;
},
textStyle: {
color: "#B0BAD3",
},
},
series: [
{
type: "pie",
center: ["20%", "center"],
radius: ["35%", "50%"],
minAngle: 10,
avoidLabelOverlap: true,
hoverOffset: 15,
itemStyle: {
color: (params) => {
return colorList[params.dataIndex];
},
},
label: {
show: true,
position: "outer",
alignTo: "labelLine",
// ·圆点
backgroundColor: "auto", //圆点颜色,auto:映射的系列色
height: 0,
width: 0,
lineHeight: 0,
// height,width.lineHeight必须为0
distanceToLabelLine: 0, //圆点到labelline距离
borderRadius: 2.5,
padding: [2.5, -2.5, 2.5, -2.5],
formatter: "{a|{b}:}{b|{d}%}",
rich: {
a: {
padding: [0, 0, 0, 10],
},
b: {
padding: [0, 10, 0, 0],
},
},
},
data: data,
},
],
});
window.addEventListener("resize", () => {
myChart.resize();
});
},
//字符串转数组
stringToArr(str) {
return str.split("-");
......@@ -328,66 +900,7 @@ export default {
// 分页
handleSizeChange() {},
handleCurrentChange() {},
// 导出功能
export2Excel() {
/*导出*/
let self = this,
tHeader = [],
filterVal = [];
if (self.tableDataLength > 5000) {
self.$message({
type: "error",
message: "最多只能导出5000条",
});
} else {
const loading = this.$loading({
lock: true,
text: "正在导出...",
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] != null
? self.formData[i].join(" - ")
: "";
}
}
json.page = 1;
json.rows = 5000;
json.limit = 5000;
tHeader = [];
filterVal = [];
self.bztjFormThead.forEach((val) => {
tHeader.push(val.label);
filterVal.push(val.prop);
});
getAjBzTj(json).then((res) => {
if (res.code === 200) {
require.ensure([], () => {
const { export_json_to_excel } = require("../utils/Export2Excel");
const list = res.data.rows;
const data = self.formatJson(filterVal, list);
debugger;
export_json_to_excel(tHeader, data, self.excelHeader);
});
loading.close();
} else {
loading.close();
self.$message({
type: "error",
message: "查询失败",
});
}
self.tableLoadingEmit = false;
});
}
},
formatJson(filterVal, jsonData) {
formatJson(filterVal, jsonData) {
let arr = [];
jsonData.map((v) => {
let arr1 = [];
......@@ -411,7 +924,7 @@ export default {
/*post方法*/
let currentUrl = "";
currentUrl = `/api${this.cxUrl}`;
debugger
debugger;
return Http({
url: currentUrl,
data: qs.stringify(form),
......@@ -421,11 +934,13 @@ export default {
},
});
},
tableRowClassName({ rowIndex }) {
if (rowIndex % 2 == 0) {
return "";
},
watch: {
loadingIndex() {
if (this.loadingIndex <= 0) {
this.echartsPieLoading = false;
} else {
return "success-row";
this.echartsPieLoading = true;
}
},
},
......@@ -504,4 +1019,24 @@ export default {
.Content .el-date-editor--daterange.el-input__inner {
width: 100% !important;
}
/* .Content {
width: 1680px;
} */
.witheback {
background: #ffffff;
border: 1px solid #eaeaea;
box-shadow: none;
opacity: 1;
border-radius: 8px;
}
/* .fiveBox :nth-child(1) {
margin-left: 0;
display: block;
}
.fiveBox :nth-child(5) {
margin-right: 0;
} */
/deep/ .el-form .el-form--label-right {
display: flex;
}
</style>
<template>
<div class="Content">
<right-content :cxFormData="cxFormData"
:cxQueryField="cxQueryField"
:cxDefaultFormThead="cxDefaultFormThead"
:cxUrl="cxUrl"
:pageBs='pageBs'
ref="rightContent"
></right-content>
</div>
</template>
<script>
import rightContent from "@c/bztj_component.vue";
import axios from 'axios'
// import { getAsjxxDetail } from '@/api/ajbzDetail.js'
export default {
name: "queryAj",
components: {
rightContent,
},
data() {
return {
pageBs:'queryAj',
cxFormData: {
asjbh: '',
ajmc: '',
Ladw: '',
state: '',
asjkssj: '',
asjjssj: '',
},
cxQueryField: [
{
name: "案(事)件编号",
id: "asjbh",
type: "text",
value: "",
placeholder: "请输入",
col: "3",
},
{
name: "案件名称",
id: "ajmc",
type: "text",
value: "",
placeholder: "请输入",
col: "3",
},
{
name: "立案单位",
id: "Ladw",
type: "lazyCodeTreeDialog",
props: [], //字典弹框需要的字段
value: "",
col: "3",
codeOptions: [],
codeTree: "CODE_QGUNIT",
},
{
name: "标注状态",
id: "state",
type: "radio",
value: "1",
placeholder: "",
col: "3",
radioData: [
{ label: "全部", val: "" },
{ label: "已标注", val: "1" },
{ label: "未标注", val: "2" },
],
},
{
name: "发案时间",
id: "asjkssj",
id2: "asjjssj",
type: "zdyDate",
value: "",
col: "3",
},
],
cxDefaultFormThead: [
{
label: "案件编号",
prop: "asjbh",
},
{
label: '案件名称',
prop: 'ajmc',
},
{
label: '案件类别',
prop: 'ajlbdmMc',
},
{
label: '小案类别',
prop: 'ajzlbMc',
},
{
label: '细案类别',
prop: 'ajxzlbMc',
},
{
label: '案发时间',
prop: 'asjfssjAsjfskssj',
},
{
label: '简要案情',
prop: 'jyaq',
},
],
cxUrl: "/EsBzDqXqQuery",
};
},
methods: {
formatDate(date) {
var y = date.getFullYear();
var m = date.getMonth() + 1;
m = m < 10 ? "0" + m : m;
var d = date.getDate();
d = d < 10 ? "0" + d : d;
return y + "-" + m + "-" + d;
},
formatStartDate(date) {
var y = date.getFullYear();
return y + "-01-01";
},
},
created() {
this.$set(
this.cxFormData,
"asjkssj",
his.$route.query.asjkssj
);
this.$set(this.cxFormData, "asjkssj", this.$route.query.asjkssj);
this.$set(this.cxFormData, "ladw", this.$route.query.ladw);
},
};
</script>
<style>
.el-dialog__body {
padding: 10px 15px !important;
}
.rightContent .el-input__inner,
#formCommonPage .el-input__inner {
height: 32px;
line-height: 32px;
font-family: inherit;
background: #f3f3f3;
}
.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