This commit is contained in:
yanran200730
2022-10-14 16:13:56 +08:00
40 changed files with 1039 additions and 772 deletions

View File

@@ -62,6 +62,7 @@
<script> <script>
import {mapState} from "vuex"; import {mapState} from "vuex";
import AddVaccination from "./addVaccination"; import AddVaccination from "./addVaccination";
import {ID} from "dvcp-ui/lib/js/utils";
export default { export default {
name: "AppVaccination", name: "AppVaccination",
@@ -108,7 +109,7 @@ export default {
{label: "出生日期", prop: "birthday", align: 'center'}, {label: "出生日期", prop: "birthday", align: 'center'},
{ {
label: "身份证号", width: "160px", align: 'center', label: "身份证号", width: "160px", align: 'center',
render: (h, {row}) => h('span', null, this.idCardNoUtil.hideId(row.idNumber)) render: (h, {row}) => h('span', null, ID.hideId(row.idNumber))
}, },
{label: "所属地区", prop: "areaName", align: 'center'}, {label: "所属地区", prop: "areaName", align: 'center'},
{label: "住址", prop: "address", width: "200px", align: 'center'}, {label: "住址", prop: "address", width: "200px", align: 'center'},

View File

@@ -82,6 +82,7 @@
<script> <script>
import {mapState} from "vuex"; import {mapState} from "vuex";
import {ID} from "dvcp-ui/lib/js/utils";
export default { export default {
name: "addVaccination", name: "addVaccination",
@@ -183,9 +184,9 @@ export default {
this.form = {...this.form, name, idNumber, phone, areaId, address} this.form = {...this.form, name, idNumber, phone, areaId, address}
}, },
getInfoByIdNumber(code) { getInfoByIdNumber(code) {
if (this.idCardNoUtil.checkIdCardNo(code)) { if (ID.check(code)) {
let info = this.idCardNoUtil.getIdCardInfo(code) let info = new ID(code)
this.form.sex = this.dict.getValue('sex', info.gender) this.form.sex = info.sex
this.form.birthday = info.birthday this.form.birthday = info.birthday
this.$forceUpdate() this.$forceUpdate()
} }

View File

@@ -97,6 +97,7 @@
<script> <script>
import {mapState} from 'vuex'; import {mapState} from 'vuex';
import detail from './detail' import detail from './detail'
import {ID} from "dvcp-ui/lib/js/utils";
export default { export default {
name: 'AppScorePersonal', name: 'AppScorePersonal',
@@ -263,8 +264,7 @@ export default {
formRules() { formRules() {
let IdNumberPass = (rule, value, callback) => { let IdNumberPass = (rule, value, callback) => {
if (value) { if (value) {
console.log(this.idCardNoUtil); if (ID.check(value)) {
if (this.idCardNoUtil.checkIdCardNo(value)) {
callback(); callback();
} else { } else {
callback(new Error("身份证号格式错误")); callback(new Error("身份证号格式错误"));

View File

@@ -119,6 +119,7 @@
<script> <script>
import { mapState } from 'vuex' import { mapState } from 'vuex'
import {ID} from "dvcp-ui/lib/js/utils";
export default { export default {
name: 'Add', name: 'Add',
@@ -132,7 +133,7 @@
const validatorId = (rule, value, callback) => { const validatorId = (rule, value, callback) => {
if (value === '') { if (value === '') {
callback(new Error('请输入身份证号')) callback(new Error('请输入身份证号'))
} else if (!this.idCardNoUtil.checkIdCardNo(value)) { } else if (!ID.check(value)) {
callback(new Error('身份证号格式错误')) callback(new Error('身份证号格式错误'))
} else { } else {
callback() callback()

View File

@@ -163,6 +163,7 @@
<script> <script>
import {mapState} from 'vuex' import {mapState} from 'vuex'
import {ID} from "dvcp-ui/lib/js/utils";
export default { export default {
name: 'Add', name: 'Add',
@@ -242,7 +243,7 @@ export default {
} }
}) })
const idNumberInfo = this.idCardNoUtil.getIdCardInfo(e.idNumber) const idNumberInfo = new ID(e.idNumber)
this.$set(this.formData, 'birthDate', idNumberInfo.birthday) this.$set(this.formData, 'birthDate', idNumberInfo.birthday)
this.formData.photo = e.photo ? [{ this.formData.photo = e.photo ? [{
url: e.photo url: e.photo

View File

@@ -765,9 +765,10 @@
<script> <script>
import {mapState} from "vuex"; import {mapState} from "vuex";
import {ID} from "dvcp-ui/lib/js/utils";
export default { export default {
name: "Add", name: "Add",
props: { props: {
instance: Function, instance: Function,
dict: Object, dict: Object,
@@ -938,10 +939,10 @@ export default {
this.isShowDisciplinaryForm = true; this.isShowDisciplinaryForm = true;
}, },
idChange(val) { idChange(val) {
let info = this.idCardNoUtil.getIdCardInfo(val) let info = new ID(val)
this.form.sex = info.sex || ""; this.form.sex = info.sex || "";
this.form.birthday = info.birthday || ""; this.form.birthday = info.birthday || "";
this.form.age = this.$calcAge(val) || ""; this.form.age = info.age
}, },
checkName(val) { checkName(val) {
for (let i in this.form) { for (let i in this.form) {

View File

@@ -43,7 +43,7 @@
<el-row type="flex" justify="space-between" @click.native="handleSelectResident(row)" class="toggle" <el-row type="flex" justify="space-between" @click.native="handleSelectResident(row)" class="toggle"
:class="{selected:findResident(row.id)>-1}"> :class="{selected:findResident(row.id)>-1}">
<span v-text="row.name"/> <span v-text="row.name"/>
<span v-text="idCardNoUtil.hideId(row.idNumber)"/> <span v-text="ID.hideId(row.idNumber)"/>
</el-row> </el-row>
</template> </template>
</el-table-column> </el-table-column>
@@ -57,7 +57,7 @@
</template> </template>
<template slot-scope="{row,$index}"> <template slot-scope="{row,$index}">
<el-row type="flex" align="middle" justify="space-between"> <el-row type="flex" align="middle" justify="space-between">
<div v-text="[row.residentName, idCardNoUtil.hideId(row.idNumber)].join(' ')"/> <div v-text="[row.residentName, ID.hideId(row.idNumber)].join(' ')"/>
<el-button type="text" @click="form.residentList.splice($index,1)">删除</el-button> <el-button type="text" @click="form.residentList.splice($index,1)">删除</el-button>
</el-row> </el-row>
</template> </template>
@@ -70,6 +70,7 @@
<script> <script>
import {mapState} from "vuex"; import {mapState} from "vuex";
import {ID} from "dvcp-ui/lib/js/utils";
export default { export default {
name: "neighbourSetting", name: "neighbourSetting",
@@ -92,6 +93,7 @@ export default {
}, },
data() { data() {
return { return {
ID,
search: {residentName: "", ids: ""}, search: {residentName: "", ids: ""},
page: {current: 1, size: 10, total: 0}, page: {current: 1, size: 10, total: 0},
tableData: [], tableData: [],

View File

@@ -434,6 +434,7 @@ import {mapState} from "vuex";
import AiEditCard from "./components/AiEditCard"; import AiEditCard from "./components/AiEditCard";
import PersonalAssets from "./components/personalAssets"; import PersonalAssets from "./components/personalAssets";
import TagsManage from "./components/tagsManage"; import TagsManage from "./components/tagsManage";
import {ID} from "dvcp-ui/lib/js/utils";
export default { export default {
name: "residentDetail", name: "residentDetail",
@@ -447,7 +448,7 @@ export default {
data() { data() {
let IdNumberPass = (rule, value, callback) => { let IdNumberPass = (rule, value, callback) => {
if (value) { if (value) {
if (this.idCardNoUtil.checkIdCardNo(value)) { if (ID.check(value)) {
callback(); callback();
} else { } else {
callback(new Error("身份证号格式错误")); callback(new Error("身份证号格式错误"));
@@ -567,7 +568,7 @@ export default {
{label: "姓名", prop: "name"}, {label: "姓名", prop: "name"},
{label: "性别", prop: "sex", dict: "sex", align: 'center'}, {label: "性别", prop: "sex", dict: "sex", align: 'center'},
{label: "年龄", prop: "age", align: 'center'}, {label: "年龄", prop: "age", align: 'center'},
{label: "身份证号", render: (h, {row}) => h('p', this.idCardNoUtil.hideId(row.idNumber))}, {label: "身份证号", render: (h, {row}) => h('p', ID.hideId(row.idNumber))},
{slot: "options"} {slot: "options"}
] ]
} }
@@ -652,7 +653,7 @@ export default {
}, },
showFamily(row) { showFamily(row) {
this.familyInfo = row; this.familyInfo = row;
let {birthday} = this.idCardNoUtil.getIdCardInfo(this.familyInfo.idNumber) let {birthday} = ID.getIdCardInfo(this.familyInfo.idNumber)
this.familyInfo.birthday = birthday this.familyInfo.birthday = birthday
if (this.familyInfo.photo) { if (this.familyInfo.photo) {
this.familyInfo.imgUrl = this.familyInfo.photo.split(";")[0]; this.familyInfo.imgUrl = this.familyInfo.photo.split(";")[0];
@@ -685,10 +686,10 @@ export default {
}, },
IdCard(UUserCard) { IdCard(UUserCard) {
if (UUserCard) { if (UUserCard) {
this.baseInfo.age = this.$calcAge(UUserCard) const idCard = new ID(UUserCard)
let {birthday, sex} = this.idCardNoUtil.getIdCardInfo(UUserCard) this.baseInfo.age = idCard.age
this.baseInfo.sex = sex this.baseInfo.sex = idCard.sex
this.baseInfo.birthday = birthday this.baseInfo.birthday = idCard.birthday
} }
} }
}, },

View File

@@ -34,6 +34,7 @@
<script> <script>
import {mapState} from "vuex"; import {mapState} from "vuex";
import {ID} from "dvcp-ui/lib/js/utils";
export default { export default {
name: "psList", name: "psList",
@@ -60,7 +61,7 @@ export default {
}, },
{label: '类型', prop: 'residentType', align: 'center', dict: "residentType"}, {label: '类型', prop: 'residentType', align: 'center', dict: "residentType"},
{label: '姓名', prop: 'name', align: 'center'}, {label: '姓名', prop: 'name', align: 'center'},
{label: '身份证号', render: (h, {row}) => h('p', this.idCardNoUtil.hideId(row.idNumber)), width: 165}, {label: '身份证号', render: (h, {row}) => h('p', ID.hideId(row.idNumber)), width: 165},
{label: '联系电话', prop: 'phone', align: 'center', width: 120} {label: '联系电话', prop: 'phone', align: 'center', width: 120}
] ]
} }

View File

@@ -328,6 +328,7 @@
<script> <script>
import {mapState} from "vuex"; import {mapState} from "vuex";
import {ID} from "dvcp-ui/lib/js/utils";
export default { export default {
name: "hrAdd", name: "hrAdd",
@@ -453,12 +454,12 @@ export default {
if (v.length == 20) { if (v.length == 20) {
idNumber = v.substring(0, 18) idNumber = v.substring(0, 18)
} }
let {birthday: birthDate, sex} = this.idCardNoUtil.getIdCardInfo(idNumber) let {birthday: birthDate, sex, age} = new ID(idNumber)
this.form = {...this.form, birthDate, sex, age: this.$calcAge(idNumber)} this.form = {...this.form, birthDate, sex, age}
}, },
submit() { submit() {
if(this.form.houseType == 1) { if (this.form.houseType == 1) {
if(!this.form.objectType) { if (!this.form.objectType) {
return this.$message.error('请选择监测对象类型') return this.$message.error('请选择监测对象类型')
} }
} }

View File

@@ -42,7 +42,7 @@
<el-form-item label="证件号">{{ detail.idNumber }}</el-form-item> <el-form-item label="证件号">{{ detail.idNumber }}</el-form-item>
<el-form-item label="性别" prop="sex">{{ dict.getLabel("sex", detail.sex) }}</el-form-item> <el-form-item label="性别" prop="sex">{{ dict.getLabel("sex", detail.sex) }}</el-form-item>
<el-form-item label="出生日期">{{ detail.birthDate }}</el-form-item> <el-form-item label="出生日期">{{ detail.birthDate }}</el-form-item>
<el-form-item label="家庭人口数">{{ detail.familyCount}}</el-form-item> <el-form-item label="家庭人口数">{{ detail.familyCount }}</el-form-item>
<!-- <el-form-item label="年龄" prop="age">{{ detail.age}}</el-form-item> --> <!-- <el-form-item label="年龄" prop="age">{{ detail.age}}</el-form-item> -->
<el-form-item label="民族">{{ dict.getLabel("fpNation", detail.nation) }}</el-form-item> <el-form-item label="民族">{{ dict.getLabel("fpNation", detail.nation) }}</el-form-item>
<el-form-item label="文化程度">{{ dict.getLabel("fpEducation", detail.education) }}</el-form-item> <el-form-item label="文化程度">{{ dict.getLabel("fpEducation", detail.education) }}</el-form-item>
@@ -497,6 +497,7 @@
import {mapState} from "vuex"; import {mapState} from "vuex";
import HrMeasure from "./detail/hrMeasure"; import HrMeasure from "./detail/hrMeasure";
import HrLog from "./detail/hrLog"; import HrLog from "./detail/hrLog";
import {ID} from "dvcp-ui/lib/js/utils";
export default { export default {
name: "hrDetail", name: "hrDetail",
@@ -521,7 +522,7 @@ export default {
{ {
label: "证件号", label: "证件号",
render: (h, {row}) => render: (h, {row}) =>
h("p", null, this.idCardNoUtil.hideId(row.idNumber)), h("p", null, ID.hideId(row.idNumber)),
}, },
{slot: "options"}, {slot: "options"},
]; ];
@@ -677,8 +678,8 @@ export default {
}) })
}, },
handleIdNumberAutocomplete(v) { handleIdNumberAutocomplete(v) {
let {birthday: birthDate, sex} = this.idCardNoUtil.getIdCardInfo(v); let {birthday: birthDate, sex, age} = new ID(v);
this.form = {...this.form, birthDate, sex, age: this.$calcAge(v)}; this.form = {...this.form, birthDate, sex, age};
}, },
onConfirm() { onConfirm() {
this.$refs.ruleForm.validate((v) => { this.$refs.ruleForm.validate((v) => {

View File

@@ -77,6 +77,7 @@
<script> <script>
import {mapState} from "vuex"; import {mapState} from "vuex";
import {ID} from "dvcp-ui/lib/js/utils";
export default { export default {
name: "hrList", name: "hrList",
@@ -92,7 +93,7 @@ export default {
{type: 'selection'}, {type: 'selection'},
{label: "姓名", prop: "name", align: "center"}, {label: "姓名", prop: "name", align: "center"},
{label: "性别", prop: "sex", dict: 'sex', align: "center"}, {label: "性别", prop: "sex", dict: 'sex', align: "center"},
{label: "证件号", render: (h, {row}) => h('p', this.idCardNoUtil.hideId(row.idNumber))}, {label: "证件号", render: (h, {row}) => h('p', ID.hideId(row.idNumber))},
{label: "年龄", prop: "age", align: "center"}, {label: "年龄", prop: "age", align: "center"},
{label: "民族", prop: "nation", align: "center", dict: "fpNation"}, {label: "民族", prop: "nation", align: "center", dict: "fpNation"},
{label: "文化程度", prop: "education", align: "center", dict: "fpEducation"}, {label: "文化程度", prop: "education", align: "center", dict: "fpEducation"},

View File

@@ -57,6 +57,7 @@
<script> <script>
import { mapState } from 'vuex' import { mapState } from 'vuex'
import {ID} from "dvcp-ui/lib/js/utils";
export default { export default {
name: 'Add', name: 'Add',
@@ -70,7 +71,7 @@
const validatorId = (rule, value, callback) => { const validatorId = (rule, value, callback) => {
if (value === '') { if (value === '') {
callback(new Error('请输入身份证号')) callback(new Error('请输入身份证号'))
} else if (!this.idCardNoUtil.checkIdCardNo(value)) { } else if (!ID.check(value)) {
callback(new Error('身份证号格式错误')) callback(new Error('身份证号格式错误'))
} else { } else {
callback() callback()

View File

@@ -95,6 +95,8 @@
</template> </template>
<script> <script>
import {ID} from "dvcp-ui/lib/js/utils";
export default { export default {
name: "sealDetail", name: "sealDetail",
inject: ['seal'], inject: ['seal'],
@@ -135,11 +137,11 @@ export default {
], ],
legalIdNumber: [ legalIdNumber: [
{required: true, message: "请填写法人身份证号码"}, {required: true, message: "请填写法人身份证号码"},
{validator: (r, v, cb) => cb(this.idCardNoUtil.checkIdCardNo(v) ? undefined : "身份证号码格式有误")} {validator: (r, v, cb) => cb(ID.check(v) ? undefined : "身份证号码格式有误")}
], ],
agentIdNumber: [ agentIdNumber: [
{required: true, message: "请填写代理人身份证号码"}, {required: true, message: "请填写代理人身份证号码"},
{validator: (r, v, cb) => cb(this.idCardNoUtil.checkIdCardNo(v) ? undefined : "身份证号码格式有误")} {validator: (r, v, cb) => cb(ID.check(v) ? undefined : "身份证号码格式有误")}
], ],
} }
} }

View File

@@ -95,7 +95,7 @@ export default {
], ],
idNumber: [ idNumber: [
{required: true, message: "请填写身份证号码"}, {required: true, message: "请填写身份证号码"},
{validator: (r, v, cb) => cb(this.idCardNoUtil.checkIdCardNo(v) ? undefined : "身份证号码格式有误")} {validator: (r, v, cb) => cb(ID.check(v) ? undefined : "身份证号码格式有误")}
], ],
} }
} }

View File

@@ -39,24 +39,25 @@ export default {
data () { data () {
return { return {
search: { search: {
status: '', status: '', // 0、未开始1、进行中2、已结束
title: '', title: '',
tableData: [],
}, },
page: { page: {
current: 1, current: 1,
size: 10, size: 10,
total: '', total: 0,
}, },
tableData: [],
} }
}, },
created () { created () {
this.dict.load('yesOrNo', 'partyFourLinkageStatus') this.dict.load('yesOrNo', 'partyFourLinkageStatus')
this.getList()
}, },
computed: { computed: {
colConfigs() { colConfigs() {
return [ return [
{prop: "", label: "标题", align: "left"}, {prop: "", label: "标题", align: "left", showOverflowTooltip: true},
{prop: "", label: "所属支部", align: "center"}, {prop: "", label: "所属支部", align: "center"},
{prop: "", label: "选举方式", align: "center"}, {prop: "", label: "选举方式", align: "center"},
{prop: "", label: "应选人数", align: "center"}, {prop: "", label: "应选人数", align: "center"},
@@ -66,7 +67,18 @@ export default {
} }
}, },
methods: { methods: {
getList () {}, getList() {
this.instance.post(`/app/appgeneralelectioninfo/list`,null,{
params: {
...this.page,
...this.search,
}
}).then(res=> {
if(res?.data) {
console.log(res);
}
})
},
toAdd(id) { toAdd(id) {
this.$emit('change', { this.$emit('change', {
type: 'electionAdd', type: 'electionAdd',

View File

@@ -1,7 +1,11 @@
<template> <template>
<ai-list class="List"> <ai-list class="List">
<template slot="title"> <template slot="title">
<ai-title title="组织换届" isShowBottomBorder/> <ai-title title="组织换届" isShowBottomBorder>
<template slot="rightBtn">
<el-button size="small" type="primary" icon="iconfont iconAdd" @click="toAdd('')" >换届设置</el-button>
</template>
</ai-title>
</template> </template>
<template #left> <template #left>
<ai-tree-menu title="组织目录" searchPlaceholder="请输入组织名称" @search="onSearch"> <ai-tree-menu title="组织目录" searchPlaceholder="请输入组织名称" @search="onSearch">
@@ -14,13 +18,17 @@
@select="onTreeChange"/> @select="onTreeChange"/>
</ai-tree-menu> </ai-tree-menu>
</template> </template>
<template slot="content"> <template slot="content" class="content">
<el-tabs v-model="currIndex"> <el-tabs v-model="currIndex" >
<el-tab-pane v-for="(tab,i) in tabs" :key="i" :label="tab.label"> <el-tab-pane v-for="(tab,i) in tabs" :key="i" :label="tab.label">
<component :ref="String(i)" v-if="currIndex == i" :is="tab.comp" lazy :instance="instance" <component :ref="String(i)" v-if="currIndex == i" :is="tab.comp" lazy :instance="instance"
:dict="dict" :permissions="permissions" v-on="$listeners"/> :dict="dict" :permissions="permissions" v-on="$listeners"/>
</el-tab-pane> </el-tab-pane>
</el-tabs> </el-tabs>
<div class="add_btn">
<el-button size="small" type="primary" icon="iconfont iconAdd" @click="toAdd('')" >新增换届</el-button>
</div>
</template> </template>
</ai-list> </ai-list>
</template> </template>
@@ -30,7 +38,6 @@ import {mapState} from 'vuex'
import moment from './moment.vue' import moment from './moment.vue'
import history from './history.vue' import history from './history.vue'
export default { export default {
name: 'List', name: 'List',
props: { props: {
@@ -73,10 +80,11 @@ export default {
}, },
components: { components: {
moment, moment,
history history,
}, },
computed: { computed: {
...mapState(['user']), ...mapState(['user']),
orgTree() { orgTree() {
return this.$refs.tree?.$refs?.partyTree return this.$refs.tree?.$refs?.partyTree
}, },
@@ -94,6 +102,7 @@ export default {
created() { created() {
// this.dict.load('disciplinary', 'partyType', 'sex', 'nation', 'education', 'partyStatus', 'partyPosition', 'flowStatus', 'auditStatus') // this.dict.load('disciplinary', 'partyType', 'sex', 'nation', 'education', 'partyStatus', 'partyPosition', 'flowStatus', 'auditStatus')
// this.getList() // this.getList()
console.log(this.user);
}, },
methods: { methods: {
showNeighbourSetting(id) { showNeighbourSetting(id) {
@@ -152,7 +161,12 @@ export default {
this.$router.push({query: {id}}) this.$router.push({query: {id}})
}, },
toAdd(id) { toAdd(id) {
this.$router.push({query: {id}, hash: "#add"}) this.$emit('change', {
type: 'addChange',
params: {
id: id || ''
}
})
} }
} }
} }
@@ -160,11 +174,30 @@ export default {
<style lang="scss" scoped> <style lang="scss" scoped>
.List { .List {
position: relative;
.party-table__btns { .party-table__btns {
display: flex; display: flex;
align-items: center; align-items: center;
} }
.set_btn {
position: absolute;
right: 20px;
top: 8px;
}
::v-deep .ai-list__content--right {
position: relative;
.add_btn {
position: absolute;
right: 18px;
top: 11px;
}
}
::v-deep .audit-0 { ::v-deep .audit-0 {
color: #FF8822 !important; color: #FF8822 !important;
} }

View File

@@ -0,0 +1,20 @@
<template>
<section class="addChange">
新增
</section>
</template>
<script>
export default {
name: "addChange",
props: {
instance: Function,
permissions: Function,
dict: Object,
},
}
</script>
<style lang="scss" scope>
.addChange {}
</style>

View File

@@ -1,13 +1,80 @@
<template> <template>
<div>历史届次</div> <ai-list class="history">
<template slot="content">
<ai-search-bar>
<template #left>
<el-button type="primary" icon="iconfont iconEdit" @click="fillupAdd('')">补录</el-button>
</template>
<template #right>
<el-input size="small" placeholder="请输入届次" v-model="search.name" clearable
v-throttle="() => {page.current = 1, getList()}"/>
<el-button icon="iconfont iconResetting" @click="reset('')">重置</el-button>
</template>
</ai-search-bar>
<ai-table
class="detail-table__table"
:tableData="tableData"
:col-configs="colConfigs"
:total="page.total"
:current.sync="current"
:size.sync="size"
@getList="getJobList">
<el-table-column slot="options" label="操作" align="center">
<template slot-scope="{ row }">
<el-button type="text" @click="jobEdit(row.id)">编辑</el-button>
<el-button type="text" @click="jobDelete(row.id)">删除</el-button>
</template>
</el-table-column>
</ai-table>
</template>
</ai-list>
</template> </template>
<script> <script>
export default { export default {
name: "history",
props: {
instance: Function,
permissions: Function,
dict: Object,
},
data() {
return {
search: {
name: '',
},
page: {
current: 1,
size: 10,
total: 0
}
}
},
computed: {
colConfigs() {
return [
{prop: '', label: '届次', align: 'left'},
{prop: '', label: '换届日期', align: 'center'},
{prop: '', label: '操作时间', align: 'center'},
{prop: '', label: '操作人', align: 'center'},
{slot: 'options'},
]
}
},
methods: {
fillupAdd() {},
reset() {},
getList() {}
},
created() {
},
} }
</script> </script>
<style> <style lang="scss" scope>
.history {
padding-top: 0 !important;
background-color: #FFF !important;
}
</style> </style>

View File

@@ -1,13 +1,135 @@
<template> <template>
<div>当前届次</div> <ai-list class="moment">
<template slot="content">
<ai-bar title="总体概况">
<template slot="right">
<el-button size="small" type="text" icon="iconfont iconEdit" @click="toEdit('')" >修改</el-button>
</template>
</ai-bar>
<ai-wrapper>
<ai-info-item label="本届换届时间" :value="111" />
<ai-info-item label="换届类型" :value="111" />
<ai-info-item label="下届换届时间" :value="111" />
<ai-info-item label="当前届次" :value="111" />
</ai-wrapper>
<ai-bar title="本届任职">
<template slot="right">
<el-button size="small" type="text" icon="iconfont iconAdd" @click="toAdd('')" >添加任职人员</el-button>
</template>
</ai-bar>
<ai-table
class="detail-table__table"
:tableData="tableData"
:col-configs="colConfigs"
:total="totalJob"
:current.sync="current"
:size.sync="size"
@getList="getJobList">
<el-table-column slot="options" label="操作" align="center">
<template slot-scope="{ row }">
<el-button type="text" @click="jobEdit(row.id)">编辑</el-button>
<el-button type="text" @click="jobDelete(row.id)">删除</el-button>
</template>
</el-table-column>
</ai-table>
<ai-bar title="本届候选人">
<template slot="right">
<el-button size="small" type="text" icon="iconfont iconAdd" @click="toAdd('')" >添加候选人</el-button>
</template>
</ai-bar>
<ai-table
class="detail-table__table"
:tableData="tableData"
:col-configs="colConfigs"
:total="totalJob"
:current.sync="current"
:size.sync="size"
@getList="getJobList">
<el-table-column slot="options" label="操作" align="center">
<template slot-scope="{ row }">
<el-button type="text" @click="jobEdit(row.id)">编辑</el-button>
<el-button type="text" @click="jobDelete(row.id)">删除</el-button>
</template>
</el-table-column>
</ai-table>
</template>
<ai-dialog :visible.sync="dialogJob" title="定制大屏" @closed="custom={}" @onConfirm="handleCustomizedDV">
<el-form ref="jobForm" size="small" :model="jobForm" :rules="rules" label-width="80px">
<el-form-item label="职位" prop="title">
<el-input v-model="jobForm.title" clearable placeholder="请输入"/>
</el-form-item>
<el-form-item label="姓名" prop="dv">
<el-input v-model="jobForm.title" clearable placeholder="请输入"/>
</el-form-item>
</el-form>
</ai-dialog>
<ai-dialog :visible.sync="dialogCandidate" title="定制大屏" @closed="custom={}" @onConfirm="handleCustomizedDV">
<el-form ref="CandFrom" size="small" :model="CandFrom" :rules="rules" label-width="80px">
<el-form-item label="大屏标题" prop="title">
<el-input v-model="custom.title" clearable placeholder="请填写"/>
</el-form-item>
<el-form-item label="选择大屏" prop="dv">
<ai-select v-model="custom.dv" :selectList="dict.getDict('customizedDVs')"/>
</el-form-item>
<el-form-item label="静态数据">
<el-input type="textarea" rows="5" v-model="custom.meta"/>
</el-form-item>
</el-form>
</ai-dialog>
</ai-list>
</template> </template>
<script> <script>
export default { export default {
name: "moment",
props: {
instance: Function,
permissions: Function,
dict: Object,
selected: Object
},
data() {
return {
isEdit: false,
tableData: [],
totalJob: 0,
current: 1,
size: 10,
dialogJob: false,
dialogCandidate: false,
}
},
computed: {
colConfigs() {
return [
{prop: 'content', label: '职位'},
{prop: 'content', label: '姓名'},
{slot: 'options'},
]
}
},
methods: {
jobEdit() {},
jobDelete() {},
getJobList() {},
toEdit() {
this.$emit('change', {
type: 'addChange',
params: {
id: id || ''
}
})
// this.$route.push('#addChange')
},
}
} }
</script> </script>
<style> <style lang="scss" scope>
.moment {
padding-top: 0 !important;
background-color: #FFF !important;
}
</style> </style>

View File

@@ -294,7 +294,7 @@
<ai-card title="入学积极分子的确定和教育培养"> <ai-card title="入学积极分子的确定和教育培养">
<template #content> <template #content>
<el-form-item label="确定为入学积极分子时间" prop="phone" required > <el-form-item label="确定为入学积极分子时间" prop="phone" required>
<el-date-picker <el-date-picker
size="small" size="small"
v-model="form.joinPartyTime" v-model="form.joinPartyTime"
@@ -365,7 +365,7 @@
</ai-card> </ai-card>
<ai-card title="发展对象的确定和考察"> <ai-card title="发展对象的确定和考察">
<template #content> <template #content>
<el-form-item label="确定为发展对象时间" prop="phone" required > <el-form-item label="确定为发展对象时间" prop="phone" required>
<el-date-picker <el-date-picker
size="small" size="small"
v-model="form.joinPartyTime" v-model="form.joinPartyTime"
@@ -413,7 +413,7 @@
</ai-card> </ai-card>
<ai-card title="预备学员的接收"> <ai-card title="预备学员的接收">
<template #content> <template #content>
<el-form-item label="吸收入学时间" prop="phone" required > <el-form-item label="吸收入学时间" prop="phone" required>
<el-date-picker <el-date-picker
size="small" size="small"
v-model="form.joinPartyTime" v-model="form.joinPartyTime"
@@ -458,7 +458,7 @@
</ai-card> </ai-card>
<ai-card title="预备学员的教育考察和转正"> <ai-card title="预备学员的教育考察和转正">
<template #content> <template #content>
<el-form-item label="转正时间" prop="phone" required > <el-form-item label="转正时间" prop="phone" required>
<el-date-picker <el-date-picker
size="small" size="small"
v-model="form.joinPartyTime" v-model="form.joinPartyTime"
@@ -667,6 +667,8 @@
<script> <script>
import {mapState} from "vuex"; import {mapState} from "vuex";
import {ID} from "dvcp-ui/lib/js/utils";
export default { export default {
name: "Add", name: "Add",
@@ -845,10 +847,10 @@ export default {
this.isShowDisciplinaryForm = true; this.isShowDisciplinaryForm = true;
}, },
idChange(val) { idChange(val) {
let info = this.idCardNoUtil.getIdCardInfo(val) let info = new ID(val)
this.form.sex = info.sex || ""; this.form.sex = info.sex || "";
this.form.birthday = info.birthday || ""; this.form.birthday = info.birthday || "";
this.form.age = this.$calcAge(val) || ""; this.form.age = info.age || "";
}, },
checkName(val) { checkName(val) {
for (let i in this.form) { for (let i in this.form) {
@@ -997,12 +999,14 @@ export default {
.audit-1 { .audit-1 {
color: #2ea222 !important; color: #2ea222 !important;
} }
::v-deep .ai-form .el-form-item .el-form-item__content { ::v-deep .ai-form .el-form-item .el-form-item__content {
margin-left: 174px!important; margin-left: 174px !important;
} }
::v-deep .ai-form .el-form-item, ::v-deep .ai-form .el-form-item,
::v-deep .el-form-item { ::v-deep .el-form-item {
margin-bottom: 8px!important; margin-bottom: 8px !important;
} }
} }
</style> </style>

View File

@@ -113,6 +113,7 @@
<script> <script>
import { mapState } from 'vuex' import { mapState } from 'vuex'
import {ID} from "dvcp-ui/lib/js/utils";
export default { export default {
name: 'Add', name: 'Add',
@@ -137,7 +138,7 @@ export default {
let IdNumberPass = (rule, value, callback) => { let IdNumberPass = (rule, value, callback) => {
if (value) { if (value) {
if (this.idCardNoUtil.checkIdCardNo(value)) { if (ID.check(value)) {
callback(); callback();
} else { } else {
callback(new Error('身份证号格式错误')) callback(new Error('身份证号格式错误'))

View File

@@ -52,6 +52,8 @@
</template> </template>
<script> <script>
import {ID} from "dvcp-ui/lib/js/utils";
export default { export default {
name: 'Detail', name: 'Detail',
@@ -60,14 +62,15 @@
dict: Object, dict: Object,
params: Object params: Object
}, },
computed:{
idNumberInfo:v=>new ID(v.info.idNumber)
},
data () { data () {
return { return {
currIndex: 0, currIndex: 0,
tabTitle: ['人员信息', '走访记录'], tabTitle: ['人员信息', '走访记录'],
info: {}, info: {},
list: [], list: [],
idNumberInfo: {}
} }
}, },
@@ -91,7 +94,6 @@
this.instance.post(`/app/appspecialadjustment/queryDetailById?id=${id}`).then(res => { this.instance.post(`/app/appspecialadjustment/queryDetailById?id=${id}`).then(res => {
if (res.code === 0) { if (res.code === 0) {
this.info = res.data this.info = res.data
this.idNumberInfo = this.idCardNoUtil.getIdCardInfo(res.data.idNumber)
} }
}) })
}, },

View File

@@ -45,8 +45,10 @@
</template> </template>
<script> <script>
import { mapState } from 'vuex' import {mapState} from 'vuex'
export default { import {ID} from "dvcp-ui/lib/js/utils";
export default {
name: 'List', name: 'List',
props: { props: {
@@ -54,7 +56,7 @@
dict: Object dict: Object
}, },
data () { data() {
return { return {
search: { search: {
current: 1, current: 1,
@@ -62,12 +64,12 @@
name: '' name: ''
}, },
colConfigs: [ colConfigs: [
{ prop: 'name', label: '姓名' }, {prop: 'name', label: '姓名'},
{ prop: 'idNumber', align: 'center', label: '身份证号' }, {prop: 'idNumber', align: 'center', label: '身份证号'},
{ prop: 'gender', align: 'center', label: '性别' }, {prop: 'gender', align: 'center', label: '性别'},
{ prop: 'birthday', align: 'center', label: '出生日期' }, {prop: 'birthday', align: 'center', label: '出生日期'},
{ prop: 'age', align: 'center', label: '年龄', }, {prop: 'age', align: 'center', label: '年龄',},
{ prop: 'phone', align: 'center', label: '联系方式' } {prop: 'phone', align: 'center', label: '联系方式'}
], ],
tableData: [], tableData: [],
total: 0, total: 0,
@@ -77,22 +79,16 @@
computed: { computed: {
...mapState(['user']), ...mapState(['user']),
param () {
return {
}
}
}, },
created () { created() {
this.dict.load('sex').then(() => { this.dict.load('sex').then(() => {
this.getList() this.getList()
}) })
}, },
methods: { methods: {
getList () { getList() {
this.instance.post(`/app/appspecialadjustment/list`, null, { this.instance.post(`/app/appspecialadjustment/list`, null, {
params: { params: {
...this.search ...this.search
@@ -100,11 +96,10 @@
}).then(res => { }).then(res => {
if (res.code == 0) { if (res.code == 0) {
this.tableData = res.data.records.map(v => { this.tableData = res.data.records.map(v => {
let info = this.idCardNoUtil.getIdCardInfo(v.idNumber) let info = new ID(v.idNumber)
v.birthday = info.birthday v.birthday = info.birthday
v.age = this.$calcAge(v.idNumber) v.age = info.age
v.gender = info.gender v.gender = info.gender
return v return v
}) })
this.total = res.data.total this.total = res.data.total
@@ -112,7 +107,7 @@
}) })
}, },
toEdit (e) { toEdit(e) {
this.$emit('change', { this.$emit('change', {
type: 'Add', type: 'Add',
params: { params: {
@@ -142,7 +137,7 @@
}) })
}, },
toDetail (id) { toDetail(id) {
this.$emit('change', { this.$emit('change', {
type: 'Detail', type: 'Detail',
params: { params: {
@@ -151,7 +146,7 @@
}) })
} }
} }
} }
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">

View File

@@ -113,6 +113,7 @@
<script> <script>
import { mapState } from 'vuex' import { mapState } from 'vuex'
import {ID} from "dvcp-ui/lib/js/utils";
export default { export default {
name: 'Add', name: 'Add',
@@ -137,7 +138,7 @@ export default {
let IdNumberPass = (rule, value, callback) => { let IdNumberPass = (rule, value, callback) => {
if (value) { if (value) {
if (this.idCardNoUtil.checkIdCardNo(value)) { if (ID.check(value)) {
callback(); callback();
} else { } else {
callback(new Error('身份证号格式错误')) callback(new Error('身份证号格式错误'))

View File

@@ -51,6 +51,8 @@
</template> </template>
<script> <script>
import {ID} from "dvcp-ui/lib/js/utils";
export default { export default {
name: 'Detail', name: 'Detail',
@@ -66,7 +68,6 @@
tabTitle: ['人员信息', '走访记录'], tabTitle: ['人员信息', '走访记录'],
info: {}, info: {},
list: [], list: [],
idNumberInfo: {}
} }
}, },
@@ -84,13 +85,14 @@
}) })
} }
}, },
computed:{
idNumberInfo:v=>new ID(v.info.idNumber)
},
methods: { methods: {
getInfo (id) { getInfo (id) {
this.instance.post(`/app/appspecialdisabled/queryDetailById?id=${id}`).then(res => { this.instance.post(`/app/appspecialdisabled/queryDetailById?id=${id}`).then(res => {
if (res.code === 0) { if (res.code === 0) {
this.info = res.data this.info = res.data
this.idNumberInfo = this.idCardNoUtil.getIdCardInfo(res.data.idNumber)
} }
}) })
}, },

View File

@@ -45,8 +45,10 @@
</template> </template>
<script> <script>
import { mapState } from 'vuex' import {mapState} from 'vuex'
export default { import {ID} from "dvcp-ui/lib/js/utils";
export default {
name: 'List', name: 'List',
props: { props: {
@@ -54,7 +56,7 @@
dict: Object dict: Object
}, },
data () { data() {
return { return {
search: { search: {
current: 1, current: 1,
@@ -62,12 +64,12 @@
name: '' name: ''
}, },
colConfigs: [ colConfigs: [
{ prop: 'name', label: '姓名' }, {prop: 'name', label: '姓名'},
{ prop: 'idNumber', align: 'center', label: '身份证号' }, {prop: 'idNumber', align: 'center', label: '身份证号'},
{ prop: 'gender', align: 'center', label: '性别' }, {prop: 'gender', align: 'center', label: '性别'},
{ prop: 'birthday', align: 'center', label: '出生日期' }, {prop: 'birthday', align: 'center', label: '出生日期'},
{ prop: 'age', align: 'center', label: '年龄', }, {prop: 'age', align: 'center', label: '年龄',},
{ prop: 'phone', align: 'center', label: '联系方式' } {prop: 'phone', align: 'center', label: '联系方式'}
], ],
tableData: [], tableData: [],
total: 0, total: 0,
@@ -77,22 +79,16 @@
computed: { computed: {
...mapState(['user']), ...mapState(['user']),
param () {
return {
}
}
}, },
created () { created() {
this.dict.load('sex').then(() => { this.dict.load('sex').then(() => {
this.getList() this.getList()
}) })
}, },
methods: { methods: {
getList () { getList() {
this.instance.post(`/app/appspecialdisabled/list`, null, { this.instance.post(`/app/appspecialdisabled/list`, null, {
params: { params: {
...this.search ...this.search
@@ -100,9 +96,9 @@
}).then(res => { }).then(res => {
if (res.code == 0) { if (res.code == 0) {
this.tableData = res.data.records.map(v => { this.tableData = res.data.records.map(v => {
let info = this.idCardNoUtil.getIdCardInfo(v.idNumber) let info = new ID(v.idNumber)
v.birthday = info.birthday v.birthday = info.birthday
v.age = this.$calcAge(v.idNumber) v.age = info.age
v.gender = info.gender v.gender = info.gender
return v return v
@@ -112,7 +108,7 @@
}) })
}, },
toEdit (e) { toEdit(e) {
this.$emit('change', { this.$emit('change', {
type: 'Add', type: 'Add',
params: { params: {
@@ -142,7 +138,7 @@
}) })
}, },
toDetail (id) { toDetail(id) {
this.$emit('change', { this.$emit('change', {
type: 'Detail', type: 'Detail',
params: { params: {
@@ -151,7 +147,7 @@
}) })
} }
} }
} }
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">

View File

@@ -113,6 +113,7 @@
<script> <script>
import { mapState } from 'vuex' import { mapState } from 'vuex'
import {ID} from "dvcp-ui/lib/js/utils";
export default { export default {
name: 'Add', name: 'Add',
@@ -150,7 +151,7 @@ export default {
let IdNumberPass = (rule, value, callback) => { let IdNumberPass = (rule, value, callback) => {
if (value) { if (value) {
if (this.idCardNoUtil.checkIdCardNo(value)) { if (ID.check(value)) {
callback(); callback();
} else { } else {
callback(new Error('身份证号格式错误')) callback(new Error('身份证号格式错误'))

View File

@@ -53,6 +53,8 @@
</template> </template>
<script> <script>
import {ID} from "dvcp-ui/lib/js/utils";
export default { export default {
name: 'Detail', name: 'Detail',
@@ -68,7 +70,6 @@
tabTitle: ['人员信息', '走访记录'], tabTitle: ['人员信息', '走访记录'],
info: {}, info: {},
list: [], list: [],
idNumberInfo: {}
} }
}, },
@@ -86,13 +87,14 @@
}) })
} }
}, },
computed:{
idNumberInfo:v=>new ID(v.info.idNumber)
},
methods: { methods: {
getInfo (id) { getInfo (id) {
this.instance.post(`/app/appspecialdrug/queryDetailById?id=${id}`).then(res => { this.instance.post(`/app/appspecialdrug/queryDetailById?id=${id}`).then(res => {
if (res.code === 0) { if (res.code === 0) {
this.info = res.data this.info = res.data
this.idNumberInfo = this.idCardNoUtil.getIdCardInfo(res.data.idNumber)
} }
}) })
}, },

View File

@@ -45,8 +45,10 @@
</template> </template>
<script> <script>
import { mapState } from 'vuex' import {mapState} from 'vuex'
export default { import {ID} from "dvcp-ui/lib/js/utils";
export default {
name: 'List', name: 'List',
props: { props: {
@@ -54,7 +56,7 @@
dict: Object dict: Object
}, },
data () { data() {
return { return {
search: { search: {
current: 1, current: 1,
@@ -62,12 +64,12 @@
name: '' name: ''
}, },
colConfigs: [ colConfigs: [
{ prop: 'name', label: '姓名' }, {prop: 'name', label: '姓名'},
{ prop: 'idNumber', align: 'center', label: '身份证号' }, {prop: 'idNumber', align: 'center', label: '身份证号'},
{ prop: 'gender', align: 'center', label: '性别' }, {prop: 'gender', align: 'center', label: '性别'},
{ prop: 'birthday', align: 'center', label: '出生日期' }, {prop: 'birthday', align: 'center', label: '出生日期'},
{ prop: 'age', align: 'center', label: '年龄', }, {prop: 'age', align: 'center', label: '年龄',},
{ prop: 'phone', align: 'center', label: '联系方式' } {prop: 'phone', align: 'center', label: '联系方式'}
], ],
tableData: [], tableData: [],
total: 0, total: 0,
@@ -77,22 +79,16 @@
computed: { computed: {
...mapState(['user']), ...mapState(['user']),
param () {
return {
}
}
}, },
created () { created() {
this.dict.load('sex').then(() => { this.dict.load('sex').then(() => {
this.getList() this.getList()
}) })
}, },
methods: { methods: {
getList () { getList() {
this.instance.post(`/app/appspecialdrug/list`, null, { this.instance.post(`/app/appspecialdrug/list`, null, {
params: { params: {
...this.search ...this.search
@@ -100,11 +96,10 @@
}).then(res => { }).then(res => {
if (res.code == 0) { if (res.code == 0) {
this.tableData = res.data.records.map(v => { this.tableData = res.data.records.map(v => {
let info = this.idCardNoUtil.getIdCardInfo(v.idNumber) let info = new ID(v.idNumber)
v.birthday = info.birthday v.birthday = info.birthday
v.age = this.$calcAge(v.idNumber) v.age = info.age
v.gender = info.gender v.gender = info.gender
return v return v
}) })
this.total = res.data.total this.total = res.data.total
@@ -112,7 +107,7 @@
}) })
}, },
toEdit (e) { toEdit(e) {
this.$emit('change', { this.$emit('change', {
type: 'Add', type: 'Add',
params: { params: {
@@ -142,7 +137,7 @@
}) })
}, },
toDetail (id) { toDetail(id) {
this.$emit('change', { this.$emit('change', {
type: 'Detail', type: 'Detail',
params: { params: {
@@ -151,7 +146,7 @@
}) })
} }
} }
} }
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">

View File

@@ -113,6 +113,7 @@
<script> <script>
import { mapState } from 'vuex' import { mapState } from 'vuex'
import {ID} from "dvcp-ui/lib/js/utils";
export default { export default {
name: 'Add', name: 'Add',
@@ -150,7 +151,7 @@ export default {
let IdNumberPass = (rule, value, callback) => { let IdNumberPass = (rule, value, callback) => {
if (value) { if (value) {
if (this.idCardNoUtil.checkIdCardNo(value)) { if (ID.check(value)) {
callback(); callback();
} else { } else {
callback(new Error('身份证号格式错误')) callback(new Error('身份证号格式错误'))

View File

@@ -52,6 +52,8 @@
</template> </template>
<script> <script>
import {ID} from "dvcp-ui/lib/js/utils";
export default { export default {
name: 'Detail', name: 'Detail',
@@ -67,7 +69,6 @@
tabTitle: ['人员信息', '走访记录'], tabTitle: ['人员信息', '走访记录'],
info: {}, info: {},
list: [], list: [],
idNumberInfo: {}
} }
}, },
@@ -85,13 +86,14 @@
}) })
} }
}, },
computed:{
idNumberInfo:v=>new ID(v.info.idNumber)
},
methods: { methods: {
getInfo (id) { getInfo (id) {
this.instance.post(`/app/appspecialmental/queryDetailById?id=${id}`).then(res => { this.instance.post(`/app/appspecialmental/queryDetailById?id=${id}`).then(res => {
if (res.code === 0) { if (res.code === 0) {
this.info = res.data this.info = res.data
this.idNumberInfo = this.idCardNoUtil.getIdCardInfo(res.data.idNumber)
} }
}) })
}, },

View File

@@ -45,8 +45,10 @@
</template> </template>
<script> <script>
import { mapState } from 'vuex' import {mapState} from 'vuex'
export default { import {ID} from "dvcp-ui/lib/js/utils"
export default {
name: 'List', name: 'List',
props: { props: {
@@ -54,7 +56,7 @@
dict: Object dict: Object
}, },
data () { data() {
return { return {
search: { search: {
current: 1, current: 1,
@@ -62,12 +64,12 @@
name: '' name: ''
}, },
colConfigs: [ colConfigs: [
{ prop: 'name', label: '姓名' }, {prop: 'name', label: '姓名'},
{ prop: 'idNumber', align: 'center', label: '身份证号' }, {prop: 'idNumber', align: 'center', label: '身份证号'},
{ prop: 'gender', align: 'center', label: '性别' }, {prop: 'gender', align: 'center', label: '性别'},
{ prop: 'birthday', align: 'center', label: '出生日期' }, {prop: 'birthday', align: 'center', label: '出生日期'},
{ prop: 'age', align: 'center', label: '年龄', }, {prop: 'age', align: 'center', label: '年龄',},
{ prop: 'phone', align: 'center', label: '联系方式' } {prop: 'phone', align: 'center', label: '联系方式'}
], ],
tableData: [], tableData: [],
total: 0, total: 0,
@@ -77,22 +79,16 @@
computed: { computed: {
...mapState(['user']), ...mapState(['user']),
param () {
return {
}
}
}, },
created () { created() {
this.dict.load('sex').then(() => { this.dict.load('sex').then(() => {
this.getList() this.getList()
}) })
}, },
methods: { methods: {
getList () { getList() {
this.instance.post(`/app/appspecialmental/list`, null, { this.instance.post(`/app/appspecialmental/list`, null, {
params: { params: {
...this.search ...this.search
@@ -100,11 +96,10 @@
}).then(res => { }).then(res => {
if (res.code == 0) { if (res.code == 0) {
this.tableData = res.data.records.map(v => { this.tableData = res.data.records.map(v => {
let info = this.idCardNoUtil.getIdCardInfo(v.idNumber) let info = new ID(v.idNumber)
v.birthday = info.birthday v.birthday = info.birthday
v.age = this.$calcAge(v.idNumber) v.age = info.age
v.gender = info.gender v.gender = info.gender
return v return v
}) })
this.total = res.data.total this.total = res.data.total
@@ -112,7 +107,7 @@
}) })
}, },
toEdit (e) { toEdit(e) {
this.$emit('change', { this.$emit('change', {
type: 'Add', type: 'Add',
params: { params: {
@@ -142,7 +137,7 @@
}) })
}, },
toDetail (id) { toDetail(id) {
this.$emit('change', { this.$emit('change', {
type: 'Detail', type: 'Detail',
params: { params: {
@@ -151,7 +146,7 @@
}) })
} }
} }
} }
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">

View File

@@ -113,6 +113,7 @@
<script> <script>
import { mapState } from 'vuex' import { mapState } from 'vuex'
import {ID} from "dvcp-ui/lib/js/utils";
export default { export default {
name: 'Add', name: 'Add',
@@ -137,7 +138,7 @@ export default {
let IdNumberPass = (rule, value, callback) => { let IdNumberPass = (rule, value, callback) => {
if (value) { if (value) {
if (this.idCardNoUtil.checkIdCardNo(value)) { if (ID.check(value)) {
callback(); callback();
} else { } else {
callback(new Error('身份证号格式错误')) callback(new Error('身份证号格式错误'))

View File

@@ -1,4 +1,4 @@
<template> <template>
<ai-detail class="AppSpecial" isHasSidebar> <ai-detail class="AppSpecial" isHasSidebar>
<template slot="title"> <template slot="title">
<ai-title title="详情" isShowBack isShowBottomBorder @onBackClick="cancel(true)"> <ai-title title="详情" isShowBack isShowBottomBorder @onBackClick="cancel(true)">
@@ -55,7 +55,9 @@
</template> </template>
<script> <script>
export default { import {ID} from "dvcp-ui/lib/js/utils";
export default {
name: 'Detail', name: 'Detail',
props: { props: {
@@ -63,24 +65,25 @@
dict: Object, dict: Object,
params: Object params: Object
}, },
computed: {
data () { idNumberInfo: v => new ID(v.info.idNumber)
},
data() {
return { return {
currIndex: 0, currIndex: 0,
tabTitle: ['人员信息', '走访记录'], tabTitle: ['人员信息', '走访记录'],
info: {}, info: {},
list: [], list: [],
idNumberInfo: {}
} }
}, },
created () { created() {
if (this.params && this.params.id) { if (this.params && this.params.id) {
this.id = this.params.id this.id = this.params.id
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','isReflection','yesOrNo').then(() => { 'appSpecialDisableLevel', 'appSpecialDisableType', 'appSpecialHealth', 'appSpecialMarriage', 'appSpecialTypeFive', 'isReflection', 'yesOrNo').then(() => {
this.getInfo(this.params.id) this.getInfo(this.params.id)
}) })
this.dict.load('visitCondolenceReality').then(() => { this.dict.load('visitCondolenceReality').then(() => {
@@ -90,16 +93,15 @@
}, },
methods: { methods: {
getInfo (id) { getInfo(id) {
this.instance.post(`/app/appspecialprison/queryDetailById?id=${id}`).then(res => { this.instance.post(`/app/appspecialprison/queryDetailById?id=${id}`).then(res => {
if (res.code === 0) { if (res.code === 0) {
this.info = res.data this.info = res.data
this.idNumberInfo = this.idCardNoUtil.getIdCardInfo(res.data.idNumber)
} }
}) })
}, },
getList () { getList() {
this.instance.post(`/app/appvisitvondolence/list`, null, { this.instance.post(`/app/appvisitvondolence/list`, null, {
params: { params: {
applicationId: 4, applicationId: 4,
@@ -112,18 +114,18 @@
}) })
}, },
cancel (isRefresh) { cancel(isRefresh) {
this.$emit('change', { this.$emit('change', {
type: 'List', type: 'List',
isRefresh: !!isRefresh isRefresh: !!isRefresh
}) })
} }
} }
} }
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
.AppSpecial { .AppSpecial {
.visit-list { .visit-list {
.visit-item { .visit-item {
padding: 10px 0; padding: 10px 0;
@@ -195,5 +197,5 @@
} }
} }
} }
} }
</style> </style>

View File

@@ -45,8 +45,10 @@
</template> </template>
<script> <script>
import { mapState } from 'vuex' import {mapState} from 'vuex'
export default { import {ID} from "dvcp-ui/lib/js/utils";
export default {
name: 'List', name: 'List',
props: { props: {
@@ -54,7 +56,7 @@
dict: Object dict: Object
}, },
data () { data() {
return { return {
search: { search: {
current: 1, current: 1,
@@ -62,37 +64,29 @@
name: '' name: ''
}, },
colConfigs: [ colConfigs: [
{ prop: 'name', label: '姓名' }, {prop: 'name', label: '姓名'},
{ prop: 'idNumber', align: 'center', label: '身份证号' }, {prop: 'idNumber', align: 'center', label: '身份证号'},
{ prop: 'gender', align: 'center', label: '性别' }, {prop: 'gender', align: 'center', label: '性别'},
{ prop: 'birthday', align: 'center', label: '出生日期' }, {prop: 'birthday', align: 'center', label: '出生日期'},
{ prop: 'age', align: 'center', label: '年龄', }, {prop: 'age', align: 'center', label: '年龄',},
{ prop: 'phone', align: 'center', label: '联系方式' } {prop: 'phone', align: 'center', label: '联系方式'}
], ],
tableData: [], tableData: [],
total: 0, total: 0,
loading: false loading: false
} }
}, },
computed: { computed: {
...mapState(['user']), ...mapState(['user']),
param () {
return {
}
}
}, },
created() {
created () {
this.dict.load('sex').then(() => { this.dict.load('sex').then(() => {
this.getList() this.getList()
}) })
}, },
methods: { methods: {
getList () { getList() {
this.instance.post(`/app/appspecialprison/list`, null, { this.instance.post(`/app/appspecialprison/list`, null, {
params: { params: {
...this.search ...this.search
@@ -100,11 +94,10 @@
}).then(res => { }).then(res => {
if (res.code == 0) { if (res.code == 0) {
this.tableData = res.data.records.map(v => { this.tableData = res.data.records.map(v => {
let info = this.idCardNoUtil.getIdCardInfo(v.idNumber) let info = new ID(v.idNumber)
v.birthday = info.birthday v.birthday = info.birthday
v.age = this.$calcAge(v.idNumber) v.age = info.age
v.gender = info.gender v.gender = info.gender
return v return v
}) })
this.total = res.data.total this.total = res.data.total
@@ -112,7 +105,7 @@
}) })
}, },
toEdit (e) { toEdit(e) {
this.$emit('change', { this.$emit('change', {
type: 'Add', type: 'Add',
params: { params: {
@@ -142,7 +135,7 @@
}) })
}, },
toDetail (id) { toDetail(id) {
this.$emit('change', { this.$emit('change', {
type: 'Detail', type: 'Detail',
params: { params: {
@@ -151,7 +144,7 @@
}) })
} }
} }
} }
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">

View File

@@ -58,6 +58,7 @@
<script> <script>
import {mapState} from "vuex"; import {mapState} from "vuex";
import LoanSta from "./loanSta"; import LoanSta from "./loanSta";
import {ID} from "dvcp-ui/lib/js/utils";
export default { export default {
name: "loanList", name: "loanList",
@@ -130,7 +131,7 @@ export default {
] ]
} else {//金融产品 } else {//金融产品
ops = [ ops = [
{label: "身份证号", render: (h, {row}) => h('p', this.idCardNoUtil.hideId(row.idNumber)), width: 160}, {label: "身份证号", render: (h, {row}) => h('p', ID.hideId(row.idNumber)), width: 160},
{label: "贷款金额(万)", prop: "loanAmount"}, {label: "贷款金额(万)", prop: "loanAmount"},
{label: "贷款机构", prop: "organizationName"}, {label: "贷款机构", prop: "organizationName"},
{label: "机构类型", prop: "organizationType", dict: "financialOrganizationType"}, {label: "机构类型", prop: "organizationType", dict: "financialOrganizationType"},

View File

@@ -34,6 +34,7 @@
<script> <script>
import {mapState} from "vuex"; import {mapState} from "vuex";
import {ID} from "dvcp-ui/lib/js/utils";
export default { export default {
name: "AppLoanSta", name: "AppLoanSta",
@@ -55,7 +56,7 @@ export default {
{label: "产品名称", width: '200', prop: "productName"}, {label: "产品名称", width: '200', prop: "productName"},
{label: "联系人", width: '100', prop: "name"}, {label: "联系人", width: '100', prop: "name"},
{label: "联系方式", width: '140', prop: "phone"}, {label: "联系方式", width: '140', prop: "phone"},
{label: "身份证号", render: (h, {row}) => h('p', this.idCardNoUtil.hideId(row.idNumber)), width: 160}, {label: "身份证号", render: (h, {row}) => h('p', ID.hideId(row.idNumber)), width: 160},
{label: "企业主体", width: '200', prop: "enterpriseName"}, {label: "企业主体", width: '200', prop: "enterpriseName"},
{label: "贷款金额(万)", width: '120', prop: "loanAmount"}, {label: "贷款金额(万)", width: '120', prop: "loanAmount"},
{label: "申请时间", prop: "createTime", width: 160}, {label: "申请时间", prop: "createTime", width: 160},

View File

@@ -95,6 +95,8 @@
</template> </template>
<script> <script>
import {ID} from "dvcp-ui/lib/js/utils";
export default { export default {
name: "sealDetail", name: "sealDetail",
inject: ['seal'], inject: ['seal'],
@@ -135,11 +137,11 @@ export default {
], ],
legalIdNumber: [ legalIdNumber: [
{required: true, message: "请填写法人身份证号码"}, {required: true, message: "请填写法人身份证号码"},
{validator: (r, v, cb) => cb(this.idCardNoUtil.checkIdCardNo(v) ? undefined : "身份证号码格式有误")} {validator: (r, v, cb) => cb(ID.check(v) ? undefined : "身份证号码格式有误")}
], ],
agentIdNumber: [ agentIdNumber: [
{required: true, message: "请填写代理人身份证号码"}, {required: true, message: "请填写代理人身份证号码"},
{validator: (r, v, cb) => cb(this.idCardNoUtil.checkIdCardNo(v) ? undefined : "身份证号码格式有误")} {validator: (r, v, cb) => cb(ID.check(v) ? undefined : "身份证号码格式有误")}
], ],
} }
} }

View File

@@ -57,6 +57,7 @@
<script> <script>
import {mapState} from "vuex"; import {mapState} from "vuex";
import DrawInPhone from "./drawInPhone"; import DrawInPhone from "./drawInPhone";
import {ID} from "dvcp-ui/lib/js/utils";
export default { export default {
name: "AppPersonalSignature", name: "AppPersonalSignature",
@@ -95,7 +96,7 @@ export default {
], ],
idNumber: [ idNumber: [
{required: true, message: "请填写身份证号码"}, {required: true, message: "请填写身份证号码"},
{validator: (r, v, cb) => cb(this.idCardNoUtil.checkIdCardNo(v) ? undefined : "身份证号码格式有误")} {validator: (r, v, cb) => cb(ID.check(v) ? undefined : "身份证号码格式有误")}
], ],
} }
} }