Compare commits
2 Commits
477b1c3b22
...
1b567a8e75
Author | SHA1 | Date | |
---|---|---|---|
1b567a8e75 | |||
e54185f48b |
@ -157,7 +157,7 @@ export const jczdeleteList = (id) => {
|
|||||||
return request({
|
return request({
|
||||||
// url: api + "/tbQwXfll/deleteList",
|
// url: api + "/tbQwXfll/deleteList",
|
||||||
url: api + `/tbQwXfll/delXfll/${id}`,
|
url: api + `/tbQwXfll/delXfll/${id}`,
|
||||||
method: "post"
|
method: "delete"
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
/*
|
/*
|
||||||
@ -306,7 +306,7 @@ export const Ttbgetupdate = (data) => {
|
|||||||
// 新增人员、车辆布控
|
// 新增人员、车辆布控
|
||||||
export const BkrwinsertEntity = (data) => {
|
export const BkrwinsertEntity = (data) => {
|
||||||
return request({
|
return request({
|
||||||
url: api + `/jczBkrw/insertEntity`,
|
url: api + `/jczBkry/insertEntity`,
|
||||||
method: "POST",
|
method: "POST",
|
||||||
data
|
data
|
||||||
});
|
});
|
||||||
@ -314,7 +314,7 @@ export const BkrwinsertEntity = (data) => {
|
|||||||
// 查询人员、车辆布控
|
// 查询人员、车辆布控
|
||||||
export const BkrwselectPage = (params) => {
|
export const BkrwselectPage = (params) => {
|
||||||
return request({
|
return request({
|
||||||
url: api + `/jczBkrw/selectPage`,
|
url: api + `/jczBkry/selectPage`,
|
||||||
method: "get",
|
method: "get",
|
||||||
params
|
params
|
||||||
});
|
});
|
||||||
@ -322,19 +322,55 @@ export const BkrwselectPage = (params) => {
|
|||||||
// 修改查询人员、车辆布控
|
// 修改查询人员、车辆布控
|
||||||
export const BkrweditEntity = (data) => {
|
export const BkrweditEntity = (data) => {
|
||||||
return request({
|
return request({
|
||||||
url: api + `/jczBkrw/editEntity`,
|
url: api + `/jczBkry/editEntity`,
|
||||||
method: "post",
|
method: "post",
|
||||||
data
|
data
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
// 删除查询人员、车辆布控
|
// 删除查询人员、车辆布控
|
||||||
export const BkrwdeleteById = (data) => {
|
export const BkrwdeleteById = (id) => {
|
||||||
return request({
|
return request({
|
||||||
url: api + `/jczBkrw/deleteById`,
|
url: api + `/jczBkry/deleteById/${id}`,
|
||||||
|
method: "delete",
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
export const jczBkclInsertEntity = (data) => {
|
||||||
|
return request({
|
||||||
|
url: api + `/jczBkcl/insertEntity`,
|
||||||
|
method: "POST",
|
||||||
|
data
|
||||||
|
});
|
||||||
|
};
|
||||||
|
// 查询人员、车辆布控
|
||||||
|
export const jczBkclSelectPage = (params) => {
|
||||||
|
return request({
|
||||||
|
url: api + `/jczBkcl/selectPage`,
|
||||||
|
method: "get",
|
||||||
|
params
|
||||||
|
});
|
||||||
|
};
|
||||||
|
// 修改查询人员、车辆布控
|
||||||
|
export const jczBkclEntity = (data) => {
|
||||||
|
return request({
|
||||||
|
url: api + `/jczBkcl/editEntity`,
|
||||||
method: "post",
|
method: "post",
|
||||||
data
|
data
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
// 删除查询人员、车辆布控
|
||||||
|
export const jczBkclDeleteById = (id) => {
|
||||||
|
return request({
|
||||||
|
url: api + `/jczBkcl/deleteById/${id}`,
|
||||||
|
method: "delete",
|
||||||
|
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
// 检查站
|
// 检查站
|
||||||
|
|
||||||
// 查询检查站
|
// 查询检查站
|
||||||
|
@ -1,39 +1,26 @@
|
|||||||
<template>
|
<template>
|
||||||
|
<!-- :class="{show:listImg.length==limit}" -->
|
||||||
<div class="form-item-box" :style="{ width: width }">
|
<div class="form-item-box" :style="{ width: width }">
|
||||||
<el-upload
|
<el-upload :class="{ 'hide-upload': fileList.length == limit }" v-bind="$attrs" :headers="headers" :multiple="false"
|
||||||
v-bind="$attrs"
|
:disabled="disableds" class="avatar-uploader" :limit="props.limit" :action="actionUrl" list-type="picture-card"
|
||||||
:headers="headers"
|
:file-list="fileList" show-file-list :on-exceed="handleExceed" :on-success="handlerSuccess"
|
||||||
:multiple="false"
|
:before-upload="beforeImgUpload">
|
||||||
:disabled="disableds"
|
<template #default>
|
||||||
class="avatar-uploader"
|
<el-icon>
|
||||||
:limit="props.limit"
|
<Plus />
|
||||||
:action="actionUrl"
|
</el-icon>
|
||||||
list-type="picture-card"
|
|
||||||
:file-list="fileList"
|
|
||||||
show-file-list
|
|
||||||
:on-exceed="handleExceed"
|
|
||||||
:on-success="handlerSuccess"
|
|
||||||
:before-upload="beforeImgUpload"
|
|
||||||
>
|
|
||||||
<template #default v-if="props.limit>=fileList.length">
|
|
||||||
<el-icon> <Plus /> </el-icon>
|
|
||||||
</template>
|
</template>
|
||||||
<template #file="{ file }">
|
<template #file="{ file }">
|
||||||
<div v-if="props.isImg">
|
<div v-if="props.isImg">
|
||||||
<img class="el-upload-list__item-thumbnail" :src="file.url" alt="" />
|
<img class="el-upload-list__item-thumbnail" :src="file.url" alt="" />
|
||||||
<span class="el-upload-list__item-actions">
|
<span class="el-upload-list__item-actions">
|
||||||
<span
|
<span class="el-upload-list__item-preview" @click="handlePictureCardPreview(file)">
|
||||||
class="el-upload-list__item-preview"
|
|
||||||
@click="handlePictureCardPreview(file)"
|
|
||||||
>
|
|
||||||
<el-icon> <zoom-in /> </el-icon>
|
<el-icon> <zoom-in /> </el-icon>
|
||||||
</span>
|
</span>
|
||||||
<span
|
<span v-if="!disabled" class="el-upload-list__item-delete" @click="handleRemove(file, fileList)">
|
||||||
v-if="!disabled"
|
<el-icon>
|
||||||
class="el-upload-list__item-delete"
|
<Delete />
|
||||||
@click="handleRemove(file, fileList)"
|
</el-icon>
|
||||||
>
|
|
||||||
<el-icon><Delete /></el-icon>
|
|
||||||
</span>
|
</span>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
@ -43,19 +30,15 @@
|
|||||||
<span class="file-name">{{ file.name }}</span>
|
<span class="file-name">{{ file.name }}</span>
|
||||||
</div>
|
</div>
|
||||||
<span class="el-upload-list__item-actions">
|
<span class="el-upload-list__item-actions">
|
||||||
<span
|
<span v-if="!disabled" class="el-upload-list__item-delete" @click="handleDownload(file)">
|
||||||
v-if="!disabled"
|
<el-icon>
|
||||||
class="el-upload-list__item-delete"
|
<Download />
|
||||||
@click="handleDownload(file)"
|
</el-icon>
|
||||||
>
|
|
||||||
<el-icon> <Download /> </el-icon>
|
|
||||||
</span>
|
</span>
|
||||||
<span
|
<span v-if="!disabled" class="el-upload-list__item-delete" @click="handleRemove(file, fileList)">
|
||||||
v-if="!disabled"
|
<el-icon>
|
||||||
class="el-upload-list__item-delete"
|
<Delete />
|
||||||
@click="handleRemove(file, fileList)"
|
</el-icon>
|
||||||
>
|
|
||||||
<el-icon> <Delete /> </el-icon>
|
|
||||||
</span>
|
</span>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
@ -181,13 +164,19 @@ const headers = ref({
|
|||||||
});
|
});
|
||||||
const listImg = ref([]);
|
const listImg = ref([]);
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
console.log(props.modelValue);
|
if (props.modelValue&&props.modelValue.length>0) {
|
||||||
|
if (Array.isArray(props.modelValue)) {
|
||||||
if (props.modelValue) {
|
|
||||||
listImg.value = props.modelValue;
|
listImg.value = props.modelValue;
|
||||||
fileList.value = props.modelValue.map((el) => {
|
fileList.value = props.modelValue.map((el) => {
|
||||||
return { url: `/mosty-api/mosty-base/minio/image/download/` + el };
|
return { url: `/mosty-api/mosty-base/minio/image/download/` + el };
|
||||||
});
|
});
|
||||||
|
} else {
|
||||||
|
listImg.value = props.modelValue.split(",");
|
||||||
|
fileList.value = props.modelValue.split(",").map((el) => {
|
||||||
|
return { url: `/mosty-api/mosty-base/minio/image/download/` + el };
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
} else {
|
} else {
|
||||||
listImg.value = [];
|
listImg.value = [];
|
||||||
fileList.value = [];
|
fileList.value = [];
|
||||||
@ -199,10 +188,10 @@ const handlerSuccess = (res, file) => {
|
|||||||
file.url = `/mosty-api/mosty-base/minio/image/download/` + res.data;
|
file.url = `/mosty-api/mosty-base/minio/image/download/` + res.data;
|
||||||
fileList.value.push(file);
|
fileList.value.push(file);
|
||||||
listImg.value.push(res.data);
|
listImg.value.push(res.data);
|
||||||
emits("handleChange", listImg.value);
|
emits("handleChange", listImg.value.toString());
|
||||||
emits("update:modelValue", listImg.value);
|
emits("update:modelValue", listImg.value.toString());
|
||||||
};
|
};
|
||||||
const handlePreview = (file) => {};
|
const handlePreview = (file) => { };
|
||||||
const handleExceed = (files, fileList) => {
|
const handleExceed = (files, fileList) => {
|
||||||
ElMessage.warning(`限制,只能上传${props.limit}个文件或图片`);
|
ElMessage.warning(`限制,只能上传${props.limit}个文件或图片`);
|
||||||
};
|
};
|
||||||
@ -242,14 +231,18 @@ const handleRemove = (file) => {
|
|||||||
});
|
});
|
||||||
fileList.value.splice(index, 1);
|
fileList.value.splice(index, 1);
|
||||||
listImg.value.splice(index, 1);
|
listImg.value.splice(index, 1);
|
||||||
emits("handleChange", listImg.value);
|
emits("handleChange", listImg.value.toString());
|
||||||
emits("update:modelValue", listImg.value);
|
emits("update:modelValue", listImg.value.toString());
|
||||||
};
|
};
|
||||||
onUnmounted(() => {
|
onUnmounted(() => {
|
||||||
listImg.value = [];
|
listImg.value = [];
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
<style>
|
||||||
|
.hide-upload .el-upload--picture-card {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.avatar-uploader .el-upload {
|
.avatar-uploader .el-upload {
|
||||||
border: 1px dashed #d9d9d9;
|
border: 1px dashed #d9d9d9;
|
||||||
|
@ -48,6 +48,19 @@
|
|||||||
车牌号:{{ item.cph }}
|
车牌号:{{ item.cph }}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="line mt6 mb6"></div>
|
||||||
|
<div class="warning-card">
|
||||||
|
<div class="title flex align-center">
|
||||||
|
<img src="@/assets/images/icon_06.png" alt="" /> 智能设备
|
||||||
|
</div>
|
||||||
|
<div
|
||||||
|
class="cardItem"
|
||||||
|
v-for="(item, index) in warningList.sbList"
|
||||||
|
:key="index"
|
||||||
|
>
|
||||||
|
名称:{{ item.sbmc }}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<Empty :show="warningList == null && show == 2" />
|
<Empty :show="warningList == null && show == 2" />
|
||||||
<div class="warning-list" v-if="show == 1 && warningList">
|
<div class="warning-list" v-if="show == 1 && warningList">
|
||||||
@ -78,7 +91,7 @@ import { ref } from "vue";
|
|||||||
import Empty from "@/components/MyComponents/Empty/index.vue";
|
import Empty from "@/components/MyComponents/Empty/index.vue";
|
||||||
import { jczqueryById } from "@/api/mosty-jcz";
|
import { jczqueryById } from "@/api/mosty-jcz";
|
||||||
import emitter from "@/utils/eventBus.js";
|
import emitter from "@/utils/eventBus.js";
|
||||||
const warningList = ref({ qxList: [], ryList: [], clList: [] });
|
const warningList = ref({ qxList: [], ryList: [], clList: [] ,sbList:[]});
|
||||||
|
|
||||||
const show = ref(1);
|
const show = ref(1);
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
@ -101,6 +114,7 @@ const getjczqueryById = () => {
|
|||||||
: [];
|
: [];
|
||||||
warningList.value.ryList = res.ryList ? res.ryList : [];
|
warningList.value.ryList = res.ryList ? res.ryList : [];
|
||||||
warningList.value.clList = res.clList ? res.clList : [];
|
warningList.value.clList = res.clList ? res.clList : [];
|
||||||
|
warningList.value.sbList = [...res.tcList,...res.zdList]
|
||||||
} else {
|
} else {
|
||||||
warningList.value = res;
|
warningList.value = res;
|
||||||
}
|
}
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
<div class="cntinfo">
|
<div class="cntinfo">
|
||||||
<div class="flex align-center">
|
<div class="flex align-center">
|
||||||
报备单位:
|
报备单位:
|
||||||
<MOSTY.Department v-model="listQuery.ssbmdm" placeholder="请选择部门" @getDepValue="changeDep" />
|
<MOSTY.Department v-model="listQuery.ssbmdm" placeholder="请选择部门" @getDepValue="changeDep" v-if="!showDetails" />
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<el-form ref="formRef" class="info" :model="listQuery" :inline="true" :rules="rules">
|
<el-form ref="formRef" class="info" :model="listQuery" :inline="true" :rules="rules">
|
||||||
@ -43,7 +43,7 @@
|
|||||||
value-format="HH:mm:ss" />
|
value-format="HH:mm:ss" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item prop="bcKts">
|
<el-form-item prop="bcKts">
|
||||||
<el-select clearable v-model="listQuery.bcKtsDict" placeholder="请选择" style="width: 100%">
|
<el-select clearable v-model="listQuery.bcKtsDict" placeholder="请选择" style="width: 100%" :disabled="isDetail">
|
||||||
<el-option v-for="(item, index) in dic.D_QW_BC_KTS" :key="index" :label="item.label"
|
<el-option v-for="(item, index) in dic.D_QW_BC_KTS" :key="index" :label="item.label"
|
||||||
:value="item.value"></el-option>
|
:value="item.value"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
@ -204,7 +204,7 @@
|
|||||||
<div v-for="(item, index) in listQuery.qxList" :key="index" style="width: 30%; margin-bottom: 10px">
|
<div v-for="(item, index) in listQuery.qxList" :key="index" style="width: 30%; margin-bottom: 10px">
|
||||||
<div class="flex">
|
<div class="flex">
|
||||||
<div style="width: 30%">{{ item.qxmc }}:</div>
|
<div style="width: 30%">{{ item.qxmc }}:</div>
|
||||||
<el-input-number v-model="item.qxsl" :step="1" />
|
<el-input-number :disabled="isDetail" v-model="item.qxsl" :step="1" />
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -227,10 +227,10 @@ const props = defineProps({
|
|||||||
type: Object,
|
type: Object,
|
||||||
default: () => { }
|
default: () => { }
|
||||||
},
|
},
|
||||||
isDetail: {
|
// isDetail: {
|
||||||
type: Boolean,
|
// type: Boolean,
|
||||||
default: false
|
// default: true
|
||||||
}
|
// }
|
||||||
});
|
});
|
||||||
const emit = defineEmits(["getjczgetXfllList"]);
|
const emit = defineEmits(["getjczgetXfllList"]);
|
||||||
const formRef = ref(null);
|
const formRef = ref(null);
|
||||||
@ -252,11 +252,13 @@ const pageInfo = {
|
|||||||
let pageType = ref("add");
|
let pageType = ref("add");
|
||||||
const mjData = ref([]);
|
const mjData = ref([]);
|
||||||
const fjData = ref([]);
|
const fjData = ref([]);
|
||||||
|
const isDetail=ref(false)
|
||||||
// 初始化数据
|
// 初始化数据
|
||||||
const init = (type, row) => {
|
const init = (type, row) => {
|
||||||
pageType.value = type;
|
pageType.value = type;
|
||||||
dialogForm.value = true;
|
dialogForm.value = true;
|
||||||
// 根据type和row初始化表单数据
|
// 根据type和row初始化表单数据
|
||||||
|
isDetail.value=type=="detail"
|
||||||
if (row) {
|
if (row) {
|
||||||
listQuery.value = { ...row };
|
listQuery.value = { ...row };
|
||||||
if (row.ryList.length > 0) {
|
if (row.ryList.length > 0) {
|
||||||
@ -291,8 +293,6 @@ const rules = ref({
|
|||||||
|
|
||||||
const _onSave = () => {
|
const _onSave = () => {
|
||||||
const data = [...mjData.value, ...fjData.value];
|
const data = [...mjData.value, ...fjData.value];
|
||||||
console.log(data, "-------------------------------------");
|
|
||||||
|
|
||||||
listQuery.value.ryList = ChegeMj(data);
|
listQuery.value.ryList = ChegeMj(data);
|
||||||
const time = new Date();
|
const time = new Date();
|
||||||
listQuery.value.bbSjBbrq = timeValidate(time);
|
listQuery.value.bbSjBbrq = timeValidate(time);
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
<template #controls="{ row }">
|
<template #controls="{ row }">
|
||||||
<el-link type="primary" @click="addEdit('edit', row)">编辑</el-link>
|
<el-link type="primary" @click="addEdit('edit', row)">编辑</el-link>
|
||||||
<el-link type="primary" @click="delDictItem(row.id)">删除</el-link>
|
<el-link type="primary" @click="delDictItem(row.id)">删除</el-link>
|
||||||
|
<el-link type="primary" @click="addEdit('detail', row)">详情</el-link>
|
||||||
</template>
|
</template>
|
||||||
</MyTable>
|
</MyTable>
|
||||||
<Pages @changeNo="changeNo" @changeSize="changeSize" :tableHeight="pageData.tableHeight" :pageConfiger="{
|
<Pages @changeNo="changeNo" @changeSize="changeSize" :tableHeight="pageData.tableHeight" :pageConfiger="{
|
||||||
@ -133,6 +134,7 @@ const getjczgetXfllList = () => {
|
|||||||
XfbbselectPage(params).then((res) => {
|
XfbbselectPage(params).then((res) => {
|
||||||
pageData.tableData = res.records || [];
|
pageData.tableData = res.records || [];
|
||||||
pageData.total = res.total;
|
pageData.total = res.total;
|
||||||
|
}).finally(() => {
|
||||||
pageData.tableConfiger.loading = false;
|
pageData.tableConfiger.loading = false;
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
@ -49,6 +49,7 @@ import Pages from "@/components/aboutTable/Pages.vue";
|
|||||||
import Search from "@/components/aboutTable/Search.vue";
|
import Search from "@/components/aboutTable/Search.vue";
|
||||||
import EditAddForm from "./components/editAddForm.vue";
|
import EditAddForm from "./components/editAddForm.vue";
|
||||||
import { GjcltxselectPage, GjcltxdeleteById } from "@/api/mosty-jcz.js";
|
import { GjcltxselectPage, GjcltxdeleteById } from "@/api/mosty-jcz.js";
|
||||||
|
import { ElMessage } from "element-plus";
|
||||||
import { isAuth } from '@/utils/tools.js'
|
import { isAuth } from '@/utils/tools.js'
|
||||||
import { reactive, ref, onMounted, getCurrentInstance } from "vue";
|
import { reactive, ref, onMounted, getCurrentInstance } from "vue";
|
||||||
const { proxy } = getCurrentInstance();
|
const { proxy } = getCurrentInstance();
|
||||||
|
@ -89,7 +89,8 @@ import PageTitle from "@/components/aboutTable/PageTitle.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 Search from "@/components/aboutTable/Search.vue";
|
import Search from "@/components/aboutTable/Search.vue";
|
||||||
import {isAuth }from '@/utils/tools.js'
|
import { isAuth } from '@/utils/tools.js'
|
||||||
|
import { ElMessage } from "element-plus";
|
||||||
import EditAddForm from "./components/editAddForm.vue";
|
import EditAddForm from "./components/editAddForm.vue";
|
||||||
import { GjrytxselectPage, GjrytxdeleteById } from "@/api/mosty-jcz.js";
|
import { GjrytxselectPage, GjrytxdeleteById } from "@/api/mosty-jcz.js";
|
||||||
import { reactive, ref, onMounted, getCurrentInstance } from "vue";
|
import { reactive, ref, onMounted, getCurrentInstance } from "vue";
|
||||||
|
@ -36,7 +36,7 @@
|
|||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item prop="sydwdm" label="使用单位">
|
<el-form-item prop="sydwdm" label="使用单位">
|
||||||
<MOSTY.Department :disabled="sydwmc"
|
<MOSTY.Department :disabled="forbidden"
|
||||||
:placeholder="listQuery.ssbm"
|
:placeholder="listQuery.ssbm"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
ref="cascader"
|
ref="cascader"
|
||||||
@ -45,6 +45,7 @@
|
|||||||
filterable
|
filterable
|
||||||
:options="depList"
|
:options="depList"
|
||||||
:props="props"
|
:props="props"
|
||||||
|
|
||||||
v-model:modelValue="listQuery.sydwdm"
|
v-model:modelValue="listQuery.sydwdm"
|
||||||
/>
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
@ -9,45 +9,31 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="cntinfo">
|
<div class="cntinfo">
|
||||||
<el-form ref="formRef" :model="listQuery" :inline="true" label-position="top" :rules="rules">
|
<el-form ref="formRef" :model="listQuery" :inline="true" label-position="top" :rules="rules">
|
||||||
<div style="
|
<div style=" width: 100%; ">
|
||||||
width: 25%;
|
<MOSTY.Upload width="100%" :limit="1" :isImg="true" v-model="listQuery.zp" :disableds="forbidden"/>
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
margin-bottom: 10px;
|
|
||||||
">
|
|
||||||
<div style="position: relative; width: 90px; height: 100px">
|
|
||||||
<el-upload :disabled="forbidden" action="/mosty-api/mosty-base/minio/image/upload/id" :on-success="upImg"
|
|
||||||
:show-file-list="false">
|
|
||||||
<el-image v-if="imgUrl" :src="imgUrl" fit="cover" />
|
|
||||||
<el-icon v-else>
|
|
||||||
<Plus></Plus>
|
|
||||||
</el-icon>
|
|
||||||
<span v-if="imgUrl" style="position: absolute; top: -52px; right: -20px">
|
|
||||||
<el-icon size="20" @click.stop="deletImg">
|
|
||||||
<Close />
|
|
||||||
</el-icon>
|
|
||||||
</span>
|
|
||||||
</el-upload>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
<el-form-item style="width: 40%" prop="xm" label="姓名">
|
||||||
<el-form-item style="width: 20%" prop="ssbmdm" label="所属部门">
|
<el-input :disabled="forbidden" v-model="listQuery.xm" placeholder="请输入姓名" style="width: 100%" clearable />
|
||||||
<MOSTY.Department :disabled="forbidden" width="100%" clearable v-model="listQuery.ssbmdm"
|
|
||||||
:placeholder="listQuery.ssbm ? listQuery.ssbm : '请选择所属部门'" />
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item style="width: 40%" prop="bkmc" label="布控名称">
|
<el-form-item style="width: 40%" prop="zjhm" label="身份证号">
|
||||||
<el-input :disabled="forbidden" v-model="listQuery.bkmc" placeholder="请输入布控名称" style="width: 100%"
|
<el-input :disabled="forbidden" v-model="listQuery.zjhm" placeholder="请输入布控人身份证号" style="width: 100%"
|
||||||
clearable />
|
clearable />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item style="width: 40%" prop="bksfzh" label="身份证号">
|
<el-form-item style="width: 40%" prop="yjys" label="布控颜色">
|
||||||
<el-input :disabled="forbidden" v-model="listQuery.bksfzh" placeholder="请输入布控人身份证号" style="width: 100%"
|
<el-select :disabled="forbidden" v-model="listQuery.yjys" placeholder="请选择布控颜色">
|
||||||
clearable />
|
<el-option v-for="dict in dict.D_BZ_BKYS" :key="dict.value" :value="dict.value"
|
||||||
</el-form-item>
|
|
||||||
<el-form-item style="width: 40%" prop="bklb" label="布控类别">
|
|
||||||
<el-select :disabled="forbidden" v-model="listQuery.bklb" placeholder="请选择布控类别">
|
|
||||||
<el-option v-for="dict in dict.D_BZ_RYBKLX" :key="dict.value" :value="dict.value"
|
|
||||||
:label="dict.label"></el-option>
|
:label="dict.label"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item style="width: 40%" prop="bkyy" label="布控原因">
|
||||||
|
<el-input :disabled="forbidden" v-model="listQuery.bkyy" type="textarea" placeholder="请输入布控原因" clearable />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item style="width:100%" prop="bkfs" label="布控方式">
|
||||||
|
<el-radio-group v-model="listQuery.bkfs">
|
||||||
|
<el-radio label="01">全省布控</el-radio>
|
||||||
|
<el-radio label="02">精准布控</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
|
</el-form-item>
|
||||||
<el-form-item style="width: 40%" prop="bkkssj" label="开始时间">
|
<el-form-item style="width: 40%" prop="bkkssj" label="开始时间">
|
||||||
<el-date-picker :disabled="forbidden" v-model="listQuery.bkkssj" type="datetime" placeholder="请选中开始时间"
|
<el-date-picker :disabled="forbidden" v-model="listQuery.bkkssj" type="datetime" placeholder="请选中开始时间"
|
||||||
format="YYYY-MM-DD hh:mm:ss" value-format="YYYY-MM-DD hh:mm:ss" />
|
format="YYYY-MM-DD hh:mm:ss" value-format="YYYY-MM-DD hh:mm:ss" />
|
||||||
@ -56,50 +42,29 @@
|
|||||||
<el-date-picker :disabled="forbidden" v-model="listQuery.bkjssj" type="datetime" placeholder="请选中结束时间"
|
<el-date-picker :disabled="forbidden" v-model="listQuery.bkjssj" type="datetime" placeholder="请选中结束时间"
|
||||||
format="YYYY-MM-DD hh:mm:ss" value-format="YYYY-MM-DD hh:mm:ss" />
|
format="YYYY-MM-DD hh:mm:ss" value-format="YYYY-MM-DD hh:mm:ss" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item style="width: 40%" prop="czcs" label="处置措施">
|
||||||
<el-form-item style="width: 40%" prop="bkqy" label="布控区域">
|
<el-select :disabled="forbidden" v-model="listQuery.czcs" placeholder="请选择布控颜色">
|
||||||
<el-input :disabled="forbidden" v-model="listQuery.bkqy" placeholder="请输入布控区域" style="width: 100%"
|
<el-option v-for="dict in dict.D_BZ_CZCS" :key="dict.value" :value="dict.value"
|
||||||
clearable />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item style="width: 40%" prop="bkzt" label="布控状态">
|
|
||||||
<el-select :disabled="forbidden" v-model="listQuery.bkzt" placeholder="请选择布控状态">
|
|
||||||
<el-option v-for="dict in dict.D_BZ_RCBKZT" :key="dict.value" :value="dict.value"
|
|
||||||
:label="dict.label"></el-option>
|
:label="dict.label"></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item style="width: 40%" prop="bkfw" label="布控范围">
|
<el-form-item style="width: 40%" prop="jczid" label="布控卡口" v-if="listQuery.bkfs=='02'">
|
||||||
<el-select :disabled="forbidden" v-model="listQuery.bkfw" placeholder="请选择布控状态">
|
|
||||||
<el-option v-for="dict in dict.D_BZ_RCBKFW" :key="dict.value" :value="dict.value"
|
|
||||||
:label="dict.label"></el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item style="width: 40%" prop="bkczlx" label="布控操作类型">
|
|
||||||
<el-input :disabled="forbidden" v-model="listQuery.bkczlx" placeholder="请输入布控区域" style="width: 100%"
|
|
||||||
clearable />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item style="width: 40%" prop="bkdxtzm" label="布控对象特征码">
|
|
||||||
<el-input :disabled="forbidden" v-model="listQuery.bkdxtzm" placeholder="请输入布控区域" style="width: 100%"
|
|
||||||
clearable />
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item style="width: 40%" prop="bkkk" label="布控卡口">
|
|
||||||
<div class="diviput" @click="openJcz">
|
<div class="diviput" @click="openJcz">
|
||||||
<span v-if="listQuery.bkkk">{{ listQuery.bkkk }}</span>
|
<span v-if="listQuery.jczid">{{ listQuery.jczmc }}</span>
|
||||||
<span class="placeholder" v-else> 请选择布控卡口</span>
|
<span class="placeholder" v-else> 请选择布控卡口</span>
|
||||||
</div>
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<Jczloder v-model="showJcz" :Single="true" @choosedJcz="JczMsg" :data="[]" />
|
<Jczloder v-model="showJcz" :Single="false" @choosedJcz="JczMsg" :data="[]" />
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref, reactive, onMounted } from "vue";
|
import { ref, reactive, onMounted } from "vue";
|
||||||
import { BkrwinsertEntity, BkrweditEntity } from "@/api/mosty-jcz.js";
|
|
||||||
import * as MOSTY from "@/components/MyComponents/index";
|
import * as MOSTY from "@/components/MyComponents/index";
|
||||||
import emitter from "@/utils/eventBus.js";
|
import { BkrwinsertEntity, BkrweditEntity } from "@/api/mosty-jcz.js";
|
||||||
import Jczloder from "@/components/loder/Jczloder.vue";
|
import Jczloder from "@/components/loder/Jczloder.vue";
|
||||||
import GdMap from "@/components/GdMap/index.vue";
|
|
||||||
import { ElMessage } from "element-plus";
|
import { ElMessage } from "element-plus";
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
dict: {
|
dict: {
|
||||||
@ -108,16 +73,16 @@ const props = defineProps({
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
const rules = reactive({
|
const rules = reactive({
|
||||||
bkdxtzm: [
|
xm: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请输入布控对象特征码"
|
message: "请输入布控姓名"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
bkbsm: [
|
zjhm: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请输入布控标识码"
|
message: "请输入布控人身份证号"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
bkkk: [
|
bkkk: [
|
||||||
@ -126,10 +91,10 @@ const rules = reactive({
|
|||||||
message: "请选择布控卡口"
|
message: "请选择布控卡口"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
bkjssj: [
|
yjys: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请选择布控结束时间"
|
message: "请选择预警颜色"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
bkkssj: [
|
bkkssj: [
|
||||||
@ -138,37 +103,28 @@ const rules = reactive({
|
|||||||
message: "请选择布控开始时间"
|
message: "请选择布控开始时间"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
bkzt: [
|
|
||||||
{
|
bkjssj: [
|
||||||
required: true,
|
|
||||||
message: "请选择布控状态"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
bksfzh: [
|
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请输入布控身份证号"
|
message: "请输入布控身份证号"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
bkqy: [
|
bkfs: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请输入布控区域",
|
message: "请输入布控方式"
|
||||||
trigger: "change"
|
}
|
||||||
|
], bkcs: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: "请输选择布控措施"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
bkmc: [
|
bkyy: {
|
||||||
{
|
|
||||||
required: true,
|
required: true,
|
||||||
message: "请输入布控名称"
|
message: "请输入布控原因"
|
||||||
}
|
}
|
||||||
],
|
|
||||||
bklb: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: "请选择布控类别"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
});
|
});
|
||||||
const formRef = ref(null);
|
const formRef = ref(null);
|
||||||
const emit = defineEmits(["getjczgetXfllList"]);
|
const emit = defineEmits(["getjczgetXfllList"]);
|
||||||
@ -198,7 +154,7 @@ const init = (type, row) => {
|
|||||||
// 根据type和row初始化表单数据
|
// 根据type和row初始化表单数据
|
||||||
tabHeightFn();
|
tabHeightFn();
|
||||||
if (type == "edit" || type == "detail") {
|
if (type == "edit" || type == "detail") {
|
||||||
listQuery.value = { ...row };
|
listQuery.value = { ...row};
|
||||||
if (type == "detail") {
|
if (type == "detail") {
|
||||||
forbidden.value = true
|
forbidden.value = true
|
||||||
}
|
}
|
||||||
@ -211,7 +167,8 @@ const _onSave = () => {
|
|||||||
if (!formRef) return;
|
if (!formRef) return;
|
||||||
formRef.value.validate((valid, fields) => {
|
formRef.value.validate((valid, fields) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
const promes = { ...listQuery.value, bklx: "01" };
|
const promes = { ...listQuery.value };
|
||||||
|
// promes.zp=listQuery.value.zp&&Array.isArray(listQuery.value.zp)? listQuery.value.zp.join(","):""
|
||||||
if (pageType.value == "add") {
|
if (pageType.value == "add") {
|
||||||
BkrwinsertEntity(promes).then((res) => {
|
BkrwinsertEntity(promes).then((res) => {
|
||||||
ElMessage({ message: "新增成功", type: "success" });
|
ElMessage({ message: "新增成功", type: "success" });
|
||||||
@ -231,25 +188,21 @@ const _onSave = () => {
|
|||||||
});
|
});
|
||||||
console.log();
|
console.log();
|
||||||
};
|
};
|
||||||
// 图片上传
|
|
||||||
const imgUrl = ref();
|
|
||||||
const urlImg = "/mosty-api/mosty-base/minio/image/download/";
|
|
||||||
const upImg = (row) => {
|
|
||||||
listQuery.value.bkzp = row.data;
|
|
||||||
imgUrl.value = urlImg + row.data;
|
|
||||||
|
|
||||||
};
|
|
||||||
|
|
||||||
//打开弹窗
|
//打开弹窗
|
||||||
const showJcz = ref(false);
|
const showJcz = ref(false);
|
||||||
const openJcz = () => {
|
const openJcz = () => {
|
||||||
if (!forbidden) {
|
if (!forbidden.value) {
|
||||||
showJcz.value = true
|
showJcz.value = true
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
const JczMsg = (val) => {
|
const JczMsg = (val) => {
|
||||||
listQuery.value.bkkk = val.jczmc;
|
listQuery.value.jczmc = val.map(item => {
|
||||||
listQuery.value.kkId = val.id;
|
return item.jczmc
|
||||||
|
}).toString()
|
||||||
|
listQuery.value.jczid =val.map(item => {
|
||||||
|
return item.id
|
||||||
|
}).toString()
|
||||||
};
|
};
|
||||||
//页面关闭
|
//页面关闭
|
||||||
const close = () => {
|
const close = () => {
|
||||||
|
@ -1,12 +1,12 @@
|
|||||||
<template>
|
<template>
|
||||||
<div>
|
<div>
|
||||||
<div class="titleBox" >
|
<div class="titleBox">
|
||||||
<PageTitle title="人员布控">
|
<PageTitle title="人员布控">
|
||||||
<el-button type="primary" @click="addEdit('add', '')" v-if="Auth">
|
<el-button type="primary" @click="addEdit('add', '')" v-if="Auth">
|
||||||
<el-icon style="vertical-align: middle"><CirclePlus /></el-icon>
|
<el-icon style="vertical-align: middle">
|
||||||
<span style="vertical-align: middle" @click="addEdit('add', row)"
|
<CirclePlus />
|
||||||
>新增</span
|
</el-icon>
|
||||||
>
|
<span style="vertical-align: middle" @click="addEdit('add', row)">新增</span>
|
||||||
</el-button>
|
</el-button>
|
||||||
</PageTitle>
|
</PageTitle>
|
||||||
</div>
|
</div>
|
||||||
@ -15,24 +15,24 @@
|
|||||||
<Search :searchArr="searchConfiger" @submit="onSearch" />
|
<Search :searchArr="searchConfiger" @submit="onSearch" />
|
||||||
</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"
|
@chooseData="chooseData">
|
||||||
:tableHeight="pageData.tableHeight"
|
<template #yjys="{ row }">
|
||||||
:key="pageData.keyCount"
|
<dict-tag :value="row.yjys" :options="D_BZ_BKYS" :tag="false" />
|
||||||
:tableConfiger="pageData.tableConfiger"
|
|
||||||
:controlsWidth="pageData.controlsWidth"
|
|
||||||
@chooseData="chooseData"
|
|
||||||
>
|
|
||||||
<template #bklb="{ row }">
|
|
||||||
<dict-tag :value="row.bklb" :options="D_BZ_RYBKLX" :tag="false" />
|
|
||||||
</template>
|
</template>
|
||||||
<template #bkzt="{ row }">
|
<template #bkfs="{ row }">
|
||||||
|
{{ row.bkfs=='01'?"全省布控":"精准布控" }}
|
||||||
|
</template>
|
||||||
|
<template #bkcs="{ row }">
|
||||||
|
<dict-tag :value="row.yjys" :options="D_BZ_CZCS" :tag="false" />
|
||||||
|
</template>
|
||||||
|
<!-- <template #bkzt="{ row }">
|
||||||
<dict-tag :value="row.bkzt" :options="D_BZ_RCBKZT" :tag="false" />
|
<dict-tag :value="row.bkzt" :options="D_BZ_RCBKZT" :tag="false" />
|
||||||
</template>
|
</template>
|
||||||
<template #bkfw="{ row }">
|
<template #bkfw="{ row }">
|
||||||
<dict-tag :value="row.bkfw" :options="D_BZ_RCBKFW" :tag="false" />
|
<dict-tag :value="row.bkfw" :options="D_BZ_RCBKFW" :tag="false" />
|
||||||
</template>
|
</template> -->
|
||||||
|
|
||||||
<!-- 操作 -->
|
<!-- 操作 -->
|
||||||
<template #controls="{ row }">
|
<template #controls="{ row }">
|
||||||
@ -43,26 +43,15 @@
|
|||||||
<el-link type="primary" @click="addEdit('detail', row)">详情</el-link>
|
<el-link type="primary" @click="addEdit('detail', row)">详情</el-link>
|
||||||
</template>
|
</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>
|
||||||
<!-- 编辑详情 -->
|
<!-- 编辑详情 -->
|
||||||
<EditAddForm
|
<EditAddForm ref="detailDiloag" :dict="{
|
||||||
ref="detailDiloag"
|
D_BZ_BKYS,D_BZ_CZCS
|
||||||
:dict="{
|
}" @getjczgetXfllList="getjczgetXfllList" />
|
||||||
D_BZ_RCBKZT,
|
|
||||||
D_BZ_RCBKFW,
|
|
||||||
D_BZ_RYBKLX
|
|
||||||
}"
|
|
||||||
@getjczgetXfllList="getjczgetXfllList"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -71,16 +60,15 @@ import PageTitle from "@/components/aboutTable/PageTitle.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 Search from "@/components/aboutTable/Search.vue";
|
import Search from "@/components/aboutTable/Search.vue";
|
||||||
|
import { ElMessage } from "element-plus";
|
||||||
import EditAddForm from "./components/editAddForm.vue";
|
import EditAddForm from "./components/editAddForm.vue";
|
||||||
import { BkrwselectPage, BkrwdeleteById } from "@/api/mosty-jcz.js";
|
import { BkrwselectPage, BkrwdeleteById } from "@/api/mosty-jcz.js";
|
||||||
import {isAuth} from '@/utils/tools.js'
|
import { isAuth } from '@/utils/tools.js'
|
||||||
import { reactive, ref, onMounted, getCurrentInstance } from "vue";
|
import { reactive, ref, onMounted, getCurrentInstance } from "vue";
|
||||||
const { proxy } = getCurrentInstance();
|
const { proxy } = getCurrentInstance();
|
||||||
const urlImg = "/mosty-api/mosty-base/minio/image/download/";
|
const urlImg = "/mosty-api/mosty-base/minio/image/download/";
|
||||||
const { D_BZ_RCBKZT, D_BZ_RCBKFW, D_BZ_RYBKLX } = proxy.$dict(
|
const { D_BZ_BKYS,D_BZ_CZCS } = proxy.$dict(
|
||||||
"D_BZ_RCBKZT",
|
"D_BZ_BKYS","D_BZ_CZCS"
|
||||||
"D_BZ_RCBKFW",
|
|
||||||
"D_BZ_RYBKLX"
|
|
||||||
);
|
);
|
||||||
const searchConfiger = ref([
|
const searchConfiger = ref([
|
||||||
{
|
{
|
||||||
@ -95,26 +83,15 @@ const searchConfiger = ref([
|
|||||||
placeholder: "请输入证件号码",
|
placeholder: "请输入证件号码",
|
||||||
showType: "input"
|
showType: "input"
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
label: "布控状态",
|
label: "布控颜色",
|
||||||
prop: "bkzt",
|
prop: "yjys",
|
||||||
placeholder: "布控状态",
|
placeholder: "布控颜色",
|
||||||
showType: "select",
|
showType: "select",
|
||||||
options: D_BZ_RCBKZT
|
options: D_BZ_BKYS
|
||||||
},
|
},
|
||||||
{
|
|
||||||
label: "布控类别",
|
|
||||||
prop: "bklb",
|
|
||||||
placeholder: "布控类别",
|
|
||||||
showType: "select",
|
|
||||||
options: D_BZ_RYBKLX
|
|
||||||
},
|
|
||||||
{
|
|
||||||
showType: "department",
|
|
||||||
prop: "ssbmdm",
|
|
||||||
placeholder: "请选择所属部门",
|
|
||||||
label: "所属部门"
|
|
||||||
}
|
|
||||||
]);
|
]);
|
||||||
|
|
||||||
const detailDiloag = ref();
|
const detailDiloag = ref();
|
||||||
@ -133,52 +110,48 @@ const pageData = reactive({
|
|||||||
}, //分页
|
}, //分页
|
||||||
controlsWidth: 250, //操作栏宽度
|
controlsWidth: 250, //操作栏宽度
|
||||||
tableColumn: [
|
tableColumn: [
|
||||||
{ label: "所属部门", prop: "ssbm", showOverflowTooltip: true },
|
|
||||||
{
|
{
|
||||||
label: "布控区域",
|
label: "布控姓名",
|
||||||
prop: "bkqy",
|
prop: "xm",
|
||||||
showOverflowTooltip: true
|
showOverflowTooltip: true
|
||||||
// showSolt: true
|
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
label: "布控名称",
|
label: "布控人身份证号",
|
||||||
prop: "bkmc",
|
prop: "zjhm",
|
||||||
showOverflowTooltip: true
|
showOverflowTooltip: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "布控类别",
|
label: "预警颜色",
|
||||||
prop: "bklb",
|
prop: "yjys",
|
||||||
showSolt: true,
|
showSolt: true,
|
||||||
showOverflowTooltip: true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "布控状态",
|
|
||||||
prop: "bkzt",
|
|
||||||
showSolt: true,
|
|
||||||
showOverflowTooltip: true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "布控范围",
|
|
||||||
prop: "bkfw",
|
|
||||||
showSolt: true,
|
|
||||||
showOverflowTooltip: true
|
|
||||||
},
|
},
|
||||||
{ label: "布控开始时间", prop: "bkkssj", showOverflowTooltip: true },
|
{ label: "布控开始时间", prop: "bkkssj", showOverflowTooltip: true },
|
||||||
{
|
{
|
||||||
label: "布控结束时间",
|
label: "布控结束时间",
|
||||||
prop: "bkjssj",
|
prop: "bkjssj",
|
||||||
showOverflowTooltip: true
|
showOverflowTooltip: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "布控方式",
|
||||||
|
prop: "bkfs",
|
||||||
|
showSolt: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "布控措施",
|
||||||
|
prop: "bkcs",
|
||||||
|
showSolt: true,
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
});
|
});
|
||||||
const Auth = ref(false)
|
const Auth = ref(false)
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
tabHeightFn();
|
tabHeightFn();
|
||||||
Auth.value=isAuth()
|
Auth.value = isAuth()
|
||||||
});
|
});
|
||||||
|
|
||||||
//查询条件
|
//查询条件
|
||||||
const queryCondition = ref({ bklx: "01" });
|
const queryCondition = ref();
|
||||||
// 获取数据
|
// 获取数据
|
||||||
const getjczgetXfllList = () => {
|
const getjczgetXfllList = () => {
|
||||||
pageData.tableConfiger.loading = true;
|
pageData.tableConfiger.loading = true;
|
||||||
@ -195,7 +168,7 @@ const getjczgetXfllList = () => {
|
|||||||
getjczgetXfllList();
|
getjczgetXfllList();
|
||||||
// 搜索
|
// 搜索
|
||||||
const onSearch = (val) => {
|
const onSearch = (val) => {
|
||||||
queryCondition.value = { ...queryCondition.value, ...val };
|
queryCondition.value = { ...val };
|
||||||
getjczgetXfllList();
|
getjczgetXfllList();
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -212,7 +185,7 @@ const delDictItem = (ids) => {
|
|||||||
proxy
|
proxy
|
||||||
.$confirm("确定删除该数据?", "警告", { type: "warning" })
|
.$confirm("确定删除该数据?", "警告", { type: "warning" })
|
||||||
.then(() => {
|
.then(() => {
|
||||||
BkrwdeleteById({ ids: ids })
|
BkrwdeleteById( ids)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
ElMessage({ message: "删除成功", type: "success" });
|
ElMessage({ message: "删除成功", type: "success" });
|
||||||
pageData.pageConfiger.pageCurrent = 1;
|
pageData.pageConfiger.pageCurrent = 1;
|
||||||
|
@ -3,192 +3,95 @@
|
|||||||
<div class="head_box">
|
<div class="head_box">
|
||||||
<span class="title">{{ pageInfo[pageType].title }}</span>
|
<span class="title">{{ pageInfo[pageType].title }}</span>
|
||||||
<div>
|
<div>
|
||||||
<el-button
|
<el-button size="small" type="primary" v-if="['add', 'edit'].includes(pageType)" @click="_onSave">保存</el-button>
|
||||||
size="small"
|
|
||||||
type="primary"
|
|
||||||
v-if="['add', 'edit'].includes(pageType)"
|
|
||||||
@click="_onSave"
|
|
||||||
>保存</el-button
|
|
||||||
>
|
|
||||||
<el-button size="small" @click="close">关闭</el-button>
|
<el-button size="small" @click="close">关闭</el-button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="cntinfo">
|
<div class="cntinfo">
|
||||||
<el-form
|
<el-form ref="formRef" :model="listQuery" :inline="true" label-position="top" :rules="rules">
|
||||||
ref="formRef"
|
<el-form-item style="width: 40%" prop="cph" label="车牌号">
|
||||||
:model="listQuery"
|
<el-input :disabled="forbidden" v-model="listQuery.cph" placeholder="请输入车牌号" style="width: 100%" clearable />
|
||||||
:inline="true"
|
|
||||||
label-position="top"
|
|
||||||
:rules="rules"
|
|
||||||
>
|
|
||||||
<div
|
|
||||||
style="
|
|
||||||
width: 25%;
|
|
||||||
display: flex;
|
|
||||||
justify-content: center;
|
|
||||||
margin-bottom: 10px;
|
|
||||||
"
|
|
||||||
>
|
|
||||||
<div style="position: relative; width: 90px; height: 100px">
|
|
||||||
<el-upload :disabled="forbidden"
|
|
||||||
action="/mosty-api/mosty-base/minio/image/upload/id"
|
|
||||||
:on-change="upImgFile"
|
|
||||||
:on-success="upImg"
|
|
||||||
:show-file-list="false"
|
|
||||||
>
|
|
||||||
<el-image v-if="imgUrl" :src="imgUrl" fit="cover" />
|
|
||||||
<el-icon v-else>
|
|
||||||
<Plus></Plus>
|
|
||||||
</el-icon>
|
|
||||||
<span
|
|
||||||
v-if="imgUrl"
|
|
||||||
style="position: absolute; top: -52px; right: -20px"
|
|
||||||
>
|
|
||||||
<el-icon size="20" @click.stop="deletImg">
|
|
||||||
<Close />
|
|
||||||
</el-icon>
|
|
||||||
</span>
|
|
||||||
</el-upload>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<el-form-item style="width: 20%" prop="ssbmdm" label="所属部门">
|
|
||||||
<MOSTY.Department
|
|
||||||
width="100%" :disabled="forbidden"
|
|
||||||
clearable
|
|
||||||
v-model="listQuery.ssbmdm"
|
|
||||||
:placeholder="listQuery.ssbm ? listQuery.ssbm : '请选择所属部门'"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item style="width: 40%" prop="bklb" label="布控类别">
|
<el-form-item style="width: 40%" prop="cpys" label="车牌颜色">
|
||||||
<el-select v-model="listQuery.bklb" placeholder="请选择布控类别">
|
<el-select :disabled="forbidden" v-model="listQuery.cpys" placeholder="请选择车牌颜色" filterable>
|
||||||
<el-option :disabled="forbidden"
|
<el-option v-for="dict in dict.D_BZ_CPHYS" :key="dict.value" :value="dict.value"
|
||||||
v-for="dict in dict.D_BZ_CLBKLX"
|
:label="dict.label"></el-option>
|
||||||
:key="dict.value"
|
|
||||||
:value="dict.value"
|
|
||||||
:label="dict.label"
|
|
||||||
></el-option>
|
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item style="width: 40%" prop="bkcph" label="车牌号">
|
<el-form-item style="width: 40%" prop="yjys" label="布控颜色">
|
||||||
<el-input :disabled="forbidden"
|
<el-select :disabled="forbidden" v-model="listQuery.yjys" placeholder="请选择布控颜色" filterable>
|
||||||
v-model="listQuery.bkcph"
|
<el-option v-for="dict in dict.D_BZ_BKYS" :key="dict.value" :value="dict.value"
|
||||||
placeholder="请输入布控车辆车牌号"
|
:label="dict.label"></el-option>
|
||||||
style="width: 100%"
|
</el-select>
|
||||||
clearable
|
</el-form-item>
|
||||||
/>
|
<el-form-item style="width: 40%" prop="bkyy" label="布控原因">
|
||||||
|
<el-input :disabled="forbidden" v-model="listQuery.bkyy" type="textarea" placeholder="请输入布控原因" clearable />
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item style="width:100%" prop="bkfs" label="布控方式">
|
||||||
|
<el-radio-group v-model="listQuery.bkfs">
|
||||||
|
<el-radio label="01">全省布控</el-radio>
|
||||||
|
<el-radio label="02">精准布控</el-radio>
|
||||||
|
</el-radio-group>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item style="width: 40%" prop="bkkssj" label="开始时间">
|
<el-form-item style="width: 40%" prop="bkkssj" label="开始时间">
|
||||||
<el-date-picker :disabled="forbidden"
|
<el-date-picker :disabled="forbidden" v-model="listQuery.bkkssj" type="datetime" placeholder="请选中开始时间"
|
||||||
v-model="listQuery.bkkssj"
|
format="YYYY-MM-DD hh:mm:ss" value-format="YYYY-MM-DD hh:mm:ss" />
|
||||||
type="datetime"
|
|
||||||
placeholder="请选中开始时间"
|
|
||||||
format="YYYY-MM-DD hh:mm:ss"
|
|
||||||
value-format="YYYY-MM-DD hh:mm:ss"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item style="width: 40%" prop="bkjssj" label="结束时间">
|
<el-form-item style="width: 40%" prop="bkjssj" label="结束时间">
|
||||||
<el-date-picker :disabled="forbidden"
|
<el-date-picker :disabled="forbidden" v-model="listQuery.bkjssj" type="datetime" placeholder="请选中结束时间"
|
||||||
v-model="listQuery.bkjssj"
|
format="YYYY-MM-DD hh:mm:ss" value-format="YYYY-MM-DD hh:mm:ss" />
|
||||||
type="datetime"
|
|
||||||
placeholder="请选中结束时间"
|
|
||||||
format="YYYY-MM-DD hh:mm:ss"
|
|
||||||
value-format="YYYY-MM-DD hh:mm:ss"
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
<el-form-item style="width: 40%" prop="czcs" label="处置措施">
|
||||||
<el-form-item style="width: 40%" prop="bkqy" label="布控区域">
|
<el-select :disabled="forbidden" v-model="listQuery.czcs" placeholder="请选择布控颜色">
|
||||||
<el-input :disabled="forbidden"
|
<el-option v-for="dict in dict.D_BZ_CZCS" :key="dict.value" :value="dict.value"
|
||||||
v-model="listQuery.bkqy"
|
:label="dict.label"></el-option>
|
||||||
placeholder="请输入布控区域"
|
|
||||||
style="width: 100%"
|
|
||||||
clearable
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item style="width: 40%" prop="bkzt" label="布控状态">
|
|
||||||
<el-select :disabled="forbidden" v-model="listQuery.bkzt" placeholder="请选择布控状态">
|
|
||||||
<el-option
|
|
||||||
v-for="dict in dict.D_BZ_RCBKZT"
|
|
||||||
:key="dict.value"
|
|
||||||
:value="dict.value"
|
|
||||||
:label="dict.label"
|
|
||||||
></el-option>
|
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item style="width: 40%" prop="bkfw" label="布控范围">
|
<el-form-item style="width: 40%" prop="jczid" label="布控卡口" v-if="listQuery.bkfs=='02'">
|
||||||
<el-select :disabled="forbidden" v-model="listQuery.bkfw" placeholder="请选择布控状态">
|
<div class="diviput" @click="openJcz">
|
||||||
<el-option
|
<span v-if="listQuery.jczid">{{ listQuery.jczmc }}</span>
|
||||||
v-for="dict in dict.D_BZ_RCBKFW"
|
|
||||||
:key="dict.value"
|
|
||||||
:value="dict.value"
|
|
||||||
:label="dict.label"
|
|
||||||
></el-option>
|
|
||||||
</el-select>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item style="width: 40%" prop="bkczlx" label="布控操作类型">
|
|
||||||
<el-input :disabled="forbidden"
|
|
||||||
v-model="listQuery.bkczlx"
|
|
||||||
placeholder="请输入布控区域"
|
|
||||||
style="width: 100%"
|
|
||||||
clearable
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item style="width: 40%" prop="bkdxtzm" label="布控对象特征码">
|
|
||||||
<el-input :disabled="forbidden"
|
|
||||||
v-model="listQuery.bkdxtzm"
|
|
||||||
placeholder="请输入布控区域"
|
|
||||||
style="width: 100%"
|
|
||||||
clearable
|
|
||||||
/>
|
|
||||||
</el-form-item>
|
|
||||||
<el-form-item style="width: 40%" prop="bkkk" label="布控卡口">
|
|
||||||
<div class="diviput" @click="forbidden ? '' : showJcz = true">
|
|
||||||
<span v-if="listQuery.bkkk">{{ listQuery.bkkk }}</span>
|
|
||||||
<span class="placeholder" v-else> 请选择布控卡口</span>
|
<span class="placeholder" v-else> 请选择布控卡口</span>
|
||||||
</div>
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<Jczloder v-model="showJcz" :Single="true" @choosedJcz="JczMsg" :data="[]" />
|
<Jczloder v-model="showJcz" :Single="false" @choosedJcz="JczMsg" :data="[]" />
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import { ref, reactive, onMounted } from "vue";
|
import { ref, reactive, onMounted } from "vue";
|
||||||
import { BkrwinsertEntity, BkrweditEntity } from "@/api/mosty-jcz.js";
|
|
||||||
import * as MOSTY from "@/components/MyComponents/index";
|
import * as MOSTY from "@/components/MyComponents/index";
|
||||||
|
import { jczBkclEntity, jczBkclInsertEntity } from "@/api/mosty-jcz.js";
|
||||||
import Jczloder from "@/components/loder/Jczloder.vue";
|
import Jczloder from "@/components/loder/Jczloder.vue";
|
||||||
|
|
||||||
import { ElMessage } from "element-plus";
|
import { ElMessage } from "element-plus";
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
dict: {
|
dict: {
|
||||||
type: Object,
|
type: Object,
|
||||||
default: () => {}
|
default: () => { }
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
const rules = reactive({
|
const rules = reactive({
|
||||||
bkdxtzm: [
|
cph: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请输入布控对象特征码"
|
message: "请输入布控姓名"
|
||||||
}
|
|
||||||
],
|
|
||||||
bkbsm: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: "请输入布控标识码"
|
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
|
|
||||||
bkkk: [
|
bkkk: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请选择布控卡口"
|
message: "请选择布控卡口"
|
||||||
}
|
}
|
||||||
],
|
],cpys:[{
|
||||||
bkjssj: [
|
required: true,
|
||||||
|
message: "请选择车牌颜色"
|
||||||
|
}],
|
||||||
|
yjys: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请选择布控结束时间"
|
message: "请选择预警颜色"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
bkkssj: [
|
bkkssj: [
|
||||||
@ -197,38 +100,28 @@ const rules = reactive({
|
|||||||
message: "请选择布控开始时间"
|
message: "请选择布控开始时间"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
bkzt: [
|
|
||||||
|
bkjssj: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请选择布控状态"
|
message: "请输入布控身份证号"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
bkcph: [
|
bkfs: [
|
||||||
{
|
{
|
||||||
required: true,
|
required: true,
|
||||||
message: "请输入布控车辆车牌号"
|
message: "请输入布控方式"
|
||||||
|
}
|
||||||
|
], czcs: [
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: "请输选择布控措施"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
bkqy: [
|
bkyy: {
|
||||||
{
|
|
||||||
required: true,
|
required: true,
|
||||||
message: "请输入布控区域",
|
message: "请输入布控原因"
|
||||||
trigger: "change"
|
|
||||||
}
|
}
|
||||||
],
|
|
||||||
bklb: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: "请输入布控类别",
|
|
||||||
trigger: "change"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
bkmc: [
|
|
||||||
{
|
|
||||||
required: true,
|
|
||||||
message: "请输入布控名称"
|
|
||||||
}
|
|
||||||
]
|
|
||||||
});
|
});
|
||||||
const formRef = ref(null);
|
const formRef = ref(null);
|
||||||
const emit = defineEmits(["getjczgetXfllList"]);
|
const emit = defineEmits(["getjczgetXfllList"]);
|
||||||
@ -249,17 +142,18 @@ const pageInfo = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
let pageType = ref("add");
|
let pageType = ref("add");
|
||||||
const forbidden=ref(false);
|
|
||||||
// 初始化数据
|
// 初始化数据
|
||||||
|
const forbidden = ref(false)
|
||||||
const init = (type, row) => {
|
const init = (type, row) => {
|
||||||
pageType.value = type;
|
pageType.value = type;
|
||||||
dialogForm.value = true;
|
dialogForm.value = true;
|
||||||
// 根据type和row初始化表单数据
|
// 根据type和row初始化表单数据
|
||||||
tabHeightFn();
|
tabHeightFn();
|
||||||
if (type == "edit"||type == "detail") {
|
if (type == "edit" || type == "detail") {
|
||||||
listQuery.value = { ...row };
|
listQuery.value = { ...row};
|
||||||
if (type == "detail") {
|
if (type == "detail") {
|
||||||
forbidden.value=true
|
forbidden.value = true
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
listQuery.value = {};
|
listQuery.value = {};
|
||||||
@ -270,15 +164,15 @@ const _onSave = () => {
|
|||||||
if (!formRef) return;
|
if (!formRef) return;
|
||||||
formRef.value.validate((valid, fields) => {
|
formRef.value.validate((valid, fields) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
const promes = { ...listQuery.value, bklx: "02" };
|
const promes = { ...listQuery.value };
|
||||||
if (pageType.value == "add") {
|
if (pageType.value == "add") {
|
||||||
BkrwinsertEntity(promes).then((res) => {
|
jczBkclInsertEntity(promes).then((res) => {
|
||||||
ElMessage({ message: "新增成功", type: "success" });
|
ElMessage({ message: "新增成功", type: "success" });
|
||||||
emit("getjczgetXfllList");
|
emit("getjczgetXfllList");
|
||||||
close();
|
close();
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
BkrweditEntity(promes).then((res) => {
|
jczBkclEntity(promes).then((res) => {
|
||||||
ElMessage({ message: "修改成功", type: "success" });
|
ElMessage({ message: "修改成功", type: "success" });
|
||||||
emit("getjczgetXfllList");
|
emit("getjczgetXfllList");
|
||||||
close();
|
close();
|
||||||
@ -290,27 +184,27 @@ const _onSave = () => {
|
|||||||
});
|
});
|
||||||
console.log();
|
console.log();
|
||||||
};
|
};
|
||||||
// 图片上传
|
|
||||||
const imgUrl = ref();
|
|
||||||
const urlImg = "/mosty-api/mosty-base/minio/image/download/";
|
|
||||||
const upImg = (row) => {
|
|
||||||
listQuery.value.bkzp = row.data;
|
|
||||||
imgUrl.value = urlImg.value + row.data;
|
|
||||||
};
|
|
||||||
|
|
||||||
//打开弹窗
|
//打开弹窗
|
||||||
const showJcz = ref(false);
|
const showJcz = ref(false);
|
||||||
|
const openJcz = () => {
|
||||||
|
if (!forbidden.value) {
|
||||||
|
showJcz.value = true
|
||||||
|
}
|
||||||
|
};
|
||||||
const JczMsg = (val) => {
|
const JczMsg = (val) => {
|
||||||
listQuery.value.bkkk = val.jczmc;
|
listQuery.value.jczmc = val.map(item => {
|
||||||
listQuery.value.kkId = val.id;
|
return item.jczmc
|
||||||
|
}).toString()
|
||||||
|
listQuery.value.jczid =val.map(item => {
|
||||||
|
return item.id
|
||||||
|
}).toString()
|
||||||
};
|
};
|
||||||
//页面关闭
|
//页面关闭
|
||||||
const close = () => {
|
const close = () => {
|
||||||
dialogForm.value = false;
|
dialogForm.value = false;
|
||||||
forbidden.value=false;
|
forbidden.value = false
|
||||||
listQuery.value = {};
|
listQuery.value = {};
|
||||||
|
|
||||||
};
|
};
|
||||||
// 表格高度计算
|
// 表格高度计算
|
||||||
const tableHeight1 = ref();
|
const tableHeight1 = ref();
|
||||||
@ -324,21 +218,25 @@ defineExpose({ init });
|
|||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
.dialog {
|
.dialog {
|
||||||
padding: 20px;
|
padding: 20px;
|
||||||
|
|
||||||
.head_box {
|
.head_box {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
margin-bottom: 20px;
|
margin-bottom: 20px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.cntinfo {
|
.cntinfo {
|
||||||
height: calc(100% - 70px);
|
height: calc(100% - 70px);
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.my_transfer {
|
.my_transfer {
|
||||||
height: calc(100% - 50px);
|
height: calc(100% - 50px);
|
||||||
display: flex;
|
display: flex;
|
||||||
|
|
||||||
.btn {
|
.btn {
|
||||||
width: 50px;
|
width: 50px;
|
||||||
display: flex;
|
display: flex;
|
||||||
@ -346,58 +244,71 @@ defineExpose({ init });
|
|||||||
justify-content: center;
|
justify-content: center;
|
||||||
margin: 0 10px;
|
margin: 0 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.left {
|
.left {
|
||||||
margin: 12px;
|
margin: 12px;
|
||||||
flex: 1;
|
flex: 1;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
.tableBox {
|
.tableBox {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
|
|
||||||
.serch {
|
.serch {
|
||||||
position: relative;
|
position: relative;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
|
||||||
// height: 96px;
|
// height: 96px;
|
||||||
> .el-form--inline {
|
>.el-form--inline {
|
||||||
display: block;
|
display: block;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
> .el-form-item--default {
|
|
||||||
|
>.el-form-item--default {
|
||||||
width: 31%;
|
width: 31%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.tableBox {
|
.tableBox {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.right {
|
.right {
|
||||||
width: 380px;
|
width: 380px;
|
||||||
margin: 12px;
|
margin: 12px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.phone {
|
.phone {
|
||||||
width: 95px;
|
width: 95px;
|
||||||
height: 120px;
|
height: 120px;
|
||||||
|
|
||||||
.el-image {
|
.el-image {
|
||||||
width: 95px;
|
width: 95px;
|
||||||
max-height: 120px;
|
max-height: 120px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep .el-upload {
|
::v-deep .el-upload {
|
||||||
width: 90px;
|
width: 90px;
|
||||||
height: 100px;
|
height: 100px;
|
||||||
border: 1px dashed #000000;
|
border: 1px dashed #000000;
|
||||||
margin-bottom: 14px;
|
margin-bottom: 14px;
|
||||||
|
|
||||||
.el-icon {
|
.el-icon {
|
||||||
margin-top: 34px;
|
margin-top: 34px;
|
||||||
font-size: 26px;
|
font-size: 26px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.el-image {
|
.el-image {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.mapbox {
|
.mapbox {
|
||||||
width: 1000px;
|
width: 1000px;
|
||||||
padding: 0 10px;
|
padding: 0 10px;
|
||||||
@ -405,6 +316,7 @@ defineExpose({ init });
|
|||||||
box-sizing: border-box;
|
box-sizing: border-box;
|
||||||
background: #000;
|
background: #000;
|
||||||
}
|
}
|
||||||
|
|
||||||
.diviput {
|
.diviput {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
background-color: #ffffff;
|
background-color: #ffffff;
|
||||||
@ -414,10 +326,12 @@ defineExpose({ init });
|
|||||||
line-height: 32px;
|
line-height: 32px;
|
||||||
padding: 0 10px;
|
padding: 0 10px;
|
||||||
border-radius: 5px;
|
border-radius: 5px;
|
||||||
|
|
||||||
.placeholder {
|
.placeholder {
|
||||||
color: #b5b5b5;
|
color: #b5b5b5;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
::v-deep .el-icon svg {
|
::v-deep .el-icon svg {
|
||||||
color: #000000 !important;
|
color: #000000 !important;
|
||||||
}
|
}
|
||||||
|
@ -3,10 +3,10 @@
|
|||||||
<div class="titleBox">
|
<div class="titleBox">
|
||||||
<PageTitle title="车辆布控">
|
<PageTitle title="车辆布控">
|
||||||
<el-button type="primary" @click="addEdit('add', '')" v-if="Auth">
|
<el-button type="primary" @click="addEdit('add', '')" v-if="Auth">
|
||||||
<el-icon style="vertical-align: middle"><CirclePlus /></el-icon>
|
<el-icon style="vertical-align: middle">
|
||||||
<span style="vertical-align: middle" @click="addEdit('add', row)"
|
<CirclePlus />
|
||||||
>新增</span
|
</el-icon>
|
||||||
>
|
<span style="vertical-align: middle" @click="addEdit('add', row)">新增</span>
|
||||||
</el-button>
|
</el-button>
|
||||||
</PageTitle>
|
</PageTitle>
|
||||||
</div>
|
</div>
|
||||||
@ -15,24 +15,27 @@
|
|||||||
<Search :searchArr="searchConfiger" @submit="onSearch" />
|
<Search :searchArr="searchConfiger" @submit="onSearch" />
|
||||||
</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"
|
@chooseData="chooseData">
|
||||||
:tableHeight="pageData.tableHeight"
|
<template #yjys="{ row }">
|
||||||
:key="pageData.keyCount"
|
<dict-tag :value="row.yjys" :options="D_BZ_BKYS" :tag="false" />
|
||||||
:tableConfiger="pageData.tableConfiger"
|
|
||||||
:controlsWidth="pageData.controlsWidth"
|
|
||||||
@chooseData="chooseData"
|
|
||||||
>
|
|
||||||
<template #bklb="{ row }">
|
|
||||||
<dict-tag :value="row.bklb" :options="D_BZ_CLBKLX" :tag="false" />
|
|
||||||
</template>
|
</template>
|
||||||
<template #bkzt="{ row }">
|
<template #cpys="{ row }">
|
||||||
|
<dict-tag :value="row.cpys" :options="D_BZ_CPHYS" :tag="false" />
|
||||||
|
</template>
|
||||||
|
<template #bkfs="{ row }">
|
||||||
|
{{ row.bkfs == '01' ? "全省布控" : "精准布控" }}
|
||||||
|
</template>
|
||||||
|
<template #bkcs="{ row }">
|
||||||
|
<dict-tag :value="row.yjys" :options="D_BZ_CZCS" :tag="false" />
|
||||||
|
</template>
|
||||||
|
<!-- <template #bkzt="{ row }">
|
||||||
<dict-tag :value="row.bkzt" :options="D_BZ_RCBKZT" :tag="false" />
|
<dict-tag :value="row.bkzt" :options="D_BZ_RCBKZT" :tag="false" />
|
||||||
</template>
|
</template>
|
||||||
<template #bkfw="{ row }">
|
<template #bkfw="{ row }">
|
||||||
<dict-tag :value="row.bkfw" :options="D_BZ_RCBKFW" :tag="false" />
|
<dict-tag :value="row.bkfw" :options="D_BZ_RCBKFW" :tag="false" />
|
||||||
</template>
|
</template> -->
|
||||||
|
|
||||||
<!-- 操作 -->
|
<!-- 操作 -->
|
||||||
<template #controls="{ row }">
|
<template #controls="{ row }">
|
||||||
@ -40,30 +43,18 @@
|
|||||||
<el-link type="primary" @click="addEdit('edit', row)">修改</el-link>
|
<el-link type="primary" @click="addEdit('edit', row)">修改</el-link>
|
||||||
<el-link type="primary" @click="delDictItem(row.id)">删除</el-link>
|
<el-link type="primary" @click="delDictItem(row.id)">删除</el-link>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<el-link type="primary" @click="addEdit('detail', row)">详情</el-link>
|
<el-link type="primary" @click="addEdit('detail', row)">详情</el-link>
|
||||||
</template>
|
</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>
|
||||||
<!-- 编辑详情 -->
|
<!-- 编辑详情 -->
|
||||||
<EditAddForm
|
<EditAddForm ref="detailDiloag" :dict="{
|
||||||
ref="detailDiloag"
|
D_BZ_BKYS, D_BZ_CZCS, D_BZ_CPHYS
|
||||||
:dict="{
|
}" @getjczgetXfllList="getjczgetXfllList" />
|
||||||
D_BZ_RCBKZT,
|
|
||||||
D_BZ_RCBKFW,
|
|
||||||
D_BZ_CLBKLX
|
|
||||||
}"
|
|
||||||
@getjczgetXfllList="getjczgetXfllList"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@ -73,36 +64,37 @@ import MyTable from "@/components/aboutTable/MyTable.vue";
|
|||||||
import Pages from "@/components/aboutTable/Pages.vue";
|
import Pages from "@/components/aboutTable/Pages.vue";
|
||||||
import Search from "@/components/aboutTable/Search.vue";
|
import Search from "@/components/aboutTable/Search.vue";
|
||||||
import EditAddForm from "./components/editAddForm.vue";
|
import EditAddForm from "./components/editAddForm.vue";
|
||||||
import{isAuth} from '@/utils/tools.js'
|
import { ElMessage } from "element-plus";
|
||||||
import { BkrwselectPage, BkrwdeleteById } from "@/api/mosty-jcz.js";
|
import { jczBkclSelectPage, jczBkclDeleteById } from "@/api/mosty-jcz.js";
|
||||||
|
import { isAuth } from '@/utils/tools.js'
|
||||||
import { reactive, ref, onMounted, getCurrentInstance } from "vue";
|
import { reactive, ref, onMounted, getCurrentInstance } from "vue";
|
||||||
const { proxy } = getCurrentInstance();
|
const { proxy } = getCurrentInstance();
|
||||||
const urlImg = "/mosty-api/mosty-base/minio/image/download/";
|
const urlImg = "/mosty-api/mosty-base/minio/image/download/";
|
||||||
const { D_BZ_RCBKZT, D_BZ_RCBKFW, D_BZ_CLBKLX } = proxy.$dict(
|
const { D_BZ_BKYS, D_BZ_CZCS, D_BZ_CPHYS } = proxy.$dict(
|
||||||
"D_BZ_RCBKZT",
|
"D_BZ_BKYS", "D_BZ_CZCS", "D_BZ_CPHYS"
|
||||||
"D_BZ_RCBKFW",
|
|
||||||
"D_BZ_CLBKLX"
|
|
||||||
);
|
);
|
||||||
const searchConfiger = ref([
|
const searchConfiger = ref([
|
||||||
{
|
{
|
||||||
label: "车牌号",
|
label: "布控名称",
|
||||||
prop: "bkcph",
|
prop: "bkmc",
|
||||||
placeholder: "请输入车牌号",
|
placeholder: "请输入布控名称",
|
||||||
showType: "input"
|
showType: "input"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "布控状态",
|
label: "证件号码",
|
||||||
prop: "bkzt",
|
prop: "bksfzh",
|
||||||
placeholder: "布控状态",
|
placeholder: "请输入证件号码",
|
||||||
showType: "select",
|
showType: "input"
|
||||||
options: D_BZ_RCBKZT
|
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
showType: "department",
|
label: "布控颜色",
|
||||||
prop: "ssbmdm",
|
prop: "yjys",
|
||||||
placeholder: "请选择所属部门",
|
placeholder: "布控颜色",
|
||||||
label: "所属部门"
|
showType: "select",
|
||||||
}
|
options: D_BZ_BKYS
|
||||||
|
},
|
||||||
|
|
||||||
]);
|
]);
|
||||||
|
|
||||||
const detailDiloag = ref();
|
const detailDiloag = ref();
|
||||||
@ -121,60 +113,59 @@ const pageData = reactive({
|
|||||||
}, //分页
|
}, //分页
|
||||||
controlsWidth: 250, //操作栏宽度
|
controlsWidth: 250, //操作栏宽度
|
||||||
tableColumn: [
|
tableColumn: [
|
||||||
{ label: "所属部门", prop: "ssbm", showOverflowTooltip: true },
|
|
||||||
{
|
{
|
||||||
label: "布控区域",
|
label: "车牌号",
|
||||||
prop: "bkqy",
|
prop: "cph",
|
||||||
showOverflowTooltip: true
|
|
||||||
// showSolt: true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "布控车牌号",
|
|
||||||
prop: "bkcph",
|
|
||||||
showOverflowTooltip: true
|
showOverflowTooltip: true
|
||||||
},
|
},
|
||||||
|
|
||||||
{
|
{
|
||||||
label: "布控类别",
|
label: "车牌颜色",
|
||||||
prop: "bklb",
|
prop: "cpys",
|
||||||
showSolt: true,
|
showSolt: true,
|
||||||
showOverflowTooltip: true
|
showOverflowTooltip: true
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
label: "布控状态",
|
label: "预警颜色",
|
||||||
prop: "bkzt",
|
prop: "yjys",
|
||||||
showSolt: true,
|
showSolt: true,
|
||||||
showOverflowTooltip: true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
label: "布控范围",
|
|
||||||
prop: "bkfw",
|
|
||||||
showSolt: true,
|
|
||||||
showOverflowTooltip: true
|
|
||||||
},
|
},
|
||||||
{ label: "布控开始时间", prop: "bkkssj", showOverflowTooltip: true },
|
{ label: "布控开始时间", prop: "bkkssj", showOverflowTooltip: true },
|
||||||
{
|
{
|
||||||
label: "布控结束时间",
|
label: "布控结束时间",
|
||||||
prop: "bkjssj",
|
prop: "bkjssj",
|
||||||
showOverflowTooltip: true
|
showOverflowTooltip: true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "布控方式",
|
||||||
|
prop: "bkfs",
|
||||||
|
showSolt: true,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
label: "布控措施",
|
||||||
|
prop: "bkcs",
|
||||||
|
showSolt: true,
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
});
|
});
|
||||||
const Auth=ref(true)
|
const Auth = ref(false)
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
Auth.value=isAuth()
|
|
||||||
tabHeightFn();
|
tabHeightFn();
|
||||||
|
Auth.value = isAuth()
|
||||||
});
|
});
|
||||||
|
|
||||||
//查询条件
|
//查询条件
|
||||||
const queryCondition = ref({ bklx: "02" });
|
const queryCondition = ref();
|
||||||
// 获取数据
|
// 获取数据
|
||||||
const getjczgetXfllList = () => {
|
const getjczgetXfllList = () => {
|
||||||
pageData.tableConfiger.loading = true;
|
pageData.tableConfiger.loading = true;
|
||||||
const promes = { ...queryCondition.value, ...pageData.pageConfiger };
|
const promes = { ...queryCondition.value, ...pageData.pageConfiger };
|
||||||
BkrwselectPage(promes)
|
jczBkclSelectPage(promes)
|
||||||
.then((res) => {
|
.then((res) => {
|
||||||
pageData.tableData = res.records;
|
pageData.tableData = res.records;
|
||||||
pageData.total = res.total;
|
pageData.total = res.total;
|
||||||
|
}).catch((err) => {
|
||||||
|
console.log(err);
|
||||||
})
|
})
|
||||||
.finally(() => {
|
.finally(() => {
|
||||||
pageData.tableConfiger.loading = false;
|
pageData.tableConfiger.loading = false;
|
||||||
@ -183,7 +174,7 @@ const getjczgetXfllList = () => {
|
|||||||
getjczgetXfllList();
|
getjczgetXfllList();
|
||||||
// 搜索
|
// 搜索
|
||||||
const onSearch = (val) => {
|
const onSearch = (val) => {
|
||||||
queryCondition.value = { ...queryCondition.value, ...val };
|
queryCondition.value = { ...val };
|
||||||
getjczgetXfllList();
|
getjczgetXfllList();
|
||||||
};
|
};
|
||||||
|
|
||||||
@ -200,8 +191,7 @@ const delDictItem = (ids) => {
|
|||||||
proxy
|
proxy
|
||||||
.$confirm("确定删除该数据?", "警告", { type: "warning" })
|
.$confirm("确定删除该数据?", "警告", { type: "warning" })
|
||||||
.then(() => {
|
.then(() => {
|
||||||
BkrwdeleteById({ ids: ids })
|
jczBkclDeleteById(ids).then((res) => {
|
||||||
.then((res) => {
|
|
||||||
ElMessage({ message: "删除成功", type: "success" });
|
ElMessage({ message: "删除成功", type: "success" });
|
||||||
pageData.pageConfiger.pageCurrent = 1;
|
pageData.pageConfiger.pageCurrent = 1;
|
||||||
getjczgetXfllList();
|
getjczgetXfllList();
|
||||||
@ -229,6 +219,7 @@ const tabHeightFn = () => {
|
|||||||
tabHeightFn();
|
tabHeightFn();
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style>
|
<style>
|
||||||
|
@ -8,28 +8,30 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="cntinfo">
|
<div class="cntinfo">
|
||||||
<el-form ref="formRef" :model="listQuery" :rules="rules" :inline="true" label-position="top">
|
<el-form
|
||||||
<div style="
|
ref="formRef"
|
||||||
|
:model="listQuery"
|
||||||
|
:rules="rules"
|
||||||
|
:inline="true"
|
||||||
|
label-position="top"
|
||||||
|
>
|
||||||
|
<!-- <div
|
||||||
|
style="
|
||||||
width: 25%;
|
width: 25%;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
">
|
"
|
||||||
<div style="position: relative; width: 90px; height: 100px">
|
>
|
||||||
<el-upload action="/mosty-api/mosty-base/minio/image/upload/id" :on-change="upImgFile" :on-success="upImg"
|
<div >
|
||||||
:show-file-list="false">
|
|
||||||
<el-image v-if="imgUrl" :src="imgUrl" fit="cover" />
|
|
||||||
<el-icon v-else>
|
|
||||||
<Plus></Plus>
|
|
||||||
</el-icon>
|
|
||||||
<span v-if="imgUrl" style="position: absolute; top: -52px; right: -20px">
|
|
||||||
<el-icon size="20" @click.stop="deletImg">
|
|
||||||
<Close />
|
|
||||||
</el-icon>
|
|
||||||
</span>
|
|
||||||
</el-upload>
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
|
</div> -->
|
||||||
|
<el-form-item>
|
||||||
|
{{ listQuery.tp }}
|
||||||
|
<MOSTY.Upload width="100%" :limit="1" :isImg="true" v-model="listQuery.tp" :disableds="forbidden"/>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="身份证号码" prop="sfzh">
|
<el-form-item label="身份证号码" prop="sfzh">
|
||||||
<el-input v-model="listQuery.sfzh" placeholder="请输入身份证号码" clearable style="width: 100%" />
|
<el-input v-model="listQuery.sfzh" placeholder="请输入身份证号码" clearable style="width: 100%" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
@ -139,6 +141,7 @@ import { jcztbQwXfll, jcztbQwXfllUpdete } from "@/api/mosty-jcz.js";
|
|||||||
import { Right, Back } from "@element-plus/icons-vue";
|
import { Right, Back } from "@element-plus/icons-vue";
|
||||||
import { baseselectPage } from "@/api/mosty-base";
|
import { baseselectPage } from "@/api/mosty-base";
|
||||||
import { ElMessage } from "element-plus";
|
import { ElMessage } from "element-plus";
|
||||||
|
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
dict: {
|
dict: {
|
||||||
type: Object,
|
type: Object,
|
||||||
@ -182,6 +185,11 @@ const rules = reactive({
|
|||||||
required: true,
|
required: true,
|
||||||
message: "请选择婚姻状况"
|
message: "请选择婚姻状况"
|
||||||
}
|
}
|
||||||
|
],jh:[
|
||||||
|
{
|
||||||
|
required: true,
|
||||||
|
message: "请填写辅警编号"
|
||||||
|
}
|
||||||
],
|
],
|
||||||
whcddm: [
|
whcddm: [
|
||||||
{
|
{
|
||||||
@ -236,16 +244,18 @@ const init = (type, row) => {
|
|||||||
//保存
|
//保存
|
||||||
const _onSave = () => {
|
const _onSave = () => {
|
||||||
if (!formRef) return;
|
if (!formRef) return;
|
||||||
|
const promes = { ...listQuery.value ,fl:'02'};
|
||||||
|
// promes.tp=listQuery.value.tp&&Array.isArray(listQuery.value.tp)? listQuery.value.tp.join(","):""
|
||||||
formRef.value.validate((valid, fields) => {
|
formRef.value.validate((valid, fields) => {
|
||||||
if (valid) {
|
if (valid) {
|
||||||
if (pageType.value == "add") {
|
if (pageType.value == "add") {
|
||||||
jcztbQwXfll(listQuery.value).then((res) => {
|
jcztbQwXfll(promes).then((res) => {
|
||||||
ElMessage({ message: "新增成功", type: "success" });
|
ElMessage({ message: "新增成功", type: "success" });
|
||||||
emit("getjczgetXfllList");
|
emit("getjczgetXfllList");
|
||||||
close();
|
close();
|
||||||
});
|
});
|
||||||
} else {
|
} else {
|
||||||
jcztbQwXfllUpdete(listQuery.value).then((res) => {
|
jcztbQwXfllUpdete(promes).then((res) => {
|
||||||
ElMessage({ message: "修改成功", type: "success" });
|
ElMessage({ message: "修改成功", type: "success" });
|
||||||
emit("getjczgetXfllList");
|
emit("getjczgetXfllList");
|
||||||
close();
|
close();
|
||||||
@ -257,17 +267,10 @@ const _onSave = () => {
|
|||||||
});
|
});
|
||||||
console.log();
|
console.log();
|
||||||
};
|
};
|
||||||
// 图片上传
|
|
||||||
const imgUrl = ref();
|
|
||||||
const urlImg = "/mosty-api/mosty-base/minio/image/download/";
|
|
||||||
const upImg = (row) => {
|
|
||||||
listQuery.value.tp = row.data;
|
|
||||||
imgUrl.value = urlImg.value + row.data;
|
|
||||||
};
|
|
||||||
|
|
||||||
//页面关闭
|
//页面关闭
|
||||||
const close = () => {
|
const close = () => {
|
||||||
dialogForm.value = false;
|
dialogForm.value = false;
|
||||||
|
|
||||||
listQuery.value = {};
|
listQuery.value = {};
|
||||||
};
|
};
|
||||||
// 表格高度计算
|
// 表格高度计算
|
||||||
@ -355,16 +358,15 @@ defineExpose({ init });
|
|||||||
max-height: 120px;
|
max-height: 120px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// ::v-deep .el-upload {
|
||||||
|
// width: 90px;
|
||||||
|
// height: 100px;
|
||||||
|
// border: 1px dashed #000000 !important;
|
||||||
|
// margin-bottom: 14px;
|
||||||
|
|
||||||
::v-deep .el-upload {
|
// .el-image {
|
||||||
width: 90px;
|
// width: 100%;
|
||||||
height: 100px;
|
// height: 100%;
|
||||||
border: 1px dashed #000000 !important;
|
// }
|
||||||
margin-bottom: 14px;
|
// }
|
||||||
|
|
||||||
.el-image {
|
|
||||||
width: 100%;
|
|
||||||
height: 100%;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
</style>
|
||||||
|
@ -52,6 +52,7 @@ import MyTable from "@/components/aboutTable/MyTable.vue";
|
|||||||
import Pages from "@/components/aboutTable/Pages.vue";
|
import Pages from "@/components/aboutTable/Pages.vue";
|
||||||
import Search from "@/components/aboutTable/Search.vue";
|
import Search from "@/components/aboutTable/Search.vue";
|
||||||
import EditAddForm from "./components/editAddForm.vue";
|
import EditAddForm from "./components/editAddForm.vue";
|
||||||
|
import { ElMessage } from "element-plus";
|
||||||
import { jczgetXfllList, jczdeleteList } from "@/api/mosty-jcz.js";
|
import { jczgetXfllList, jczdeleteList } from "@/api/mosty-jcz.js";
|
||||||
import { reactive, ref, onMounted, getCurrentInstance } from "vue";
|
import { reactive, ref, onMounted, getCurrentInstance } from "vue";
|
||||||
const { proxy } = getCurrentInstance();
|
const { proxy } = getCurrentInstance();
|
||||||
|
@ -2,7 +2,6 @@
|
|||||||
<div>
|
<div>
|
||||||
<div class="titleBox">
|
<div class="titleBox">
|
||||||
<PageTitle title="环林卡口管理">
|
<PageTitle title="环林卡口管理">
|
||||||
{{ Auth }}
|
|
||||||
<el-button type="primary" @click="addEdit('add', '')" v-if="Auth">
|
<el-button type="primary" @click="addEdit('add', '')" v-if="Auth">
|
||||||
<el-icon style="vertical-align: middle">
|
<el-icon style="vertical-align: middle">
|
||||||
<CirclePlus />
|
<CirclePlus />
|
||||||
|
@ -74,7 +74,9 @@ import EditAddForm from "./components/editAddForm.vue";
|
|||||||
import { isAuth } from '@/utils/tools.js'
|
import { isAuth } from '@/utils/tools.js'
|
||||||
import { WjwpselectPage, WjwpdeleteById } from "@/api/mosty-jcz.js";
|
import { WjwpselectPage, WjwpdeleteById } from "@/api/mosty-jcz.js";
|
||||||
import { reactive, ref, onMounted, getCurrentInstance } from "vue";
|
import { reactive, ref, onMounted, getCurrentInstance } from "vue";
|
||||||
|
import { ElMessage } from "element-plus";
|
||||||
const { proxy } = getCurrentInstance();
|
const { proxy } = getCurrentInstance();
|
||||||
|
|
||||||
const urlImg = "/mosty-api/mosty-base/minio/image/download/";
|
const urlImg = "/mosty-api/mosty-base/minio/image/download/";
|
||||||
const { D_BZ_SBLX, D_BZ_SF, D_BZ_DWFL, D_BZ_GZSBLX } = proxy.$dict(
|
const { D_BZ_SBLX, D_BZ_SF, D_BZ_DWFL, D_BZ_GZSBLX } = proxy.$dict(
|
||||||
"D_BZ_SBLX",
|
"D_BZ_SBLX",
|
||||||
|
@ -10,56 +10,125 @@
|
|||||||
<div class="cntinfo">
|
<div class="cntinfo">
|
||||||
<el-form ref="formRef" :model="listQuery" :rules="rules" :inline="true" label-position="top">
|
<el-form ref="formRef" :model="listQuery" :rules="rules" :inline="true" label-position="top">
|
||||||
<el-form-item prop="ssbmdm" label="所属部门">
|
<el-form-item prop="ssbmdm" label="所属部门">
|
||||||
<MOSTY.Department :placeholder="listQuery.ssbm" style="width: 100%" ref="cascader" clearable filterable
|
<MOSTY.Department
|
||||||
:props="props" v-model:modelValue="listQuery.ssbmdm" />
|
:placeholder="listQuery.ssbm"
|
||||||
|
style="width: 100%"
|
||||||
|
ref="cascader"
|
||||||
|
clearable
|
||||||
|
:disabled="forbidden"
|
||||||
|
filterable
|
||||||
|
:props="props"
|
||||||
|
v-model:modelValue="listQuery.ssbmdm"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="设备编号" prop="qxbh">
|
<el-form-item label="设备编号" prop="qxbh">
|
||||||
<el-input v-model="listQuery.qxbh" placeholder="请输入设备编号" clearable style="width: 100%" />
|
<el-input
|
||||||
|
:disabled="forbidden"
|
||||||
|
v-model="listQuery.qxbh"
|
||||||
|
placeholder="请输入设备编号"
|
||||||
|
clearable
|
||||||
|
style="width: 100%"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="装备类型" prop="qxlx">
|
<el-form-item label="装备类型" prop="qxlx">
|
||||||
<el-select v-model="listQuery.qxlx" placeholder="请选择性别">
|
<el-select v-model="listQuery.qxlx" placeholder="请选择装备类型" :disabled="forbidden">
|
||||||
<el-option v-for="item in dict.D_JCGL_JYQX_QXLX" :key="item" :label="item.zdmc"
|
<el-option
|
||||||
:value="item.dm"></el-option>
|
v-for="item in dict.D_JCGL_JYQX_QXLX"
|
||||||
|
:key="item"
|
||||||
|
:label="item.zdmc"
|
||||||
|
:value="item.dm"
|
||||||
|
></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<!-- <el-form-item label="设备分类" prop="scode">
|
<el-form-item label="设备分类" prop="scode">
|
||||||
<el-select v-model="listQuery.scode" placeholder="请选择设备分类">
|
<el-select v-model="listQuery.scode" placeholder="请选择设备分类" :disabled="forbidden">
|
||||||
<el-option v-for="item in dict.D_BZ_JYQXFL" :key="item" :label="item.label" :value="item.dm"></el-option>
|
<el-option
|
||||||
|
v-for="item in dict.D_BZ_JYQXFL"
|
||||||
|
:key="item"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.dm"
|
||||||
|
></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item> -->
|
</el-form-item>
|
||||||
<el-form-item prop="qxMc" label="装备名称">
|
<el-form-item prop="qxMc" label="装备名称">
|
||||||
<el-input v-model="listQuery.qxMc" placeholder="请输入装备名称" clearable style="width: 100%" />
|
<el-input :disabled="forbidden"
|
||||||
|
v-model="listQuery.qxMc"
|
||||||
|
placeholder="请输入装备名称"
|
||||||
|
clearable
|
||||||
|
style="width: 100%"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="装备型号">
|
<el-form-item label="装备型号">
|
||||||
<el-input v-model="listQuery.xh" placeholder="请输入装备型号" clearable style="width: 100%" />
|
<el-input :disabled="forbidden"
|
||||||
|
v-model="listQuery.xh"
|
||||||
|
placeholder="请输入装备型号"
|
||||||
|
clearable
|
||||||
|
style="width: 100%"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="数量" prop="sl">
|
<el-form-item label="数量" prop="sl">
|
||||||
<el-input-number v-model="listQuery.sl" :step="1" :min="0" />
|
<el-input-number v-model="listQuery.sl" :step="1" :min="0" :disabled="forbidden"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="计量单位" prop="jsdw">
|
<el-form-item label="计量单位" prop="jsdw">
|
||||||
<el-input v-model="listQuery.jsdw" placeholder="请输入单位" clearable style="width: 100%" />
|
<el-input :disabled="forbidden"
|
||||||
|
v-model="listQuery.jsdw"
|
||||||
|
placeholder="请输入单位"
|
||||||
|
clearable
|
||||||
|
style="width: 100%"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="装备状态">
|
<el-form-item label="装备状态">
|
||||||
<el-select clearable v-model="listQuery.zbzt" placeholder="请选择" style="width: 100%">
|
<el-select :disabled="forbidden"
|
||||||
<el-option v-for="(item, index) in dict.D_ZDY_SBZT" :key="index" :label="item.label"
|
clearable
|
||||||
:value="item.value"></el-option>
|
v-model="listQuery.zbzt"
|
||||||
|
placeholder="请选择"
|
||||||
|
style="width: 100%"
|
||||||
|
>
|
||||||
|
<el-option
|
||||||
|
v-for="(item, index) in dict.D_ZDY_SBZT"
|
||||||
|
:key="index"
|
||||||
|
:label="item.label"
|
||||||
|
:value="item.value"
|
||||||
|
></el-option>
|
||||||
</el-select>
|
</el-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="装备厂商">
|
<el-form-item label="装备厂商">
|
||||||
<el-input v-model="listQuery.sccs" placeholder="请输入装备厂商" clearable style="width: 100%" />
|
<el-input
|
||||||
|
v-model="listQuery.sccs" :disabled="forbidden"
|
||||||
|
placeholder="请输入装备厂商"
|
||||||
|
clearable
|
||||||
|
style="width: 100%"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item prop="cgrq" label="购置日期">
|
<el-form-item prop="cgrq" label="购置日期">
|
||||||
<el-date-picker style="width: 100%" format="YYYY/MM/DD" value-format="YYYY-MM-DD" v-model="listQuery.cgrq"
|
<el-date-picker :disabled="forbidden"
|
||||||
type="date" placeholder="请选择日期" />
|
style="width: 100%"
|
||||||
|
format="YYYY/MM/DD"
|
||||||
|
value-format="YYYY-MM-DD"
|
||||||
|
v-model="listQuery.cgrq"
|
||||||
|
type="date"
|
||||||
|
placeholder="请选择日期"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item prop="dqsj" label="到期日期">
|
<el-form-item prop="dqsj" label="到期日期">
|
||||||
<el-date-picker format="YYYY/MM/DD" value-format="YYYY-MM-DD" v-model="listQuery.dqsj" type="date"
|
<el-date-picker :disabled="forbidden"
|
||||||
placeholder="请选择日期" style="width: 100%" />
|
format="YYYY/MM/DD"
|
||||||
|
value-format="YYYY-MM-DD"
|
||||||
|
v-model="listQuery.dqsj"
|
||||||
|
type="date"
|
||||||
|
placeholder="请选择日期"
|
||||||
|
style="width: 100%"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="备注" style="width: 100%">
|
<el-form-item label="备注" style="width: 100%">
|
||||||
<el-input v-model="listQuery.bz" placeholder="请输入关键字" show-word-limit type="textarea" />
|
<el-input
|
||||||
|
v-model="listQuery.bz" :disabled="forbidden"
|
||||||
|
placeholder="请输入备注"
|
||||||
|
show-word-limit
|
||||||
|
type="textarea"
|
||||||
|
/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-form>
|
</el-form>
|
||||||
</div>
|
</div>
|
||||||
@ -160,14 +229,18 @@ const propsTree = ref({
|
|||||||
emitPath: false,
|
emitPath: false,
|
||||||
multiple: false
|
multiple: false
|
||||||
});
|
});
|
||||||
|
const forbidden=ref(false)
|
||||||
// 初始化数据
|
// 初始化数据
|
||||||
const init = (type, row) => {
|
const init = (type, row) => {
|
||||||
pageType.value = type;
|
pageType.value = type;
|
||||||
dialogForm.value = true;
|
dialogForm.value = true;
|
||||||
// 根据type和row初始化表单数据
|
// 根据type和row初始化表单数据
|
||||||
tabHeightFn();
|
tabHeightFn();
|
||||||
if (type == "edit") {
|
if (type == "edit"||type == "detail") {
|
||||||
listQuery.value = { ...row };
|
listQuery.value = { ...row };
|
||||||
|
if (type == "detail") {
|
||||||
|
forbidden.value=true
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
listQuery.value = {};
|
listQuery.value = {};
|
||||||
}
|
}
|
||||||
|
@ -50,7 +50,10 @@
|
|||||||
display: flex;
|
display: flex;
|
||||||
margin-bottom: 10px;
|
margin-bottom: 10px;
|
||||||
">
|
">
|
||||||
<div style="position: relative; height: 100px">
|
<div style=" width: 100%; ">
|
||||||
|
<MOSTY.Upload width="100%" :limit="1" :isImg="true" v-model="addForm.tp" :disableds="forbidden"/>
|
||||||
|
</div>
|
||||||
|
<!-- <div style="position: relative; height: 100px">
|
||||||
<el-upload class="avatar-uploader" action="/mosty-api/mosty-base/minio/image/upload/id" :on-success="upImg"
|
<el-upload class="avatar-uploader" action="/mosty-api/mosty-base/minio/image/upload/id" :on-success="upImg"
|
||||||
:show-file-list="false">
|
:show-file-list="false">
|
||||||
<el-image v-if="imgUrl" :src="imgUrl" fit="cover" />
|
<el-image v-if="imgUrl" :src="imgUrl" fit="cover" />
|
||||||
@ -63,7 +66,7 @@
|
|||||||
</el-icon>
|
</el-icon>
|
||||||
</span>
|
</span>
|
||||||
</el-upload>
|
</el-upload>
|
||||||
</div>
|
</div> -->
|
||||||
</div>
|
</div>
|
||||||
<el-form-item label="民警姓名" prop="xm">
|
<el-form-item label="民警姓名" prop="xm">
|
||||||
<el-input v-model="addForm.xm" placeholder="请输入民警姓名" clearable style="width: 100%" />
|
<el-input v-model="addForm.xm" placeholder="请输入民警姓名" clearable style="width: 100%" />
|
||||||
|
@ -15,7 +15,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="leftMag">
|
<div class="leftMag">
|
||||||
<div class="ld">值班领导</div>
|
<div class="ld">值班领导</div>
|
||||||
<div class="name">{{ BbMag.fzrXm }}</div>
|
<div class="name">{{ BbMag?.fzrXm }}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="flex">
|
<div class="flex">
|
||||||
@ -24,7 +24,7 @@
|
|||||||
</div>
|
</div>
|
||||||
<div class="leftMag">
|
<div class="leftMag">
|
||||||
<div class="ld">联系电话</div>
|
<div class="ld">联系电话</div>
|
||||||
<div class="name">{{ BbMag.fzrLxdh }}</div>
|
<div class="name">{{ BbMag?.fzrLxdh }}</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="dutyList flex just-between align-center">
|
<div class="dutyList flex just-between align-center">
|
||||||
@ -32,7 +32,7 @@
|
|||||||
<img src="@/assets/images/tc/zbfj.png" alt="" srcset="" />
|
<img src="@/assets/images/tc/zbfj.png" alt="" srcset="" />
|
||||||
</div>
|
</div>
|
||||||
<div class="occupation">
|
<div class="occupation">
|
||||||
值班民警:<span class="number">{{ BbMag.ryList.length }}</span>
|
值班民警:<span class="number">{{ BbMag?.ryList.length }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="dutyList flex just-between align-center">
|
<div class="dutyList flex just-between align-center">
|
||||||
@ -40,7 +40,7 @@
|
|||||||
<img src="@/assets/images/tc/zbfj.png" alt="" srcset="" />
|
<img src="@/assets/images/tc/zbfj.png" alt="" srcset="" />
|
||||||
</div>
|
</div>
|
||||||
<div class="occupation">
|
<div class="occupation">
|
||||||
值班武警:<span class="number">{{ BbMag.ryList.length }}</span>
|
值班武警:<span class="number">{{ BbMag?.ryList.length }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div class="dutyList flex just-between align-center">
|
<div class="dutyList flex just-between align-center">
|
||||||
@ -48,7 +48,7 @@
|
|||||||
<img src="@/assets/images/tc/zbfj.png" alt="" srcset="" />
|
<img src="@/assets/images/tc/zbfj.png" alt="" srcset="" />
|
||||||
</div>
|
</div>
|
||||||
<div class="occupation">
|
<div class="occupation">
|
||||||
值班民警:<span class="number">{{ BbMag.ryList.length }}</span>
|
值班民警:<span class="number">{{ BbMag?.ryList.length }}</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -21,7 +21,7 @@
|
|||||||
:inline="true"
|
:inline="true"
|
||||||
:rules="rules"
|
:rules="rules"
|
||||||
>
|
>
|
||||||
<div class="bblxItem">
|
<!-- <div class="bblxItem">
|
||||||
<div class="btItem">环林卡口设置</div>
|
<div class="btItem">环林卡口设置</div>
|
||||||
<div class="info">
|
<div class="info">
|
||||||
<el-form-item>
|
<el-form-item>
|
||||||
@ -47,7 +47,7 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div> -->
|
||||||
<div class="bblxItem">
|
<div class="bblxItem">
|
||||||
<div class="btItem">班次设置</div>
|
<div class="btItem">班次设置</div>
|
||||||
<div class="info">
|
<div class="info">
|
||||||
@ -311,6 +311,7 @@ import { jczsavel, Xfbbupdate } from "@/api/mosty-jcz.js";
|
|||||||
import { ElMessage } from "element-plus";
|
import { ElMessage } from "element-plus";
|
||||||
import ChooseTable from "@/components/chooseList/chooseTable.vue";
|
import ChooseTable from "@/components/chooseList/chooseTable.vue";
|
||||||
import { timeValidate } from "@/utils/tools.js";
|
import { timeValidate } from "@/utils/tools.js";
|
||||||
|
import { useRoute } from "vue-router";
|
||||||
const { proxy } = getCurrentInstance();
|
const { proxy } = getCurrentInstance();
|
||||||
// const { D_BZ_JYQXFL } = proxy.$dict("D_BZ_JYQXFL");
|
// const { D_BZ_JYQXFL } = proxy.$dict("D_BZ_JYQXFL");
|
||||||
const props = defineProps({
|
const props = defineProps({
|
||||||
@ -324,7 +325,7 @@ const props = defineProps({
|
|||||||
},
|
},
|
||||||
row: { type: Object, default: () => {} }
|
row: { type: Object, default: () => {} }
|
||||||
});
|
});
|
||||||
|
const route = useRoute();
|
||||||
const emit = defineEmits(["close"]);
|
const emit = defineEmits(["close"]);
|
||||||
const formRef = ref(null);
|
const formRef = ref(null);
|
||||||
const dialogForm = ref(false);
|
const dialogForm = ref(false);
|
||||||
@ -371,6 +372,7 @@ const fz = (val) => {
|
|||||||
});
|
});
|
||||||
return data;
|
return data;
|
||||||
};
|
};
|
||||||
|
|
||||||
// 初始化数据
|
// 初始化数据
|
||||||
const init = (type) => {
|
const init = (type) => {
|
||||||
pageType.value = type;
|
pageType.value = type;
|
||||||
@ -405,8 +407,12 @@ watch(
|
|||||||
},
|
},
|
||||||
{ deep: true, immediate: true }
|
{ deep: true, immediate: true }
|
||||||
);
|
);
|
||||||
|
const routerList=ref({})
|
||||||
onMounted(() => {
|
onMounted(() => {
|
||||||
init();
|
init();
|
||||||
|
console.log(route.query );
|
||||||
|
|
||||||
|
routerList.value=route.query
|
||||||
});
|
});
|
||||||
// 验证规则
|
// 验证规则
|
||||||
const rules = ref({
|
const rules = ref({
|
||||||
@ -443,11 +449,9 @@ const _onSave = () => {
|
|||||||
case "07":
|
case "07":
|
||||||
listQuery.value.bcKts = 8;
|
listQuery.value.bcKts = 8;
|
||||||
}
|
}
|
||||||
if (listQuery.value.jczList) {
|
|
||||||
listQuery.value.jczid = listQuery.value.jczList.id;
|
|
||||||
listQuery.value.jczmc = listQuery.value.jczList.jczmc;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
listQuery.value.jczid = routerList.value.id?routerList.value.id:"";
|
||||||
|
listQuery.value.jczmc = routerList.value.name?routerList.value.name:"";
|
||||||
if (pageType.value == "add") {
|
if (pageType.value == "add") {
|
||||||
jczsavel(listQuery.value).then((res) => {
|
jczsavel(listQuery.value).then((res) => {
|
||||||
ElMessage({ message: "新增成功", type: "success" });
|
ElMessage({ message: "新增成功", type: "success" });
|
||||||
|
Reference in New Issue
Block a user