ct
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<div class="statistical">
|
||||
<div class="statistical" v-if="pageShow">
|
||||
<div class="statistical-tab">
|
||||
<span :class="[currIndex === 0 ? 'active' : '']" @click="currIndex = 0">问卷统计</span>
|
||||
<span :class="[currIndex === 1 ? 'active' : '']" @click="currIndex = 1">人员统计</span>
|
||||
@@ -8,25 +8,24 @@
|
||||
<div class="list-wrapper" v-show="currIndex === 0">
|
||||
<div class="top">
|
||||
<span>共</span>
|
||||
<i>9</i>
|
||||
<span>题,其中多选</span>
|
||||
<i>9</i>
|
||||
<span>题,其中多选</span>
|
||||
<i>9</i>
|
||||
<span>道</span>
|
||||
<i>{{ subjectList.length }}</i>
|
||||
<span>题,其中</span>
|
||||
<span v-for="(item, index) in fieldTypeCount" :key="index">
|
||||
{{ mapType(item.field_type) }}<i>{{ item.c }}</i>道{{ fieldTypeCount.length - 1 === index ? '' : ',' }}
|
||||
</span>
|
||||
</div>
|
||||
<div class="topic-list">
|
||||
<div class="topic-item" v-for="(item, i) in 10" :key="i">
|
||||
<h2>一、您是否了解社会治理?(单选)</h2>
|
||||
<div class="topic-item" v-for="(item, index) in subjectList" :key="index">
|
||||
<h2>{{ item.fieldName }}({{ item.fixedLabel }})</h2>
|
||||
<div class="topic-item__wrapper">
|
||||
<div class="option-item" v-for="(item, index) in 4" :key="index">
|
||||
<div class="option-item" v-for="(filed, i) in item.options" :key="i" v-show="['radio', 'checkbox', 'select'].indexOf(item.fieldType) > -1">
|
||||
<div class="option-item__left">
|
||||
<h2>A:</h2>
|
||||
<span>每周监测</span>
|
||||
<h2>{{ filed.label }}:</h2>
|
||||
<!-- <span>每周监测</span> -->
|
||||
</div>
|
||||
<div class="option-item__right">
|
||||
<span>10票</span>
|
||||
<span>40%</span>
|
||||
<span>{{ filed.c }}票</span>
|
||||
<span>{{ (((filed.c || 0) / fieldDataCount[`field_${index}`]) * 100).toFixed(2) }}%</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -63,12 +62,95 @@
|
||||
|
||||
data () {
|
||||
return {
|
||||
currIndex: 0
|
||||
id: '',
|
||||
currIndex: 0,
|
||||
targetList: [],
|
||||
info: {},
|
||||
subjectList: [],
|
||||
tableData: [],
|
||||
total: 0,
|
||||
pageShow: false,
|
||||
form: {},
|
||||
fieldTypeCount: [],
|
||||
fieldValueDistribution: [],
|
||||
fieldDataCount: {},
|
||||
isShowForm: false,
|
||||
targetList: [],
|
||||
formInfo: {}
|
||||
}
|
||||
},
|
||||
|
||||
onLoad () {
|
||||
onLoad (query) {
|
||||
this.$loading()
|
||||
this.id = query.id
|
||||
|
||||
this.$nextTick(() => {
|
||||
this.getInfo()
|
||||
this.getFormInfo()
|
||||
})
|
||||
},
|
||||
|
||||
methods: {
|
||||
getInfo () {
|
||||
this.$http.post(`/app/appquestionnairetemplate/queryDetailById?id=${this.id}`).then(res => {
|
||||
if (res.code == 0) {
|
||||
this.info = res.data
|
||||
this.targetList = res.data.fields.map(item => {
|
||||
return JSON.parse(item.fieldInfo)
|
||||
})
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
mapType(type) {
|
||||
return {
|
||||
upload: '上传图片',
|
||||
input: '单行填空',
|
||||
textarea: '多行填空',
|
||||
radio: '单选',
|
||||
checkbox: '多选',
|
||||
select: '单下拉框'
|
||||
}[type]
|
||||
},
|
||||
|
||||
getFormInfo() {
|
||||
this.$http.post(`/app/appquestionnairetemplate/statisticsTable?id=${this.id}`, null, {
|
||||
params: {
|
||||
...this.search
|
||||
}
|
||||
}).then(res => {
|
||||
this.$hideLoading()
|
||||
if (res.code == 0) {
|
||||
this.fieldDataCount = res.data.fieldDataCount
|
||||
this.fieldTypeCount = res.data.fieldTypeCount
|
||||
this.fieldValueDistribution = res.data.fieldValueDistribution
|
||||
this.subjectList = res.data.appQuestionnaireTemplate.fields.map((item, index) => {
|
||||
const fieldInfo = JSON.parse(item.fieldInfo)
|
||||
let options = fieldInfo.options
|
||||
if (['radio', 'checkbox', 'select'].indexOf(item.fieldType) > -1) {
|
||||
options = fieldInfo.options.map(v => {
|
||||
res.data.fieldValueDistribution[`field_${index}`].forEach(info => {
|
||||
if (info.fieldValue === v.label) {
|
||||
v.c = info.c
|
||||
}
|
||||
})
|
||||
|
||||
return v
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
return {
|
||||
...item,
|
||||
...fieldInfo,
|
||||
options
|
||||
}
|
||||
})
|
||||
|
||||
this.pageShow = true
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
||||
@@ -78,6 +160,76 @@
|
||||
padding-top: 112px;
|
||||
padding-bottom: 60px;
|
||||
|
||||
.user-list {
|
||||
padding: 0 32px;
|
||||
background: #f5f5f5;
|
||||
|
||||
.user-item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
width: 100%;
|
||||
height: 160px;
|
||||
margin-top: 24px;
|
||||
padding: 32px;
|
||||
background: #FFFFFF;
|
||||
box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.02);
|
||||
border-radius: 16px;
|
||||
|
||||
.user-item__right {
|
||||
font-size: 30px;
|
||||
text-align: center;
|
||||
|
||||
p {
|
||||
line-height: 40px;
|
||||
margin-bottom: 16px;
|
||||
color: #333333;
|
||||
}
|
||||
|
||||
div {
|
||||
color: #1365DD;
|
||||
}
|
||||
}
|
||||
|
||||
.user-item__left {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
|
||||
.right {
|
||||
p {
|
||||
color: #999999;
|
||||
font-size: 30px;
|
||||
}
|
||||
}
|
||||
|
||||
.right-top {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 16px;
|
||||
line-height: 40px;
|
||||
|
||||
h2 {
|
||||
margin-right: 20px;
|
||||
font-size: 30px;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
span {
|
||||
color: #999999;
|
||||
font-size: 28px;
|
||||
}
|
||||
}
|
||||
|
||||
image {
|
||||
width: 96px;
|
||||
height: 96px;
|
||||
margin-right: 16px;
|
||||
border-radius: 50%;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
* {
|
||||
box-sizing: border-box;
|
||||
}
|
||||
@@ -90,10 +242,8 @@
|
||||
padding-bottom: 40px;
|
||||
|
||||
.top {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
height: 116px;
|
||||
padding: 0 32px;
|
||||
padding: 36px 32px 32px;
|
||||
text-align: justify;
|
||||
font-size: 34px;
|
||||
color: #333;
|
||||
border-bottom: 4px solid #f3f6f9;
|
||||
@@ -173,6 +323,7 @@
|
||||
width: 100%;
|
||||
height: 96px;
|
||||
padding: 0 32px;
|
||||
border-bottom: 1px solid #D4D4D4;
|
||||
background: #fff;
|
||||
|
||||
span {
|
||||
|
||||
@@ -4,7 +4,10 @@
|
||||
<div class="item">
|
||||
<span class="label"><span class="tips">*</span>类型</span>
|
||||
<div class="value" @click="selectClick('appSpecialTypeFive', 'userType')">
|
||||
<span :class="form.userType === '' ? 'color-999' : ''">{{ $dict.getLabel('appSpecialTypeFive', form.userType) || '请选择'}}</span>
|
||||
<span
|
||||
:class="form.userType === '' ? 'color-999' : ''">{{
|
||||
$dict.getLabel('appSpecialTypeFive', form.userType) || '请选择'
|
||||
}}</span>
|
||||
<u-icon name="arrow-right" color="#cccccc" size="14"/>
|
||||
</div>
|
||||
</div>
|
||||
@@ -12,32 +15,39 @@
|
||||
<span class="label"><span class="tips">*</span>姓名</span>
|
||||
<div class="value">
|
||||
|
||||
<u-input type="text" placeholder="请输入" v-model="form.name" input-align="right" placeholder-style="color:#999;font-size:16px;" height="48" :maxlength="15" :clearable="false" />
|
||||
<u-input type="text" placeholder="请输入" v-model="form.name" input-align="right"
|
||||
placeholder-style="color:#999;font-size:16px;" height="48" :maxlength="15" :clearable="false"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<span class="label"><span class="tips">*</span>身份证号</span>
|
||||
<div class="value">
|
||||
<u-input type="text" placeholder="请输入" v-model="form.idNumber" input-align="right" placeholder-style="color:#999;font-size:16px;" height="48" :maxlength="18" :clearable="false" @input="changeIdNumber"/>
|
||||
<u-input type="text" placeholder="请输入" v-model="form.idNumber" input-align="right"
|
||||
placeholder-style="color:#999;font-size:16px;" height="48" :maxlength="18" :clearable="false"
|
||||
@input="changeIdNumber"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<span class="label"><span class="tips">*</span>性别</span>
|
||||
<div class="value">
|
||||
<u-input placeholder="请输入" v-model="form.gender" input-align="right" placeholder-style="color:#999;font-size:16px;" height="48" :maxlength="15" :clearable="false" />
|
||||
<u-input disabled placeholder="请输入" v-model="form.gender" input-align="right"
|
||||
placeholder-style="color:#999;font-size:16px;" height="48" :maxlength="15" :clearable="false"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<span class="label"><span class="tips">*</span>出生日期</span>
|
||||
<div class="value">
|
||||
|
||||
<u-input type="text" placeholder="请输入" v-model="form.birth" input-align="right" placeholder-style="color:#999;font-size:16px;" height="48" :maxlength="19" :clearable="false" />
|
||||
<u-input type="text" disabled placeholder="请输入" v-model="form.birth" input-align="right"
|
||||
placeholder-style="color:#999;font-size:16px;" height="48" :maxlength="19" :clearable="false"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<span class="label"><span class="tips">*</span>联系电话</span>
|
||||
<div class="value">
|
||||
<u-input type="number" placeholder="请输入" v-model="form.phone" input-align="right" placeholder-style="color:#999;font-size:16px;" height="48" :maxlength="11" :clearable="false" />
|
||||
<u-input type="number" placeholder="请输入" v-model="form.phone" input-align="right"
|
||||
placeholder-style="color:#999;font-size:16px;" height="48" :maxlength="11" :clearable="false"
|
||||
@input="changePhone"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
@@ -53,37 +63,46 @@
|
||||
<div class="item">
|
||||
<span class="label"><span class="tips">*</span>详细地址</span>
|
||||
<div class="value">
|
||||
<u-input type="text" placeholder="请输入" v-model="form.address" input-align="right" placeholder-style="color:#999;font-size:16px;" height="48"/>
|
||||
<u-input type="text" placeholder="请输入" v-model="form.address" input-align="right"
|
||||
placeholder-style="color:#999;font-size:16px;" height="48"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="item">
|
||||
<span class="label"><span class="tips">*</span>所属网格</span>
|
||||
<div class="value">
|
||||
<u-input type="text" placeholder="请输入" v-model="form.girdName" input-align="right" placeholder-style="color:#999;font-size:16px;" height="48" :clearable="false"/>
|
||||
<u-input type="text" placeholder="请输入" disabled v-model="form.girdName" input-align="right"
|
||||
placeholder-style="color:#999;font-size:16px;" height="48" :clearable="false"
|
||||
@click="showGird=true"/>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="this.form.userType != ''">
|
||||
<div v-for="(item, index) in tableData[this.form.userType].list" :key="index">
|
||||
|
||||
<div class="item" v-if="item.type == 'input'">
|
||||
<span class="label"><span class="tips"></span>{{item.label}}</span>
|
||||
<span class="label"><span class="tips"></span>{{ item.label }}</span>
|
||||
<div class="value">
|
||||
<u-input type="text" placeholder="请输入" v-model="form[item.formDbName]" input-align="right" placeholder-style="color:#999;font-size:16px;" height="48" :maxlength="15" :clearable="false" />
|
||||
<u-input type="text" placeholder="请输入" v-model="form[item.formDbName]" input-align="right"
|
||||
placeholder-style="color:#999;font-size:16px;" height="48" :maxlength="15" :clearable="false"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="item" v-if="item.type == 'select'">
|
||||
<span class="label"><span class="tips"></span>{{item.label}}</span>
|
||||
<span class="label"><span class="tips"></span>{{ item.label }}</span>
|
||||
<div class="value" @click="selectClick(item.dict, item.formDbName)">
|
||||
<span :class="form[item.formDbName] === '' ? 'color-999' : ''">{{ $dict.getLabel(item.dict, form[item.formDbName]) || '请选择'}}</span>
|
||||
<span
|
||||
:class="form[item.formDbName] === '' ? 'color-999' : ''">{{
|
||||
$dict.getLabel(item.dict, form[item.formDbName]) || '请选择'
|
||||
}}</span>
|
||||
<u-icon name="arrow-right" color="#cccccc" size="14"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="item" v-if="item.type == 'time'">
|
||||
<span class="label"><span class="tips"></span>{{item.label}}</span>
|
||||
<span class="label"><span class="tips"></span>{{ item.label }}</span>
|
||||
<div class="value" @click="selectTime(item.formDbName)">
|
||||
<span :class="form[item.formDbName] === '' ? 'color-999' : ''">{{ $dateFormat(form[item.formDbName],'YYYY-MM-DD') || '请选择' }}</span>
|
||||
<span :class="form[item.formDbName] === '' ? 'color-999' : ''">{{
|
||||
$dateFormat(form[item.formDbName], 'YYYY-MM-DD') || '请选择'
|
||||
}}</span>
|
||||
<u-icon name="arrow-right" color="#cccccc" size="14"/>
|
||||
</div>
|
||||
</div>
|
||||
@@ -95,19 +114,20 @@
|
||||
<div class="btn">保存</div>
|
||||
</div>
|
||||
|
||||
<u-picker mode="time" v-model="dateShow" :params="deteParams" start-year="2010" @confirm="dateConfirm">请选择</u-picker>
|
||||
<u-select v-model="showSelect" :list="selectList" label-name="dictName" value-name="dictValue" @confirm="confirmSelect"/>
|
||||
<u-picker mode="time" v-model="dateShow" :params="deteParams" start-year="2010" @confirm="dateConfirm">请选择
|
||||
</u-picker>
|
||||
<u-select v-model="showSelect" :list="selectList" label-name="dictName" value-name="dictValue"
|
||||
@confirm="confirmSelect"/>
|
||||
<u-select v-model="showGird" :list="girdlist" label-name="dictName" value-name="dictValue"
|
||||
@confirm="confirmGirdSelect"/>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
|
||||
import {mapActions, mapState} from 'vuex'
|
||||
import AiAreaPicker from '../../components/AiAreaPicker.vue'
|
||||
import {mapState} from 'vuex'
|
||||
|
||||
export default {
|
||||
components: { AiAreaPicker },
|
||||
|
||||
data() {
|
||||
return {
|
||||
form: {
|
||||
@@ -130,6 +150,39 @@ export default {
|
||||
selectName: '',
|
||||
tableIndex: 0,
|
||||
tableData: [
|
||||
{
|
||||
list: [ // 残疾人
|
||||
{
|
||||
label: '家庭年收入(万)',
|
||||
type: 'input',
|
||||
formDbName: 'income'
|
||||
},
|
||||
{
|
||||
label: '婚姻情况',
|
||||
type: 'select',
|
||||
dict: 'appSpecialMarriage',
|
||||
formDbName: 'marriage'
|
||||
},
|
||||
{
|
||||
label: '身体状况',
|
||||
type: 'select',
|
||||
dict: 'appSpecialHealth',
|
||||
formDbName: 'health'
|
||||
},
|
||||
{
|
||||
label: '残疾类型',
|
||||
type: 'select',
|
||||
dict: 'appSpecialDisableType',
|
||||
formDbName: 'type'
|
||||
},
|
||||
{
|
||||
label: '残疾级别',
|
||||
type: 'select',
|
||||
dict: 'appSpecialDisableLevel',
|
||||
formDbName: 'level'
|
||||
},
|
||||
]
|
||||
},
|
||||
{
|
||||
list: [ // 精神病人
|
||||
{
|
||||
@@ -166,39 +219,6 @@ export default {
|
||||
},
|
||||
]
|
||||
},
|
||||
{
|
||||
list: [ // 残疾人
|
||||
{
|
||||
label: '家庭年收入(万)',
|
||||
type: 'input',
|
||||
formDbName: 'income'
|
||||
},
|
||||
{
|
||||
label: '婚姻情况',
|
||||
type: 'select',
|
||||
dict: 'appSpecialMarriage',
|
||||
formDbName: 'marriage'
|
||||
},
|
||||
{
|
||||
label: '身体状况',
|
||||
type: 'select',
|
||||
dict: 'appSpecialHealth',
|
||||
formDbName: 'health'
|
||||
},
|
||||
{
|
||||
label: '残疾类型',
|
||||
type: 'select',
|
||||
dict: 'appSpecialDisableType',
|
||||
formDbName: 'type'
|
||||
},
|
||||
{
|
||||
label: '残疾级别',
|
||||
type: 'select',
|
||||
dict: 'appSpecialDisableLevel',
|
||||
formDbName: 'level'
|
||||
},
|
||||
]
|
||||
},
|
||||
{
|
||||
list: [ // 社区矫正人群
|
||||
{
|
||||
@@ -253,7 +273,7 @@ export default {
|
||||
label: '戒毒情况',
|
||||
type: 'select',
|
||||
dict: 'appSpecialDebug',
|
||||
formDbName: 'houselivingStatus',
|
||||
formDbName: 'debug',
|
||||
},
|
||||
{
|
||||
label: '管控情况',
|
||||
@@ -282,10 +302,10 @@ export default {
|
||||
{
|
||||
list: [ // 刑满释放
|
||||
{
|
||||
label: '是否累犯',
|
||||
type: 'select',
|
||||
dict: 'houselivingStatus',
|
||||
formDbName: 'isSecond'
|
||||
label: '是否累犯',
|
||||
type: 'select',
|
||||
dict: 'houselivingStatus',
|
||||
formDbName: 'isSecond'
|
||||
},
|
||||
{
|
||||
label: '原罪名',
|
||||
@@ -336,63 +356,153 @@ export default {
|
||||
}
|
||||
],
|
||||
selectList: [],
|
||||
id: "",
|
||||
index: "",
|
||||
showGird: false,
|
||||
girdlist: []
|
||||
}
|
||||
},
|
||||
computed: {
|
||||
...mapState(['user']),
|
||||
},
|
||||
created() {
|
||||
onLoad(o) {
|
||||
// console.log(o);
|
||||
this.$dict.load('appSpecialSituation', 'appSpecialPlacement', 'appSpecialDenger', 'appSpecialCrime',
|
||||
'appSpecialControl', 'appSpecialDebug', 'appSpecialDrug', 'appSpecialChangeType','appSpecialCure','appSpecialDengerLevel',
|
||||
'appSpecialDisableLevel','appSpecialDisableType','appSpecialHealth','appSpecialMarriage','appSpecialTypeFive').then(() => {
|
||||
})
|
||||
'appSpecialControl', 'appSpecialDebug', 'appSpecialDrug', 'appSpecialChangeType', 'appSpecialCure', 'appSpecialDengerLevel',
|
||||
'appSpecialDisableLevel', 'appSpecialDisableType', 'appSpecialHealth', 'appSpecialMarriage', 'appSpecialTypeFive').then(() => {
|
||||
}),
|
||||
this.gridName()
|
||||
if (o) {
|
||||
this.id = o.id
|
||||
this.index = o.index
|
||||
this.getDetail()
|
||||
}
|
||||
},
|
||||
onShow() {
|
||||
document.title = '新增人员'
|
||||
},
|
||||
|
||||
methods: {
|
||||
changeIdNumber() {
|
||||
if(this.form.idNumber.length == 18){
|
||||
var people = this.$idCardNoUtil.getIdCardInfo(this.form.idNumber)
|
||||
this.form.birth = people.birthday
|
||||
this.form.gender = people.gender
|
||||
|
||||
let reg = /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
|
||||
if (!reg.test(this.form.idNumber)) {
|
||||
return this.$u.toast('请输入正确的身份证号码')
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
getDetail() {
|
||||
if (!this.id) return
|
||||
var urlList = ['app/appspecialdisabled/queryDetailById', 'app/appspecialmental/queryDetailById', 'app/appspecialadjustment/queryDetailById',
|
||||
'app/appspecialdrug/queryDetailById', 'app/appspecialprison/queryDetailById']
|
||||
|
||||
this.$http.post(urlList[this.index], null, {
|
||||
params: {
|
||||
id: this.id
|
||||
}
|
||||
}).then(({res}) => {
|
||||
console.log(res);
|
||||
if (res.code == 0) {
|
||||
this.form = res
|
||||
// this.form.userType = this.index
|
||||
// this.form.name = res.data.name
|
||||
// this.form.idNumber = res.data.idNumber
|
||||
// this.form.gender=res.data.gender,
|
||||
// this.form.birth=res.data.birth,
|
||||
// this.form.phone=res.data.phone,
|
||||
// this.form.areaName=res.data.areaName,
|
||||
// this.form.address=res.data.address,
|
||||
// this.form.girdName=res.data.girdName,
|
||||
// this.form.areaId=res.data.areaId,
|
||||
// this.form.income=res.data.income,
|
||||
// this.form.marriage = res.data.marriage,
|
||||
// this.form.health = res.data.health
|
||||
// this.form.type = res.data.type
|
||||
// this.form.level= res.data.level
|
||||
// this.form.sickTime= res.data.sickTime
|
||||
// this.form.helpName= res.data.helpName
|
||||
// this.form.helpPhone= res.data.helpPhone
|
||||
// this.form.crime= res.data.crime
|
||||
// this.form.startTime= res.data.startTime
|
||||
// this.form.endTime= res.data.endTime
|
||||
// this.form.isCreateGroup= res.data.isCreateGroup
|
||||
// this.form.isRelease= res.data.isRelease
|
||||
// this.form.firstTime= res.data.firstTime
|
||||
// this.form.status= res.data.status
|
||||
// this.form.debug= res.data.debug
|
||||
// this.form.control= res.data.control
|
||||
// this.form.controlName= res.data.controlName
|
||||
// this.form.controlPhone= res.data.controlPhone
|
||||
// this.form.isSecond= res.data.isSecond
|
||||
// this.form.= res.data.
|
||||
// this.form.= res.data.
|
||||
// this.form.= res.data.
|
||||
// this.form.= res.data.
|
||||
// this.form.= res.data.
|
||||
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
|
||||
changeIdNumber() {
|
||||
if (this.form.idNumber.length == 18) {
|
||||
var people = this.$idCardNoUtil.getIdCardInfo(this.form.idNumber)
|
||||
this.form.birth = people.birthday
|
||||
this.form.gender = people.gender
|
||||
|
||||
let reg = /^[1-9]\d{5}(18|19|20)\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/;
|
||||
if (!reg.test(this.form.idNumber)) {
|
||||
return this.$u.toast('请输入正确的身份证号码')
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
changePhone() {
|
||||
let regTel = /^1(3\d|4[5-9]|5[0-35-9]|6[567]|7[0-8]|8\d|9[0-35-9])\d{8}$/
|
||||
if (!regTel.test(this.form.phone)) {
|
||||
return this.$u.toast('请输入正确的手机号')
|
||||
}
|
||||
},
|
||||
confirmGirdSelect(e) {
|
||||
this.form.girdId = e[0].value
|
||||
this.form.girdName = e[0].label
|
||||
},
|
||||
|
||||
gridName() {
|
||||
this.$http.post('app/appgirdmemberinfo/queryMyGirdListByLevel2AndUser').then(res => {
|
||||
console.log(res);
|
||||
if (res.code == 0) {
|
||||
var list = []
|
||||
res.data.map((e, index) => {
|
||||
list.push({dictName: e.girdName, dictValue: index})
|
||||
})
|
||||
this.girdlist = list
|
||||
}
|
||||
})
|
||||
},
|
||||
|
||||
submit() {
|
||||
if(this.userType === ''){
|
||||
if (this.form.userType === '') {
|
||||
return this.$u.toast('请选择类型')
|
||||
}
|
||||
if(!this.form.name){
|
||||
if (!this.form.name) {
|
||||
return this.$u.toast('请输入姓名')
|
||||
}
|
||||
if(!this.form.idNumber){
|
||||
if (!this.form.idNumber) {
|
||||
return this.$u.toast('请输入身份证号')
|
||||
}
|
||||
if(!this.form.phone){
|
||||
if (!this.form.phone) {
|
||||
return this.$u.toast('请输入联系电话')
|
||||
}
|
||||
if(!this.form.areaName){
|
||||
if (!this.form.areaName) {
|
||||
return this.$u.toast('请选择区域')
|
||||
}
|
||||
if(!this.form.address){
|
||||
if (!this.form.address) {
|
||||
return this.$u.toast('请输入详细地址')
|
||||
}
|
||||
if(!this.form.girdName){
|
||||
if (!this.form.girdName) {
|
||||
return this.$u.toast('请选择网格')
|
||||
}
|
||||
|
||||
var urlList = ['app/appspecialmental/addOrUpdate', 'app/appspecialdisabled/addOrUpdate', 'app/appspecialdisabled/addOrUpdate',
|
||||
'app/appspecialdisabled/addOrUpdate', 'app/appspecialdisabled/addOrUpdate']
|
||||
var urlList = ['app/appspecialdisabled/addOrUpdate', 'app/appspecialmental/addOrUpdate', 'app/appspecialadjustment/addOrUpdate',
|
||||
'app/appspecialdrug/addOrUpdate', 'app/appspecialprison/addOrUpdate']
|
||||
|
||||
this.$http.post(urlList[this.form.userType], this.form).then(res => {
|
||||
if(res.code == 0) {
|
||||
this.$http.post(urlList[this.form.userType], {...this.form}).then(res => {
|
||||
if (res.code == 0) {
|
||||
this.$u.toast('提交成功')
|
||||
uni.$emit('specialPeopleList')
|
||||
setTimeout(() => {
|
||||
@@ -401,13 +511,13 @@ export default {
|
||||
}
|
||||
})
|
||||
},
|
||||
areaSelect(e){
|
||||
console.log(e);
|
||||
areaSelect(e) {
|
||||
// console.log(e);
|
||||
this.form.areaId = e
|
||||
},
|
||||
|
||||
selectClick(dictName, formName) {
|
||||
console.log(dictName)
|
||||
// console.log(dictName)
|
||||
this.selectList = this.$dict.getDict(dictName)
|
||||
this.selectName = formName
|
||||
this.showSelect = true
|
||||
@@ -415,7 +525,7 @@ export default {
|
||||
confirmSelect(e) {
|
||||
this.form[this.selectName] = e[0].value
|
||||
|
||||
if(this.selectName == 'userType'){
|
||||
if (this.selectName == 'userType') {
|
||||
this.tableData[this.form.userType].list.map((item) => {
|
||||
this.form[item.formDbName] = ''
|
||||
})
|
||||
@@ -459,7 +569,7 @@ export default {
|
||||
}
|
||||
}
|
||||
|
||||
.tips{
|
||||
.tips {
|
||||
display: inline-block;
|
||||
width: 16px;
|
||||
font-size: 32px;
|
||||
|
||||
@@ -26,7 +26,10 @@
|
||||
<div class="title">特殊人群</div>
|
||||
<div class="num-content">
|
||||
<div class="num-item" v-for="(item, index) in statisticsList" :key="index">
|
||||
<h3>{{item.value}}</h3>
|
||||
<h3>
|
||||
{{item.value}}
|
||||
|
||||
</h3>
|
||||
<p>{{item.label}}</p>
|
||||
</div>
|
||||
<AiEmpty v-if="!statisticsList.length"/>
|
||||
@@ -46,7 +49,9 @@
|
||||
<div v-else>
|
||||
<div class="item-content" v-for="(item, index) in userList" :key="index">
|
||||
<div class="title" @click="showUserType(index)">
|
||||
<h2>{{item.label}}</h2>
|
||||
<h2>
|
||||
{{ $dict.getLabel('appSpecialTypeFive', item.label) }}
|
||||
</h2>
|
||||
<img src="./img/down-icon.png" alt="" :class="item.check ? 'img-active' : ''">
|
||||
</div>
|
||||
<div class="user-list" v-if="item.check">
|
||||
@@ -57,8 +62,8 @@
|
||||
<div class="user-info">
|
||||
<p class="name">{{e.name}}
|
||||
<span class="btn-icon">
|
||||
<img src="./img/edit-icon.png" alt="" @click="toEdit(e)">
|
||||
<img src="./img/del-icon.png" alt="" @click="del(e)">
|
||||
<img src="./img/edit-icon.png" alt="" @click="toEdit(e,item.label)">
|
||||
<img src="./img/del-icon.png" alt="" @click="del(e,item.label)">
|
||||
</span>
|
||||
</p>
|
||||
<div class="phone">
|
||||
@@ -67,7 +72,7 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<p class="text" v-if="!item.value.length">{{'暂无' + item.label + '信息'}}</p>
|
||||
<p class="text" v-if="!item.value.length">{{'暂无' + $dict.getLabel('appSpecialTypeFive', item.label) + '信息'}}</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="footer" @click="toAdd">
|
||||
@@ -123,7 +128,7 @@ export default {
|
||||
},
|
||||
getStatistic() {
|
||||
this.statisticsList = []
|
||||
this.$http.post(`/app/appspecialadjustment/statistic?type=0&range=0`).then((res) => {
|
||||
this.$http.post(`app/appspecialadjustment/statistic?type=0&range=0`).then((res) => {
|
||||
// if (res.code == 0) {
|
||||
// for(let i in res.data){
|
||||
// var obj = {
|
||||
@@ -151,17 +156,18 @@ export default {
|
||||
},
|
||||
getUserList() {
|
||||
this.userList = []
|
||||
this.$http.post(`/app/appspecialadjustment/allList?type=0&name=${this.name}`).then((res) => {
|
||||
// if (res.code == 0) {
|
||||
// for(let i in res.data){
|
||||
// var obj = {
|
||||
// label: i,
|
||||
// value: res.data[i],
|
||||
// check: false
|
||||
// }
|
||||
// this.userList.push(obj)
|
||||
// }
|
||||
// }
|
||||
this.$http.post('app/appspecialadjustment/allList',{type: '', name: this.name}).then((res) => {
|
||||
if (res.code == 0) {
|
||||
for(let i in res.data){
|
||||
var obj = {
|
||||
label: i,
|
||||
value: res.data[i],
|
||||
check: false
|
||||
}
|
||||
this.userList.push(obj)
|
||||
|
||||
}
|
||||
}
|
||||
})
|
||||
},
|
||||
toAdd() {
|
||||
@@ -189,18 +195,27 @@ export default {
|
||||
}
|
||||
|
||||
},
|
||||
toEdit(row) {
|
||||
// uni.navigateTo({url: './add'})
|
||||
toEdit(row,index) {
|
||||
uni.navigateTo({url: `./add?id=${row.id}&index=${index}`})
|
||||
},
|
||||
del(row) {
|
||||
del(row,indexs) {
|
||||
console.log(indexs);
|
||||
var delUrl = ['app/appspecialdisabled/delete','app/appspecialmental/delete',
|
||||
'app/appspecialadjustment/delete','app/appspecialdrug/delete','app/appspecialprison/delete'
|
||||
]
|
||||
var idUrl='app/appspecialdisabled/delete'
|
||||
var id='c24aaff664a94fdd908a85c0237583bd'
|
||||
this.$confirm('确定删除该数据?').then(() => {
|
||||
// this.$http.post(`/app/appzyvideobroadcast/getBroadcastRecall?broadcastId=${id}`).then((res) => {
|
||||
// if (res.code == 0) {
|
||||
// this.$u.toast('撤回成功!')
|
||||
// this.getList()
|
||||
// }
|
||||
// })
|
||||
})
|
||||
uni.showLoading()
|
||||
this.$http.post(delUrl[indexs],null, {params: {ids: row.id}}).then((res) => {
|
||||
// this.$http.post(idUrl,{ids: row.id}).then((res) => {
|
||||
if (res.code == 0) {
|
||||
this.$u.toast('删除成功!')
|
||||
this.getUserList()
|
||||
}
|
||||
uni.hideLoading()
|
||||
})
|
||||
}).catch(() => {})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user