Browse Source

Merge branch 'dev-caiji' into dev

shibei_master
jiangyy 3 years ago
parent
commit
719d8f5f2f
  1. 6
      src/assets/scss/buttonstyle.scss
  2. 41
      src/assets/scss/pages/caiji.scss
  3. 12
      src/router/index.js
  4. 18
      src/views/modules/base/community/communityTable.vue
  5. 260
      src/views/pages/caiji.vue
  6. 78
      src/views/pages/caijisuccess.vue

6
src/assets/scss/buttonstyle.scss

@ -90,7 +90,7 @@
//查看
.div-table-button--detail {
color: #3E8EF7 !important;
color: #3e8ef7 !important;
text-decoration: underline !important;
}
@ -106,8 +106,8 @@
text-decoration: underline !important;
}
//
//
.div-table-button--qr {
color: #4ec591 !important;
text-decoration: underline !important;
}
}

41
src/assets/scss/pages/caiji.scss

@ -1,5 +1,5 @@
.bg-app {
background-color: rgba(218, 218, 218, 0.89);
.bg-caiji {
background-color: rgba(189, 214, 255, 0.89);
height: 100%;
width: 100vw;
padding: 20px;
@ -37,9 +37,46 @@
padding-bottom: 20px;
display: flex;
justify-content: center;
.btn {
width: 150px;
font-size: 16px;
}
}
}
.picker_content {
color: rgb(59, 59, 59);
}
.bg-caiji-success {
height: 100vh;
width: 100vw;
text-align: center;
.title {
background-color: rgba(189, 214, 255, 0.89);
padding: 20px;
text-align: center;
font-size: 20px;
}
.main {
margin-top: 100px;
display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
.icon-success {
font-size: 40px;
// width: 20px;
// height: 20px;
}
.success-content {
margin-top: 10px;
font-size: 25px;
}
}
}

12
src/router/index.js

@ -53,6 +53,15 @@ export const pageRoutes = [
title: "居民信息填报",
},
},
{
path: "/caijisuccess",
props: true,
name: "caijisuccess",
component: () => import("@/views/pages/caijisuccess"),
meta: {
title: "居民信息填报",
},
},
];
// 模块路由(基于主入口布局页面)
@ -170,6 +179,9 @@ const router = new Router({
router.beforeEach((to, from, next) => {
// 添加动态(菜单)路由
// 已添加或者当前路由为页面路由, 可直接访问
if(to.name==='caiji'){
return next();
}
if (
window.SITE_CONFIG["dynamicMenuRoutesHasAdded"] ||
fnCurrentRouteIsPageRoute(to, pageRoutes)

18
src/views/modules/base/community/communityTable.vue

@ -103,7 +103,8 @@
class="diy-button--reset"
size="small"
@click="handleExport">导出</el-button>
<el-button v-if="agencyObj.level == 'community'" style="margin-left:10px"
<el-button v-if="agencyObj.level == 'community'"
style="margin-left:10px"
class="diy-button--qrcode"
size="small"
@click="handleDownQr(agencyObj, 'community')">社区二维码</el-button>
@ -173,8 +174,7 @@
class="div-table-button--qr"
size="small"
@click="handleDownQr(scope.row, 'neighborHood')">二维码</el-button> -->
<el-button
type="text"
<el-button type="text"
class="div-table-button--detail"
size="small"
@click="handleDetail(scope.row)">查看</el-button>
@ -547,7 +547,7 @@ export default {
this.$message.error(msg)
}
},
async handleDownQr(row, type) {
async handleDownQr (row, type) {
// const url = window.SITE_CONFIG['apiURL'] + `/gov/org/icneighborhood/createQrCode/${row.neighborHoodId}`
const url = '/gov/org/agency/create-qrcode'
const _id = type == 'community' ? row.id : row.neighborHoodId
@ -563,11 +563,11 @@ export default {
}).then(res => {
console.log('res----1r', res)
if (res.headers["content-disposition"]) {
let fileName = window.decodeURI(res.headers["content-disposition"].split(";")[1].split("=")[1])
console.log('filename', fileName)
this.download(res.data, fileName) //blob
} else this.$message.error('下载失败')
// this.download(res.data, '1.png')
let fileName = window.decodeURI(res.headers["content-disposition"].split(";")[1].split("=")[1])
console.log('filename', fileName)
this.download(res.data, fileName) //blob
} else this.$message.error('下载失败')
// this.download(res.data, '1.png')
})
},
//

260
src/views/pages/caiji.vue

@ -1,5 +1,5 @@
<template>
<div class="bg-app">
<div class="bg-caiji">
<div class="title">
居民信息填报
</div>
@ -75,7 +75,7 @@
<mt-field class="my-field"
:disableClear="true"
label="详细地址"
placeholder="请输入"
placeholder="xx小区(号)x号楼x单元x户"
v-model="formData.address"></mt-field>
<div class="line"></div>
</div>
@ -99,14 +99,23 @@
v-model="formData.houseHolderName"></mt-field>
<div class="line"></div>
<mt-field class="my-field"
<div @click="handelSel('totalResi')">
<mt-cell :title="'居住成员人数'"
is-link>
<span class="picker_content"
v-if="selTotalResi">{{selTotalResi.label}}</span>
<span v-else>请选择</span>
</mt-cell>
</div>
<!-- <mt-field class="my-field"
label="居住成员人数"
:disableClear="true"
placeholder="请输入"
type="number"
@blur.native.capture="bluraa"
v-model="formData.totalResi"></mt-field>
<div class="line"></div>
<div class="line"></div> -->
</div>
@ -162,6 +171,7 @@
<div class="div-btn">
<mt-button @click="handleSubmit"
type="primary"
class="btn"
:disabled="btnDisabled"
size="small">提交</mt-button>
</div>
@ -191,6 +201,8 @@
import { requestPost } from "@/js/dai/request";
import { Toast } from "mint-ui";
import { MessageBox } from 'mint-ui';
import { Loading } from 'element-ui' // Loading
let loading //
export default {
@ -217,6 +229,10 @@ export default {
selUnit: null,
selHome: null,
selHomeType: null,
selTotalResi: {
label: '4人',
value: 4
},
unitContent: '',
homeContent: '',////
@ -229,10 +245,11 @@ export default {
address: '',//绿10101
houseType: '',//10
houseHolderName: '',//
totalResi: 1,//
totalResi: 4,//
customerId: '',//customerId
},
showMessagsBox: false,//
selMemberIndex: null,
@ -246,7 +263,8 @@ export default {
ymjz: '',
selDetNum: {},
selDetCondition: {}
}
},
],
roomTypeList: [
@ -259,7 +277,7 @@ export default {
label: '租住'
},
],
totalResiList: [],
detNumList: [],//list
detConditionList: [//list
{
@ -299,18 +317,20 @@ export default {
this.shequName = this.$route.query.name
let envShow = process.env.VUE_APP_NODE_ENV
let internalShequId = ''
if (envShow === 'dev' || envShow === 'prod:sit') { //
internalShequId = '6e511da6816e53af4cda952365a26eb9'
} else if (envShow === 'prod:uat') { //
internalShequId = '6e511da6816e53af4cda952365a26eb9'
} else if (envShow === 'prod') { //
internalShequId = '1202807601961984002'
}
console.log('环境', envShow)
// let internalShequId = ['1202807601961984002', '6e511da6816e53af4cda952365a26eb9',]
let internalShequId = ['1202807601961984002',]
// if (envShow === 'dev' || envShow === 'prod:sit') { //
// internalShequId = null
// } else if (envShow === 'prod:uat') { //
// internalShequId = '6e511da6816e53af4cda952365a26eb9'
// } else if (envShow === 'prod') { //
// internalShequId = '1202807601961984002'
// }
this.formData.customerId = this.customerId
if (this.shequId === internalShequId) {
if (internalShequId.indexOf(this.shequId) > -1) {
this.formData.origin = 'internal'
} else {
this.formData.origin = 'external'
@ -324,36 +344,20 @@ export default {
}
this.detNumList.push(obj)
}
},
methods: {
bluraa () {
let objTemp = {
name: '',
mobile: '',
idNum: '',
heSuanCount: 0,
ymjz: '',
selDetNum: {},
customerId: '',
selDetCondition: {}
for (let i = 1; i < 9; i++) {
let obj = {
value: i,
label: i + '人',
}
this.totalResiList.push(obj)
}
if (this.memberList.length > this.formData.totalResi) {//
let differ = this.memberList.length - this.formData.totalResi
this.memberList.splice(this.formData.totalResi, differ)
} else if (this.memberList.length < this.formData.totalResi) {////
let differ = this.formData.totalResi - this.memberList.length
for (let i = 0; i < differ; i++) {
let temp = JSON.parse(JSON.stringify(objTemp))
this.memberList.push(temp)
}
}
this.bluraa()
},
methods: {
console.log(this.memberList)
},
//id
async loadVillage () {
@ -526,6 +530,9 @@ export default {
}
if (selType === 'totalResi') {
this.pickerData = this.totalResiList
}
if (selType === 'roomType') {
this.pickerData = this.roomTypeList
}
@ -548,17 +555,29 @@ export default {
},
async handleSubmit () {
let message = this.validataFormData()
if (message) {
Toast({
message: message,
duration: 3000
});
return false
if (this.showMessagsBox) {
MessageBox.confirm(message).then(action => {
this.submit()
});
} else {
Toast({
message: message,
duration: 3000
});
}
} else {
this.submit()
}
},
async submit () {
if (this.formData.origin === 'internal') {
this.formData.villageId = this.selVillage.value
@ -597,64 +616,71 @@ export default {
this.formData.memberList = this.memberList
console.log(this.formData)
this.btnDisabled = true
this.startLoading()
const url = "/epmetuser/icresicollect/save"
const { data, code, msg } = await requestPost(url, this.formData)
this.endLoading()
this.btnDisabled = false
if (code === 0) {
Toast({
message: '提交成功',
duration: 3000
});
this.btnDisabled = false
this.$router.replace({ name: 'caijisuccess' })
// Toast({
// message: '',
// duration: 3000
// });
} else {
Toast({
message: msg,
duration: 3000
});
this.btnDisabled = false
}
},
//
validataFormData () {
let message = ''
let aletMessage = ''
this.showMessagsBox = false
if (this.formData.origin === 'internal') {//
if (!this.selVillage) {
message = '请选择小区'
return message
aletMessage = '请选择小区'
return aletMessage
}
if (!this.selBuild) {
message = '请选择楼栋'
return message
aletMessage = '请选择楼栋'
return aletMessage
}
if (!this.selUnit) {//
message = '请选择单元'
return message
aletMessage = '请选择单元'
return aletMessage
} else {//
if (this.selUnit.value === 'else') {//
if (!this.unitContent) {
message = '请填写单元号'
return message
aletMessage = '请填写单元号'
return aletMessage
}
if (!this.homeContent) {//
message = '请填写房屋'
return message
aletMessage = '请填写房屋'
return aletMessage
}
} else {//
if (!this.selHome) {
message = '请选择房屋'
return message
aletMessage = '请选择房屋'
return aletMessage
} else if (this.selHome.value === 'else' && !this.homeContent) {
message = '请填写房屋'
return message
aletMessage = '请填写房屋'
return aletMessage
}
}
@ -663,29 +689,44 @@ export default {
} else {
if (!this.formData.address) {
message = '请填写地址'
return message
aletMessage = '请填写地址'
return aletMessage
}
}
if (!this.selHomeType) {
message = '请选择房屋类型'
return message
aletMessage = '请选择房屋类型'
return aletMessage
}
if (!this.formData.houseHolderName) {
message = '请填写户主姓名'
return message
aletMessage = '请填写户主姓名'
return aletMessage
}
let member1 = this.memberList[0]
if (!member1.name || !member1.mobile || !member1.idNum || !member1.selDetNum.value || !member1.selDetCondition.value) {
aletMessage = '请完整填写用户1信息'
return aletMessage
}
let member = this.memberList[0]
for (let i = 0; i < this.memberList.length; i++) {
for (let i = 1; i < this.memberList.length; i++) {
let item = this.memberList[i]
if (!item.name || !item.mobile || !item.idNum || !item.selDetNum.value || !item.selDetCondition.value) {
message = '请完整填写用户' + (i + 1) + '信息'
return message
if (item.name || item.mobile || item.idNum || item.selDetNum.value || item.selDetCondition.value) {//
if (!item.name || !item.idNum) {
aletMessage = '请完整填写用户' + (i + 1) + '的姓名和身份证信息'
return aletMessage
}
} else {
aletMessage = '用户' + (i + 1) + '的信息没有填写,是否继续'
this.showMessagsBox = true
return aletMessage
}
}
}
},
@ -693,9 +734,6 @@ export default {
popupOk () {
if (this.selType === 'community') {
this.selVillage = this.selObj
this.selBuild = null
this.selUnit = null
this.selHome = null
@ -728,9 +766,13 @@ export default {
}
if (this.selType === 'room') {
this.selHome = this.selObj
this.homeContent = ''
}
if (this.selType === 'totalResi') {
this.selTotalResi = this.selObj
this.formData.totalResi = this.selObj.value
this.bluraa()
}
if (this.selType === 'roomType') {
@ -754,13 +796,55 @@ export default {
},
bluraa () {
let objTemp = {
name: '',
mobile: '',
idNum: '',
heSuanCount: 0,
ymjz: '',
selDetNum: {},
customerId: '',
selDetCondition: {}
}
if (this.memberList.length > this.formData.totalResi) {//
let differ = this.memberList.length - this.formData.totalResi
this.memberList.splice(this.formData.totalResi, differ)
} else if (this.memberList.length < this.formData.totalResi) {////
let differ = this.formData.totalResi - this.memberList.length
for (let i = 0; i < differ; i++) {
let temp = JSON.parse(JSON.stringify(objTemp))
this.memberList.push(temp)
}
}
console.log(this.memberList)
},
onPickerChange (picker, values) {
this.selObj = values[0]
},
//
startLoading () {
loading = Loading.service({
lock: true, //
text: '正在加载……', //
background: 'rgba(0,0,0,.7)' //
})
},
//
endLoading () {
// clearTimeout(timer);
if (loading) {
loading.close()
}
}
}

78
src/views/pages/caijisuccess.vue

@ -0,0 +1,78 @@
<template>
<div class="bg-caiji-success">
<div class="title">
居民信息填报
</div>
<div class="main">
<div class="icon-success">
<i class="el-icon-circle-check "></i>
</div>
<div class="success-content"> 提交成功</div>
</div>
</div>
</template>
<script>
import { requestPost } from "@/js/dai/request";
import { Toast } from "mint-ui";
import { MessageBox } from 'mint-ui';
let loading //
export default {
data () {
return {
}
},
components: {},
computed: {
},
created () { },
mounted () {
},
methods: {
}
}
</script>
<style lang="scss" scoped >
@import "@/assets/scss/pages/caiji.scss";
.my-field /deep/ .mint-field-core {
text-align: right;
margin-right: 20px;
}
/deep/ .mint-popup-bottom {
width: 100vw;
}
.picker-toolbar-title {
display: flex;
flex-direction: row;
justify-content: space-around;
align-items: center;
background-color: #eee;
height: 44px;
line-height: 44px;
font-size: 16px;
.usi-btn-cancel,
.usi-btn-sure {
color: #26a2ff;
font-size: 16px;
}
}
</style>
Loading…
Cancel
Save