Browse Source

fix: 个人、单位画像优化

master
wxc 1 month ago
parent
commit
7f16c95dfb
  1. 2
      src/components/datav/chart-bar.vue
  2. 7
      src/components/datav/chart-bar1.vue
  3. 2
      src/views/sensitivePerception/DepartNegative.vue
  4. 30
      src/views/sensitivePerception/Model.vue
  5. 140
      src/views/work/Alarm.vue

2
src/components/datav/chart-bar.vue

@ -189,7 +189,7 @@ function getColor(val) {
font-size: 12px;
.bar-item_content {
width: calc(100% - var(--label-width));
width: calc(100% - var(--label-width) - 42px);
}
}

7
src/components/datav/chart-bar1.vue

@ -1,6 +1,6 @@
<template>
<div class="w100">
<div class="flex v-center gap" v-for="(item, index) in data">
<div class="flex v-center gap mb-8" v-for="(item, index) in data">
<div>{{ index + 1}}</div>
<div
class="flex v-center bar-item wrap between"
@ -21,9 +21,10 @@
background: getColor((item.value / max) * 100),
}"
>
<span class="bar-item_value">{{ item.value }}</span>
</div>
</div>
<span :class="spanClass" v-if="showValue">{{ item.value }}</span>
</div>
</div>
</div>
@ -174,7 +175,7 @@ function getColor(val) {
margin-bottom: 4px;
.bar-item-label {
width: 100%;
width: 70%;
text-align: left;
}

2
src/views/sensitivePerception/DepartNegative.vue

@ -189,7 +189,7 @@ function reset() {
size: 10,
departLevel: "3",
crtTime: [
moment().subtract(12, 'month').format("YYYY-MM-DD HH:mm:ss"),
moment().startOf('year').format("YYYY-MM-DD HH:mm:ss"),
moment().format("YYYY-MM-DD HH:mm:ss"),
],
};

30
src/views/sensitivePerception/Model.vue

@ -256,6 +256,7 @@
style="width: 340px"
/>
</el-form-item>
<el-divider />
<el-form-item
label="建模方式"
prop="modelingMethod"
@ -286,6 +287,7 @@
v-model="form.clueTableName"
style="width: 340px"
clearable
filterable
>
<el-option
v-for="item in clueMappingData"
@ -856,7 +858,7 @@
>
<el-radio value="1">问题涉及单位</el-radio>
<el-radio value="2">指定单位</el-radio>
<el-radio value="3">问题涉及单位+指定单位</el-radio>
<el-radio value="3" v-if="form.modelDataType ==='2'">问题涉及单位+指定单位</el-radio>
</el-radio-group>
<div class="tips">
<span class="text-danger mr-8">说明</span>
@ -953,7 +955,7 @@
</div>
<div class="col col-6">
<label>最近活跃时间</label>
<span>{{ activeModel.updateTime }}</span>
<span style="color: red">{{ activeModel.updateTime }}</span>
</div>
<div class="col col-6">
<label>创建单位</label>
@ -1042,7 +1044,7 @@
<el-button type="primary" plain @click="goClue">{{
activeModel.classId === GRJDBLFX_CLASS_ID
? "查看风险问题"
: "查看线索数据"
: activeModel.modelDataType === '1' ? "查看线索数据" : "查看预警数据"
}}</el-button>
<!-- <el-button
type="primary"
@ -1362,12 +1364,22 @@ function goClue() {
},
});
} else {
router.push({
path: `/sensitivePerception/modelClue`,
query: {
modelId: activeModel.value.id,
},
});
if (activeModel.value.modelDataType === '1') {
router.push({
path: `/sensitivePerception/modelClue`,
query: {
modelId: activeModel.value.id,
},
});
} else {
router.push({
path: `/work/alarm`,
query: {
modelId: activeModel.value.id,
},
});
}
}
}

140
src/views/work/Alarm.vue

@ -3,32 +3,16 @@
<header>
<el-form :label-width="120">
<el-row>
<el-col :span="6">
<el-form-item label="提醒类型">
<div class="flex gap">
<el-select
v-model="query.alarmTypeId"
style="min-width: 185px"
>
<el-option :value="-1" label="全部" />
<el-option :value="1" label="预警问题" />
<el-option :value="2" label="风险问题" />
<el-option :value="3" label="提醒通知" />
</el-select>
</div>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="提醒时间">
<date-time-range-picker-ext
v-model="query.discoveryTime"
v-model="query.alarmTime"
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="回复情况">
<div class="flex gap">
<el-select
<el-select
v-model="query.replyState"
style="min-width: 185px"
>
@ -36,7 +20,6 @@
<el-option :value="1" label="已回复" />
<el-option :value="0" label="未回复" />
</el-select>
</div>
</el-form-item>
</el-col>
<el-col :span="6">
@ -63,6 +46,29 @@
/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="提醒类型">
<el-select
v-model="query.alarmTypeId"
clearable
>
<el-option :value="1" label="预警问题" />
<el-option :value="2" label="风险问题" />
<el-option :value="3" label="提醒通知" />
</el-select>
</el-form-item>
</el-col>
<el-col :span="6" v-if="query.alarmTypeId === 3">
<el-form-item label="模型">
<el-select
v-model="query.modelId"
clearable
filterable
>
<el-option v-for="item in models" :key="item.id" :value="item.id" :label="item.modelName" />
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div class="flex between mt-20 mb-26">
@ -196,11 +202,10 @@
</div>
</template>
<script setup>
import moment from "moment";
import { Clock } from "@element-plus/icons-vue";
import { alarmNotificationPages, alarmFiles } from "@/api/work/alarm";
import feedback from "@/utils/feedback";
import {
listModel
} from "@/api/sensitivePerception/model";
import useCatchStore from "@/stores/modules/catch";
@ -237,28 +242,9 @@ const showFiles = (data) => {
};
function getList() {
let param = {
current: query.value.current,
size: query.value.size,
};
if (query.value.alarmTypeId != -1) {
param["alarmTypeId"] = query.value.alarmTypeId;
}
if (query.value.replyState != -1) {
param["replyState"] = query.value.replyState;
}
if (
query.value.discoveryTime != undefined &&
query.value.discoveryTime != null
) {
param["startTime"] = query.value.discoveryTime[0];
param["endTime"] = query.value.discoveryTime[1];
}
if (query.value.alarmContent != undefined) {
param["alarmContent"] = query.value.alarmContent;
}
loading.value = true;
alarmNotificationPages(param).then((data) => {
console.log(query.value)
alarmNotificationPages(query.value).then((data) => {
list.value = data.records;
total.value = data.total;
loading.value = false;
@ -270,57 +256,43 @@ const tableRef = ref();
function reset() {
query.value = {
current: 1,
size: 10,
responderKey: "name",
size: 10
};
tableRef.value.clearSort();
getList();
//
router.push("/query");
}
const route = useRoute();
watch(
() => route.query,
() => {
updateQuery();
getList();
}
);
function updateQuery() {
if (route.query.processingStatus) {
query.value.processingStatus = [route.query.processingStatus];
} else {
query.value.processingStatus = [];
}
if (route.query.crtTime === "today") {
query.value.crtTime = [
moment().startOf("day").format("YYYY-MM-DD HH:mm:ss"),
moment().endOf("day").format("YYYY-MM-DD HH:mm:ss"),
];
} else {
query.value.crtTime = [];
}
if (route.query.extensionFlag === "true") {
query.value.extensionFlag = true;
} else {
query.value.extensionFlag = "";
}
}
const models = ref([])
onMounted(() => {
updateQuery();
debugger
if (route.query.modelId) {
query.value.modelId = parseInt(route.query.modelId);
query.value.alarmTypeId = 3;
}
getList();
listModel({
current: 1,
size: 100,
modelDataType: '2'
}).then(data => {
models.value = data.records
})
});
const show = ref(false);
function handleAction(row) {
show.value = true;
}
watch(
() => route.query.modelId,
(val) => {
if (val) {
query.value.alarmTypeId = 3;
query.value.modelId = parseInt(val);
} else {
query.value.modelId = '';
}
getList()
}
);
const router = useRouter();
</script>
<style lang="scss" scoped>
.form-row {

Loading…
Cancel
Save