This commit is contained in:
shijingjing
2022-02-07 09:55:24 +08:00

View File

@@ -4,7 +4,10 @@
<div class="item"> <div class="item">
<span class="label"><span class="tips">*</span>类型</span> <span class="label"><span class="tips">*</span>类型</span>
<div class="value" @click="selectClick('appSpecialTypeFive', 'userType')"> <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"/> <u-icon name="arrow-right" color="#cccccc" size="14"/>
</div> </div>
</div> </div>
@@ -12,32 +15,39 @@
<span class="label"><span class="tips">*</span>姓名</span> <span class="label"><span class="tips">*</span>姓名</span>
<div class="value"> <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> </div>
<div class="item"> <div class="item">
<span class="label"><span class="tips">*</span>身份证号</span> <span class="label"><span class="tips">*</span>身份证号</span>
<div class="value"> <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> </div>
<div class="item"> <div class="item">
<span class="label"><span class="tips">*</span>性别</span> <span class="label"><span class="tips">*</span>性别</span>
<div class="value"> <div class="value">
<u-input disabled 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> </div>
<div class="item"> <div class="item">
<span class="label"><span class="tips">*</span>出生日期</span> <span class="label"><span class="tips">*</span>出生日期</span>
<div class="value"> <div class="value">
<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" /> <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> </div>
<div class="item"> <div class="item">
<span class="label"><span class="tips">*</span>联系电话</span> <span class="label"><span class="tips">*</span>联系电话</span>
<div class="value"> <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" @input="changePhone" /> <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> </div>
<div class="item"> <div class="item">
@@ -53,37 +63,46 @@
<div class="item"> <div class="item">
<span class="label"><span class="tips">*</span>详细地址</span> <span class="label"><span class="tips">*</span>详细地址</span>
<div class="value"> <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> </div>
<div class="item"> <div class="item">
<span class="label"><span class="tips">*</span>所属网格</span> <span class="label"><span class="tips">*</span>所属网格</span>
<div class="value"> <div class="value">
<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"/> <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> </div>
<div v-if="this.form.userType != ''"> <div v-if="this.form.userType != ''">
<div v-for="(item, index) in tableData[this.form.userType].list" :key="index"> <div v-for="(item, index) in tableData[this.form.userType].list" :key="index">
<div class="item" v-if="item.type == 'input'"> <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"> <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> </div>
<div class="item" v-if="item.type == 'select'"> <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)"> <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"/> <u-icon name="arrow-right" color="#cccccc" size="14"/>
</div> </div>
</div> </div>
<div class="item" v-if="item.type == 'time'"> <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)"> <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"/> <u-icon name="arrow-right" color="#cccccc" size="14"/>
</div> </div>
</div> </div>
@@ -95,20 +114,20 @@
<div class="btn">保存</div> <div class="btn">保存</div>
</div> </div>
<u-picker mode="time" v-model="dateShow" :params="deteParams" start-year="2010" @confirm="dateConfirm">请选择</u-picker> <u-picker mode="time" v-model="dateShow" :params="deteParams" start-year="2010" @confirm="dateConfirm">请选择
<u-select v-model="showSelect" :list="selectList" label-name="dictName" value-name="dictValue" @confirm="confirmSelect"/> </u-picker>
<u-select v-model="showGird" :list="girdlist" label-name="dictName" value-name="dictValue" @confirm="confirmGirdSelect"/> <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> </div>
</template> </template>
<script> <script>
import {mapActions, mapState} from 'vuex' import {mapState} from 'vuex'
import AiAreaPicker from '../../components/AiAreaPicker.vue'
export default { export default {
components: { AiAreaPicker },
data() { data() {
return { return {
form: { form: {
@@ -283,10 +302,10 @@ export default {
{ {
list: [ // 刑满释放 list: [ // 刑满释放
{ {
label: '是否累犯', label: '是否累犯',
type: 'select', type: 'select',
dict: 'houselivingStatus', dict: 'houselivingStatus',
formDbName: 'isSecond' formDbName: 'isSecond'
}, },
{ {
label: '原罪名', label: '原罪名',
@@ -337,155 +356,159 @@ export default {
} }
], ],
selectList: [], selectList: [],
id:"", id: "",
index:"", index: "",
showGird:false, showGird: false,
girdlist:[] girdlist: []
} }
}, },
computed: { computed: {
...mapState(['user']), ...mapState(['user']),
}, },
onLoad(o) { onLoad(o) {
// console.log(o); // console.log(o);
this.$dict.load('appSpecialSituation', 'appSpecialPlacement', 'appSpecialDenger', 'appSpecialCrime', this.$dict.load('appSpecialSituation', 'appSpecialPlacement', 'appSpecialDenger', 'appSpecialCrime',
'appSpecialControl', 'appSpecialDebug', 'appSpecialDrug', 'appSpecialChangeType','appSpecialCure','appSpecialDengerLevel', 'appSpecialControl', 'appSpecialDebug', 'appSpecialDrug', 'appSpecialChangeType', 'appSpecialCure', 'appSpecialDengerLevel',
'appSpecialDisableLevel','appSpecialDisableType','appSpecialHealth','appSpecialMarriage','appSpecialTypeFive').then(() => { 'appSpecialDisableLevel', 'appSpecialDisableType', 'appSpecialHealth', 'appSpecialMarriage', 'appSpecialTypeFive').then(() => {
}), }),
this.gridName() this.gridName()
if(o){ if (o) {
this.id = o.id this.id = o.id
this.index = o.index this.index = o.index
this.getDetail() this.getDetail()
} }
}, },
onShow() { onShow() {
document.title = '新增人员' document.title = '新增人员'
}, },
methods: { methods: {
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,{ getDetail() {
params: { if (!this.id) return
id:this.id var urlList = ['app/appspecialdisabled/queryDetailById', 'app/appspecialmental/queryDetailById', 'app/appspecialadjustment/queryDetailById',
} 'app/appspecialdrug/queryDetailById', 'app/appspecialprison/queryDetailById']
}).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.
} 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() { changeIdNumber() {
if(this.form.idNumber.length == 18){ if (this.form.idNumber.length == 18) {
var people = this.$idCardNoUtil.getIdCardInfo(this.form.idNumber) var people = this.$idCardNoUtil.getIdCardInfo(this.form.idNumber)
this.form.birth = people.birthday this.form.birth = people.birthday
this.form.gender = people.gender 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]$/; 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)) { if (!reg.test(this.form.idNumber)) {
return this.$u.toast('请输入正确的身份证号码') return this.$u.toast('请输入正确的身份证号码')
} }
} }
}, },
changePhone() { 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}$/ 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)){ if (!regTel.test(this.form.phone)) {
return this.$u.toast('请输入正确的手机号') return this.$u.toast('请输入正确的手机号')
} }
}, },
confirmGirdSelect(e){ confirmGirdSelect(e) {
this.form.girdId = e[0].value this.form.girdId = e[0].value
this.form.girdName=e[0].label this.form.girdName = e[0].label
}, },
gridName() { gridName() {
this.$http.post('app/appgirdmemberinfo/queryMyGirdListByLevel2AndUser').then(res => { this.$http.post('app/appgirdmemberinfo/queryMyGirdListByLevel2AndUser').then(res => {
console.log(res); console.log(res);
if(res.code == 0 ){ if (res.code == 0) {
var list=[] var list = []
res.data.map((e,index)=>{ res.data.map((e, index) => {
list.push({dictName:e.girdName,dictValue:index}) list.push({dictName: e.girdName, dictValue: index})
}) })
this.girdlist=list this.girdlist = list
} }
}) })
}, },
submit() { submit() {
if(this.form.userType === ''){ if (this.form.userType === '') {
return this.$u.toast('请选择类型') return this.$u.toast('请选择类型')
} }
if(!this.form.name){ if (!this.form.name) {
return this.$u.toast('请输入姓名') return this.$u.toast('请输入姓名')
} }
if(!this.form.idNumber){ if (!this.form.idNumber) {
return this.$u.toast('请输入身份证号') return this.$u.toast('请输入身份证号')
} }
if(!this.form.phone){ if (!this.form.phone) {
return this.$u.toast('请输入联系电话') return this.$u.toast('请输入联系电话')
} }
if(!this.form.areaName){ if (!this.form.areaName) {
return this.$u.toast('请选择区域') return this.$u.toast('请选择区域')
} }
if(!this.form.address){ if (!this.form.address) {
return this.$u.toast('请输入详细地址') return this.$u.toast('请输入详细地址')
} }
if(!this.form.girdName){ if (!this.form.girdName) {
return this.$u.toast('请选择网格') return this.$u.toast('请选择网格')
} }
var urlList = ['app/appspecialdisabled/addOrUpdate','app/appspecialmental/addOrUpdate', 'app/appspecialadjustment/addOrUpdate', var urlList = ['app/appspecialdisabled/addOrUpdate', 'app/appspecialmental/addOrUpdate', 'app/appspecialadjustment/addOrUpdate',
'app/appspecialdrug/addOrUpdate', 'app/appspecialprison/addOrUpdate'] 'app/appspecialdrug/addOrUpdate', 'app/appspecialprison/addOrUpdate']
this.$http.post(urlList[this.form.userType], {...this.form}).then(res => { this.$http.post(urlList[this.form.userType], {...this.form}).then(res => {
<<<<<<< HEAD
if(res.code == 0) { if(res.code == 0) {
this.$u.toast('信息保存成功') this.$u.toast('信息保存成功')
=======
if (res.code == 0) {
this.$u.toast('提交成功')
>>>>>>> cceb98c5b4526a7a0d9daaf4cb517de5e0f6a083
uni.$emit('specialPeopleList') uni.$emit('specialPeopleList')
setTimeout(() => { setTimeout(() => {
uni.navigateBack() uni.navigateBack()
@@ -499,7 +522,12 @@ export default {
} }
}) })
}, },
<<<<<<< HEAD
areaSelect(e){ areaSelect(e){
=======
areaSelect(e) {
// console.log(e);
>>>>>>> cceb98c5b4526a7a0d9daaf4cb517de5e0f6a083
this.form.areaId = e this.form.areaId = e
}, },
@@ -511,7 +539,7 @@ export default {
confirmSelect(e) { confirmSelect(e) {
this.form[this.selectName] = e[0].value this.form[this.selectName] = e[0].value
if(this.selectName == 'userType'){ if (this.selectName == 'userType') {
this.tableData[this.form.userType].list.map((item) => { this.tableData[this.form.userType].list.map((item) => {
this.form[item.formDbName] = '' this.form[item.formDbName] = ''
}) })
@@ -555,7 +583,7 @@ export default {
} }
} }
.tips{ .tips {
display: inline-block; display: inline-block;
width: 16px; width: 16px;
font-size: 32px; font-size: 32px;