修改功能文档

This commit is contained in:
13684185576
2025-09-17 09:20:55 +08:00
38 changed files with 340 additions and 592 deletions

View File

@ -2,13 +2,17 @@
<template> <template>
<router-view v-slot="{ Component }" v-if="isRouterAlive"> <router-view v-slot="{ Component }" v-if="isRouterAlive">
<keep-alive :include="store.getters.keepLiiveRoute"> <keep-alive :include="store.getters.keepLiiveRoute">
<Watermark :text="content" :color="'rgba(0, 0, 0, .15)'">
<Component :is="Component"></Component> <Component :is="Component"></Component>
</Watermark>
</keep-alive> </keep-alive>
</router-view> </router-view>
</template> </template>
<script setup> <script setup>
import { ref, nextTick, provide, onMounted } from "vue"; import { ref, nextTick, provide, onMounted } from "vue";
import { useStore } from "vuex"; import { useStore } from "vuex";
import Watermark from "@/components/Watermark.vue";
import { timeValidate } from "@/utils/tools.js";
import { getItem } from "@/utils/storage"; import { getItem } from "@/utils/storage";
import { qcckPost, qcckGet, qcckPut, qcckDelete } from "@/api/qcckApi.js"; import { qcckPost, qcckGet, qcckPut, qcckDelete } from "@/api/qcckApi.js";
import { generateNewStyle, writeNewStyle } from "@/utils/theme"; import { generateNewStyle, writeNewStyle } from "@/utils/theme";
@ -26,9 +30,16 @@ const reload = () => {
provide("reload", reload); provide("reload", reload);
onMounted(() => { onMounted(() => {
let dept = getItem("deptId"); let dept = getItem("deptId");
frashJs()
document.title = "林芝"; document.title = "林芝";
}); });
const content=ref([])
const frashJs = () => {
const sfzh= getItem("idEntityCard")
const userName= getItem("USERNAME")
const time = timeValidate()
content.value=[userName,sfzh,time,"林芝市环林卡口综合管理","禁止泄露公民个人信息和警务工作秘密"]
}
</script> </script>
<style lang="scss"> <style lang="scss">
@import "./styles/index.scss"; @import "./styles/index.scss";

View File

@ -1,21 +1,12 @@
<template> <template>
<div> <div>
<el-dialog <el-dialog :title="titleValue" custom-class="qc-dialog" width="1400px" :model-value="modelValue" @close="closed">
:title="titleValue"
width="1400px"
:model-value="modelValue"
@close="closed"
>
<el-form :model="listQuery" :inline="true"> <el-form :model="listQuery" :inline="true">
<el-form-item label="所属部门"> <el-form-item label="所属部门">
<MOSTY.Department width="100%" clearable v-model="listQuery.ssbmdm" /> <MOSTY.Department width="100%" clearable v-model="listQuery.ssbmdm" />
</el-form-item> </el-form-item>
<el-form-item label="圈层名称"> <el-form-item label="圈层名称">
<el-input <el-input v-model="listQuery.qcmc" placeholder="请输入圈层名称" clearable />
v-model="listQuery.qcmc"
placeholder="请输入圈层名称"
clearable
/>
</el-form-item> </el-form-item>
<el-form-item> <el-form-item>
@ -24,64 +15,22 @@
</el-form-item> </el-form-item>
</el-form> </el-form>
<div class="tabBox" style="margin-top: 0px" v-if="modelValue"> <div class="tabBox" style="margin-top: 0px" v-if="modelValue">
<el-table <el-table ref="multipleUserRef" @selection-change="handleSelectionChange" :data="tableData" border
ref="multipleUserRef" style="width: 100%" :row-key="keyid" height="450">
@selection-change="handleSelectionChange" <el-table-column type="selection" width="55" :reserve-selection="true" v-if="props.multiple" />
:data="tableData"
border
style="width: 100%"
:row-key="keyid"
height="450"
>
<el-table-column
type="selection"
width="55"
:reserve-selection="true"
v-if="props.multiple"
/>
<el-table-column width="55" #default="{ row }" v-else> <el-table-column width="55" #default="{ row }" v-else>
<el-radio v-model="ridioIndex" :label="row.id"></el-radio> <el-radio v-model="ridioIndex" :label="row.id"></el-radio>
</el-table-column> </el-table-column>
<el-table-column <el-table-column label="序号" type="index" align="center" sortable width="80" />
label="序号" <el-table-column sortable prop="ssbm" label="所属部门" show-overflow-tooltip align="center"></el-table-column>
type="index" <el-table-column sortable prop="qcmc" show-overflow-tooltip label="圈层名称" align="center">
align="center"
sortable
width="80"
/>
<el-table-column
sortable
prop="ssbm"
label="所属部门"
show-overflow-tooltip
align="center"
></el-table-column>
<el-table-column
sortable
prop="qcmc"
show-overflow-tooltip
label="圈层名称"
align="center"
>
</el-table-column> </el-table-column>
<el-table-column <el-table-column sortable prop="qclx" show-overflow-tooltip label="圈层类型" align="center">
sortable
prop="qclx"
show-overflow-tooltip
label="圈层类型"
align="center"
>
<template #default="{ row }"> <template #default="{ row }">
<dict-tag :options="D_BZ_QCLX" :value="row.qclx" :tag="false" /> <dict-tag :options="D_BZ_QCLX" :value="row.qclx" :tag="false" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column sortable prop="qcjb" show-overflow-tooltip label="圈层等级" align="center">
sortable
prop="qcjb"
show-overflow-tooltip
label="圈层等级"
align="center"
>
<template #default="{ row }"> <template #default="{ row }">
<dict-tag :options="D_BZ_QCDJ" :value="row.qcjb" :tag="false" /> <dict-tag :options="D_BZ_QCDJ" :value="row.qcjb" :tag="false" />
</template> </template>
@ -89,16 +38,9 @@
</el-table> </el-table>
</div> </div>
<div class="fenye" :style="{ top: tableHeight + 'px' }"> <div class="fenye" :style="{ top: tableHeight + 'px' }">
<el-pagination <el-pagination class="pagination" @size-change="handleSizeChange" @current-change="handleCurrentChange"
class="pagination" :current-page="listQuery.pageCurrent" :page-sizes="[2, 5, 10, 20]" :page-size="listQuery.pageSize"
@size-change="handleSizeChange" layout="total, sizes, prev, pager, next, jumper" :total="total"></el-pagination>
@current-change="handleCurrentChange"
:current-page="listQuery.pageCurrent"
:page-sizes="[2, 5, 10, 20]"
:page-size="listQuery.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="total"
></el-pagination>
</div> </div>
<template #footer> <template #footer>
<div class="dialog-footer"> <div class="dialog-footer">
@ -270,9 +212,11 @@ watch(
<style lang="scss" scoped> <style lang="scss" scoped>
@import "@/assets/css/layout.scss"; @import "@/assets/css/layout.scss";
@import "@/assets/css/element-plus.scss"; @import "@/assets/css/element-plus.scss";
::v-deep .el-form--inline { ::v-deep .el-form--inline {
padding-left: 0 !important; padding-left: 0 !important;
} }
::v-deep .el-radio__label { ::v-deep .el-radio__label {
display: none; display: none;
} }
@ -281,7 +225,10 @@ watch(
.el-dialog { .el-dialog {
// --el-dialog-bg-color: #001238 !important; // --el-dialog-bg-color: #001238 !important;
} }
.qc-dialog {
.el-dialog__title { .el-dialog__title {
color: #fff !important; color: #fff !important;
} }
}
</style> </style>

View File

@ -1,15 +1,8 @@
<template> <template>
<el-popover <el-popover popper-class="dinw" :visible="visible" :width="getConfiger.width" :trigger="getConfiger.trigger">
popper-class="dinw" <template #reference><span class="deBtn" @click="handleClick">{{
:visible="visible"
:width="getConfiger.width"
:trigger="getConfiger.trigger"
>
<template #reference
><span class="deBtn" @click="handleClick">{{
getConfiger.selectName getConfiger.selectName
}}</span></template }}</span></template>
>
<div class="flex just-between align-center"> <div class="flex just-between align-center">
<span>{{ title }}</span> <span>{{ title }}</span>
<span @click="visible = false"> <span @click="visible = false">
@ -22,133 +15,67 @@
<div class="tableBox flex" v-if="visible"> <div class="tableBox flex" v-if="visible">
<!-- 左边 --> <!-- 左边 -->
<div class="table"> <div class="table">
<MyTable <MyTable @chooseData="chooseDataL" :tableData="pageDataL.tableData" :tableColumn="pageDataL.tableColumn"
@chooseData="chooseDataL" :tableHeight="common.tableHeight" :key="common.keyCount" :tableConfiger="common.tableConfiger">
:tableData="pageDataL.tableData"
:tableColumn="pageDataL.tableColumn"
:tableHeight="common.tableHeight"
:key="common.keyCount"
:tableConfiger="common.tableConfiger"
>
<!-- 是否报备 --> <!-- 是否报备 -->
<template #sfbb="{ row }"> <template #sfbb="{ row }">
<dict-tag <dict-tag :options="props.dic.D_BZ_SF" :value="row.sfbb" :tag="false" />
:options="props.dic.D_BZ_SF"
:value="row.sfbb"
:tag="false"
/>
</template> </template>
<!-- 警种类型 --> <!-- 警种类型 -->
<template #lx="{ row }"> <template #lx="{ row }">
<dict-tag <dict-tag :options="props.dic.D_BZ_RYJZLB" :value="row.lx" :tag="false" />
:options="props.dic.D_BZ_RYJZLB"
:value="row.lx"
:tag="false"
/>
</template> </template>
<!-- 人员类型 --> <!-- 人员类型 -->
<template #fl="{ row }"> <template #fl="{ row }">
<dict-tag <dict-tag :options="props.dic.D_BZ_RYMFJLB" :value="row.fl" :tag="false" />
:options="props.dic.D_BZ_RYMFJLB"
:value="row.fl"
:tag="false"
/>
</template> </template>
<!-- 设备类型 --> <!-- 设备类型 -->
<template #pddtlx="{ row }"> <template #pddtlx="{ row }">
<dict-tag <dict-tag :options="props.dic.D_BZ_PDDTLX" :value="row.pddtlx" :tag="false" />
:options="props.dic.D_BZ_PDDTLX"
:value="row.pddtlx"
:tag="false"
/>
</template> </template>
<!-- 班次类型 --> <!-- 班次类型 -->
<template #bcQwBbzl="{ row }"> <template #bcQwBbzl="{ row }">
<dict-tag <dict-tag :options="props.dic.D_QW_BBZL" :value="row.bcQwBbzl" :tag="false"></dict-tag>
:options="props.dic.D_QW_BBZL"
:value="row.bcQwBbzl"
:tag="false"
></dict-tag>
</template> </template>
<!-- 跨越天数 --> <!-- 跨越天数 -->
<template #bcKtsDict="{ row }"> <template #bcKtsDict="{ row }">
<dict-tag <dict-tag :options="props.dic.D_QW_BC_KTS" :value="row.bcKtsDict" :tag="false"></dict-tag>
:options="props.dic.D_QW_BC_KTS"
:value="row.bcKtsDict"
:tag="false"
></dict-tag>
</template> </template>
<!-- 请选择大类别 --> <!-- 请选择大类别 -->
<template #jyjtfwlb="{ row }"> <template #jyjtfwlb="{ row }">
<dict-tag <dict-tag :options="props.dic.D_JCGL_JYCL_JYJTFWLB" :value="row.jyjtfwlb" :tag="false"></dict-tag>
:options="props.dic.D_JCGL_JYCL_JYJTFWLB"
:value="row.jyjtfwlb"
:tag="false"
></dict-tag>
</template> </template>
<!-- 请选择小类别 --> <!-- 请选择小类别 -->
<template #jyjtgjlb="{ row }"> <template #jyjtgjlb="{ row }">
<dict-tag <dict-tag :options="props.dic.D_JCGL_JYCL_JYJTGJLB" :value="row.jyjtgjlb" :tag="false"></dict-tag>
:options="props.dic.D_JCGL_JYCL_JYJTGJLB"
:value="row.jyjtgjlb"
:tag="false"
></dict-tag>
</template> </template>
<!-- 设备类型 --> <!-- 设备类型 -->
<template #sblx="{ row }"> <template #sblx="{ row }">
<dict-tag <dict-tag :options="props.dic.D_JCGL_ZDSB_SBLX" :value="row.sblx" :tag="false"></dict-tag>
:options="props.dic.D_JCGL_ZDSB_SBLX"
:value="row.sblx"
:tag="false"
></dict-tag>
</template> </template>
<!-- 终端类别 --> <!-- 终端类别 -->
<template #sblb="{ row }"> <template #sblb="{ row }">
<dict-tag <dict-tag :options="props.dic.D_JCGL_ZDSB_SBLB" :value="row.sblb" :tag="false"></dict-tag>
:options="props.dic.D_JCGL_ZDSB_SBLB"
:value="row.sblb"
:tag="false"
></dict-tag>
</template> </template>
<!-- 器械类型 --> <!-- 器械类型 -->
<template #qxlx="{ row }"> <template #qxlx="{ row }">
<dict-tag <dict-tag :options="props.dic.D_JCGL_JYQX_QXLX" :value="row.qxlx" :tag="false"></dict-tag>
:options="props.dic.D_JCGL_JYQX_QXLX"
:value="row.qxlx"
:tag="false"
></dict-tag>
</template> </template>
<!-- 报备种类 --> <!-- 报备种类 -->
<template #jzQwBbzl="{ row }"> <template #jzQwBbzl="{ row }">
<dict-tag <dict-tag :options="props.dic.D_QW_BBZL" :value="row.jzQwBbzl" :tag="false"></dict-tag>
:options="props.dic.D_QW_BBZL"
:value="row.jzQwBbzl"
:tag="false"
></dict-tag>
</template> </template>
<!-- 巡防区域类别 --> <!-- 巡防区域类别 -->
<template #xqlb="{ row }"> <template #xqlb="{ row }">
<dict-tag <dict-tag :options="props.dic.D_QW_XQLB" :value="row.xqlb" :tag="false"></dict-tag>
:options="props.dic.D_QW_XQLB"
:value="row.xqlb"
:tag="false"
></dict-tag>
</template> </template>
<!-- 巡防区域类型 --> <!-- 巡防区域类型 -->
<template #xqlx="{ row }"> <template #xqlx="{ row }">
<dict-tag <dict-tag :options="props.dic.D_QW_XQLX" :value="row.xqlx" :tag="false"></dict-tag>
:options="props.dic.D_QW_XQLX"
:value="row.xqlx"
:tag="false"
></dict-tag>
</template> </template>
<!-- 警务站类型 --> <!-- 警务站类型 -->
<template #jwzLx="{ row }"> <template #jwzLx="{ row }">
<dict-tag <dict-tag :options="props.dic.D_BZ_JWZLX" :value="row.jwzLx" :tag="false"></dict-tag>
:options="props.dic.D_BZ_JWZLX"
:value="row.jwzLx"
:tag="false"
></dict-tag>
</template> </template>
<!-- 时间段 --> <!-- 时间段 -->
<template #sdList="{ row }"> <template #sdList="{ row }">
@ -165,134 +92,69 @@
</MyTable> </MyTable>
</div> </div>
<!-- 切换按钮 --> <!-- 切换按钮 -->
<div <div class="cnt flex just-center align-center" v-if="!getConfiger.isRadio">
class="cnt flex just-center align-center"
v-if="!getConfiger.isRadio"
>
<el-button :icon="Back" circle @click="upLeft" /> <el-button :icon="Back" circle @click="upLeft" />
<el-button :icon="Right" circle @click="upRight" /> <el-button :icon="Right" circle @click="upRight" />
</div> </div>
<!-- 右边 --> <!-- 右边 -->
<div class="table" v-if="!getConfiger.isRadio"> <div class="table" v-if="!getConfiger.isRadio">
<MyTable <MyTable @chooseData="chooseDataR" :tableData="pageDataR.tableData" :tableColumn="pageDataR.tableColumn"
@chooseData="chooseDataR" :tableHeight="common.tableHeight" :key="common.keyCount" :tableConfiger="common.tableConfiger">
:tableData="pageDataR.tableData"
:tableColumn="pageDataR.tableColumn"
:tableHeight="common.tableHeight"
:key="common.keyCount"
:tableConfiger="common.tableConfiger"
>
<!-- 是否报备 --> <!-- 是否报备 -->
<template #sfbb="{ row }"> <template #sfbb="{ row }">
<dict-tag <dict-tag :options="props.dic.D_BZ_SF" :value="row.sfbb" :tag="false" />
:options="props.dic.D_BZ_SF"
:value="row.sfbb"
:tag="false"
/>
</template> </template>
<!-- 警种类型 --> <!-- 警种类型 -->
<template #lx="{ row }"> <template #lx="{ row }">
<dict-tag <dict-tag :options="props.dic.D_BZ_RYJZLB" :value="row.lx" :tag="false" />
:options="props.dic.D_BZ_RYJZLB"
:value="row.lx"
:tag="false"
/>
</template> </template>
<!-- 人员类型 --> <!-- 人员类型 -->
<template #fl="{ row }"> <template #fl="{ row }">
<dict-tag <dict-tag :options="props.dic.D_BZ_RYMFJLB" :value="row.fl" :tag="false" />
:options="props.dic.D_BZ_RYMFJLB"
:value="row.fl"
:tag="false"
/>
</template> </template>
<!-- 设备类型 --> <!-- 设备类型 -->
<template #pddtlx="{ row }"> <template #pddtlx="{ row }">
<dict-tag <dict-tag :options="props.dic.D_BZ_PDDTLX" :value="row.pddtlx" :tag="false" />
:options="props.dic.D_BZ_PDDTLX"
:value="row.pddtlx"
:tag="false"
/>
</template> </template>
<!-- 班次类型 --> <!-- 班次类型 -->
<template #bcQwBbzl="{ row }"> <template #bcQwBbzl="{ row }">
<dict-tag <dict-tag :options="props.dic.D_QW_BBZL" :value="row.bcQwBbzl" :tag="false"></dict-tag>
:options="props.dic.D_QW_BBZL"
:value="row.bcQwBbzl"
:tag="false"
></dict-tag>
</template> </template>
<!-- 跨越天数 --> <!-- 跨越天数 -->
<template #bcKtsDict="{ row }"> <template #bcKtsDict="{ row }">
<dict-tag <dict-tag :options="props.dic.D_QW_BC_KTS" :value="row.bcKtsDict" :tag="false"></dict-tag>
:options="props.dic.D_QW_BC_KTS"
:value="row.bcKtsDict"
:tag="false"
></dict-tag>
</template> </template>
<!-- 请选择大类别 --> <!-- 请选择大类别 -->
<template #jyjtfwlb="{ row }"> <template #jyjtfwlb="{ row }">
<dict-tag <dict-tag :options="props.dic.D_JCGL_JYCL_JYJTFWLB" :value="row.jyjtfwlb" :tag="false"></dict-tag>
:options="props.dic.D_JCGL_JYCL_JYJTFWLB"
:value="row.jyjtfwlb"
:tag="false"
></dict-tag>
</template> </template>
<!-- 请选择小类别 --> <!-- 请选择小类别 -->
<template #jyjtgjlb="{ row }"> <template #jyjtgjlb="{ row }">
<dict-tag <dict-tag :options="props.dic.D_JCGL_JYCL_JYJTGJLB" :value="row.jyjtgjlb" :tag="false"></dict-tag>
:options="props.dic.D_JCGL_JYCL_JYJTGJLB"
:value="row.jyjtgjlb"
:tag="false"
></dict-tag>
</template> </template>
<!-- 设备类型 --> <!-- 设备类型 -->
<template #sblx="{ row }"> <template #sblx="{ row }">
<dict-tag <dict-tag :options="props.dic.D_JCGL_ZDSB_SBLX" :value="row.sblx" :tag="false"></dict-tag>
:options="props.dic.D_JCGL_ZDSB_SBLX"
:value="row.sblx"
:tag="false"
></dict-tag>
</template> </template>
<!-- 终端类别 --> <!-- 终端类别 -->
<template #sblb="{ row }"> <template #sblb="{ row }">
<dict-tag <dict-tag :options="props.dic.D_JCGL_ZDSB_SBLB" :value="row.sblb" :tag="false"></dict-tag>
:options="props.dic.D_JCGL_ZDSB_SBLB"
:value="row.sblb"
:tag="false"
></dict-tag>
</template> </template>
<!-- 器械类型 --> <!-- 器械类型 -->
<template #qxlx="{ row }"> <template #qxlx="{ row }">
<dict-tag <dict-tag :options="props.dic.D_JCGL_JYQX_QXLX" :value="row.qxlx" :tag="false"></dict-tag>
:options="props.dic.D_JCGL_JYQX_QXLX"
:value="row.qxlx"
:tag="false"
></dict-tag>
</template> </template>
<!-- 报备种类 --> <!-- 报备种类 -->
<template #jzQwBbzl="{ row }"> <template #jzQwBbzl="{ row }">
<dict-tag <dict-tag :options="props.dic.D_QW_BBZL" :value="row.jzQwBbzl" :tag="false"></dict-tag>
:options="props.dic.D_QW_BBZL"
:value="row.jzQwBbzl"
:tag="false"
></dict-tag>
</template> </template>
<!-- 巡防区域类别 --> <!-- 巡防区域类别 -->
<template #xqlb="{ row }"> <template #xqlb="{ row }">
<dict-tag <dict-tag :options="props.dic.D_QW_XQLB" :value="row.xqlb" :tag="false"></dict-tag>
:options="props.dic.D_QW_XQLB"
:value="row.xqlb"
:tag="false"
></dict-tag>
</template> </template>
<!-- 巡防区域类型 --> <!-- 巡防区域类型 -->
<template #xqlx="{ row }"> <template #xqlx="{ row }">
<dict-tag <dict-tag :options="props.dic.D_QW_XQLX" :value="row.xqlx" :tag="false"></dict-tag>
:options="props.dic.D_QW_XQLX"
:value="row.xqlx"
:tag="false"
></dict-tag>
</template> </template>
<!-- 时间段 --> <!-- 时间段 -->
<template #sdList="{ row }"> <template #sdList="{ row }">
@ -310,12 +172,8 @@
</div> </div>
</div> </div>
<div class="footInfoBtn flex just-between align-center"> <div class="footInfoBtn flex just-between align-center">
<Pages <Pages @changeNo="changeNo" @changeSize="changeSize" :tableHeight="common.tableHeight"
@changeNo="changeNo" :pageConfiger="{ ...listQuery }" />
@changeSize="changeSize"
:tableHeight="common.tableHeight"
:pageConfiger="{ ...listQuery }"
/>
<el-button type="primary" @click="submitDate">确定选择</el-button> <el-button type="primary" @click="submitDate">确定选择</el-button>
</div> </div>
</el-popover> </el-popover>
@ -827,6 +685,8 @@ const submitDate = () => {
} else { } else {
if (pageDataR.tableData.length == 0) if (pageDataR.tableData.length == 0)
return proxy.$message.warning("请选择数据"); return proxy.$message.warning("请选择数据");
console.log( pageDataR.tableData,' pageDataR.tableData');
emits("update:modelValue", pageDataR.tableData); //多选 emits("update:modelValue", pageDataR.tableData); //多选
emits("change", pageDataR.tableData); emits("change", pageDataR.tableData);
} }

View File

@ -17,7 +17,6 @@ let onRun = true;
router.beforeEach(async (to, from, next) => { router.beforeEach(async (to, from, next) => {
// 存在 token ,进入主页 // 存在 token ,进入主页
console.log(store.getters.token, '===store.getters.token'); console.log(store.getters.token, '===store.getters.token');
// if (store.state.user.token) { // if (store.state.user.token) {
// 快捷访问 // 快捷访问
if (store.getters.token) { if (store.getters.token) {
@ -47,12 +46,12 @@ router.beforeEach(async (to, from, next) => {
if (whiteList.indexOf(to.path) > -1) { if (whiteList.indexOf(to.path) > -1) {
next() next()
} else { } else {
next('/oatuh_login') if (isOatuh) {
// if (isOatuh) { const idEntityCard = getItem('idEntityCard')
// next('/oatuh_login') next(`/oatuh_login?token=${Base64.encode(idEntityCard)}`)
// } else { } else {
// next('/login') next('/login')
// } }
} }
} }
}) })

View File

@ -21,6 +21,11 @@ export const privateRoutes = [];
* 公开路由表 * 公开路由表
*/ */
export const publicRoutes = [ export const publicRoutes = [
{
path: "/oatuh_login",
name: "oatuh_login",
component: () => import("@/views/login/oatuh_login")
},
{ {
path: "/oatuh_login", path: "/oatuh_login",
name: "oatuh_login", name: "oatuh_login",
@ -421,6 +426,7 @@ export const publicRoutes = [
{ {
path: "/checkpoint", path: "/checkpoint",
name: "checkpoint", name: "checkpoint",
redirect: "/checkpoint",
meta: { meta: {
title: "环林卡口管理", title: "环林卡口管理",
icon: "article" icon: "article"
@ -441,6 +447,7 @@ export const publicRoutes = [
{ {
path: "/forewarning", path: "/forewarning",
name: "forewarning", name: "forewarning",
redirect: "/forewarning",
meta: { meta: {
title: "预警管理", title: "预警管理",
icon: "article" icon: "article"

View File

@ -132,23 +132,16 @@ export default {
*单点登录 *单点登录
*/ */
oatuhLogin(ctx, userInfo) { oatuhLogin(ctx, userInfo) {
const { const { token, systemId, } = userInfo;
token,
systemId,
} = userInfo;
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
unifiedLogin({ unifiedLogin({ token, systemId }).then((data) => {
token,
systemId,
})
.then((data) => {
debugger
if (data.deptList.length === 1) { if (data.deptList.length === 1) {
this.commit("user/setToken", data.jwtToken); this.commit("user/setToken", data.jwtToken);
this.commit("user/setDeptId", data.deptList); this.commit("user/setDeptId", data.deptList);
this.commit("user/setUserName", data.userName); this.commit("user/setUserName", data.userName);
setItem("USERNAME", data.userName); setItem("USERNAME", data.userName);
setItem('fzUserId', data.fzUserId)
setItem("SFRH", data.sfrh); setItem("SFRH", data.sfrh);
setItem("USERID", data.userId); setItem("USERID", data.userId);
setItem("PermissionsInfo", data.permissionsInfo); setItem("PermissionsInfo", data.permissionsInfo);

View File

@ -6,38 +6,27 @@
<li class="asideItem" v-for="(item, idx) in meun.leftMeun" :key="idx"> <li class="asideItem" v-for="(item, idx) in meun.leftMeun" :key="idx">
<div class="title">{{ item }}</div> <div class="title">{{ item }}</div>
<div class="asideCnt" @click="handless"> <div class="asideCnt" @click="handless">
<PeoCollection <PeoCollection :jczId="query.id" v-if="item == '人员数据采集'"></PeoCollection>
:jczId="query.id" <PlowStatistics :jczId="query.id" v-if="item == '流入流出统计'"></PlowStatistics>
v-if="item == '人员数据采集'" <WarningCount :jczId="query.id" v-if="item == '预警统计'"></WarningCount>
></PeoCollection>
<PlowStatistics
:jczId="query.id"
v-if="item == '流入流出统计'"
></PlowStatistics>
<WarningCount
:jczId="query.id"
v-if="item == '预警统计'"
></WarningCount>
</div> </div>
</li> </li>
</ul> </ul>
<div class="mainBox"> <div class="mainBox">
<div class="main-top"><VideoMore></VideoMore></div> <div class="main-top">
<div class="main-bottom"><VideoFoot></VideoFoot></div> <VideoMore></VideoMore>
</div>
<div class="main-bottom">
<VideoFoot></VideoFoot>
</div>
</div> </div>
<ul class="asideBox"> <ul class="asideBox">
<li class="asideItem" v-for="(item, idx) in meun.rightMeun" :key="idx"> <li class="asideItem" v-for="(item, idx) in meun.rightMeun" :key="idx">
<div class="title">{{ item }}</div> <div class="title">{{ item }}</div>
<div class="asideCnt"> <div class="asideCnt">
<BeOnDuty :jczId="query.id" v-if="item == '值班备勤'"></BeOnDuty> <BeOnDuty :jczId="query.id" v-if="item == '值班备勤'"></BeOnDuty>
<CarWarning <CarWarning :jczId="query.id" v-if="item == '车辆预警'"></CarWarning>
:jczId="query.id" <PeoWarning :jczId="query.id" v-if="item == '人员预警'"></PeoWarning>
v-if="item == '车辆预警'"
></CarWarning>
<PeoWarning
:jczId="query.id"
v-if="item == '人员预警'"
></PeoWarning>
</div> </div>
</li> </li>
</ul> </ul>
@ -71,21 +60,25 @@ const query = computed(() => {
.homeBox { .homeBox {
background: #000; background: #000;
} }
.mainBox_jcz { .mainBox_jcz {
position: absolute; position: absolute;
top: 65px; top: 65px;
width: 100%; width: 100%;
height: calc(100vh - 60px); height: calc(100vh - 60px);
background: #000; background: #000;
.asideBox { .asideBox {
width: 420px; width: 420px;
height: 100%; height: 100%;
.asideItem { .asideItem {
height: calc(100% / 3); height: calc(100% / 3);
background: url("~@/assets/images/bg12.png") no-repeat; background: url("~@/assets/images/bg12.png") no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
padding: 0 10px; padding: 0 10px;
box-sizing: border-box; box-sizing: border-box;
.title { .title {
height: 50px; height: 50px;
line-height: 50px; line-height: 50px;
@ -96,6 +89,7 @@ const query = computed(() => {
-webkit-background-clip: text; -webkit-background-clip: text;
-webkit-text-fill-color: transparent; -webkit-text-fill-color: transparent;
} }
.asideCnt { .asideCnt {
height: calc(100% - 50px); height: calc(100% - 50px);
overflow: hidden; overflow: hidden;
@ -103,14 +97,17 @@ const query = computed(() => {
} }
} }
} }
.mainBox { .mainBox {
flex: 1 0 0; flex: 1 0 0;
margin: 10px; margin: 10px;
.main-top { .main-top {
background: url("~@/assets/images/bg_13.png") no-repeat; background: url("~@/assets/images/bg_13.png") no-repeat;
background-size: 100% 100%; background-size: 100% 100%;
height: 70%; height: 70%;
} }
.main-bottom { .main-bottom {
height: 30%; height: 30%;
background: url("~@/assets/images/bg_14.png") no-repeat; background: url("~@/assets/images/bg_14.png") no-repeat;

View File

@ -2,18 +2,10 @@
<div class="warning-container"> <div class="warning-container">
<!-- 标签切换 --> <!-- 标签切换 -->
<div class="tab-container"> <div class="tab-container">
<div <div class="tab-item" @click="showchenge(1)" :class="{ active: show == 1 }">
class="tab-item"
@click="showchenge(1)"
:class="{ active: show == 1 }"
>
<div class="tab-content">值班人员</div> <div class="tab-content">值班人员</div>
</div> </div>
<div <div class="tab-item" @click="showchenge(2)" :class="{ active: show == 2 }">
class="tab-item"
@click="showchenge(2)"
:class="{ active: show == 2 }"
>
<div class="tab-content">值班装备</div> <div class="tab-content">值班装备</div>
</div> </div>
</div> </div>
@ -21,15 +13,11 @@
<!-- 预警列表 --> <!-- 预警列表 -->
<div class="warning-list" v-if="show == 2 && warningList"> <div class="warning-list" v-if="show == 2 && warningList">
<div class="warning-card"> <div class="warning-card">
<div class="title flex align-center"> <div class="title flex align-center white-text">
<img src="@/assets/images/icon_06.png" alt="" /> <img src="@/assets/images/icon_06.png" alt="" />
值班装备 值班装备
</div> </div>
<div <div class="cardItem flex white-text" v-for="(item, index) in warningList.qxList" :key="index">
class="cardItem flex"
v-for="(item, index) in warningList.qxList"
:key="index"
>
<span style="flex: 1">名称{{ item.qxmc }}</span> <span style="flex: 1">名称{{ item.qxmc }}</span>
<span style="flex: 1">数量{{ item.qxsl }}</span> <span style="flex: 1">数量{{ item.qxsl }}</span>
</div> </div>
@ -37,27 +25,19 @@
<div class="line mt6 mb6"></div> <div class="line mt6 mb6"></div>
<div class="warning-card"> <div class="warning-card">
<div class="title flex align-center"> <div class="title flex align-center white-text">
<img src="@/assets/images/icon_06.png" alt="" /> 值班车辆 <img src="@/assets/images/icon_06.png" alt="" /> 值班车辆
</div> </div>
<div <div class="cardItem white-text" v-for="(item, index) in warningList.clList" :key="index">
class="cardItem"
v-for="(item, index) in warningList.clList"
:key="index"
>
车牌号{{ item.cph }} 车牌号{{ item.cph }}
</div> </div>
</div> </div>
<div class="line mt6 mb6"></div> <div class="line mt6 mb6"></div>
<div class="warning-card"> <div class="warning-card">
<div class="title flex align-center"> <div class="title flex align-center white-text">
<img src="@/assets/images/icon_06.png" alt="" /> 智能设备 <img src="@/assets/images/icon_06.png" alt="" /> 智能设备
</div> </div>
<div <div class="cardItem white-text" v-for="(item, index) in warningList.sbList" :key="index">
class="cardItem"
v-for="(item, index) in warningList.sbList"
:key="index"
>
名称{{ item.sbmc }} 名称{{ item.sbmc }}
</div> </div>
</div> </div>
@ -65,19 +45,13 @@
<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">
<div class="warning-card"> <div class="warning-card">
<div class="title flex align-center"> <div class="title flex align-center white-text">
<img src="@/assets/images/icon_06.png" alt="" /> <img src="@/assets/images/icon_06.png" alt="" />
值班人员 值班人员
</div> </div>
<div <div class="cardItem flex white-text" v-for="(item, index) in warningList.ryList" :key="index">
class="cardItem flex"
v-for="(item, index) in warningList.ryList"
:key="index"
>
<span style="flex: 1">名称{{ item.ryXm }}</span> <span style="flex: 1">名称{{ item.ryXm }}</span>
<span style="flex: 1" <span style="flex: 1">警种{{ item.ryJzlx == "01" ? "民警" : "辅警" }}</span>
>警种{{ item.ryJzlx == "01" ? "民警" : "辅警" }}</span
>
</div> </div>
</div> </div>
<div class="line mt6 mb6"></div> <div class="line mt6 mb6"></div>
@ -189,6 +163,7 @@ getjczqueryById();
flex: 1; flex: 1;
display: flex; display: flex;
flex-direction: column; flex-direction: column;
// justify-content: space-between; // justify-content: space-between;
.cardItem { .cardItem {
height: 27px; height: 27px;
@ -200,6 +175,7 @@ getjczqueryById();
box-sizing: border-box; box-sizing: border-box;
} }
} }
.line { .line {
width: 100%; width: 100%;
height: 3px; height: 3px;
@ -210,6 +186,7 @@ getjczqueryById();
.warning-image { .warning-image {
width: 100px; width: 100px;
height: 80px; height: 80px;
img { img {
width: 100%; width: 100%;
height: 100%; height: 100%;
@ -248,5 +225,7 @@ getjczqueryById();
font-size: 12px; font-size: 12px;
margin-left: 10px; margin-left: 10px;
} }
.white-text{
color: #fff;
}
</style> </style>

View File

@ -56,6 +56,7 @@ countWay();
flex: 1; flex: 1;
text-align: center; text-align: center;
position: relative; position: relative;
color: #fff;
} }
.stat-number { .stat-number {

View File

@ -139,7 +139,6 @@ const pageData = reactive({
const Auth = ref(true) const Auth = ref(true)
onMounted(() => { onMounted(() => {
Auth.value = isAuth() Auth.value = isAuth()
tabHeightFn(); tabHeightFn();
}); });

View File

@ -1,10 +1,6 @@
<template> <template>
<div class="checkpoint-list noScollLine" v-loading="loading"> <div class="checkpoint-list noScollLine" v-loading="loading">
<div <div class="checkpoint-item" v-for="(item, index) in checkpoints" :key="index">
class="checkpoint-item"
v-for="(item, index) in checkpoints"
:key="index"
>
<div class="checkpoint-icon"> <div class="checkpoint-icon">
<img src="@/assets/images/bg_11.png" alt="环林卡口" /> <img src="@/assets/images/bg_11.png" alt="环林卡口" />
</div> </div>

View File

@ -149,6 +149,7 @@ getcountCrl();
flex: 1; flex: 1;
text-align: center; text-align: center;
position: relative; position: relative;
color: #fff;
} }
.stat-number { .stat-number {

View File

@ -11,12 +11,9 @@
</div> --> </div> -->
<div class="zbbb" v-if="query" @click="show = true">值班报备</div> <div class="zbbb" v-if="query" @click="show = true">值班报备</div>
</div> </div>
<el-dialog v-model="show" title="Shipping address"> <el-dialog v-model="show" width="800px" title="值班报备">
<div style="height: 50vh; overflow: auto" v-if="show"> <div style="height: 50vh; overflow: auto" v-if="show">
<zbbb <zbbb :row="row" @close="close" :dic="{
:row="row"
@close="close"
:dic="{
D_BZ_RYMFJLB, D_BZ_RYMFJLB,
D_BZ_JYQXFL, D_BZ_JYQXFL,
D_BZ_XFQDJ, D_BZ_XFQDJ,
@ -24,8 +21,7 @@
D_BZ_JLLX, D_BZ_JLLX,
D_QW_BBZT, D_QW_BBZT,
D_QW_BC_KTS D_QW_BC_KTS
}" }" />
/>
</div> </div>
</el-dialog> </el-dialog>
</template> </template>
@ -118,12 +114,14 @@ function goPath() {
background: rgba(0, 0, 0, 0.8); background: rgba(0, 0, 0, 0.8);
z-index: 2; z-index: 2;
} }
.home-head-box { .home-head-box {
position: relative; position: relative;
width: 100%; width: 100%;
height: 65px; height: 65px;
z-index: 2; z-index: 2;
background: #0e1b29; background: #0e1b29;
&::after { &::after {
content: ""; content: "";
position: absolute; position: absolute;
@ -136,6 +134,7 @@ function goPath() {
background: url("~@/assets/images/home_head.png") no-repeat center center; background: url("~@/assets/images/home_head.png") no-repeat center center;
background-size: 100% 100%; background-size: 100% 100%;
} }
.title { .title {
font-size: 36px; font-size: 36px;
left: 50%; left: 50%;
@ -147,12 +146,14 @@ function goPath() {
-webkit-text-fill-color: transparent; -webkit-text-fill-color: transparent;
cursor: pointer; cursor: pointer;
} }
.time { .time {
font-family: "DigifaceWide"; font-family: "DigifaceWide";
color: #fff; color: #fff;
left: 25%; left: 25%;
top: 10px; top: 10px;
} }
.wd { .wd {
right: 25%; right: 25%;
top: 12px; top: 12px;
@ -160,6 +161,7 @@ function goPath() {
font-family: "DigifaceWide"; font-family: "DigifaceWide";
color: #fff; color: #fff;
} }
.zbbb { .zbbb {
position: absolute; position: absolute;
right: 20px; right: 20px;
@ -172,6 +174,7 @@ function goPath() {
font-size: 16px; font-size: 16px;
background: url("~@/assets/images/btnbb.png") no-repeat center center; background: url("~@/assets/images/btnbb.png") no-repeat center center;
background-size: 100% 100%; background-size: 100% 100%;
color: #fff;
cursor: pointer; cursor: pointer;
} }
} }

View File

@ -3,22 +3,12 @@
<div class="flex align-center just-between box"> <div class="flex align-center just-between box">
<div class="flex align-center"> <div class="flex align-center">
报备单位 报备单位
<MOSTY.Department <MOSTY.Department v-model="listQuery.ssbmdm" placeholder="请选择部门" @getDepValue="changeDep" />
v-model="listQuery.ssbmdm"
placeholder="请选择部门"
@getDepValue="changeDep"
/>
</div> </div>
<!-- v-if="['add', 'edit'].includes(pageType)" --> <!-- v-if="['add', 'edit'].includes(pageType)" -->
<el-button size="small" type="primary" @click="_onSave" :disabled="loding">保存</el-button> <el-button size="small" type="primary" @click="_onSave" :disabled="loding">保存</el-button>
</div> </div>
<el-form <el-form ref="formRef" class="info" :model="listQuery" :inline="true" :rules="rules">
ref="formRef"
class="info"
:model="listQuery"
:inline="true"
:rules="rules"
>
<!-- <div class="bblxItem"> <!-- <div class="bblxItem">
<div class="btItem">环林卡口设置</div> <div class="btItem">环林卡口设置</div>
<div class="info"> <div class="info">
@ -50,37 +40,18 @@
<div class="btItem">班次设置</div> <div class="btItem">班次设置</div>
<div class="info"> <div class="info">
<el-form-item prop="bcKssj" label=" "> <el-form-item prop="bcKssj" label=" ">
<el-time-picker <el-time-picker v-model="listQuery.bcKssj" :disabled="isDetail" placeholder="开始时间" format="HH:mm:ss"
v-model="listQuery.bcKssj" value-format="HH:mm:ss" />
:disabled="isDetail"
placeholder="开始时间"
format="HH:mm:ss"
value-format="HH:mm:ss"
/>
</el-form-item> </el-form-item>
<el-form-item prop="bcKtsDict" label=" "> <el-form-item prop="bcKtsDict" label=" ">
<el-select <el-select clearable v-model="listQuery.bcKtsDict" placeholder="请选择" style="width: 100%">
clearable <el-option v-for="(item, index) in dic.D_QW_BC_KTS" :key="index" :label="item.label"
v-model="listQuery.bcKtsDict" :value="item.value"></el-option>
placeholder="请选择"
style="width: 100%"
>
<el-option
v-for="(item, index) in dic.D_QW_BC_KTS"
:key="index"
:label="item.label"
:value="item.value"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item prop="bcJssj" label=" "> <el-form-item prop="bcJssj" label=" ">
<el-time-picker <el-time-picker v-model="listQuery.bcJssj" :disabled="isDetail" format="HH:mm:ss" placeholder="结束时间"
v-model="listQuery.bcJssj" value-format="HH:mm:ss" />
:disabled="isDetail"
format="HH:mm:ss"
placeholder="结束时间"
value-format="HH:mm:ss"
/>
</el-form-item> </el-form-item>
</div> </div>
</div> </div>
@ -88,42 +59,21 @@
<div class="btItem">负责人</div> <div class="btItem">负责人</div>
<div class="info"> <div class="info">
<el-form-item> <el-form-item>
<ChooseTable <ChooseTable :deptment="deptment" @change="handleFzr" v-if="!isDetail" :configer="{
:deptment="deptment"
@change="handleFzr"
v-if="!isDetail"
:configer="{
width: 700, width: 700,
lx: 'mj', lx: 'mj',
rowKey: 'id', rowKey: 'id',
isRadio: true isRadio: true
}" }" :dic="props.dic" />
:dic="props.dic"
/>
</el-form-item> </el-form-item>
<el-form-item prop="fzrXm" label=" "> <el-form-item prop="fzrXm" label=" ">
<el-input <el-input readonly v-model="listQuery.fzrXm" placeholder="负责人" clearable />
readonly
v-model="listQuery.fzrXm"
placeholder="负责人"
clearable
/>
</el-form-item> </el-form-item>
<el-form-item prop="fzrSfzh" label=" "> <el-form-item prop="fzrSfzh" label=" ">
<el-input <el-input readonly v-model="listQuery.fzrSfzh" placeholder="身份证" clearable />
readonly
v-model="listQuery.fzrSfzh"
placeholder="身份证"
clearable
/>
</el-form-item> </el-form-item>
<el-form-item prop="fzrLxdh" label=" "> <el-form-item prop="fzrLxdh" label=" ">
<el-input <el-input readonly v-model="listQuery.fzrLxdh" placeholder="负责人电话" clearable />
readonly
v-model="listQuery.fzrLxdh"
placeholder="负责人电话"
clearable
/>
</el-form-item> </el-form-item>
</div> </div>
</div> </div>
@ -136,17 +86,11 @@
<div class="num"> <div class="num">
{{ mjData ? mjData.length : 0 }} {{ mjData ? mjData.length : 0 }}
</div> </div>
<ChooseTable <ChooseTable :deptment="deptment" v-if="!isDetail" :dic="props.dic" :configer="{
:deptment="deptment"
v-if="!isDetail"
:dic="props.dic"
:configer="{
lx: 'mj', lx: 'mj',
rowKey: 'ryid', rowKey: 'ryid',
placement: 'top-start' placement: 'top-start'
}" }" v-model="mjData" />
v-model="mjData"
/>
<div class="peolist"> <div class="peolist">
<el-tag type="primary" v-for="item in mjData" :key="item">{{ <el-tag type="primary" v-for="item in mjData" :key="item">{{
item.jlxm || item.xm item.jlxm || item.xm
@ -163,13 +107,8 @@
</div> </div>
<!-- :deptment="props.dep" <!-- :deptment="props.dep"
:dic="props.dic" --> :dic="props.dic" -->
<ChooseTable <ChooseTable :deptment="deptment" :dic="props.dic" v-if="!isDetail"
:deptment="deptment" :configer="{ lx: 'fj', placement: 'top-start' }" v-model="fjData" />
:dic="props.dic"
v-if="!isDetail"
:configer="{ lx: 'fj', placement: 'top-start' }"
v-model="fjData"
/>
<div class="peolist"> <div class="peolist">
<el-tag type="primary" v-for="item in fjData" :key="item">{{ <el-tag type="primary" v-for="item in fjData" :key="item">{{
item.jlxm || item.xm item.jlxm || item.xm
@ -189,24 +128,13 @@
<div class="num"> <div class="num">
{{ listQuery.zdList ? listQuery.zdList.length : 0 }} {{ listQuery.zdList ? listQuery.zdList.length : 0 }}
</div> </div>
<ChooseTable <ChooseTable :dic="props.dic" v-if="!isDetail" :deptment="deptment" :configer="{
:dic="props.dic"
v-if="!isDetail"
:deptment="deptment"
:configer="{
lx: 'znzb', lx: 'znzb',
rowKey: 'id', rowKey: 'id',
placement: 'top-start' placement: 'top-start'
}" }" v-model="listQuery.zdList" />
v-model="listQuery.zdList"
/>
<div class="peolist"> <div class="peolist">
<el-tag <el-tag type="primary" v-for="item in listQuery.zdList" :key="item">{{ item.sbmc }}</el-tag>
type="primary"
v-for="item in listQuery.zdList"
:key="item"
>{{ item.sbmc }}</el-tag
>
</div> </div>
</div> </div>
</el-form-item> </el-form-item>
@ -257,24 +185,13 @@
<div class="num"> <div class="num">
{{ listQuery.clList ? listQuery.clList.length : 0 }} {{ listQuery.clList ? listQuery.clList.length : 0 }}
</div> </div>
<ChooseTable <ChooseTable :deptment="deptment" v-if="!isDetail" :dic="props.dic" :configer="{
:deptment="deptment"
v-if="!isDetail"
:dic="props.dic"
:configer="{
lx: 'cl', lx: 'cl',
rowKey: 'id', rowKey: 'id',
placement: 'top-start' placement: 'top-start'
}" }" v-model="listQuery.clList" />
v-model="listQuery.clList"
/>
<div class="peolist"> <div class="peolist">
<el-tag <el-tag type="primary" v-for="item in listQuery.clList" :key="item">{{ item.cph }}</el-tag>
type="primary"
v-for="item in listQuery.clList"
:key="item"
>{{ item.cph }}</el-tag
>
</div> </div>
</div> </div>
</el-form-item> </el-form-item>
@ -285,11 +202,7 @@
<div class="btItem">警用器械</div> <div class="btItem">警用器械</div>
<div class="info"> <div class="info">
<el-form-item> <el-form-item>
<div <div v-for="(item, index) in listQuery.qxList" :key="index" style="width: 50%; margin-bottom: 10px">
v-for="(item, index) in listQuery.qxList"
:key="index"
style="width: 50%; 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 v-model="item.qxsl" :step="1" />
@ -352,8 +265,8 @@ const ChegeMj = (val) => {
xfllld: item.id, xfllld: item.id,
ryXm: item.xm, ryXm: item.xm,
rysfzh: item.sfzh, rysfzh: item.sfzh,
ryJzlx: item.fl, ryMfjlb: item.fl,
ryMfjilb: item.ryid, ryid:item.ryid,
ryLxdh: item.lxdh ryLxdh: item.lxdh
}; };
}); });
@ -365,8 +278,8 @@ const fz = (val) => {
id: item.xfllld, id: item.xfllld,
xm: item.ryXm, xm: item.ryXm,
sfzh: item.rysfzh, sfzh: item.rysfzh,
fl: item.ryJzlx, fl: item.ryMfjlb,
ryid: item.ryMfjilb, ryid:item.ryid,
lxdh: item.ryLxdh lxdh: item.ryLxdh
}; };
}); });
@ -453,7 +366,6 @@ const loding = ref(false);
const _onSave = () => { const _onSave = () => {
formRef.value.validate().then(async () => { formRef.value.validate().then(async () => {
const data = [...mjData.value, ...fjData.value]; const data = [...mjData.value, ...fjData.value];
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);
@ -568,6 +480,7 @@ const changeJCZ = (val) => {
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;
@ -575,12 +488,14 @@ const changeJCZ = (val) => {
color: #000; color: #000;
} }
} }
.bblxItem { .bblxItem {
width: 100%; width: 100%;
line-height: 40px; line-height: 40px;
min-height: 40px; min-height: 40px;
display: flex; display: flex;
color: #000; color: #000;
.btItem { .btItem {
width: 180px; width: 180px;
padding: 7px 0; padding: 7px 0;
@ -588,17 +503,20 @@ const changeJCZ = (val) => {
margin-top: 1px; margin-top: 1px;
text-align: center; text-align: center;
} }
.info { .info {
flex: 1; flex: 1;
background: #0000000a; background: #0000000a;
margin-top: 1px; margin-top: 1px;
padding: 10px; padding: 10px;
box-sizing: border-box; box-sizing: border-box;
.gapline { .gapline {
height: 1px; height: 1px;
border-top: 1px dashed #66cbff; border-top: 1px dashed #66cbff;
margin: 4px 0; margin: 4px 0;
} }
.dl-car { .dl-car {
min-width: 200px; min-width: 200px;
display: inline-block; display: inline-block;
@ -607,6 +525,7 @@ const changeJCZ = (val) => {
padding: 0; padding: 0;
border-radius: 5px; border-radius: 5px;
position: relative; position: relative;
dt { dt {
display: flex; display: flex;
justify-content: space-between; justify-content: space-between;
@ -621,12 +540,14 @@ const changeJCZ = (val) => {
height: 30px; height: 30px;
border-radius: 5px 5px 0 0; border-radius: 5px 5px 0 0;
} }
.peo { .peo {
border-bottom: solid 1px #01d608; border-bottom: solid 1px #01d608;
background: #dbf3cf; background: #dbf3cf;
color: #339d00; color: #339d00;
} }
} }
.dl-car::before { .dl-car::before {
position: absolute; position: absolute;
content: ""; content: "";
@ -637,6 +558,7 @@ const changeJCZ = (val) => {
background: url("~@/assets/images/peo.png"); background: url("~@/assets/images/peo.png");
} }
} }
.num { .num {
width: 50px; width: 50px;
height: 30px; height: 30px;
@ -647,6 +569,7 @@ const changeJCZ = (val) => {
border-radius: 4px; border-radius: 4px;
margin-right: 10px; margin-right: 10px;
} }
.subBtn { .subBtn {
padding-left: 100px; padding-left: 100px;
box-sizing: border-box; box-sizing: border-box;
@ -656,9 +579,11 @@ const changeJCZ = (val) => {
::v-deep .el-form-item--default { ::v-deep .el-form-item--default {
margin-bottom: 0; margin-bottom: 0;
} }
::v-deep .el-form-item { ::v-deep .el-form-item {
margin-bottom: 10px; margin-bottom: 10px;
} }
::v-deep .el-form--inline .el-form-item { ::v-deep .el-form--inline .el-form-item {
margin-right: 20px; margin-right: 20px;
margin-top: 10px; margin-top: 10px;
@ -671,9 +596,11 @@ const changeJCZ = (val) => {
color: #fff; color: #fff;
cursor: pointer; cursor: pointer;
} }
.box { .box {
margin-bottom: 10px; margin-bottom: 10px;
} }
::v-deep .el-form-item__label { ::v-deep .el-form-item__label {
padding: 0; padding: 0;
} }

View File

@ -26,7 +26,7 @@ const handleLogin = (e) => {
store.dispatch("user/oatuhLogin", e).then((res) => { store.dispatch("user/oatuhLogin", e).then((res) => {
// 登录后操作 // 登录后操作
if (res.deptList.length === 1) { if (res.deptList.length === 1) {
// window.location.hash = "/"; window.location.hash = "/";
} else { } else {
deptList.value = [...res.deptList]; deptList.value = [...res.deptList];
loginDialog.value = true; loginDialog.value = true;

View File

@ -4,8 +4,8 @@ function resolve(dir) {
return path.join(__dirname, dir); return path.join(__dirname, dir);
} }
// const serverHost = "http://192.192.8.9:8006"; const serverHost = "http://47.108.232.77:9537";
const serverHost = "http://192.168.0.231:8006" // const serverHost = "http://192.168.0.231:8006"
// const serverHost = "http://127.0.0.1:8006" // const serverHost = "http://127.0.0.1:8006"
module.exports = { module.exports = {
publicPath: "./", publicPath: "./",

9
ylth/index.html Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d22bd3e"],{f141:function(t,e,n){"use strict";n.r(e);var o=n("7a23"),c=n("5502"),a=n("5d2d"),u={__name:"oatuh_login",setup(t){const e=Object(o["ref"])(!1),n=Object(o["ref"])([]),u=Object(c["b"])();function i(){let t=location.hash.slice(20)||null;null!=t?(t=t.replace(/\ +/g,""),Object(a["c"])("SSOTOKEN",t),l({token:t})):window.location.href="http://155.240.22.102:40992"}const l=t=>{u.dispatch("user/oatuhLogin",t).then(t=>{1===t.deptList.length?window.location.hash="/":(n.value=[...t.deptList],e.value=!0,authorization.value=t.jwtToken)})};return Object(o["onMounted"])(()=>{i()}),(t,e)=>null}};const i=u;e["default"]=i}}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

BIN
ylth/ylth.zip Normal file

Binary file not shown.