更新页面
This commit is contained in:
@ -7,10 +7,10 @@
|
||||
@close="closed"
|
||||
>
|
||||
<div>
|
||||
<div class="flex" style="margin-bottom: 10px;">
|
||||
<el-button :type="bqLb === '01' ? 'success' : 'info'" @click="qihuan('01')">标签大类</el-button>
|
||||
<el-button :type="bqLb === '02' ? 'success' : 'info'" @click="qihuan('02')"> 标签小类 </el-button>
|
||||
</div>
|
||||
<div class="flex" style="margin-bottom: 10px;">
|
||||
<el-button :type="bqLb === '01' ? 'success' : 'info'" @click="qihuan('01')">标签大类</el-button>
|
||||
<el-button :type="bqLb === '02' ? 'success' : 'info'" @click="qihuan('02')"> 标签小类 </el-button>
|
||||
</div>
|
||||
<el-form :model="listQuery" class="mosty-from-wrap" :inline="true">
|
||||
<el-form-item label="标签名称">
|
||||
<el-input
|
||||
|
||||
@ -142,6 +142,12 @@ export const publicRoutes = [
|
||||
// meta: { title: "布控预警", icon: "article" },
|
||||
// component: () => import("@/views/backOfficeSystem/fourColorManage/warningControl/warningBk/index"),
|
||||
// },
|
||||
{
|
||||
path: "/fouColorWarning",
|
||||
name: "fouColorWarning",
|
||||
meta: { title: "预警数据整合", icon: "article" },
|
||||
component: () => import("@/views/backOfficeSystem/fourColorManage/warningControl/fouColorWarning/index"),
|
||||
},
|
||||
|
||||
{
|
||||
path: "/identityWarning",
|
||||
@ -935,12 +941,7 @@ export const publicRoutes = [
|
||||
component: () => import("@/views/backOfficeSystem/HumanIntelligence/CollectCrculate/index"),
|
||||
meta: { title: "情报采集", icon: "article" },
|
||||
},
|
||||
{
|
||||
path: "/fouColorWarning",
|
||||
name: "fouColorWarning",
|
||||
meta: { title: "四色预警", icon: "article" },
|
||||
component: () => import("@/views/backOfficeSystem/fourColorManage/warningControl/fouColorWarning/index"),
|
||||
},
|
||||
|
||||
// {
|
||||
// path: "/ResearchHome",
|
||||
// name: "ResearchHome",
|
||||
|
||||
@ -88,7 +88,6 @@ export default {
|
||||
return new Promise((resolve, reject) => {
|
||||
login({ userName, password: Base64.encode(password), kaptcha }).then((data) => {
|
||||
if (data.deptList.length === 1) {
|
||||
|
||||
this.commit("user/setToken", data.jwtToken);
|
||||
this.commit("user/setDeptId", data.deptList);
|
||||
this.commit("user/setUserName", data.userName);
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="titleBox">
|
||||
<PageTitle title="四色预警" />
|
||||
<PageTitle title="预警数据整合" />
|
||||
|
||||
</div>
|
||||
<!-- 搜索 -->
|
||||
|
||||
@ -0,0 +1,44 @@
|
||||
<template>
|
||||
<el-dialog title="处置建议" v-model="visible" width="50%" v-if="visible" @close="visible = false">
|
||||
<el-form :model="form" ref="formRef" :rules="rules" label-width="120px" >
|
||||
<el-form-item label="处置建议" prop="jynr">
|
||||
<el-input v-model="form.jynr" placeholder="请输入处置建议" type="textarea"></el-input>
|
||||
</el-form-item>
|
||||
<div class="flex just-center">
|
||||
<el-button type="primary" @click="okSubmit">确定</el-button>
|
||||
<el-button @click="visible = false">返回</el-button>
|
||||
</div>
|
||||
</el-form>
|
||||
</el-dialog>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { qcckPost } from "@/api/qcckApi.js";
|
||||
import { ref , defineExpose} from 'vue'
|
||||
const emit = defineEmits(['okSubmit'])
|
||||
const visible = ref(false)
|
||||
const formRef = ref()
|
||||
const form = ref({})
|
||||
const rules = ref({
|
||||
jynr: [
|
||||
{ required: true, message: '请输入处置建议', trigger: 'blur' }
|
||||
]
|
||||
})
|
||||
const init = (row) => {
|
||||
visible.value = true;
|
||||
form.value.yjid = row.id;
|
||||
}
|
||||
|
||||
const okSubmit = async () => {
|
||||
await formRef.value.validate((valid) => {
|
||||
if (!valid) return;
|
||||
qcckPost(form.value,'/mosty-gsxt/yjxx/czjy/insert').then((res) => {
|
||||
visible.value = false;
|
||||
emit('okSubmit', form.value)
|
||||
})
|
||||
})
|
||||
}
|
||||
defineExpose({
|
||||
init
|
||||
})
|
||||
</script>
|
||||
@ -50,11 +50,12 @@
|
||||
</template>
|
||||
<template #controls="{ row }">
|
||||
<el-link type="warning" @click="pushAssess(row)">全息档案</el-link>
|
||||
<el-link type="primary" @click="showDetail(row)">转合成</el-link>
|
||||
<el-link type="danger" @click="handleQsFk(row)">转会商</el-link>
|
||||
<el-link type="success" @click="handleQsFk(row, '签收')" v-if="row.czzt == '01'">签收</el-link>
|
||||
<el-link type="success" @click="handleQsFk(row, '反馈')" v-else-if="row.czzt == '02'">反馈</el-link>
|
||||
<el-link type="success" @click="handleQsFk(row, '查看反馈')" v-else>查看反馈</el-link>
|
||||
<el-link type="primary" @click="handleCzjy(row)" v-if="roleCode">处置建议</el-link>
|
||||
<!-- <el-link type="primary" @click="showDetail(row)">转合成</el-link>
|
||||
<el-link type="danger" @click="handleQsFk(row)">转会商</el-link> -->
|
||||
<el-link type="success" @click="handleQsFk(row, '签收')" v-if="row.czzt == '01' && permission_sfqs">签收</el-link>
|
||||
<el-link type="success" @click="handleQsFk(row, '反馈')" v-else-if="row.czzt == '02' && permission_fkqs">反馈</el-link>
|
||||
<!-- <el-link type="success" @click="handleQsFk(row, '查看反馈')" v-else>查看反馈</el-link> -->
|
||||
<el-link type="primary" @click="openAddFrom(row)">详情</el-link>
|
||||
</template>
|
||||
</MyTable>
|
||||
@ -72,9 +73,14 @@
|
||||
:tacitly="tacitly" />
|
||||
</Information>
|
||||
<AddFrom ref="addModelRef" :dict="{ D_GSXT_YJXX_CZZT, D_BZ_YJJB, D_GS_SSYJ }" />
|
||||
|
||||
<!-- 处置建议 -->
|
||||
<Czjy ref="czjyRef" @okSubmit="getList"></Czjy>
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import Czjy from './components/czjy.vue'
|
||||
import { getItem, setItem } from '@/utils/storage'
|
||||
import PageTitle from "@/components/aboutTable/PageTitle.vue";
|
||||
import Searchs from "@/components/aboutTable/Search.vue";
|
||||
import MyTable from "@/components/aboutTable/MyTable.vue";
|
||||
@ -95,7 +101,7 @@ import { holographicProfileJump } from "@/utils/tools.js"
|
||||
import Items from "./item/items.vue"
|
||||
import { exportExlByObj } from "@/utils/exportExcel.js"
|
||||
import { getMultiDictVal } from "@/utils/dict.js"
|
||||
|
||||
const czjyRef = ref()
|
||||
const { proxy } = getCurrentInstance();
|
||||
const searchBox = ref();
|
||||
const { D_GSXT_YJXX_CZZT, D_GS_SSYJ } = proxy.$dict("D_GSXT_YJXX_CZZT", "D_GS_SSYJ")
|
||||
@ -108,6 +114,9 @@ const searchConfiger = ref([
|
||||
{ label: "标签小类", prop: 'bqxl', placeholder: "请选择标签小类", showType: "nameSlot" },
|
||||
]);
|
||||
|
||||
const permission_sfqs = ref(false)
|
||||
const roleCode = ref(false)
|
||||
|
||||
const queryFrom = ref({});
|
||||
|
||||
// 页面数据
|
||||
@ -142,11 +151,22 @@ const pageData = reactive({
|
||||
});
|
||||
|
||||
onMounted(() => {
|
||||
console.log(getItem('deptId'));
|
||||
let str = getItem('deptId') ? getItem('deptId')[0].deptLevel : ''
|
||||
permission_sfqs.value = str.startsWith('2'||'3') ? false : true;
|
||||
|
||||
let rols = getItem('roleList') ? getItem('roleList'):[]
|
||||
let obj = rols.find(item => {
|
||||
return ['JS_666666','JS_777777','JS_888888'].includes(item.roleCode)
|
||||
})
|
||||
roleCode.value = obj ? true : false;
|
||||
|
||||
gettbGsxtBqglSelectList()
|
||||
tabHeightFn();
|
||||
getList();
|
||||
});
|
||||
|
||||
|
||||
const onSearch = (val) => {
|
||||
queryFrom.value = { ...val, ...queryFrom.value };
|
||||
pageData.pageConfiger.pageCurrent = 1;
|
||||
@ -299,6 +319,10 @@ const openSearch = () => {
|
||||
tabHeightFn()
|
||||
})
|
||||
}
|
||||
|
||||
const handleCzjy = (row) => {
|
||||
czjyRef.value.init( row)
|
||||
}
|
||||
// 表格高度计算
|
||||
const tabHeightFn = () => {
|
||||
if (search.value) {
|
||||
|
||||
@ -0,0 +1,83 @@
|
||||
<template>
|
||||
<div class="warning-item">
|
||||
<div class="second-row">
|
||||
<div class="info-item">预警人姓名:<span>{{ row.xm }}</span></div>
|
||||
<div class="info-item">身份证号:<span>{{ row.sfzh }}</span></div>
|
||||
<div class="info-item">电话:<span>{{ row.dh }}</span></div>
|
||||
</div>
|
||||
<div class="second-row">
|
||||
<div class="info-item">组合大类:<span>{{ row.sfdlmc }}</span></div>
|
||||
<div class="info-item">组合小类:<span>{{ row.sfzlmc }}</span></div>
|
||||
<div class="info-item">组合预警次数:<span>{{ row.sfcs }}次</span></div>
|
||||
</div>
|
||||
<div class="second-row">
|
||||
<div class="info-item">
|
||||
标签颜色:
|
||||
<DictTag v-model:value="row.bqys" :options="props.dict.D_GS_SSYJ" />
|
||||
</div>
|
||||
<div class="info-item">预警时间:<span>{{ row.yjsj }}</span></div>
|
||||
<div class="info-item">预警分值:<span>{{ row.sffz }}</span></div>
|
||||
</div>
|
||||
<div class="second-row">
|
||||
<div class="info-item">
|
||||
处置状态:
|
||||
<DictTag v-model:value="row.czzt" :options="props.dict.D_GSXT_YJXX_CZZT" />
|
||||
</div>
|
||||
<div class="info-item">所属部门:<span>{{ row.ssbm }}</span></div>
|
||||
<div class="info-item">所属县局:<span>{{ row.ssxgaj }}</span></div>
|
||||
</div>
|
||||
<div class="second-row">
|
||||
<div class="info-item">所属市局:<span>{{ row.sssgaj }}</span></div>
|
||||
<div class="info-item">接警员姓名:<span>{{ row.jjyxm }}</span></div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<script setup>
|
||||
import { ref, computed } from 'vue'
|
||||
// import DictTag from '@/components/dictTag.vue'
|
||||
|
||||
const props = defineProps({
|
||||
/** 表格行数据 */
|
||||
row: {
|
||||
type: Object,
|
||||
default: () => ({})
|
||||
},
|
||||
dict: {
|
||||
type: Object,
|
||||
default: () => ({
|
||||
D_GS_SSYJ: [],
|
||||
D_GSXT_YJXX_CZZT: []
|
||||
})
|
||||
},
|
||||
})
|
||||
// console.log('row😃: ', props.row);
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.warning-item {
|
||||
width: 100%;
|
||||
padding: 15px;
|
||||
border: 1px solid #e8e8e8;
|
||||
border-radius: 8px;
|
||||
background-color: #fafafa;
|
||||
}
|
||||
|
||||
.second-row {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 20px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.info-item {
|
||||
flex: 0 0 calc(33.33% - 20px);
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
padding: 5px 0;
|
||||
color: #333;
|
||||
|
||||
span {
|
||||
font-weight: 500;
|
||||
color: #606266;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
@ -1,39 +1,26 @@
|
||||
<template>
|
||||
<div class="warning-item">
|
||||
<div class="second-row">
|
||||
<div class="info-item">预警人姓名:<span>{{ row.xm }}</span></div>
|
||||
<div class="info-item">身份证号:<span>{{ row.sfzh }}</span></div>
|
||||
<div class="info-item">电话:<span>{{ row.dh }}</span></div>
|
||||
</div>
|
||||
<div class="second-row">
|
||||
<div class="info-item">组合大类:<span>{{ row.sfdlmc }}</span></div>
|
||||
<div class="info-item">组合小类:<span>{{ row.sfzlmc }}</span></div>
|
||||
<div class="info-item">组合预警次数:<span>{{ row.sfcs }}次</span></div>
|
||||
</div>
|
||||
<div class="second-row">
|
||||
<div class="info-item">
|
||||
标签颜色:
|
||||
<DictTag v-model:value="row.bqys" :options="props.dict.D_GS_SSYJ" />
|
||||
</div>
|
||||
<div class="info-item">预警时间:<span>{{ row.yjsj }}</span></div>
|
||||
<div class="info-item">预警分值:<span>{{ row.sffz }}</span></div>
|
||||
</div>
|
||||
<div class="second-row">
|
||||
<div class="info-item">
|
||||
处置状态:
|
||||
<DictTag v-model:value="row.czzt" :options="props.dict.D_GSXT_YJXX_CZZT" />
|
||||
</div>
|
||||
<div class="info-item">所属部门:<span>{{ row.ssbm }}</span></div>
|
||||
<div class="info-item">所属县局:<span>{{ row.ssxgaj }}</span></div>
|
||||
</div>
|
||||
<div class="second-row">
|
||||
<div class="info-item">所属市局:<span>{{ row.sssgaj }}</span></div>
|
||||
<div class="info-item">接警员姓名:<span>{{ row.jjyxm }}</span></div>
|
||||
</div>
|
||||
<div class="warning-item" >
|
||||
<el-divider content-position="left">发聩内容</el-divider>
|
||||
<div class="info-item">反馈人姓名:<span>{{ props.row.fkrxm }}</span></div>
|
||||
<div class="info-item">反馈内容:<span>{{ props.row.qsFk }}</span></div>
|
||||
<div class="info-item">反馈时间:<span>{{ props.row.fksj }}</span></div>
|
||||
|
||||
<el-divider content-position="left">建议内容</el-divider>
|
||||
<ul>
|
||||
<li class="item-row" v-for="(it,idx) in list" :key="idx">
|
||||
<div class="info-item">预警人姓名:<span>{{ it.jryXm }}</span></div>
|
||||
<div class="info-item">建议内容:<span>{{ it.jynr }}</span></div>
|
||||
<div class="info-item">建议时间:<span>{{ it.jysj }}</span></div>
|
||||
</li>
|
||||
<li>
|
||||
<el-empty v-if="list.length === 0" description="暂无数据" />
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
</template>
|
||||
<script setup>
|
||||
import { ref, computed } from 'vue'
|
||||
import { ref, computed, onMounted } from 'vue'
|
||||
import { qcckPost } from "@/api/qcckApi.js";
|
||||
// import DictTag from '@/components/dictTag.vue'
|
||||
|
||||
const props = defineProps({
|
||||
@ -50,34 +37,26 @@ const props = defineProps({
|
||||
})
|
||||
},
|
||||
})
|
||||
const list = ref([])
|
||||
onMounted(() => {
|
||||
qcckPost({yjid: props.row.id},'/mosty-gsxt/yjxx/czjy/getPageList').then((res) => {
|
||||
list.value = res.records || []
|
||||
})
|
||||
})
|
||||
// console.log('row😃: ', props.row);
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.warning-item {
|
||||
width: 100%;
|
||||
padding: 15px;
|
||||
border: 1px solid #e8e8e8;
|
||||
border-radius: 8px;
|
||||
background-color: #fafafa;
|
||||
}
|
||||
|
||||
.second-row {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 20px;
|
||||
.item-row{
|
||||
border-bottom: 1px dashed #e8e8e8;
|
||||
line-height: 24px;
|
||||
padding-bottom: 10px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.info-item {
|
||||
flex: 0 0 calc(33.33% - 20px);
|
||||
box-sizing: border-box;
|
||||
display: flex;
|
||||
padding: 5px 0;
|
||||
color: #333;
|
||||
|
||||
span {
|
||||
font-weight: 500;
|
||||
color: #606266;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user