Browse Source

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

feature
dai 3 years ago
parent
commit
360b80f117
  1. BIN
      src/assets/images/index/i-code.png
  2. BIN
      src/assets/images/index/i-lock.png
  3. BIN
      src/assets/images/index/i-people.png
  4. BIN
      src/assets/img/login/loginLeft.png
  5. BIN
      src/assets/imgs/login/i-code.png
  6. BIN
      src/assets/imgs/login/i-lock.png
  7. BIN
      src/assets/imgs/login/i-people.png
  8. 98
      src/assets/scss/pages/login.scss
  9. 188
      src/views/modules/base/smartImport.vue
  10. 47
      src/views/modules/shequ/cpts/peopleDetail.vue
  11. 52
      src/views/pages/login.vue

BIN
src/assets/images/index/i-code.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 393 B

BIN
src/assets/images/index/i-lock.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 258 B

BIN
src/assets/images/index/i-people.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 337 B

BIN
src/assets/img/login/loginLeft.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 103 KiB

BIN
src/assets/imgs/login/i-code.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 821 B

BIN
src/assets/imgs/login/i-lock.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 575 B

BIN
src/assets/imgs/login/i-people.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 488 B

98
src/assets/scss/pages/login.scss

@ -13,7 +13,8 @@
content: ""; content: "";
} }
&::before { &::before {
background-image: url(~@/assets/imgs/login/bg.png); // background-image: url(~@/assets/imgs/login/bg.png);
background-color:#f5f7fa ;
background-size: cover; background-size: cover;
} }
&::after { &::after {
@ -28,8 +29,13 @@
right: 0; right: 0;
left: 0; left: 0;
margin: auto; margin: auto;
width: 650px; width: 1200px;
height: 500px; height: 586px;
display: flex;
justify-content: space-around;
box-shadow: 0px 9px 28px 8px rgba(0,86,214,0.05), 0px 6px 16px 0px rgba(0,86,214,0.08), 0px 3px 6px -4px rgba(0,86,214,0.12);
border-radius: 4px;
animation: fm-f6957b98 0.33s ease-out;
@keyframes title { @keyframes title {
0% { 0% {
@ -52,16 +58,15 @@
} }
.title { .title {
margin: 0 auto; margin: 0 0 64px 80px;
text-align: center; text-align: left;
line-height: 80px; line-height: 80px;
font-size: 41px; font-size: 24px;
font-family: "思源宋体"; font-family: PingFangSC-Medium, PingFang SC;
font-weight: bold; font-weight: 600;
color: #ffffff; // background: linear-gradient(0deg, #0385ff 0%, #ffffff 50%, #ffffff 100%);
background: linear-gradient(0deg, #0385ff 0%, #ffffff 50%, #ffffff 100%);
-webkit-background-clip: text; -webkit-background-clip: text;
-webkit-text-fill-color: transparent; // -webkit-text-fill-color: transparent;
animation: title 0.33s * 1.5 ease-out; animation: title 0.33s * 1.5 ease-out;
} }
@ -91,7 +96,6 @@
top: 70px; top: 70px;
width: 54px; width: 54px;
height: 377px; height: 377px;
animation: decorationLeft 0.33s ease-out;
} }
.i-right { .i-right {
position: absolute; position: absolute;
@ -117,46 +121,37 @@
.fm { .fm {
box-sizing: border-box; box-sizing: border-box;
margin: -30px auto 0; // margin: -30px auto 0;
padding: 110px 150px 50px; // padding: 110px 150px 50px;
width: 555px; height: 100%;
height: 368px; flex:1;
background-image: url(~@/assets/imgs/login/card-bg.png); display: flex;
flex-direction: column;
justify-content: center;
// background-image: url(~@/assets/imgs/login/card-bg.png);
background-color: #fff;
background-size: cover; background-size: cover;
animation: fm 0.33s ease-out;
.fm-item { .fm-item {
box-sizing: border-box; box-sizing: border-box;
margin: 0 auto; margin: 0 auto;
margin-bottom: 16px; margin-bottom: 16px;
width: 255px; width: 320px;
height: 38px; height: 38px;
line-height: 38px; line-height: 38px;
background: #102163;
display: flex; display: flex;
align-items: center; align-items: center;
.input { .input {
width: 85%; width: 100%;
margin-bottom: 0; margin-bottom: 0;
background-color: #fff;
input { input {
background-color: #fff;
display: block; display: block;
padding-left: 0; padding-left: 0;
line-height: 38px; line-height: 38px;
height: 38px; height: 38px;
width: 100%; width: 100%;
border: none;
background-color: transparent;
color: #fff;
font-size: 14px;
&::placeholder {
color: #d7d7d7;
}
&:active {
background-color: transparent;
}
} }
} }
@ -181,22 +176,27 @@
box-sizing: border-box; box-sizing: border-box;
margin: 0 auto; margin: 0 auto;
margin-bottom: 16px; margin-bottom: 16px;
width: 255px; position: relative;
width: 320px;
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-around;
.fm-item { .fm-item {
margin: 0; margin: 0;
width: 140px; width: 50%;
margin-right: 8px;
.input { .input {
width: 70%; width: 100%;
}
.suffix{
position: absolute;
left: -139px;
} }
} }
.captcha { .captcha {
position: relative; position: relative;
margin-left: auto; width: 50%;
width: 105px;
height: 38px; height: 38px;
img { img {
@ -213,12 +213,12 @@
box-sizing: border-box; box-sizing: border-box;
margin: 0 auto; margin: 0 auto;
margin-top: 30px; margin-top: 30px;
width: 255px; width: 320px;
height: 38px; height: 38px;
background: linear-gradient(0deg, #0061ff 0%, #0096ff 100%); background: #0056d6;
border-radius: 2px; border-radius: 2px;
line-height: 38px; line-height: 38px;
font-size: 20px; font-size: 16px;
font-weight: 500; font-weight: 500;
color: #ffffff; color: #ffffff;
text-align: center; text-align: center;
@ -275,3 +275,15 @@
} }
} }
} }
::v-deep .el-input--medium .el-input__inner {
padding-left: 30px !important;
}
.suffix{
float: left;
position: absolute;
left: -303px;
top: -1px;
}
.loginLeftBox{
}

188
src/views/modules/base/smartImport.vue

@ -23,6 +23,7 @@
</el-upload> </el-upload>
<el-button class="diy-button--white" <el-button class="diy-button--white"
size="small" size="small"
style="margin-left:10px"
@click="handleExportModule()">下载模板</el-button> @click="handleExportModule()">下载模板</el-button>
</div> </div>
@ -43,35 +44,43 @@
<el-table-column prop="deptName" <el-table-column prop="deptName"
header-align="center" header-align="center"
align="center" align="center"
label="部门" label="表格信息"
min-width="100"> min-width="100">
</el-table-column> </el-table-column>
<el-table-column prop="dataName" <el-table-column prop="dataName"
header-align="center" header-align="center"
align="center" align="center"
label="数据名称" label="平台对应信息"
min-width="110"> min-width="110">
</el-table-column>
<el-table-column label="操作"
fixed="right"
header-align="center"
align="center"
width="350">
<template slot-scope="scope"> <template slot-scope="scope">
<el-switch style="margin-left:20px"
v-model="scope.row.stateShow"
@change="disableCategory(scope.row,scope.$index)">
</el-switch>
<el-button size="small" <el-select class="item_width_sel"
type="text" v-model="scope.row.itemGroupId"
class="div-table-button--blue" size="small"
style="margin-left:20px" placeholder="请选择">
@click="editShow(scope.row)">配置</el-button> <el-option v-for="item in groupList"
@click.native="handleSelGroup(scope.$index,item)"
:key="item.id"
:label="item.label"
:value="item.id">
</el-option>
</el-select>
<el-select class="item_width_sel"
v-model="scope.row.itemId"
size="small"
style="margin-left:10px"
placeholder="请选择">
<el-option v-for="item in scope.row.itemList"
:key="item.itemId"
:label="item.label"
:value="item.itemId">
</el-option>
</el-select>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<div> <div>
<el-pagination @size-change="handleSizeChange" <el-pagination @size-change="handleSizeChange"
@ -84,6 +93,15 @@
</el-pagination> </el-pagination>
</div> </div>
<div ref="divEditBtn"
class="div_edit_btn">
<el-button type="primary"
size="small"
class="diy-button--blue"
@click="handleComfirm"> </el-button>
</div>
</div> </div>
<!-- 修改弹出框 --> <!-- 修改弹出框 -->
@ -103,14 +121,6 @@
<el-form-item label="适用范围" <el-form-item label="适用范围"
label-width="150px" label-width="150px"
style="display: block"> style="display: block">
<el-cascader class="item_width_1"
ref="myCascader"
v-model="orgIdArray"
:key="iscascaderShow"
:options="casOptions"
:props="optionProps"
:show-all-levels="false"
@change="handleChangeScope"></el-cascader>
</el-form-item> </el-form-item>
@ -153,18 +163,6 @@ export default {
pageSize: 20, pageSize: 20,
pageNo: 0, pageNo: 0,
casOptions: [],
iscascaderShow: 0,
orgIdArray: [],
selCateObj: {},
optionProps: {
multiple: true,
value: 'agencyId',
label: 'agencyName',
orgType: 'orgType',
children: 'subAgencyList',
checkStrictly: true
},
formShow: false, formShow: false,
formData: {}, formData: {},
@ -172,13 +170,16 @@ export default {
scopeList: [], scopeList: [],
dataSyncConfigId: '', dataSyncConfigId: '',
importLoading: false, importLoading: false,
groupList: [],
sHeight: 0,
} }
}, },
computed: { computed: {
tableHeight () { tableHeight () {
const h = this.clientHeight - 220 + this.iframeHeigh const h = this.clientHeight - this.sHeight + this.iframeHeigh
const _h = this.clientHeight - 220 const _h = this.clientHeight - this.sHeight
return this.$store.state.inIframe ? h : _h return this.$store.state.inIframe ? h : _h
}, },
@ -192,7 +193,9 @@ export default {
}, },
async mounted () { async mounted () {
await this.loadData() await this.loadData()
await this.getOrgList() await this.loadPersonGroup()
this.sHeight = this.$refs.divEditBtn.offsetHeight + 300
}, },
methods: { methods: {
@ -201,27 +204,43 @@ export default {
this.formShow = false this.formShow = false
}, },
async getOrgList () { async loadPersonGroup () {
const url = '/oper/customize/icformitemgroup/list'
const url = '/gov/org/customeragency/my-subagency-list' // const url = 'http://yapi.elinkservice.cn/mock/245/gov/org/isServiceProject/service/serviceScopeTree'
let params = {
formCode: 'resi_base_info',
policyFlag: '1'
}
let params = {}; const { data, code, msg } = await requestPost(url, params)
const { data, code, msg } = await requestPost(url, params);
if (code === 0) { if (code === 0) {
this.groupList = data
} else {
this.$message.error(msg)
}
// },
++this.iscascaderShow
this.casOptions = []
this.orgIdArray.length = []
if (data) { //
this.casOptions.push(data) async handleSelGroup (index, item, isSet) {
const url = '/oper/customize/icformitem/getItemListV2'
// const url = 'http://yapi.elinkservice.cn/mock/245/gov/org/isServiceProject/service/serviceScopeTree'
let params = {
policyFlag: '1',
groupId: item.id,
} }
const { data, code, msg } = await requestPost(url, params)
if (code === 0) {
let oneData = this.dataList[index]
oneData.itemList = data
this.$set(this.dataList, index, oneData)
} else { } else {
this.$message.error(msg); this.$message.error(msg)
} }
}, },
@ -275,53 +294,8 @@ export default {
}, },
// / handleComfirm () {
disableCategory (row, index) { console.log(this.dataList)
row.switchStatusShow = row.switchStatus === 'open' ? '关闭' : '开启'
this.$confirm('确认' + row.switchStatusShow, '提示', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
}).then(() => {
const url = '/epmetuser/dataSyncConfig/configSwitch'
// const url = 'http://yapi.elinkservice.cn/mock/245/epmetuser/dataSyncConfig/configSwitch'
const param = {
deptCode: row.deptCode,
dataSyncConfigId: row.id,
}
window.app.ajax.post(url, param,
(data, rspMsg) => {
// row.switchStatus = 'open'
// row.switchStatus = true
// this.$set(this.dataList, index, row)
this.$message.success('操作成功')
this.loadData()
},
(rspMsg, data) => {
this.$message.error(rspMsg)
})
}).catch(() => {
})
},
// customerId,parentCategoryId,dateform
editShow (row) {
this.dataSyncConfigId = row.id
this.orgIdArray = []
row.scopeList.forEach(element => {
if (element.orgIdPath) {
this.orgIdArray.push(element.orgIdPath.split(':'))
}
});
this.formShow = true
}, },
async editDiaOK () { async editDiaOK () {
@ -485,4 +459,16 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
@import "@/assets/scss/modules/management/list-main.scss"; @import "@/assets/scss/modules/management/list-main.scss";
.div_edit_btn {
display: flex;
margin-top: 20px;
margin-right: 16px;
justify-content: flex-end;
text-align: center;
}
.item_width_sel {
width: 200px;
}
</style> </style>

47
src/views/modules/shequ/cpts/peopleDetail.vue

@ -16,7 +16,7 @@
<div class="title-small top40">基本信息</div> <div class="title-small top40">基本信息</div>
<div :key="'fieldSubList' + index" <div :key="'fieldSubList' + index"
v-for="(fieldSubList, index) in fieldList"> v-for="(fieldSubList, index) in fieldList">
<div class="list"> <div class="list" :class="{'listTransform':index==1}">
<div class="item" <div class="item"
v-if="index == 0"> v-if="index == 0">
<span class="item-field">所属网格</span> <span class="item-field">所属网格</span>
@ -38,16 +38,23 @@
<span>{{ homeName }}</span> <span>{{ homeName }}</span>
</div> </div>
<div class="item" <div class="item"
:class="{'width-40':index==1}"
:key="field.itemId" :key="field.itemId"
v-for="field in fieldSubList"> v-for="field in fieldSubList"
<span class="item-field">{{field.label}} </span> v-if="info[field.columnName]!=0"
>
<span class="item-field">{{field.label}}<span v-if="field.itemType!='radio'"> </span> </span>
<span v-if="field.columnName==='MOBILE'||field.columnName==='ID_CARD'">{{ info[field.columnName]||'--'}}</span> <span v-if="field.columnName==='MOBILE'||field.columnName==='ID_CARD'">{{ info[field.columnName]||'--'}}</span>
<span v-else-if=" <span v-else-if="
field.itemType == 'select' || field.itemType == 'select' ||
field.itemType == 'radio' || field.itemType == 'radio' ||
field.itemType == 'checkbox' || field.itemType == 'checkbox' ||
field.itemType == 'cascader' field.itemType == 'cascader'
">{{ ">
<span v-if=" field.columnName=='IS_BDHJ' ||
field.columnName=='GENDER' ||
field.columnName=='MZ'">
{{
info[field.columnName] == null info[field.columnName] == null
? "--" ? "--"
: getOptionLabel( : getOptionLabel(
@ -55,7 +62,9 @@
info[field.columnName], info[field.columnName],
field.itemType field.itemType
) )
}}</span> }}
</span>
</span>
<span v-else>{{ <span v-else>{{
info[field.columnName] == null ? "--" : info[field.columnName] info[field.columnName] == null ? "--" : info[field.columnName]
@ -63,7 +72,9 @@
</div> </div>
</div> </div>
<div class="title-small top40"> {{index==0? '分类信息':'其他信息'}}</div> <div class="title-small top40 div-mult-table "> {{index==0? '分类信息':'其他信息'}}
<section v-show="index==0 " style="position:absolute;top:42px;left: 20px;" class="font14">居民分类: </section>
</div>
</div> </div>
<!-- 详情下方tab --> <!-- 详情下方tab -->
<el-tabs class="top32" @tab-click="handlTabs"> <el-tabs class="top32" @tab-click="handlTabs">
@ -538,6 +549,7 @@ export default {
} }
}); });
}); });
console.log(this.fieldList,4435345)
} else { } else {
this.$message.error(msg); this.$message.error(msg);
} }
@ -728,5 +740,26 @@ export default {
right: 35px; right: 35px;
top: 5px; top: 5px;
} }
.m-pop .wrap{
width: 820px;
height: 848px;
}
.m-pop .wrap .wrap2 {
width: 820px;
height: 848px;
}
.m-pop .wrap .list .item{
width: 48% !important;
font-size: 14px;
}
.m-pop .wrap .list .width-40{
width: 17% !important;
}
.listTransform{
transform: translateX(55px);
}
.div-mult-table section {
color: #ccc;
}
</style> </style>

52
src/views/pages/login.vue

@ -2,54 +2,60 @@
<div class="g-app"> <div class="g-app">
<div class="g-bd" v-if="isShowLogin || true"> <div class="g-bd" v-if="isShowLogin || true">
<div class="m-fm"> <div class="m-fm">
<h2 class="title">{{ $t("brand.work") }}</h2> <div class="loginLeftBox">
<div class="decoration"> <img src="@/assets/img/login/loginLeft.png" class="i-left">
<img src="@/assets/imgs/login/big-arrow-left.png" class="i-left" /> </div>
<img src="@/assets/imgs/login/big-arrow-right.png" class="i-right" />
</div>
<div class="fm"> <div class="fm">
<h2 class="title">{{ $t("brand.work") }}</h2>
<el-form <el-form
:model="dataForm" :model="dataForm"
:rules="dataRule" :rules="dataRule"
ref="dataForm" ref="dataForm"
@keyup.enter.native="dataFormSubmitHandle()" @keyup.enter.native="dataFormSubmitHandle()"
status-icon
> >
<div class="fm-item"> <div class="fm-item">
<div class="ico">
<img src="@/assets/imgs/login/i-people.png" alt="" />
</div>
<el-form-item prop="phone" class="input"> <el-form-item prop="phone" class="input">
<input <el-input
type="text" type="text"
v-model="dataForm.phone" v-model="dataForm.phone"
placeholder="账号" placeholder="账号"
/> >
<template slot='suffix'>
<div class="suffix"><img src="@/assets/images/index/i-people.png" alt="">
</div>
</template>
</el-input>
</el-form-item> </el-form-item>
</div> </div>
<div class="fm-item"> <div class="fm-item">
<div class="ico">
<img src="@/assets/imgs/login/i-lock.png" alt="" />
</div>
<el-form-item prop="password" class="input"> <el-form-item prop="password" class="input">
<input <el-input
type="password" type="password"
v-model="dataForm.password" v-model="dataForm.password"
:placeholder="$t('login.password')" :placeholder="$t('login.password')"
/> >
<template slot='suffix'>
<div class="suffix">
<img src="@/assets/images/index/i-lock.png" alt=""/>
</div>
</template>
</el-input>
</el-form-item> </el-form-item>
</div> </div>
<div class="fm-captcha"> <div class="fm-captcha">
<div class="fm-item"> <div class="fm-item">
<div class="ico">
<img src="@/assets/imgs/login/i-code.png" alt="" />
</div>
<el-form-item prop="captcha" class="input"> <el-form-item prop="captcha" class="input">
<input <el-input
type="text" type="text"
v-model="dataForm.captcha" v-model="dataForm.captcha"
placeholder="验证码" placeholder="验证码"
/> >
<template slot='suffix'>
<div class="suffix">
<img src="@/assets/images/index/i-code.png" alt=""/>
</div>
</template>
</el-input>
</el-form-item> </el-form-item>
</div> </div>
<div class="captcha"> <div class="captcha">
@ -64,13 +70,13 @@
</div> </div>
</div> </div>
<div class="m-footer"> <!-- <div class="m-footer">
<div class="login-footer"> <div class="login-footer">
<p> <p>
<a href="" target="_blank">{{ $t("login.copyright") }}</a> <a href="" target="_blank">{{ $t("login.copyright") }}</a>
</p> </p>
</div> </div>
</div> </div> -->
</div> </div>
<c-dialog <c-dialog

Loading…
Cancel
Save