This commit is contained in:
lcw
2025-09-29 18:11:07 +08:00
parent ffdbb04675
commit 93c711dca6
86 changed files with 395 additions and 338 deletions

Binary file not shown.

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
.tabBoxRadio .el-checkbox__inner{border-radius:50%!important}.tabBoxRadio .el-table__header-wrapper .el-checkbox{display:none}.el-loading-mask{background:rgba(0,0,0,.5)!important}.searchBox{background-color:#fff;margin-bottom:10px}

View File

@ -0,0 +1 @@
.tabBoxRadio .el-checkbox__inner{border-radius:50%!important}.tabBoxRadio .el-table__header-wrapper .el-checkbox{display:none}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
.tabBoxRadio .el-checkbox__inner{border-radius:50%!important}.tabBoxRadio .el-table__header-wrapper .el-checkbox{display:none}.el-loading-mask{background:rgba(0,0,0,.5)!important}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
.el-loading-mask{background:rgba(0,0,0,.5)!important}

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
.el-loading-mask{background:rgba(0,0,0,.5)!important}.searchBox{background-color:#fff;margin-bottom:10px}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -55,6 +55,15 @@ export const addSsyjpz = (data) => {
data data
}); });
} }
// 不分页
export const SsyjselectList = (params) => {
return request({
url: gsxtApi + `/mxglSsyjpz/selectList`,
method: "get",
params
});
}
// 分页查询四色预警规则配置列表 // 分页查询四色预警规则配置列表
export const getSsyjpzPageList = (params) => { export const getSsyjpzPageList = (params) => {
return request({ return request({

View File

@ -75,6 +75,14 @@ export const getDictItem = (params) => {
params params
}); });
} }
export const getDictzl = (params) => {
return request({
url: api + "/lzJcjPjdb/getDictzl",
method: "GET",
params
});
}
// 分析报告 - 警情类型统计 // 分析报告 - 警情类型统计
export const fxbgJqlxtj = (params) => { export const fxbgJqlxtj = (params) => {
return request({ return request({

View File

@ -16,7 +16,7 @@
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
<el-button type="success" @click="handleFilter">查询</el-button> <el-button type="success" @click="selectData">查询</el-button>
<el-button type="info" @click="reset"> 重置 </el-button> <el-button type="info" @click="reset"> 重置 </el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
@ -69,7 +69,7 @@
</template> </template>
<script setup> <script setup>
import {getDictItem} from '@/api/semanticAnalysis.js' import {getDictzl} from '@/api/semanticAnalysis.js'
import { defineProps, ref, getCurrentInstance, watch } from "vue"; import { defineProps, ref, getCurrentInstance, watch } from "vue";
const props = defineProps({ const props = defineProps({
modelValue: { modelValue: {
@ -147,18 +147,12 @@ const handleCurrentChange = (currentPage) => {
getListData(); getListData();
}; };
const getListData = () => { const getListData = () => {
// keyVal.value++;
loading.value = true; loading.value = true;
const params = { dictCode: "00000000" };
console.log(params);
getDictItem(params) getDictzl()
.then((res) => { .then((res) => {
loading.value = false; loading.value = false;
// tableData.value = res.records || [];
tableData.value = res tableData.value = res
// .records || [];
// total.value = res.total;
multipleUser(); multipleUser();
}) })
.catch(() => { .catch(() => {
@ -214,7 +208,13 @@ watch(
}, },
{ immediate: true } { immediate: true }
); );
const selectData = (val) => {
tableData.value = tableData.value.filter((item) => {
if(item.zdmc.includes(listQuery.value.bqMc)){
return item;
}
});
};
// 监听roleIds变化确保数据回显正确 // 监听roleIds变化确保数据回显正确
watch( watch(
() => props.roleIds, () => props.roleIds,

View File

@ -7,6 +7,11 @@
@close="closed" @close="closed"
> >
<div> <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 :model="listQuery" class="mosty-from-wrap" :inline="true">
<el-form-item label="标签名称"> <el-form-item label="标签名称">
<el-input <el-input
@ -18,6 +23,7 @@
<el-form-item> <el-form-item>
<el-button type="success" @click="handleFilter">查询</el-button> <el-button type="success" @click="handleFilter">查询</el-button>
<el-button type="info" @click="reset"> 重置 </el-button> <el-button type="info" @click="reset"> 重置 </el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div <div
@ -90,7 +96,7 @@ const props = defineProps({
}, },
titleValue: { titleValue: {
type: String, type: String,
default: "选择标签" default: "身份标签"
}, },
LeaderType: { LeaderType: {
type: String, type: String,
@ -158,10 +164,15 @@ const handleCurrentChange = (currentPage) => {
listQuery.value.pageCurrent = currentPage; listQuery.value.pageCurrent = currentPage;
getListData(); getListData();
}; };
const bqLb=ref('01')
const qihuan = (val) => {
bqLb.value = val
getListData()
}
const getListData = () => { const getListData = () => {
keyVal.value++; keyVal.value++;
loading.value = true; loading.value = true;
const params = { ...listQuery.value, bqLb: "01" }; const params = { ...listQuery.value, bqLb:bqLb.value,bqLx: "01" };
qcckGet(params, "/mosty-gsxt/tbGsxtBqgl/selectPage") qcckGet(params, "/mosty-gsxt/tbGsxtBqgl/selectPage")
.then((res) => { .then((res) => {
loading.value = false; loading.value = false;

View File

@ -7,6 +7,10 @@
@close="closed" @close="closed"
> >
<div> <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 :model="listQuery" class="mosty-from-wrap" :inline="true">
<el-form-item label="标签名称"> <el-form-item label="标签名称">
<el-input <el-input
@ -143,6 +147,10 @@ const onComfirm = () => {
emits("choosed", list); emits("choosed", list);
closed(); closed();
}; };
const qihuan = (val) => {
bqLb.value = val
getListData()
}
/** /**
* pageSize 改变触发 * pageSize 改变触发
*/ */
@ -160,7 +168,7 @@ const handleCurrentChange = (currentPage) => {
const getListData = () => { const getListData = () => {
keyVal.value++; keyVal.value++;
loading.value = true; loading.value = true;
const params = { ...listQuery.value, bqLb: "02" }; const params = { ...listQuery.value, bqLx: "02",bqLb:bqLb.value };
qcckGet(params, "/mosty-gsxt/tbGsxtBqgl/selectPage") qcckGet(params, "/mosty-gsxt/tbGsxtBqgl/selectPage")
.then((res) => { .then((res) => {
loading.value = false; loading.value = false;
@ -210,7 +218,7 @@ const handleSelectionChange = (val) => {
multipleSelectionUser.value = val; multipleSelectionUser.value = val;
} }
}; };
const bqLb=ref('01')
// 监听弹窗打开状态,打开时重新加载数据 // 监听弹窗打开状态,打开时重新加载数据
watch( watch(
() => props.modelValue, () => props.modelValue,

View File

@ -60,7 +60,7 @@ const props = defineProps({
const showDialog = ref(false) const showDialog = ref(false)
const emit = defineEmits(['update:modelValue', 'getList']) const emit = defineEmits(['update:modelValue', 'getList'])
const titles = ref(props.title) const titles = ref(props.title)
const deptId=getItem('deptId') const deptId = getItem('deptId')
const lyquery = reactive({ const lyquery = reactive({
rows: [], rows: [],
total: 0, total: 0,
@ -85,16 +85,12 @@ const qcckGetList = () => {
} }
const Sfzh = getItem('idEntityCard') const Sfzh = getItem('idEntityCard')
const qcckGetCount = () => { const qcckGetCount = () => {
if (!getItem('cookie') ) { if (!getItem('cookie')) {
qcckGet({ sfzh: Sfzh }, '/mosty-base/fzmsg/getCokie',true).then(res => { qcckGet({ sfzh: Sfzh }, '/mosty-base/fzmsg/getCokie', true).then(res => {
// setItem('fzcookie', res) setCookie('clientKey', res.cookie.substring(10, res.length))
// setCookie('clientKey', res.sy)
setCookie('clientKey', res.substring(10,res.length))
// document.cookie = res.cookie
// setItem('userOrg',res.userOrg)
qcckGetList() qcckGetList()
}) })
} } else { qcckGetList() }
} }
watch(() => props.modelValue, (newVal) => { watch(() => props.modelValue, (newVal) => {

View File

@ -24,7 +24,7 @@ const props = defineProps({
}, },
title: { title: {
type: String, type: String,
default: '走访信息' default: '案件信息'
}, },
dict: { dict: {
type: Object, type: Object,

View File

@ -68,7 +68,7 @@ const props = defineProps({
}, },
titleValue: { titleValue: {
type: String, type: String,
default: "研判记录" default: "现实表现"
}, },
data: { data: {
type: Object, type: Object,

View File

@ -33,7 +33,7 @@
<li @click="scrollToSection('historyAssembly-section')" <li @click="scrollToSection('historyAssembly-section')"
:class="activeSection === 'historyAssembly-section' ? 'active' : ''" v-if="!butShow">案件信息</li> :class="activeSection === 'historyAssembly-section' ? 'active' : ''" v-if="!butShow">案件信息</li>
<li @click="scrollToSection('joblogging-section')" <li @click="scrollToSection('joblogging-section')"
:class="activeSection === 'joblogging-section' ? 'active' : ''" v-if="!butShow">显示表现</li> :class="activeSection === 'joblogging-section' ? 'active' : ''" v-if="!butShow">现实表现</li>
<li @click="scrollToSection('joblogging-joblog')" <li @click="scrollToSection('joblogging-joblog')"
:class="activeSection === 'joblogging-joblog' ? 'active' : ''" v-if="!butShow">操作日志</li> :class="activeSection === 'joblogging-joblog' ? 'active' : ''" v-if="!butShow">操作日志</li>
</ul> </ul>
@ -54,58 +54,30 @@
<div id="controlInfo-section" v-if="!butShow"> <div id="controlInfo-section" v-if="!butShow">
<ControlInfo ref="controlInfo" title="重点人" :disabled="disabled" :showBut="showBut" :dataList="listQuery" /> <ControlInfo ref="controlInfo" title="重点人" :disabled="disabled" :showBut="showBut" :dataList="listQuery" />
</div> </div>
<div id="featinfo-section" v-if="!butShow"> <div id="featinfo-section" v-if="!butShow">
<Deployment ref="deployment" :disabled="disabled" :showBut="showBut" :dataList="listQuery" /> <Deployment ref="deployment" :disabled="disabled" :showBut="showBut" :dataList="listQuery" />
</div> </div>
<div id="demandsInfo-section" v-if="!butShow"> <div id="demandsInfo-section" v-if="!butShow">
<Contact ref="contact" :disabled="disabled" :showBut="showBut" :dataList="listQuery" /> <Contact ref="contact" :disabled="disabled" :showBut="showBut" :dataList="listQuery" />
</div> </div>
<div id="requestInfo-section" v-if="!butShow"> <div id="requestInfo-section" v-if="!butShow">
<DynamicTrajectory ref="dynamicTrajectory" :disabled="disabled" :showBut="showBut" /> <DynamicTrajectory ref="dynamicTrajectory" :disabled="disabled" :showBut="showBut" />
</div> </div>
<div id="personnel-section" v-if="!butShow"> <div id="personnel-section" v-if="!butShow">
<BehaviorInfo ref="behaviorInfo" :disabled="disabled" :showBut="showBut" /> <BehaviorInfo ref="behaviorInfo" :disabled="disabled" :showBut="showBut" />
</div> </div>
<div id="judgmentRecord-section" v-if="!butShow"> <div id="judgmentRecord-section" v-if="!butShow">
<VisitRecord ref="visitRecord" :disabled="disabled" :showBut="showBut" :dataList="listQuery" /> <VisitRecord ref="visitRecord" :disabled="disabled" :showBut="showBut" :dataList="listQuery" />
</div> </div>
<div id="historyAssembly-section" v-if="!butShow" > <div id="historyAssembly-section" v-if="!butShow" >
<CaseInfo ref="caseInfo" :disabled="disabled" :showBut="showBut" :dataList="listQuery" /> <CaseInfo ref="caseInfo" :disabled="disabled" :showBut="showBut" :dataList="listQuery" />
</div> </div>
<div id="joblogging-section" v-if="!butShow"> <div id="joblogging-section" v-if="!butShow">
<ActualPerformance ref="actualPerformance" :disabled="disabled" :showBut="showBut" :dataList="listQuery" /> <ActualPerformance ref="actualPerformance" :disabled="disabled" :showBut="showBut" :dataList="listQuery" />
</div> </div>
<div id="joblogging-joblog" v-if="!butShow" > <div id="joblogging-joblog" v-if="!butShow" >
<CzModel ref="czModel" :disabled="disabled" :showBut="showBut" :dataList="listQuery" /> <CzModel ref="czModel" :disabled="disabled" :showBut="showBut" :dataList="listQuery" />
</div> </div>
</div> </div>
</div> </div>
</div> </div>
@ -128,7 +100,8 @@ import VisitRecord from '../model/visitRecord.vue'
import CaseInfo from '../model/caseInfo.vue' import CaseInfo from '../model/caseInfo.vue'
import ActualPerformance from '../model/actualPerformance.vue' import ActualPerformance from '../model/actualPerformance.vue'
import CzModel from '../model/czModel.vue' import CzModel from '../model/czModel.vue'
import { ref, onUnmounted } from "vue"; import { ref, onUnmounted ,getCurrentInstance} from "vue";
const { proxy } = getCurrentInstance();
const emit = defineEmits(["updateDate"]); const emit = defineEmits(["updateDate"]);
const chooseMarksVisible = ref(false); const chooseMarksVisible = ref(false);
const dialogForm = ref(false); //弹窗 const dialogForm = ref(false); //弹窗
@ -228,13 +201,15 @@ const personnelTags = ref()
const submit = async () => { const submit = async () => {
// 使用Promise.all处理所有子组件的验证和数据获取 // 使用Promise.all处理所有子组件的验证和数据获取
const [infoData, personnelTagsData] = await Promise.all([ const [infoData, personnelTagsData] = await Promise.all([
info.value.throwData(), info.value.throwData()
// personnelTags.value.throwData(), // personnelTags.value.throwData(),
]); ]);
tbGsxtZdrySave(infoData).then(res => { tbGsxtZdrySave(infoData).then(res => {
console.log(res); proxy.$message({
message: '新增成功',
type: 'success',
})
close()
}) })
console.log(infoData); console.log(infoData);

View File

@ -80,8 +80,8 @@
<!-- 操作 --> <!-- 操作 -->
<template #controls="{ row }"> <template #controls="{ row }">
<el-link size="small" type="success" @click="handleremove(row.id)">移除</el-link> <el-link size="small" type="success" @click="handleremove(row.id)">移除</el-link>
<el-link size="small" type="success" v-if="row.zdrZt == '01'" @click="handleSend(row.id)">送审</el-link> <el-link size="small" type="success" v-if="row.zdrZt == '01'||row.zdrZt == '03'" @click="handleSend(row.id)">送审</el-link>
<el-link size="small" type="primary" v-if="row.zdrZt == '01'" @click="addEdit('edit', row)">编辑</el-link> <el-link size="small" type="primary" v-if="row.zdrZt == '01'||row.zdrZt == '03'" @click="addEdit('edit', row)">编辑</el-link>
<el-link size="small" type="primary" @click="addEdit('detail', row)">详情</el-link> <el-link size="small" type="primary" @click="addEdit('detail', row)">详情</el-link>
<el-link size="small" type="danger" @click="deleteRow(row.id)">删除</el-link> <el-link size="small" type="danger" @click="deleteRow(row.id)">删除</el-link>
</template> </template>

View File

@ -101,7 +101,7 @@ const onComfirm = (val) => {
tbGsxtZdryXsbxSaveOrUpdateXsbx(params).then(res => { tbGsxtZdryXsbxSaveOrUpdateXsbx(params).then(res => {
gettbZdryClxxSelectPage() gettbZdryClxxSelectPage()
proxy.$message({ proxy.$message({
message: '关联车辆添加成功', message: '现实表现添加成功',
type: 'success' type: 'success'
}) })
}) })

View File

@ -17,7 +17,7 @@
<el-input v-model="ruleForm.detentionCenterRecords[i].str" type="textarea" <el-input v-model="ruleForm.detentionCenterRecords[i].str" type="textarea"
class="detentionFacilityInput" placeholder="请输入拘留所记录" /> class="detentionFacilityInput" placeholder="请输入拘留所记录" />
</el-form-item> </el-form-item>
<div style="width: 100px;"> <div style="width: 100px;" v-if="showBut">
<el-button type="primary" v-if="ruleForm.detentionCenterRecords.length != 1" <el-button type="primary" v-if="ruleForm.detentionCenterRecords.length != 1"
@click="decreaseRecord(i, '拘留所')"></el-button> @click="decreaseRecord(i, '拘留所')"></el-button>
<el-button type="primary" @click="addRecord(i, '拘留所')" <el-button type="primary" @click="addRecord(i, '拘留所')"
@ -35,7 +35,7 @@
<el-input v-model="ruleForm.prison[i].str" type="textarea" class="detentionFacilityInput" <el-input v-model="ruleForm.prison[i].str" type="textarea" class="detentionFacilityInput"
placeholder="请输入拘留所记录" /> placeholder="请输入拘留所记录" />
</el-form-item> </el-form-item>
<div style="width: 100px;"> <div style="width: 100px;" v-if="showBut">
<el-button type="primary" v-if="ruleForm.prison.length != 1" <el-button type="primary" v-if="ruleForm.prison.length != 1"
@click="decreaseRecord(i, '看守所')"></el-button> @click="decreaseRecord(i, '看守所')"></el-button>
<el-button type="primary" @click="addRecord(i, '看守所')" <el-button type="primary" @click="addRecord(i, '看守所')"

View File

@ -3,7 +3,6 @@
<div class="headClass" style=""> <div class="headClass" style="">
<h3>案件信息</h3> <h3>案件信息</h3>
<el-button @click="AddPore" type="primary" v-if="showBut">新增</el-button> <el-button @click="AddPore" type="primary" v-if="showBut">新增</el-button>
</div> </div>
<MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight" <MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight"

View File

@ -15,25 +15,16 @@
</template> </template>
<template #ryLxdh> <template #ryLxdh>
<div class="phone-input-container"> <div class="phone-input-container">
<div class="inputGroup" v-for="(item,index) in listQuery.ryLxdh" :key="index"> <div class="inputGroup" v-for="(item, index) in listQuery.ryLxdh" :key="index">
<el-input v-model="listQuery.ryLxdh[index]" class="group" placeholder="请输入电话号码" /> <el-input v-model="listQuery.ryLxdh[index]" class="group" placeholder="请输入电话号码" />
<div class="flex align-center but"> <div class="flex align-center but" v-if="showBut">
<el-button type="primary" :icon="Plus" circle @click="addPhone" title="添加电话号码" v-if=" listQuery.ryLxdh.length-1 ==index"/> <el-button type="primary" :icon="Plus" circle @click="addPhone" title="添加电话号码"
v-if="listQuery.ryLxdh.length - 1 == index" />
<el-button type="success" :icon="Minus" circle @click="removePhone(index)" title="删除电话号码" /> <el-button type="success" :icon="Minus" circle @click="removePhone(index)" title="删除电话号码" />
</div> </div>
</div> </div>
</div> </div>
</template> </template>
<!-- <template #tags>
<div style="display: flex; align-items: center;">
<el-button type="primary" :disabled="disabled" @click="chooseMarksVisible = true">
选择标签
</el-button>
<div v-if="roleIds.length > 0" style="margin-left: 10px; color: #606266;">
已选择 {{ roleIds.length }} 个标签
</div>
</div>
</template> -->
</FormMessage> </FormMessage>
</div> </div>
@ -44,14 +35,14 @@
<script setup> <script setup>
import * as rule from "@/utils/rules.js"; import * as rule from "@/utils/rules.js";
import * as MOSTY from "@/components/MyComponents/index"; import * as MOSTY from "@/components/MyComponents/index";
import { Plus ,Minus} from "@element-plus/icons-vue"; import { Plus, Minus } from "@element-plus/icons-vue";
import FormMessage from "@/components/aboutTable/FormMessage.vue"; import FormMessage from "@/components/aboutTable/FormMessage.vue";
import ChooseMarks from "@/components/ChooseList/ChooseMarks/index.vue"; import ChooseMarks from "@/components/ChooseList/ChooseMarks/index.vue";
import { ref, reactive, onMounted, getCurrentInstance, watch } from "vue"; import { ref, reactive, onMounted, getCurrentInstance, watch } from "vue";
import { tbGsxtZdryUpdate } from "@/api/zdr.js"; import { tbGsxtZdryUpdate } from "@/api/zdr.js";
const { proxy } = getCurrentInstance(); const { proxy } = getCurrentInstance();
const { D_BZ_XB, D_BZ_ZZMM, D_BZ_HYZK, D_BZ_MZ, D_BZ_XZQHDM, D_ZDRY_RYLX,D_BZ_RCBKZT, D_GS_ZDR_RYJB, D_GS_ZDR_YJDJ, D_GS_BK_SSJZ, D_GS_ZDR_CZZT, D_BZ_WHCD, D_ZDRY_ZYLB } = const { D_BZ_XB, D_BZ_ZZMM, D_BZ_HYZK, D_BZ_MZ, D_BZ_XZQHDM, D_ZDRY_RYLX, D_BZ_RCBKZT, D_GS_ZDR_RYJB, D_GS_ZDR_YJDJ, D_GS_BK_SSJZ, D_GS_ZDR_CZZT, D_BZ_WHCD, D_ZDRY_ZYLB } =
proxy.$dict('D_BZ_XB', 'D_BZ_ZZMM', 'D_BZ_HYZK', 'D_BZ_MZ', "D_ZDRY_RYLX",'D_BZ_XZQHDM', 'D_BZ_RCBKZT', 'D_GS_ZDR_RYJB', 'D_GS_ZDR_YJDJ', 'D_GS_BK_SSJZ', 'D_GS_ZDR_CZZT', 'D_BZ_WHCD', 'D_ZDRY_ZYLB') proxy.$dict('D_BZ_XB', 'D_BZ_ZZMM', 'D_BZ_HYZK', 'D_BZ_MZ', "D_ZDRY_RYLX", 'D_BZ_XZQHDM', 'D_BZ_RCBKZT', 'D_GS_ZDR_RYJB', 'D_GS_ZDR_YJDJ', 'D_GS_BK_SSJZ', 'D_GS_ZDR_CZZT', 'D_BZ_WHCD', 'D_ZDRY_ZYLB')
const props = defineProps({ const props = defineProps({
dataList: { dataList: {
type: Object, type: Object,
@ -80,7 +71,7 @@ const rules = reactive({
zdrYjdj: [{ required: true, message: "请选择预警等级", trigger: "change" }], zdrYjdj: [{ required: true, message: "请选择预警等级", trigger: "change" }],
rylx: [{ required: true, message: "请选择人员类型", trigger: "change" }] rylx: [{ required: true, message: "请选择人员类型", trigger: "change" }]
}); });
const listQuery = ref({ryLxdh:[""]}); //表单 const listQuery = ref({ ryLxdh: [""] }); //表单
const chooseMarksVisible = ref(false); // 控制标签选择弹窗显示 const chooseMarksVisible = ref(false); // 控制标签选择弹窗显示
const roleIds = ref([]); // 已选择的标签ID const roleIds = ref([]); // 已选择的标签ID
const formData = ref([ const formData = ref([
@ -149,7 +140,7 @@ watch(() => props.dataList, (val) => {
listQuery.value = deepClone(val); listQuery.value = deepClone(val);
// 处理照片数据 // 处理照片数据
listQuery.value.ryzp = val.ryzp == null || val.ryzp == '' ? [] : [val.ryzp]; listQuery.value.ryzp = val.ryzp == null || val.ryzp == '' ? [] : [val.ryzp];
listQuery.value.zdrSjjz = val.zdrSjjz == null || val.zdrSjjz == '' ? [] :JSON.parse(val.zdrSjjz); listQuery.value.zdrSjjz = val.zdrSjjz == null || val.zdrSjjz == '' ? [] : JSON.parse(val.zdrSjjz);
// 处理标签ID数据确保数据回显 // 处理标签ID数据确保数据回显
if (val.tagIds && Array.isArray(val.tagIds) && val.tagIds.length > 0) { if (val.tagIds && Array.isArray(val.tagIds) && val.tagIds.length > 0) {
roleIds.value = [...val.tagIds]; roleIds.value = [...val.tagIds];
@ -167,13 +158,18 @@ const submit = () => {
}; };
// //
const gettbGsxtZdryUpdate = () => { const gettbGsxtZdryUpdate = () => {
const promes = { const promes = {
...listQuery.value, ...listQuery.value,
ryzp: listQuery.value.ryzp.length > 0 ? listQuery.value.ryzp.toString() : "", ryzp: listQuery.value.ryzp.length > 0 ? listQuery.value.ryzp.toString() : "",
ryLxdh: listQuery.value.ryLxdh, ryLxdh: listQuery.value.ryLxdh,
zdrSjjz:JSON.stringify(listQuery.value.zdrSjjz), zdrSjjz: JSON.stringify(listQuery.value.zdrSjjz),
} }
elform.value.submit((data) => {
tbGsxtZdryUpdate(promes).then((res) => { tbGsxtZdryUpdate(promes).then((res) => {
listQuery.value.ryzp = [] listQuery.value.ryzp = []
proxy.$message({ proxy.$message({
@ -185,6 +181,10 @@ const gettbGsxtZdryUpdate = () => {
}).finally(() => { }).finally(() => {
loading.value = false loading.value = false
}); });
})
} }
// 添加电话号码 // 添加电话号码
const addPhone = () => { const addPhone = () => {
@ -198,8 +198,8 @@ const addPhone = () => {
// 删除电话号码 // 删除电话号码
const removePhone = (index) => { const removePhone = (index) => {
if (listQuery.value.ryLxdh .length > 1) { if (listQuery.value.ryLxdh.length > 1) {
listQuery.value.ryLxdh .splice(index, 1); listQuery.value.ryLxdh.splice(index, 1);
} else { } else {
// 清空输入但保留输入框 // 清空输入但保留输入框
listQuery.value.ryLxdh[0] = ''; listQuery.value.ryLxdh[0] = '';
@ -210,11 +210,11 @@ const removePhone = (index) => {
const throwData = () => { const throwData = () => {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
if (elform.value && elform.value.validate) { if (elform.value && elform.value.validate) {
elform.value.validate((valid) => { elform.value.submit((data) => {
if (valid) {
// 过滤掉空的电话号码 // 过滤掉空的电话号码
const validPhones = listQuery.value.ryLxdh.filter(phone => phone && phone.trim()); const validPhones = listQuery.value.ryLxdh.filter(phone => phone && phone.trim());
if (validPhones.length === 0) { if (validPhones.length === 0) {
proxy.$message.warning('请至少输入一个有效的联系电话');
reject(new Error('请至少输入一个有效的联系电话')); reject(new Error('请至少输入一个有效的联系电话'));
return; return;
} }
@ -222,16 +222,15 @@ const throwData = () => {
...listQuery.value, ...listQuery.value,
ryzp: listQuery.value.ryzp && listQuery.value.ryzp.length > 0 ? listQuery.value.ryzp.toString() : '', ryzp: listQuery.value.ryzp && listQuery.value.ryzp.length > 0 ? listQuery.value.ryzp.toString() : '',
ryLxdh: validPhones, ryLxdh: validPhones,
zdrSjjz:JSON.stringify(listQuery.value.zdrSjjz), zdrSjjz: JSON.stringify(listQuery.value.zdrSjjz),
});
} else {
reject(new Error('表单验证失败,请检查输入信息'));
}
}); });
})
} else { } else {
elform.value.submit((data) => {
// 如果没有验证方法,直接返回数据 // 如果没有验证方法,直接返回数据
const validPhones = listQuery.value.ryLxdh.filter(phone => phone && phone.trim()); const validPhones = listQuery.value.ryLxdh.filter(phone => phone && phone.trim());
if (validPhones.length === 0) { if (validPhones.length === 0) {
proxy.$message.warning('请至少输入一个有效的联系电话');
reject(new Error('请至少输入一个有效的联系电话')); reject(new Error('请至少输入一个有效的联系电话'));
return; return;
} }
@ -239,8 +238,11 @@ const throwData = () => {
...listQuery.value, ...listQuery.value,
ryzp: listQuery.value.ryzp && listQuery.value.ryzp.length > 0 ? listQuery.value.ryzp.toString() : '', ryzp: listQuery.value.ryzp && listQuery.value.ryzp.length > 0 ? listQuery.value.ryzp.toString() : '',
ryLxdh: validPhones, ryLxdh: validPhones,
zdrSjjz:JSON.stringify(listQuery.value.zdrSjjz), zdrSjjz: JSON.stringify(listQuery.value.zdrSjjz),
}); });
})
} }
}); });
}; };
@ -313,22 +315,24 @@ h3 {
padding: 0; padding: 0;
} }
.inputGroup{ .inputGroup {
margin-left: 10px; margin-left: 10px;
width: 100%; width: 100%;
max-width: 400px; max-width: 400px;
display: flex; display: flex;
align-items: center; align-items: center;
margin-bottom: 10px; margin-bottom: 10px;
.group{
.group {
width: 250px; width: 250px;
margin-right: 10px; margin-right: 10px;
} }
.but{
.but {
display: flex; display: flex;
gap: 5px; gap: 5px;
} }
} }
::v-deep .el-button--primary { ::v-deep .el-button--primary {
background-color: #409eff !important; background-color: #409eff !important;
@ -339,5 +343,4 @@ h3 {
background-color: #67c23a !important; background-color: #67c23a !important;
border-color: #67c23a !important; border-color: #67c23a !important;
} }
</style> </style>

View File

@ -92,7 +92,8 @@ const pageData = reactive({
const zdqtUpdate = (val) => { const zdqtUpdate = (val) => {
const params = { const params = {
id: listData.value.id, id: listData.value.id,
bqList: pageData.tableData bqList: pageData.tableData,
rySfzh: listData.value.rySfzh,
} }
tbGsxtZdryUpdate(params).then(res => { tbGsxtZdryUpdate(params).then(res => {
proxy.$message({ proxy.$message({

View File

@ -53,7 +53,6 @@ const addUpd = ref(true)
watch(() => props.dataList, (val) => { watch(() => props.dataList, (val) => {
if (val) { if (val) {
listData.value = val listData.value = val
console.log(listData.value, 'listData.value')
gettbZdryClxxSelectPage() gettbZdryClxxSelectPage()
} }
}, { deep: true }) }, { deep: true })
@ -98,6 +97,7 @@ const pageData = reactive({
// 修改数据接口 // 修改数据接口
const dataModel = ref() const dataModel = ref()
const addMarks = (val) => { const addMarks = (val) => {
const params = { const params = {
...val, ...val,
zdrid: listData.value.id, zdrid: listData.value.id,

View File

@ -273,8 +273,16 @@ const clone = (val) => {
} }
watch(() => props.defaultData, (val) => { watch(() => props.defaultData, (val) => {
if (val) { if (val) {
gzmc.value = val.gzmc gzmc.value = val.gzmc
dataList.value = list.filter(item => {
if (val.sjlx) {
return item.key != 'jqlx'
}
if (val.jqlx){
return item.key != 'sjlx'
}
return item
})
const data = dataList.value.map(item => { const data = dataList.value.map(item => {
switch (item.key) { switch (item.key) {
case 'cs': case 'cs':
@ -314,15 +322,7 @@ watch(() => props.defaultData, (val) => {
} }
}) })
copyList.value = data.filter(item => item[item.key] != null) copyList.value = data.filter(item => item[item.key] != null)
dataList.value = list.filter(item => {
if (val.sjlx) {
return item.key != 'jqlx'
}
if (val.jqlx){
return item.key != 'sjlx'
}
return item
})
} else { } else {
dataList.value=list dataList.value=list
} }

View File

@ -41,7 +41,6 @@ const defaultData = ref({})
const SSYJ = '02' const SSYJ = '02'
const YJGZ='01' const YJGZ='01'
onMounted(() => { onMounted(() => {
switch (props.item.mxlx) { switch (props.item.mxlx) {
case SSYJ: case SSYJ:
getmxglSsyjpzSelectList() getmxglSsyjpzSelectList()
@ -104,7 +103,8 @@ const addSsyj = () => {
ElMessage.warning('请填写规则名称') ElMessage.warning('请填写规则名称')
return return
} }
if (!defaultData.value) {
if (!defaultData.value.id) {
const promes = { const promes = {
mxid: props.item.id, mxid: props.item.id,
...data ...data
@ -139,7 +139,10 @@ const addYjgzpzs = () => {
ElMessage.warning('请事件类型和警情类型必须选择一个') ElMessage.warning('请事件类型和警情类型必须选择一个')
return return
} }
if (!defaultData.value) {
if (!defaultData.value.id) {
console.log(props.item.id,"xxxxxxxxx");
const promes = { const promes = {
mxid:props.item.id, mxid:props.item.id,
...data ...data
@ -152,8 +155,6 @@ const addYjgzpzs = () => {
ElMessage.error(err.message) ElMessage.error(err.message)
}); });
} else { } else {
console.log( defaultData.value.id);
editYjgzpz({ editYjgzpz({
id: defaultData.value.id, id: defaultData.value.id,
...data ...data

View File

@ -19,25 +19,33 @@
<strong>模型名称</strong>{{ it.mxmc }} <strong>模型名称</strong>{{ it.mxmc }}
</div> </div>
<div class="model-type flex"> <div class="model-type flex">
<strong>模型类型</strong> <DictTag :tag="false" :value="it.mxlx" :options="D_MXGL_MXLX" /> <strong>模型类型</strong>
<DictTag :tag="false" :value="it.mxlx" :options="D_MXGL_MXLX" />
</div> </div>
</div> </div>
<div class="model-image-container" @click="openYjList(it)"> <div class="model-image-container" @click="openYjList(it)">
<img class="model-image" <img class="model-image" src="@/assets/images/mxbg.jpg" alt="">
src="@/assets/images/mxbg.jpg" alt="">
</div> </div>
<div class="model-actions"> <div class="model-actions">
<span class="action-btn action-btn-view" @click.stop="openAddRule('', it)"> <span class="action-btn action-btn-view" @click.stop="openAddRule('', it)">
<el-icon class="action-icon"><Document /></el-icon>查看规则 <el-icon class="action-icon">
<Document />
</el-icon>查看规则
</span> </span>
<span class="action-btn action-btn-edit" @click.stop="openAddModel('edit', it)"> <span class="action-btn action-btn-edit" @click.stop="openAddModel('edit', it)">
<el-icon class="action-icon"><ChatDotSquare /></el-icon>编辑 <el-icon class="action-icon">
<ChatDotSquare />
</el-icon>编辑
</span> </span>
<span class="action-btn action-btn-edit" @click.stop="openAddModel('detail', it)"> <span class="action-btn action-btn-edit" @click.stop="operationRule(it)">
<el-icon class="action-icon"><Edit /></el-icon>详情 <el-icon class="action-icon">
<Edit />
</el-icon>执行
</span> </span>
<span class="action-btn action-btn-delete" @click.stop="delDictItem(it.id)"> <span class="action-btn action-btn-delete" @click.stop="delDictItem(it.id)">
<el-icon class="action-icon"><Files /></el-icon>删除 <el-icon class="action-icon">
<Files />
</el-icon>删除
</span> </span>
</div> </div>
</li> </li>
@ -53,7 +61,7 @@
<script setup> <script setup>
import PageTitle from "@/components/aboutTable/PageTitle.vue"; import PageTitle from "@/components/aboutTable/PageTitle.vue";
import { getPageList, deleteEntity } from '@/api/model.js' import { getPageList, deleteEntity, getSsyjpzMxgzxl, SsyjselectList, getYjgzpzSelectList, getYjgzpzMxgzxl } from '@/api/model.js'
import emitter from "@/utils/eventBus.js"; import emitter from "@/utils/eventBus.js";
import { CirclePlus } from '@element-plus/icons-vue' import { CirclePlus } from '@element-plus/icons-vue'
import * as MOSTY from "@/components/MyComponents/index"; import * as MOSTY from "@/components/MyComponents/index";
@ -62,12 +70,12 @@ import { reactive, ref, onMounted, getCurrentInstance, watch, defineEmits } from
import AddModel from "../components/AddModel/addModel"; import AddModel from "../components/AddModel/addModel";
const emit = defineEmits(['change']) const emit = defineEmits(['change'])
const { proxy } = getCurrentInstance(); const { proxy } = getCurrentInstance();
const { D_MXGL_MXLX ,D_BZ_RYBQ} = proxy.$dict("D_MXGL_MXLX","D_BZ_RYBQ") const { D_MXGL_MXLX, D_BZ_RYBQ } = proxy.$dict("D_MXGL_MXLX", "D_BZ_RYBQ")
const searchBox = ref(); //搜索框 const searchBox = ref(); //搜索框
const show = ref(false) const show = ref(false)
const listHeight = ref() const listHeight = ref()
const SSYJ = '02' const SSYJ = '02'
const YJGZ='01' const YJGZ = '01'
const searchConfiger = ref([ const searchConfiger = ref([
{ label: "模型名称", prop: "mxmc", placeholder: "请输入模型名称", showType: "input" }, { label: "模型名称", prop: "mxmc", placeholder: "请输入模型名称", showType: "input" },
{ {
@ -156,18 +164,56 @@ const openAddModel = (type, row) => {
const openAddRule = (type, row) => { const openAddRule = (type, row) => {
switch (row.mxlx) { switch (row.mxlx) {
case SSYJ: case SSYJ:
emitter.emit('changeModel', {row,name:'四色预警规则'}) emitter.emit('changeModel', { row, name: '四色预警规则' })
break; break;
case YJGZ: case YJGZ:
emitter.emit('changeModel', {row,name:'预警规则'}) emitter.emit('changeModel', { row, name: '预警规则' })
break; break;
default: default:
break; break;
} }
} }
const openYjList = (row) => { const openYjList = (row) => {
emitter.emit('changeModel', {row,name:'预警列表'}) emitter.emit('changeModel', { row, name: '预警列表' })
} }
const operationRule = async (row) => {
if (row.mxlx == SSYJ) {
try {
const data = await SsyjselectList({ mxid: row.id })
if (data.length > 0) {
await getSsyjpzMxgzxl({ id: data[0].id })
proxy.$message.success('运行成功')
} else {
proxy.$message.warning('未配置预警规则')
}
} catch (error) {
console.log(error);
proxy.$message.error('运行失败')
}
}
if (row.mxlx == YJGZ) {
try {
const data = await getYjgzpzSelectList({ mxid: row.id })
if (data.length > 0) {
await getYjgzpzMxgzxl({ id: data[0].id })
proxy.$message.success('运行成功')
} else {
proxy.$message.warning('未配置预警规则')
}
} catch (error) {
console.log(error);
proxy.$message.error('运行失败')
}
}
}
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>

View File

@ -36,7 +36,7 @@ const pageData = reactive({
{ label: "报警人电话", prop: "bjdh" }, { label: "报警人电话", prop: "bjdh" },
{ label: "报警人身份证", prop: "bjrzjhm"}, { label: "报警人身份证", prop: "bjrzjhm"},
{ label: "预警内容", prop: "bjnr", showOverflowTooltip: true }, { label: "预警内容", prop: "bjnr", showOverflowTooltip: true },
{ label: "报警时间", prop: "yjsj", showOverflowTooltip: true }, { label: "报警时间", prop: "bjsj", showOverflowTooltip: true },
] ]
}); });
const init = (row) => { const init = (row) => {

View File

@ -23,7 +23,13 @@
<template #xwcs="{ row }"> <template #xwcs="{ row }">
<span style="color: #0072ff;" @click="handleClick(row)">{{ row.xwcs }}</span> <span style="color: #0072ff;" @click="handleClick(row)">{{ row.xwcs }}</span>
</template> </template>
<template #bqYs="{ row }">
<DictTag :value="row.bqYs" :tag="false" :options="D_GS_SSYJ" />
</template>
<template #controls="{ row }">
<el-link type="primary">下发指令</el-link>
<el-link type="success">查看反馈</el-link>
</template>
</MyTable> </MyTable>
<Pages <Pages
@changeNo="changeNo" @changeNo="changeNo"
@ -48,7 +54,9 @@ import Search from "@/components/aboutTable/Search.vue";
import MyTable from "@/components/aboutTable/MyTable.vue"; import MyTable from "@/components/aboutTable/MyTable.vue";
import Pages from "@/components/aboutTable/Pages.vue"; import Pages from "@/components/aboutTable/Pages.vue";
import { qcckGet } from "@/api/qcckApi.js"; import { qcckGet } from "@/api/qcckApi.js";
import { reactive, ref, onMounted } from "vue"; import { reactive, ref, onMounted,getCurrentInstance } from "vue";
const { proxy } = getCurrentInstance();
const { D_GS_SSYJ } = proxy.$dict("D_GS_SSYJ"); //获取字典数据
const searchBox = ref(); //搜索框 const searchBox = ref(); //搜索框
const searchConfiger = ref( const searchConfiger = ref(
[ [
@ -79,7 +87,8 @@ const pageData = reactive({
{ label: "行为大类", prop: "xldlmc"}, { label: "行为大类", prop: "xldlmc"},
{ label: "行为子类", prop: "xwzlmc", showOverflowTooltip: true }, { label: "行为子类", prop: "xwzlmc", showOverflowTooltip: true },
{ label: "行为描述", prop: "xwms", showOverflowTooltip: true }, { label: "行为描述", prop: "xwms", showOverflowTooltip: true },
{ label: "行为次数", prop: "xwcs",showSolt: true }, { label: "行为次数", prop: "xwcs", showSolt: true },
{ label: "行为颜色", prop: "bqYs",showSolt: true },
{ label: "行为分值", prop: "xwfz",}, { label: "行为分值", prop: "xwfz",},
] ]
}); });

View File

@ -21,6 +21,10 @@
:tableConfiger="pageData.tableConfiger" :tableConfiger="pageData.tableConfiger"
:controlsWidth="pageData.controlsWidth" :controlsWidth="pageData.controlsWidth"
> >
<template #controls="{ row }">
<el-link type="primary">下发指令</el-link>
<el-link type="success">查看反馈</el-link>
</template>
</MyTable> </MyTable>
<Pages <Pages
@changeNo="changeNo" @changeNo="changeNo"
@ -68,7 +72,7 @@ const pageData = reactive({
rowHieght: 61, rowHieght: 61,
showSelectType: "checkBox", showSelectType: "checkBox",
loading: false, loading: false,
haveControls: false, // haveControls: false,
}, },
total: 0, total: 0,
pageConfiger: { pageConfiger: {

View File

@ -13,24 +13,18 @@
</div> </div>
<!-- 表格 --> <!-- 表格 -->
<div class="tabBox"> <div class="tabBox">
<MyTable <MyTable :tableData="pageData.tableData" :tableColumn="pageData.tableColumn" :tableHeight="pageData.tableHeight"
:tableData="pageData.tableData" :key="pageData.keyCount" :tableConfiger="pageData.tableConfiger" :controlsWidth="pageData.controlsWidth">
:tableColumn="pageData.tableColumn" <template #controls="{ row }">
:tableHeight="pageData.tableHeight" <el-link type="primary">详情</el-link>
:key="pageData.keyCount" <!-- 展示预警具体数据 -->
:tableConfiger="pageData.tableConfiger" <el-link type="success">研判报告</el-link>
:controlsWidth="pageData.controlsWidth" </template>
>
</MyTable> </MyTable>
<Pages <Pages @changeNo="changeNo" @changeSize="changeSize" :tableHeight="pageData.tableHeight" :pageConfiger="{
@changeNo="changeNo"
@changeSize="changeSize"
:tableHeight="pageData.tableHeight"
:pageConfiger="{
...pageData.pageConfiger, ...pageData.pageConfiger,
total: pageData.total total: pageData.total
}" }"></Pages>
></Pages>
</div> </div>
</div> </div>
</template> </template>
@ -45,30 +39,25 @@ import { reactive, ref, onMounted, getCurrentInstance } from "vue";
const { proxy } = getCurrentInstance(); const { proxy } = getCurrentInstance();
const searchBox = ref(); const searchBox = ref();
const { D_MXGL_MXLX } = proxy.$dict("D_MXGL_MXLX")
// 搜索配置 // 搜索配置
const searchConfiger = ref([ const searchConfiger = ref([
{ label: "姓名", prop: 'xm', placeholder: "请输入姓名", showType: "input"}, { label: "模型类型", prop: 'mxlx', placeholder: "请选择模型类型", showType: "select", options: D_MXGL_MXLX },
{ label: "身份证号码", prop: 'sfzh', placeholder: "请输入身份证号码", showType: "input"},
{ label: "模型类型", prop: 'mxlx', placeholder: "请选择模型类型", showType: "select", options: [
{ label: "行为模型", value: "1" },
{ label: "身份模型", value: "2" },
{ label: "关系模型", value: "3" },
{ label: "轨迹模型", value: "4" }
]},
]); ]);
const queryFrom = ref({}); const queryFrom = ref({});
// 页面数据 // 页面数据
const pageData = reactive({ const pageData = reactive({
tableData: [], tableData: [
{ mxlx: "四色预警", mxmc: "四色预警模型", yjyy: "四色预警模型", yjsj: "2025-1-2", clzt: "处理中" }
],
keyCount: 0, keyCount: 0,
tableConfiger: { tableConfiger: {
rowHieght: 61, rowHieght: 61,
showSelectType: "checkBox", showSelectType: "checkBox",
loading: false, loading: false,
haveControls: false, // haveControls: false,
}, },
total: 0, total: 0,
pageConfiger: { pageConfiger: {
@ -77,15 +66,11 @@ const pageData = reactive({
}, },
controlsWidth: 160, controlsWidth: 160,
tableColumn: [ tableColumn: [
{ label: "序号", prop: "xh" },
{ label: "姓名", prop: "xm" },
{ label: "身份证号", prop: "sfzh" },
{ label: "电话", prop: "dh", },
{ label: "模型类型", prop: "mxlx" }, { label: "模型类型", prop: "mxlx" },
{ label: "模型名称", prop: "mxmc", }, { label: "模型名称", prop: "mxmc", },
{ label: "预警原因", prop: "yjyy", showOverflowTooltip: true }, { label: "预警内容", prop: "yjyy", showOverflowTooltip: true },
{ label: "预警时间", prop: "yjsj" }, { label: "预警时间", prop: "yjsj" },
{ label: "处理状态", prop: "clzt" }, // { label: "处理状态", prop: "clzt" },
] ]
}); });
@ -95,7 +80,7 @@ onMounted(() => {
}); });
const onSearch = (val) => { const onSearch = (val) => {
queryFrom.value = {...val}; queryFrom.value = { ...val };
pageData.pageConfiger.pageCurrent = 1; pageData.pageConfiger.pageCurrent = 1;
getList(); getList();
}; };

View File

@ -4,10 +4,10 @@ function resolve(dir) {
return path.join(__dirname, dir); return path.join(__dirname, dir);
} }
// const serverHost = "http://47.108.232.77:9537"//波哥 const serverHost = "http://192.168.1.32:8016"//线上
// const serverHost = "http://192.168.0.231:8006"//线上 // const serverHost = "http://192.168.0.231:8006"//线上
// const serverHost = "http://192.168.1.117:8006"//周 // const serverHost = "http://192.168.1.117:8006"//周
const serverHost = "http://192.168.1.98:8006"//毛毛 // const serverHost = "http://192.168.1.98:8006"//毛毛
module.exports = { module.exports = {
// configureWebpack: { // configureWebpack: {