Browse Source

Merge branch 'yantai_dev' of http://git.elinkit.com.cn:7070/r/epmet-oper-gov into yantai_dev

feature
jiangyy 3 years ago
parent
commit
05844c9ede
  1. 46
      src/assets/scss/pages/yantai-index.scss
  2. 3
      src/element-ui/theme-variables.scss
  3. 61
      src/views/components/fixed1920.vue
  4. 212
      src/views/components/resiSearch.vue
  5. 9
      src/views/main-shuju/main.vue
  6. 174
      src/views/pages/yantai-index.vue
  7. 2
      src/views/pages/yantai-login.vue

46
src/assets/scss/pages/yantai-index.scss

@ -1,28 +1,19 @@
@import "~@/assets/scss/c/config.scss"; @import "~@/assets/scss/c/config.scss";
@import "~@/assets/scss/c/function.scss"; @import "~@/assets/scss/c/function.scss";
.g-bd { .g-cnt {
&::before,
&::after {
position: absolute; position: absolute;
top: 0; top: 0;
left: 0;
right: 0; right: 0;
bottom: 0; bottom: 0;
left: 0;
z-index: -1;
content: "";
}
&::before {
background-image: url(~@/assets/img/yantai/index/bg.png); background-image: url(~@/assets/img/yantai/index/bg.png);
background-size: cover; background-size: cover;
} background-position: center;
&::after {
// background-color: rgba(38, 50, 56, 0.1);
}
} }
.m-top { .m-top {
position: fixed; position: absolute;
top: 0; top: 0;
width: 1920px; width: 1920px;
left: -1000px; left: -1000px;
@ -46,7 +37,7 @@
} }
.m-list { .m-list {
position: fixed; position: absolute;
top: 50%; top: 50%;
left: 0; left: 0;
right: 0; right: 0;
@ -59,6 +50,7 @@
align-items: center; align-items: center;
width: 100%; width: 100%;
margin: 0 auto; margin: 0 auto;
.menu { .menu {
position: relative; position: relative;
@ -79,6 +71,7 @@
border-radius: 60px; border-radius: 60px;
text-align: center; text-align: center;
transition: all 0.2s ease; transition: all 0.2s ease;
cursor: pointer;
&.z-zuo { &.z-zuo {
left: 60px; left: 60px;
@ -98,26 +91,26 @@
} }
&.z-you { &.z-you {
right: 70px; left: 70px;
background: linear-gradient(to right, rgba(rgb(67, 67, 210), 0.3), rgba(#00a, 0)); background: linear-gradient(to right, rgba(rgb(67, 67, 210), 0.3), rgba(#00a, 0));
box-shadow: 4px 4px 6px 0 inset rgba(#fff, 0.2); box-shadow: 4px 4px 6px 0 inset rgba(#fff, 0.2);
&:nth-child(2), &:nth-child(2),
&:nth-child(6) { &:nth-child(6) {
margin-right: 20px; margin-left: -20px;
} }
&:nth-child(3), &:nth-child(3),
&:nth-child(5) { &:nth-child(5) {
margin-right: 20px * 2; margin-left: -20px * 2;
} }
&:nth-child(4) { &:nth-child(4) {
margin-right: 20px * 2 + 1px; margin-left: -20px * 2 - 1px;
} }
} }
&:hover, &:hover,
&.z-on { &.z-on {
transform: scale(1.2); transform: scale(1.15);
color: rgba(#fff, 0.95); color: rgba(#fff, 0.95);
} }
} }
@ -125,16 +118,23 @@
} }
.arrow { .arrow {
width: 60px;
margin: 0 20px; margin: 0 20px;
} }
.item { .item {
position: relative; position: relative;
margin: 0 50px;
width: 420px; width: 420px;
margin: 0 20px;
max-width: 612px; .item-wrap {
text-align: center; text-align: center;
cursor: pointer; cursor: pointer;
transition: all 0.2s ease;
&:hover {
transform: scale(1.1);
}
}
&.z-on { &.z-on {
.name { .name {
@ -151,11 +151,11 @@
} }
.name { .name {
position: absolute; position: absolute;
top: 0; top: 12%;
left: 0; left: 0;
width: 100%; width: 100%;
font-size: 36px; font-size: 36px;
line-height: 140px; line-height: 40px;
color: #fff; color: #fff;
} }
} }

3
src/element-ui/theme-variables.scss

@ -16,7 +16,8 @@ $--color-transition-base: color .2s cubic-bezier(.645,.045,.355,1) !default;
/* Color /* Color
-------------------------- */ -------------------------- */
/// color|1|Brand Color|0 /// color|1|Brand Color|0
$--color-primary: #17B3A3 !default; // $--color-primary: #17B3A3 !default;
$--color-primary: #3E8EF7 !default;
/// color|1|Background Color|4 /// color|1|Background Color|4
$--color-white: #FFFFFF !default; $--color-white: #FFFFFF !default;
/// color|1|Background Color|4 /// color|1|Background Color|4

61
src/views/components/fixed1920.vue

@ -0,0 +1,61 @@
<template>
<div class="g-app">
<div class="g-bd" :style="bdStyle">
<slot></slot>
</div>
</div>
</template>
<script>
export default {
data() {
return {
clientHeight: document.documentElement.clientHeight,
clientWidth: document.documentElement.clientWidth,
};
},
components: {},
computed: {
bdStyle() {
const { clientHeight, clientWidth } = this;
console.log("clientHeight", clientHeight);
const scale = clientWidth / 1920;
const height = clientHeight / scale;
const top = (clientHeight - height) / 2;
const left = (clientWidth - 1920) / 2;
return {
transform: `scale(${scale})`,
height: `${height}px`,
left: `${left}px`,
top: `${top}px`,
};
},
},
created() {},
mounted() {
window.addEventListener("resize", () => {
this.clientHeight = document.documentElement.clientHeight;
this.clientWidth = document.documentElement.clientWidth;
});
},
methods: {},
};
</script>
<style lang="scss" scoped>
.g-app {
position: absolute;
// width: 1920px;
width: 100%;
height: 100vh;
overflow: hidden;
}
.g-bd {
position: absolute;
width: 1920px;
overflow-x: hidden;
overflow-y: auto;
}
</style>

212
src/views/components/resiSearch.vue

@ -1,9 +1,25 @@
<template> <template>
<div class="resi-container"> <div class="resi-container">
<!-- <el-card class="resi-card"> --> <!-- <el-card class="resi-card"> -->
<el-row class="resi-row-box" :class="!isArrow && 'resi-row-more'"> <el-row class="resi-row-box"
<el-row v-if="showGrid" class="resi-row"> :class="!isArrow && 'resi-row-more'">
<el-row v-if="showGrid"
class="resi-row">
<el-col :span="6"> <el-col :span="6">
<div class="resi-cell">
<div class="resi-cell-label">所属组织</div>
<div class="resi-cell-value">
<el-cascader class="customer_cascader"
ref="myCascader"
v-model="agencyIdArray"
:options="orgOptions"
:props="orgOptionProps"
:show-all-levels="false"
@change="handleChangeAgency"></el-cascader>
</div>
</div>
</el-col>
<!-- <el-col :span="6">
<div class="resi-cell"> <div class="resi-cell">
<div class="resi-cell-label">所属网格</div> <div class="resi-cell-label">所属网格</div>
<div class="resi-cell-value"> <div class="resi-cell-value">
@ -25,30 +41,25 @@
</el-select> </el-select>
</div> </div>
</div> </div>
</el-col> </el-col>-->
<el-col :span="18"> <el-col :span="18">
<div class="resi-cell"> <div class="resi-cell">
<div class="resi-cell-label">所属房屋</div> <div class="resi-cell-label">所属房屋</div>
<div class="resi-cell-value"> <div class="resi-cell-value">
<el-select <el-select v-model.trim="form.VILLAGE_ID"
v-model.trim="form.VILLAGE_ID"
placeholder="请选择小区" placeholder="请选择小区"
size="small" size="small"
clearable clearable
class="resi-cell-select" class="resi-cell-select"
@clear="handleClearVillage" @clear="handleClearVillage"
@change="handleChangeV" @change="handleChangeV">
> <el-option v-for="item in optionsV"
<el-option
v-for="item in optionsV"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value">
>
</el-option> </el-option>
</el-select> </el-select>
<el-select <el-select v-model.trim="form.BUILD_ID"
v-model.trim="form.BUILD_ID"
placeholder="楼号" placeholder="楼号"
size="small" size="small"
clearable clearable
@ -56,18 +67,14 @@
class="resi-cell-select" class="resi-cell-select"
:disabled="changeVDisabled" :disabled="changeVDisabled"
@clear="handleClearBuild" @clear="handleClearBuild"
@change="handleChangeB" @change="handleChangeB">
> <el-option v-for="item in optionsB"
<el-option
v-for="item in optionsB"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value">
>
</el-option> </el-option>
</el-select> </el-select>
<el-select <el-select v-model.trim="form.UNIT_ID"
v-model.trim="form.UNIT_ID"
:disabled="changeBDisabled" :disabled="changeBDisabled"
placeholder="单元" placeholder="单元"
size="small" size="small"
@ -75,57 +82,47 @@
style="width: 120px;" style="width: 120px;"
class="resi-cell-select" class="resi-cell-select"
@click="handleClearDan" @click="handleClearDan"
@change="handleChangeD" @change="handleChangeD">
> <el-option v-for="item in optionsD"
<el-option
v-for="item in optionsD"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value">
>
</el-option> </el-option>
</el-select> </el-select>
<el-select <el-select v-model.trim="form.HOME_ID"
v-model.trim="form.HOME_ID"
:disabled="changeDDisabled" :disabled="changeDDisabled"
placeholder="房号" placeholder="房号"
size="small" size="small"
clearable clearable
style="width: 120px;" style="width: 120px;"
class="resi-cell-select" class="resi-cell-select">
> <el-option v-for="item in optionsH"
<el-option
v-for="item in optionsH"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value">
>
</el-option> </el-option>
</el-select> </el-select>
</div> </div>
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
<el-row <el-row v-for="(item, index) in sliceList(itemList, 4)"
v-for="(item, index) in sliceList(itemList, 4)"
:key="index" :key="index"
class="resi-row" class="resi-row">
> <el-col v-for="n in item"
<el-col v-for="n in item" :key="n.id" :span="computdSpan(item.length)"> :key="n.id"
:span="computdSpan(item.length)">
<div class="resi-cell"> <div class="resi-cell">
<div class="resi-cell-label" :class="item.length != 4 && 'resi-cell-label1'">{{ n.label }}</div> <div class="resi-cell-label"
<div :class="item.length != 4 && 'resi-cell-label1'">{{ n.label }}</div>
class="resi-cell-value" <div class="resi-cell-value"
:class="n.itemType === 'radio' && 'resi-cell-value-radio'" :class="n.itemType === 'radio' && 'resi-cell-value-radio'">
> <el-input v-if="n.itemType === 'input' || n.itemType === 'textarea'"
<el-input
v-if="n.itemType === 'input' || n.itemType === 'textarea'"
v-model.trim="form[n.columnName]" v-model.trim="form[n.columnName]"
class="resi-cell-input" class="resi-cell-input"
size="small" size="small"
clearable clearable
placeholder="请输入内容" placeholder="请输入内容">
>
</el-input> </el-input>
<template v-else-if="n.itemType == 'inputRange'"> <template v-else-if="n.itemType == 'inputRange'">
<!-- <el-input <!-- <el-input
@ -135,11 +132,12 @@
clearable clearable
placeholder="请输入内容" placeholder="请输入内容"
/> --> /> -->
<inputRange v-model="form[n.columnName]" :type="n.validType" @change="handleAgeChange" /> <inputRange v-model="form[n.columnName]"
:type="n.validType"
@change="handleAgeChange" />
</template> </template>
<template v-else-if="n.itemType === 'datepicker'"> <template v-else-if="n.itemType === 'datepicker'">
<el-date-picker <el-date-picker v-if="n.queryType === 'daterange'"
v-if="n.queryType === 'daterange'"
v-model.trim="form[n.columnName]" v-model.trim="form[n.columnName]"
type="daterange" type="daterange"
align="right" align="right"
@ -150,11 +148,9 @@
class="resi-cell--daterange" class="resi-cell--daterange"
size="small" size="small"
format="yyyy-MM-dd" format="yyyy-MM-dd"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd">
>
</el-date-picker> </el-date-picker>
<el-date-picker <el-date-picker v-else
v-else
v-model.trim="form[n.columnName]" v-model.trim="form[n.columnName]"
class="resi-cell-input" class="resi-cell-input"
type="date" type="date"
@ -162,41 +158,36 @@
clearable clearable
format="yyyy-MM-dd" format="yyyy-MM-dd"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
placeholder="选择日期" placeholder="选择日期">
>
</el-date-picker> </el-date-picker>
</template> </template>
<el-select <el-select v-else-if="n.itemType === 'select' || n.itemType === 'radio'"
v-else-if="n.itemType === 'select' || n.itemType === 'radio'"
v-model.trim="form[n.columnName]" v-model.trim="form[n.columnName]"
placeholder="请选择" placeholder="请选择"
size="small" size="small"
clearable clearable
class="resi-cell-select" class="resi-cell-select"
:collapse-tags="n.multiSelect == 1 ? true : false" :collapse-tags="n.multiSelect == 1 ? true : false"
:multiple="n.multiSelect == 1 ? true : false" :multiple="n.multiSelect == 1 ? true : false">
> <el-option v-for="item in n.options"
<el-option
v-for="item in n.options"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value">
>
</el-option> </el-option>
</el-select> </el-select>
<el-cascader <el-cascader v-else-if="n.itemType === 'cascader'"
v-else-if="n.itemType === 'cascader'"
v-model.trim="form[n.columnName]" v-model.trim="form[n.columnName]"
:options="n.options" :options="n.options"
:props="{ checkStrictly: true }" :props="{ checkStrictly: true }"
clearable clearable
size="small" size="small"
class="resi-cell-select" class="resi-cell-select">
>
</el-cascader> </el-cascader>
<template v-else-if="n.itemType === 'checkbox'"> <template v-else-if="n.itemType === 'checkbox'">
<el-checkbox-group v-model="form[n.columnName]"> <el-checkbox-group v-model="form[n.columnName]">
<el-checkbox v-for="ns in n.options" :key="ns.value" :label="ns.value">{{ns.label}}</el-checkbox> <el-checkbox v-for="ns in n.options"
:key="ns.value"
:label="ns.value">{{ns.label}}</el-checkbox>
<!-- <el-checkbox label="n.la"></el-checkbox> --> <!-- <el-checkbox label="n.la"></el-checkbox> -->
</el-checkbox-group> </el-checkbox-group>
</template> </template>
@ -205,13 +196,18 @@
</el-col> </el-col>
</el-row> </el-row>
</el-row> </el-row>
<el-row v-if="isArrow" class="resi-search"> <el-row v-if="isArrow"
class="resi-search">
<!-- <el-col :span="20"> <!-- <el-col :span="20">
<el-button type="primary" size="mini">查询</el-button> <el-button type="primary" size="mini">查询</el-button>
</el-col> --> </el-col> -->
<el-col :span="24"> <el-col :span="24">
<el-button type="primary" size="small" @click="handleSearch">查询</el-button> <el-button type="primary"
<el-button class="diy-button--reset" size="small" @click="resetForm">重置</el-button> size="small"
@click="handleSearch">查询</el-button>
<el-button class="diy-button--reset"
size="small"
@click="resetForm">重置</el-button>
</el-col> </el-col>
</el-row> </el-row>
<!-- <div v-if="isArrow" class="resi-down" @click="handleOpenSearch"> <!-- <div v-if="isArrow" class="resi-down" @click="handleOpenSearch">
@ -287,6 +283,14 @@ export default {
UNIT_ID: '', UNIT_ID: '',
HOME_ID: '' HOME_ID: ''
} }
let orgOptionProps = {
multiple: false,
value: 'agencyId',
label: 'agencyName',
children: 'subAgencyList',
checkStrictly: true
}
return { return {
pageLoading: false, pageLoading: false,
openSearch: false, openSearch: false,
@ -295,10 +299,14 @@ export default {
optionsH: [], optionsH: [],
optionsD: [], optionsD: [],
optionsG: [], optionsG: [],
orgOptions: [],
orgOptionProps,
agencyIdArray: [],
value: '', value: '',
itemList, itemList,
fixedList: [], fixedList: [],
fixedForm: { fixedForm: {
AGENCY_ID: '',
GRID_ID: '', GRID_ID: '',
VILLAGE_ID: '', VILLAGE_ID: '',
BUILD_ID: '', BUILD_ID: '',
@ -308,6 +316,7 @@ export default {
constForm, constForm,
form: { form: {
...form, ...form,
AGENCY_ID: '',
GRID_ID: '', GRID_ID: '',
VILLAGE_ID: '', VILLAGE_ID: '',
BUILD_ID: '', BUILD_ID: '',
@ -345,6 +354,10 @@ export default {
} }
} }
] ]
},
queryType: {
'AGENCY_ID': 'like'
} }
} }
}, },
@ -393,7 +406,7 @@ export default {
created () { created () {
// this.initForm() // this.initForm()
// console.log('formcccc---', this.form) // console.log('formcccc---', this.form)
this.getOrgTreeList()
this.getGridList() this.getGridList()
this.getValiheList() this.getValiheList()
if (this.columnName) this.handleChangeForm(this.columnName) if (this.columnName) this.handleChangeForm(this.columnName)
@ -435,6 +448,7 @@ export default {
// let arr3 = [...arr1, ...arr] // let arr3 = [...arr1, ...arr]
this.$emit('search', []) this.$emit('search', [])
// this.handleSearch() // this.handleSearch()
this.orgOptions = [];
}, },
handleSearch () { handleSearch () {
// console.log('formmmmm---', this.form) // console.log('formmmmm---', this.form)
@ -476,6 +490,28 @@ export default {
this.form.BIRTHDAY = [s, e] this.form.BIRTHDAY = [s, e]
} }
}, },
handleChangeAgency (val) {
let obj = this.$refs["myCascader"].getCheckedNodes()[0].data
if (obj) {
if (obj.level === 'grid') {
this.form.GRID_ID = this.agencyIdArray.length > 0 ? this.agencyIdArray[this.agencyIdArray.length - 1] : '';
this.form.AGENCY_ID = ''
} else {
this.form.AGENCY_ID = this.agencyIdArray.length > 0 ? this.agencyIdArray[this.agencyIdArray.length - 1] : '';
this.form.GRID_ID = ''
}
} else {
this.form.AGENCY_ID = ''
this.form.GRID_ID = ''
}
this.form.VILLAGE_ID = ''
this.form.BUILD_ID = ''
this.form.UNIT_ID = ''
this.form.HOME_ID = ''
this.getValiheList()
},
handleChangeGrid (val) { handleChangeGrid (val) {
console.log('val', val) console.log('val', val)
this.form.VILLAGE_ID = '' this.form.VILLAGE_ID = ''
@ -505,6 +541,7 @@ export default {
// form // form
handleChangeForm (val) { handleChangeForm (val) {
for (let n in this.fixedForm) { for (let n in this.fixedForm) {
if (n === val) { if (n === val) {
if (this.fixedList.length > 0) { if (this.fixedList.length > 0) {
let _item = {} let _item = {}
@ -517,7 +554,7 @@ export default {
console.log('fixedList----val', this.fixedList) console.log('fixedList----val', this.fixedList)
} else { } else {
_item = { _item = {
queryType: 'equal', queryType: this.queryType[val] ? this.queryType[val] : 'equal',//'equal',
tableName: 'ic_resi_user', tableName: 'ic_resi_user',
columnName: val, columnName: val,
columnValue: [this.form[val]] columnValue: [this.form[val]]
@ -529,7 +566,7 @@ export default {
if (Object.keys(_item).length > 0 && !hasVal) this.fixedList.push(_item) if (Object.keys(_item).length > 0 && !hasVal) this.fixedList.push(_item)
} else { } else {
this.$set(this.fixedList, 0, { this.$set(this.fixedList, 0, {
queryType: 'equal', queryType: this.queryType[val] ? this.queryType[val] : 'equal',//'equal',
tableName: 'ic_resi_user', tableName: 'ic_resi_user',
columnName: val, columnName: val,
columnValue: [this.form[val]] columnValue: [this.form[val]]
@ -542,6 +579,23 @@ export default {
if (item.columnName === val) item.isChange = true if (item.columnName === val) item.isChange = true
}) })
}, },
getOrgTreeList () {
const { user } = this.$store.state
this.$http
.post('/gov/org/customeragency/agencygridtree', {})
.then(({ data: res }) => {
if (res.code !== 0) {
return this.$message.error(res.msg)
} else {
console.log('获取组织树成功', res.data)
this.orgOptions = []
this.orgOptions.push(res.data)
}
})
.catch(() => {
return this.$message.error('网络错误')
})
},
getGridList () { getGridList () {
const { user } = this.$store.state const { user } = this.$store.state
this.$http this.$http
@ -563,7 +617,7 @@ export default {
this.$http this.$http
.post('/gov/org/icneighborhood/neighborhoodoption', { .post('/gov/org/icneighborhood/neighborhoodoption', {
gridId: this.form.GRID_ID, gridId: this.form.GRID_ID,
agencyId: '' agencyId: this.form.AGENCY_ID,
// agencyId: user.agencyId // agencyId: user.agencyId
}) })
.then(({ data: res }) => { .then(({ data: res }) => {
@ -714,7 +768,7 @@ export default {
max-width: 200px; max-width: 200px;
} }
.resi-cell--daterange { .resi-cell--daterange {
max-width: 240px; max-width: 235px;
} }
.resi-cell-select { .resi-cell-select {
max-width: 200px; max-width: 200px;

9
src/views/main-shuju/main.vue

@ -29,6 +29,7 @@ import debounce from "lodash/debounce";
import { mapGetters } from "vuex"; import { mapGetters } from "vuex";
import nextTick from "dai-js/tools/nextTick"; import nextTick from "dai-js/tools/nextTick";
import { requestPost } from "@/js/dai/request"; import { requestPost } from "@/js/dai/request";
import fixed1920 from "@/views/components/fixed1920.vue";
export default { export default {
provide() { provide() {
@ -51,6 +52,7 @@ export default {
components: { components: {
MainNavbar, MainNavbar,
MainContent, MainContent,
fixed1920,
}, },
watch: { watch: {
@ -145,7 +147,8 @@ export default {
&::-webkit-scrollbar-corner, &::-webkit-scrollbar-corner,
/* 滚动条角落 */ /* 滚动条角落 */
&::-webkit-scrollbar-thumb, &::-webkit-scrollbar-thumb,
&::-webkit-scrollbar-track { /*滚动条的轨道*/ &::-webkit-scrollbar-track {
/*滚动条的轨道*/
border-radius: 4px; border-radius: 4px;
} }
@ -153,13 +156,13 @@ export default {
&::-webkit-scrollbar-track { &::-webkit-scrollbar-track {
/* 滚动条轨道 */ /* 滚动条轨道 */
background: rgba(12, 129, 254, .24); background: rgba(12, 129, 254, 0.24);
// box-shadow: inset 0 0 1px rgba(180, 160, 120, 0.5); // box-shadow: inset 0 0 1px rgba(180, 160, 120, 0.5);
} }
&::-webkit-scrollbar-thumb { &::-webkit-scrollbar-thumb {
/* 滚动条手柄 */ /* 滚动条手柄 */
background: linear-gradient(270deg, #1257c9, #0095FF); background: linear-gradient(270deg, #1257c9, #0095ff);
} }
} }
</style> </style>

174
src/views/pages/yantai-index.vue

@ -1,64 +1,124 @@
<template> <template>
<div class="g-app"> <fixed1920>
<div class="g-bd" v-if="true"> <div class="g-cnt">
<div class="m-top"> <div class="m-top animate__animated menu animate__fadeInDown">
<img class="logo" src="@/assets/img/yantai/index/db.png" /> <img class="logo" src="@/assets/img/yantai/index/db.png" />
<div class="name">烟台市智慧社区平台</div> <div class="name">烟台市智慧社区平台</div>
</div> </div>
<div class="m-list"> <div class="m-list">
<div class="list"> <div class="list">
<div class="menu"> <div class="animate__animated menu animate__fadeInLeft">
<img class="menu-bg" src="@/assets/img/yantai/index/yuanhu-you.png" /> <img
class="menu-bg"
src="@/assets/img/yantai/index/yuanhu-you.png"
/>
<div class="menu-list"> <div class="menu-list">
<div class="menu-item z-zuo">基础信息</div> <div class="menu-item z-zuo" @click="toPage('/main/base-resi')">
<div class="menu-item z-zuo">疫情防控</div> 基础信息
<div class="menu-item z-zuo">社区治理</div>
<div class="menu-item z-zuo z-on">社区党建</div>
<div class="menu-item z-zuo">社区服务</div>
<div class="menu-item z-zuo">AI安防</div>
<div class="menu-item z-zuo">其他</div>
</div> </div>
<div
class="menu-item z-zuo"
@click="toPage('/main/base-epidemic-antiInfo')"
>
疫情防控
</div>
<div
class="menu-item z-zuo"
@click="toPage('/main/shequzhili-event-eventList')"
>
社区治理
</div>
<div
class="menu-item z-zuo z-on"
@click="toPage('/main/communityParty-members-index')"
>
社区党建
</div>
<div
class="menu-item z-zuo"
@click="toPage('/main/communityService-measure-index')"
>
社区服务
</div>
<div class="menu-item z-zuo" @click="toPage('/main')">AI安防</div>
<div class="menu-item z-zuo" @click="toPage('/main')">其他</div>
</div> </div>
<div class="arrow">
<img src="@/assets/img/yantai/index/zuo.png" />
</div> </div>
<div class="item" @click="handleClickItem(1)"> <img class="arrow" src="@/assets/img/yantai/index/zuo.png" />
<img
class="logo" <div
src="@/assets/img/yantai/index/guanli.png" class="item animate__animated animate__pulse"
alt="" @click="handleClickItem(1)"
/> >
<!-- 党建引领基层治理互联管理平台 --> <div class="item-wrap">
<img class="logo" src="@/assets/img/yantai/index/guanli.png" />
<div class="name">管理平台</div> <div class="name">管理平台</div>
</div> </div>
</div>
<div class="item z-on" @click="handleClickItem(2)"> <div
<img class="item animate__animated animate__pulse"
class="logo" @click="handleClickItem(2)"
src="@/assets/img/yantai/index/shuju.png" >
alt="" <div class="item-wrap">
/> <img class="logo" src="@/assets/img/yantai/index/shuju.png" />
<!-- 数据分析可视化平台 -->
<div class="name">数据分析平台</div> <div class="name">数据分析平台</div>
</div> </div>
<div class="arrow">
<img src="@/assets/img/yantai/index/you.png" />
</div> </div>
<div class="menu"> <img class="arrow" src="@/assets/img/yantai/index/you.png" />
<img class="menu-bg" src="@/assets/img/yantai/index/yuanhu-zuo.png" />
<div class="menu animate__animated menu animate__fadeInRight">
<img
class="menu-bg"
src="@/assets/img/yantai/index/yuanhu-zuo.png"
/>
<div class="menu-list"> <div class="menu-list">
<div class="menu-item z-you">基础信息</div> <div
<div class="menu-item z-you">人员预警</div> class="menu-item z-you"
<div class="menu-item z-you">需求清单</div> @click="toPage('/main-shuju/visual-basicinfo-basicInfoMain')"
<div class="menu-item z-you z-on">社区党建</div> >
<div class="menu-item z-you">社区治理</div> 基础信息
<div class="menu-item z-you">初心互助</div> </div>
<div class="menu-item z-you">AI安防</div> <div
class="menu-item z-you"
@click="toPage('/main-shuju/visual-warning-index')"
>
人员预警
</div>
<div
class="menu-item z-you"
@click="toPage('/main-shuju/visual-measure-service')"
>
需求清单
</div>
<div
class="menu-item z-you z-on"
@click="toPage('/main-shuju/visual-communityParty-party')"
>
社区党建
</div>
<div
class="menu-item z-you"
@click="
toPage(
'/main-shuju/visual-communityGovern-shijianchuli-shijianchulifenxi'
)
"
>
社区治理
</div>
<div
class="menu-item z-you"
@click="toPage('/main-shuju/visual-heart-index')"
>
初心互助
</div>
<div class="menu-item z-you" @click="toPage('/main-shuju')">
AI安防
</div>
</div> </div>
</div> </div>
</div> </div>
@ -73,17 +133,12 @@
</div> </div>
</div> </div>
</div> </div>
</div> </fixed1920>
</template> </template>
<script> <script>
import Cookies from "js-cookie";
import debounce from "lodash/debounce";
import { messages } from "@/i18n"; import { messages } from "@/i18n";
import { getUUID } from "@/utils"; import fixed1920 from "@/views/components/fixed1920.vue";
import { Loading } from "element-ui"; // Loading
import JSEncrypt from "jsencrypt"; //
let loading; //
export default { export default {
data() { data() {
return { return {
@ -92,8 +147,23 @@ export default {
i18nMessages: messages, i18nMessages: messages,
}; };
}, },
components: {},
computed: {}, components: { fixed1920 },
computed: {
bdStyle() {
console.log("clientHeight", document.documentElement.clientHeight);
const scale = document.documentElement.clientWidth / 1920;
const height = document.documentElement.clientHeight / scale;
const top = (document.documentElement.clientHeight - height) / 2;
const left = (document.documentElement.clientWidth - 1920) / 2;
return {
transform: `scale(${scale})`,
height: `${height}px`,
left: `${left}px`,
top: `${top}px`,
};
},
},
created() {}, created() {},
mounted() {}, mounted() {},
@ -106,6 +176,10 @@ export default {
} }
}, },
toPage(path) {
this.$router.push({ path });
},
// //
getAutoLogin(platformToken) { getAutoLogin(platformToken) {
this.dataForm.thirdToken = platformToken; this.dataForm.thirdToken = platformToken;

2
src/views/pages/yantai-login.vue

@ -3,7 +3,7 @@
<div class="g-bd" v-if="isShowLogin || true"> <div class="g-bd" v-if="isShowLogin || true">
<div class="m-snow-box" id="snow_box"></div> <div class="m-snow-box" id="snow_box"></div>
<div class="m-fm animate__animated animate__backInLeft"> <div class="m-fm animate__animated animate__rotateInDownLeft">
<div class="wrap"> <div class="wrap">
<h2 class="title">{{ $t("brand.work") }}</h2> <h2 class="title">{{ $t("brand.work") }}</h2>
<div class="fm"> <div class="fm">

Loading…
Cancel
Save