Browse Source

fix:1、抽检人员必填项 2、选择督察人员回显 3、抽检人员时间范围报错修复 4、抽检人数默认叠加“被抽检对象”填写的人数 5、单选框支持取消 6、默认有一条被抽检对象

main
pengwei 5 months ago
parent
commit
550e401cd6
  1. 279
      src/components/mobileSupervise/police-sampling.vue
  2. 57
      src/components/police-picker.vue
  3. 5
      src/views/mobileSupervise/Inspection.vue
  4. 166
      src/views/mobileSupervise/Sampling.vue

279
src/components/mobileSupervise/police-sampling.vue

@ -0,0 +1,279 @@
<template>
<div class="flex gap">
<!-- <el-tag type="info" effect="plain" closable v-for="(item, index) in modelValue" :key="item" @close="handleRemove(index)">{{ item.name }}</el-tag>-->
<el-button type="primary" plain @click="show = true">
<template #icon>
<icon name="el-icon-Plus" style="width: 8px" />
</template>
补充抽检人员
</el-button>
</div>
<el-dialog title="选择警员" v-model="show" width="60vw" top="5vh">
<div style="min-height: 70vh">
<el-row :gutter="20">
<el-col :span="6">
<el-scrollbar max-height="70vh">
<el-tree
:data="treeData"
:props="{ label: 'shortName', value: 'id' }"
:default-expanded-keys="['12630']"
node-key="id"
@node-click="handleSelectDepart"
/>
</el-scrollbar>
</el-col>
<el-col :span="18">
<header class="flex between mb-20">
<el-form class="flex gap wrap">
<el-input
placeholder="警员姓名"
v-model="query.name"
clearable
style="width: 190px"
/>
<el-input
placeholder="请输入"
v-model="query.empNo"
clearable
style="width: 190px"
/>
<el-input
placeholder="身份证号码"
v-model="query.idCode"
clearable
style="width: 190px"
/>
</el-form>
<el-button type="primary" @click="getList">查询</el-button>
</header>
<div class="table-container">
<el-table
ref="ableRef"
:data="polices"
row-key="id"
max-height="890px"
@selection-change="selectionChange"
v-loading="loading"
>
<el-table-column type="selection" width="55" />
<el-table-column
label="姓名"
prop="name"
width="90"
/>
<el-table-column
label="警号"
prop="empNo"
width="100"
show-overflow-tooltip
/>
<el-table-column
label="人员属性"
width="120"
align="center"
>
<template #default="{ row }">
<span>{{
getDictLable(
dict.personType,
row.personType
)
}}</span>
</template>
</el-table-column>
<el-table-column
label="职位"
width="120"
align="center"
>
<template #default="{ row }">
<span v-if="row.position">
<span v-if="row.level === 0"
>局领导{{ row.position }}</span
>
<span v-if="row.level === 2"
>二级机构{{ row.position }}</span
>
<span v-if="row.level === 3"
>三机机构{{ row.position }}</span
>
<span v-if="row.level === 4"
>四机机构{{ row.position }}</span
>
</span>
</template>
</el-table-column>
<el-table-column
label="机构名称"
prop="departShortName"
width="200"
/>
</el-table>
</div>
<div class="flex end mt-8">
<el-pagination
@size-change="getList"
@current-change="getList"
:page-sizes="[10, 20]"
v-model:page-size="query.size"
v-model:current-page="query.current"
layout="total, sizes, prev, pager, next"
:total="total"
>
</el-pagination>
</div>
<div class="flex gap mt-10 wrap v-center">
<span>已选警员</span>
<el-tag
v-for="(item, index) in checkPolices"
:key="item"
closable
@close="handleRemove(index)"
>{{ item.name }}</el-tag
>
</div>
</el-col>
</el-row>
</div>
<footer class="flex end">
<el-button @click="show = false">取消</el-button>
<el-button type="primary" @click="submit">确定</el-button>
</footer>
</el-dialog>
</template>
<script setup>
import { departTreeList } from "@/api/system/depart";
import { listPolice } from "@/api/system/police";
import useCatchStore from "@/stores/modules/catch";
import { getDictLable } from "@/utils/util";
import feedback from "@/utils/feedback";
const catchSotre = useCatchStore();
const dict = catchSotre.getDicts(["personType"]);
const props = defineProps({
modelValue: {
type: Array,
default: []
},
departId: {
type: String
},
samplingNum:{
type:Number,
default:10
}
});
const emit = defineEmits(['update:modelValue'])
const show = ref(false);
const query = ref({
current:1,
departBranch: true
});
watch(() => props.departId, (val) => {
query.value.departId = val;
getList()
})
const total = ref(0);
const ableRef =ref(null)
const treeData = catchSotre.getDepartsAll();
const polices = ref([]);
const loading = ref(false)
function getList() {
loading.value = true
listPolice(query.value).then((data) => {
polices.value = data.records;
console.log('polices',polices)
setCheckFun(data.records)
total.value = data.total;
loading.value = false
});
}
const setCheckFun =(row)=>{
console.log('checkPolices.value',checkPolices.value)
row.forEach((s)=>{
let data =checkPolices.value.find(x=>
x.empNo === s.empNo
)
if(data){
nextTick(()=>{
ableRef.value.toggleRowSelection(s, true);
})
}
})
}
const checkPolices = ref([]);
const checkPolicesMap =ref([])
function selectionChange(selectionRows) {
if( checkPolicesMap.value['key'+query.value.current]){
let data = checkPolicesMap.value['key'+query.value.current];
checkPolicesMap.value['key'+query.value.current]=getCheckData(data,selectionRows);
}else{
checkPolicesMap.value['key'+query.value.current] =getCheckData([],selectionRows);
}
checkPolices.value=[]
for (let key in checkPolicesMap.value){
checkPolices.value=checkPolices.value.concat(checkPolicesMap.value[key])
}
}
const getCheckData = (data,selectionRows) =>{
selectionRows.forEach(item => {
if (data.findIndex(o => o.empNo === item.empNo) === -1) {
data.push({
name: item.name,
empNo: item.empNo,
idCode: item.idCode,
isLeader:item.position,
deptId :item.orgId
})
}
})
data.forEach((s,i)=>{
if (selectionRows.findIndex(o => o.empNo === s.empNo) === -1){
data.splice(i,1)
}
})
return data;
}
function handleSelectDepart(node) {
query.value.departId = node.id;
getList();
}
function handleRemove(index) {
checkPolices.value.splice(index, 1)
emit('update:modelValue', checkPolices.value)
}
function submit() {
emit('update:modelValue', checkPolices.value)
show.value = false
}
watch(()=>props.modelValue,()=>{
checkPolices.value=props.modelValue
},{deep:true,immediate:true})
onMounted(() => {
getList();
});
</script>
<style lang="scss">
.el-tree-node.is-current > .el-tree-node__content {
background-color: #e8e9f3;
}
</style>

57
src/components/police-picker.vue

@ -47,6 +47,7 @@
</header> </header>
<div class="table-container"> <div class="table-container">
<el-table <el-table
ref="ableRef"
:data="polices" :data="polices"
row-key="id" row-key="id"
max-height="890px" max-height="890px"
@ -162,14 +163,16 @@ const emit = defineEmits(['update:modelValue'])
const show = ref(false); const show = ref(false);
const query = ref({ const query = ref({
current:1,
departBranch: true departBranch: true
}); });
watch(() => props.departId, (val) => { watch(() => props.departId, (val) => {
query.value.departId = val; query.value.departId = val;
getList() getList()
}) })
const total = ref(0); const total = ref(0);
const ableRef =ref(null)
const treeData = catchSotre.getDepartsAll(); const treeData = catchSotre.getDepartsAll();
const polices = ref([]); const polices = ref([]);
const loading = ref(false) const loading = ref(false)
@ -178,27 +181,69 @@ function getList() {
listPolice(query.value).then((data) => { listPolice(query.value).then((data) => {
polices.value = data.records; polices.value = data.records;
console.log('polices',polices) console.log('polices',polices)
setCheckFun(data.records)
total.value = data.total; total.value = data.total;
loading.value = false loading.value = false
}); });
} }
const checkPolices = ref([]);
const setCheckFun =(row)=>{
row.forEach((s)=>{
let data =checkPolices.value.find(x=>{
return JSON.stringify(x) === JSON.stringify({
name: s.name,
empNo: s.empNo,
idCode: s.idCode
})
});
if(data){
nextTick(()=>{
ableRef.value.toggleRowSelection(s, true);
})
}
})
}
const checkPolices = ref([]);
const checkPolicesMap =ref([])
function selectionChange(selectionRows) { function selectionChange(selectionRows) {
if( checkPolicesMap.value['key'+query.value.current]){
let data = checkPolicesMap.value['key'+query.value.current];
checkPolicesMap.value['key'+query.value.current]=getCheckData(data,selectionRows);
}else{
checkPolicesMap.value['key'+query.value.current] =getCheckData([],selectionRows);
}
checkPolices.value=[]
for (let key in checkPolicesMap.value){
checkPolices.value=checkPolices.value.concat(checkPolicesMap.value[key])
}
}
const getCheckData = (data,selectionRows) =>{
selectionRows.forEach(item => { selectionRows.forEach(item => {
if (checkPolices.value.findIndex(o => o.empNo === item.empNo) === -1) { if (data.findIndex(o => o.empNo === item.empNo) === -1) {
checkPolices.value.push({ data.push({
name: item.name, name: item.name,
empNo: item.empNo, empNo: item.empNo,
idCode: item.idCode idCode: item.idCode
}) })
} else {
} }
}) })
data.forEach((s,i)=>{
if (selectionRows.findIndex(o => o.empNo === s.empNo) === -1){
data.splice(i,1)
}
})
return data;
} }
function handleSelectDepart(node) { function handleSelectDepart(node) {
query.value.departId = node.id; query.value.departId = node.id;
getList(); getList();

5
src/views/mobileSupervise/Inspection.vue

@ -1603,6 +1603,7 @@ async function submit() {
getList(); getList();
form.value = { form.value = {
files: [], files: [],
supervisionType :'日常督察',
supRiskDtoList:[] supRiskDtoList:[]
}; };
} }
@ -1622,10 +1623,10 @@ const getTaskType = (val) => {
function handleShowAdd() { function handleShowAdd() {
form.value.supervisionType = '日常督察'
show.value = true; show.value = true;
form.value = { form.value = {
files: [], files: [],
supervisionType :'日常督察',
supRiskDtoList:[] supRiskDtoList:[]
}; };
} }
@ -1943,7 +1944,7 @@ watch(()=>form.value.supRiskDtoList,(newVal)=>{
* 获取重点督察人员表单 * 获取重点督察人员表单
* */ * */
watch(()=>activeRow.value.supRiskDtoList,(newVal)=>{ watch(()=>activeRow.value.supRiskDtoList,(newVal)=>{
if(activeRow.value.supRiskDtoList.length > 0){ if(activeRow.value.supRiskDtoList && activeRow.value.supRiskDtoList.length > 0){
getRiskDataTableSubmit(); getRiskDataTableSubmit();
} }

166
src/views/mobileSupervise/Sampling.vue

@ -1,11 +1,12 @@
<script setup> <script setup>
import useCatchStore from "@/stores/modules/catch"; import useCatchStore from "@/stores/modules/catch";
import {selectListData,getSamplingPoliceData,addOrUpData} from '@/api/mobileSupervision/Sampling' import {addOrUpData, getSamplingPoliceData, selectListData} from '@/api/mobileSupervision/Sampling'
import feedback from "@/utils/feedback"; import feedback from "@/utils/feedback";
import {timeFormat,getDictLable} from "@/utils/util"; import {getDictLable, timeFormat} from "@/utils/util";
import policeSampling from '@/components/mobileSupervise/police-sampling.vue'
import {getDepartProfile} from "@/api/sensitivePerception/profileDepart"; import {getDepartProfile} from "@/api/sensitivePerception/profileDepart";
import {BASE_PATH} from "@/api/request"; import {BASE_PATH} from "@/api/request";
const loading = ref(false) const loading = ref(false)
const policeLoading =ref(false) const policeLoading =ref(false)
const total =ref(10) const total =ref(10)
@ -61,9 +62,14 @@ let query = ref({
// //
let editShow = ref(false) let editShow = ref(false)
let detailShow =ref(false) let detailShow =ref(false)
let editForm = ref(null)
let editData = ref({ let editData = ref({
samplingObjectList:null samplingObjectList:[
{
deptId:null,
value:null
}
]
}) })
const reset =()=>{ const reset =()=>{
query.value={ query.value={
@ -88,6 +94,14 @@ const getList = ()=>{
// //
const editFun = ()=>{ const editFun = ()=>{
editShow.value =!editShow.value editShow.value =!editShow.value
editData.value={
samplingObjectList:[
{
deptId:null,
value:null
}
]
}
} }
// //
const getDataDetail =(row)=>{ const getDataDetail =(row)=>{
@ -131,16 +145,14 @@ const delSamplingObjectFun =(key) =>{
* 重新生成抽检对象名单 * 重新生成抽检对象名单
* */ * */
const getSamplingPolices =async ()=>{ const getSamplingPolices =async ()=>{
await editForm.value.validate();
policeLoading.value=true policeLoading.value=true
if(computedData(editData.value) < 0 || computedData(editData.value) > 0){ if(computedData(editData.value) < 0 || computedData(editData.value) > 0){
feedback.msgWarning("【被抽检对象抽检总人数】 和 【抽检人数】不吻合") feedback.msgWarning("【被抽检对象抽检总人数】 和 【抽检人数】不吻合")
}else{ }else{
const res = await getSamplingPoliceData(editData.value) editData.value.samplingPolices = await getSamplingPoliceData(editData.value);
editData.value.samplingPolices = res;
}
policeLoading.value=false policeLoading.value=false
}
} }
/** /**
@ -159,6 +171,13 @@ const computedData = (data)=>{
return (data.samplingNum?data.samplingNum:0) - one; return (data.samplingNum?data.samplingNum:0) - one;
} }
watch(()=>editData.value.samplingObjectList,()=>{
editData.value.samplingNum = editData.value.samplingObjectList.reduce((accumulator, currentValue) => {
return accumulator + ( currentValue.value?currentValue.value:0);
},0)
},{deep:true,immediate:true})
// //
const getDepartShortNameFun = async(val)=>{ const getDepartShortNameFun = async(val)=>{
const res = await getDepartProfile(val) const res = await getDepartProfile(val)
@ -172,9 +191,13 @@ const getDepartShortNameFun = async(val)=>{
* 提交表单 * 提交表单
* */ * */
const handleSumbit =async ()=>{ const handleSumbit =async ()=>{
await editForm.value.validate();
if(computedData(editData.value) < 0 || computedData(editData.value) > 0){ if(computedData(editData.value) < 0 || computedData(editData.value) > 0){
feedback.msgWarning("【被抽检对象抽检总人数】 和 【抽检人数】不吻合") feedback.msgWarning("【被抽检对象抽检总人数】 和 【抽检人数】不吻合")
}else{ }else if(editData.value.samplingPolices.length > editData.value.samplingNum ){
feedback.msgWarning("【被抽检总人数】 和 【抽检人数】不吻合")
}
else{
const res = await addOrUpData(editData.value) const res = await addOrUpData(editData.value)
editShow.value=false editShow.value=false
feedback.msgSuccess("操作成功"); feedback.msgSuccess("操作成功");
@ -203,6 +226,19 @@ const handleExport = async ()=>{
window.open(`${BASE_PATH}/sampling/export/samplingPoling?` + new URLSearchParams(data).toString()) window.open(`${BASE_PATH}/sampling/export/samplingPoling?` + new URLSearchParams(data).toString())
} }
const handleChange =(val,key)=>{
console.log(`val:${val},key:${key}`)
}
const handleRadioClick = (val,key)=>{
if(editData.value[key] === val){
editData.value[key] = null
}else {
editData.value[key]=val;
}
}
onMounted(()=>{ onMounted(()=>{
getList() getList()
}) })
@ -380,17 +416,23 @@ onMounted(()=>{
</main> </main>
<el-dialog v-model="editShow" title="创建人员抽检" width="900px"> <el-dialog v-model="editShow" title="创建人员抽检" width="900px">
<el-form ref="editForm"> <el-form ref="editForm" :model="editData">
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="24"> <el-col :span="24">
<el-form-item label="抽检名称"> <el-form-item :rules="{
required: true,
message: '请填写抽检名称',
}" label="抽检名称" prop="samplingName">
<el-input v-model="editData.samplingName" style="width: 100%"></el-input> <el-input v-model="editData.samplingName" style="width: 100%"></el-input>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row> <el-row>
<el-col :span="24"> <el-col :span="24">
<el-form-item label="督察类型"> <el-form-item :rules="{
required: true,
message: '请选择督察类型',
}" label="督察类型" prop="inspectorType">
<el-select v-model="editData.inspectorType"> <el-select v-model="editData.inspectorType">
<el-option v-for="(item,key) in dict.inspectorType" <el-option v-for="(item,key) in dict.inspectorType"
:value="item.dictValue" :value="item.dictValue"
@ -412,31 +454,42 @@ onMounted(()=>{
</div> </div>
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="年龄范围"> <el-form-item :rules="{
required: true,
message: '请补充年龄',
}" prop="ageMin" label="年龄范围">
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="11"> <el-col :span="11">
<el-input-number v-model="editData.ageMin" controls-position="right" placeholder="开始年龄"></el-input-number> <el-input-number v-model="editData.ageMin" controls-position="right" placeholder="开始年龄"></el-input-number>
</el-col> </el-col>
<el-col :span="2"></el-col> <el-col :span="2"></el-col>
<el-col :span="11"> <el-col :span="11">
<el-input-number v-model="editData.ageMax" controls-position="right" placeholder="结束年龄"></el-input-number> <el-input-number
v-model="editData.ageMax" controls-position="right" placeholder="结束年龄"></el-input-number>
</el-col> </el-col>
</el-row> </el-row>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="性别"> <el-form-item label="性别" prop="gender">
<el-radio-group v-model="editData.gender"> <el-radio-group
<el-radio value="1" label="男"></el-radio> v-model="editData.gender" >
<el-radio value="2" label="女"></el-radio> <el-radio @click.native.prevent ="handleRadioClick('1','gender')" value="1" label="男"></el-radio>
<el-radio @click.native.prevent ="handleRadioClick('2','gender')" value="2" label="女"></el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="人员属性"> <el-form-item label="人员属性" :rules="{
<el-checkbox-group v-model="editData.personnelTypeArray"> required: true,
message: '请选择人员属性',
}" prop="personnelTypeArray">
<el-checkbox-group v-model="editData.personnelTypeArray"
>
<el-checkbox v-for="(item,key) in dict.personType" <el-checkbox v-for="(item,key) in dict.personType"
:value="item.dictValue" :value="item.dictValue"
:label="item.dictLabel" :label="item.dictLabel"
@ -447,8 +500,8 @@ onMounted(()=>{
<el-col :span="12"> <el-col :span="12">
<el-form-item label="是否存在违反六项规定情节"> <el-form-item label="是否存在违反六项规定情节">
<el-radio-group v-model="editData.drinkAlcohol"> <el-radio-group v-model="editData.drinkAlcohol">
<el-radio value="1" label="是"></el-radio> <el-radio @click.native.prevent ="handleRadioClick('1','drinkAlcohol')" value="1" label="是"></el-radio>
<el-radio value="2" label="否"></el-radio> <el-radio @click.native.prevent ="handleRadioClick('1','drinkAlcohol')" value="2" label="否"></el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -460,25 +513,48 @@ onMounted(()=>{
</div> </div>
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="抽检人数"> <el-form-item :rules="{
required: true,
message: '请输入抽检人数',
}" label="抽检人数" prop="samplingNum">
<el-input-number v-model="editData.samplingNum" style="width: 70%" placeholder="请输入抽检人数" :controls-position="'right'"></el-input-number> <el-input-number v-model="editData.samplingNum" style="width: 70%" placeholder="请输入抽检人数" :controls-position="'right'"></el-input-number>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="领导人数"> <el-form-item :rules="{
<el-input-number v-model="editData.leadersNumber" style="width: 70%" placeholder="请输入领导人数" :controls-position="'right'"></el-input-number> required: true,
message: '请输入领导人数',
}" label="领导人数" prop="leadersNumber">
<el-input-number
v-model="editData.leadersNumber" style="width: 70%" placeholder="请输入领导人数" :controls-position="'right'"></el-input-number>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row :gutter="20"> <el-row :gutter="20">
<el-col :span="12"> <el-col :span="12">
<el-form-item label="民警比率"> <el-form-item
<el-input-number v-model="editData.policeRatio" style="width: 70%" placeholder="请输入民警比率" :controls-position="'right'"></el-input-number>% :rules="{
required: true,
message: '请输入民警比率',
}"
prop="policeRatio"
label="民警比率">
<el-input-number
v-model="editData.policeRatio" style="width: 70%" placeholder="请输入民警比率" :controls-position="'right'"></el-input-number>%
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item label="辅警比率"> <el-form-item label="辅警比率"
<el-input-number v-model="editData.assistRatio" style="width: 70%" placeholder="请输入辅警比率" :controls-position="'right'"></el-input-number>% :rules="{
required: true,
message: '请输入民警比率',
}"
prop="assistRatio"
>
<el-input-number
v-model="editData.assistRatio" style="width: 70%" placeholder="请输入辅警比率" :controls-position="'right'"></el-input-number>%
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -536,17 +612,34 @@ onMounted(()=>{
<el-card shadow="never" style="background-color: #F9FAFF"> <el-card shadow="never" style="background-color: #F9FAFF">
<el-row :gutter="20" style="margin-bottom: 10px" v-for="(item,key) in editData.samplingObjectList" :key="key"> <el-row :gutter="20" style="margin-bottom: 10px" v-for="(item,key) in editData.samplingObjectList" :key="key">
<el-col :span="14"> <el-col :span="14">
<el-form-item
label="案件管辖单位"
:prop="`samplingObjectList[${key}].deptId`"
:rules="{
required: true,
message: '请选择案件管辖单位',
}"
>
<depart-tree-select <depart-tree-select
:size="'large'" :size="'large'"
placeholder="请选择案件管辖单位" placeholder="请选择案件管辖单位"
v-model="item.deptId" v-model="item.deptId"
/> />
</el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<div class="flex " style="align-items: center"> <div class="flex " style="align-items: center">
<div style="padding-right: 10px">人数</div>
<div> <div>
<el-form-item
label="人数"
:prop="`samplingObjectList[${key}].value`"
:rules="{
required: true,
message: '请输入人数',
}"
>
<el-input-number v-model="item.value" size="large" :controls="false" placeholder="请输入人数" /> <el-input-number v-model="item.value" size="large" :controls="false" placeholder="请输入人数" />
</el-form-item>
</div> </div>
</div> </div>
</el-col> </el-col>
@ -568,9 +661,15 @@ onMounted(()=>{
<div> <div>
<h5>抽检对象名单<span></span></h5> <h5>抽检对象名单<span></span></h5>
</div> </div>
<div> <div style="display: flex;align-items: center">
<div style="margin-left: 5px">
<el-button @click="getSamplingPolices">重新生成抽检对象</el-button> <el-button @click="getSamplingPolices">重新生成抽检对象</el-button>
</div> </div>
<div>
<police-sampling :samplingNum="editData.samplingNum" v-model="editData.samplingPolices" />
</div>
</div>
</div> </div>
<el-card shadow="never" style="background-color: #F9FAFF;min-height: 50px" v-loading="policeLoading"> <el-card shadow="never" style="background-color: #F9FAFF;min-height: 50px" v-loading="policeLoading">
<div class="flex flex-wrap" style="width: 100%"> <div class="flex flex-wrap" style="width: 100%">
@ -700,7 +799,6 @@ onMounted(()=>{
<el-col :span="12"> <el-col :span="12">
<el-form-item label="时间范围"> <el-form-item label="时间范围">
<span v-if="editData.samplingTime">{{ `${timeFormat(editData.samplingTime[0]) } ${timeFormat(editData.samplingTime[1]) }` }}</span> <span v-if="editData.samplingTime">{{ `${timeFormat(editData.samplingTime[0]) } ${timeFormat(editData.samplingTime[1]) }` }}</span>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">

Loading…
Cancel
Save