发展党员
This commit is contained in:
@@ -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'},
|
||||||
|
|||||||
@@ -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()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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("身份证号格式错误"));
|
||||||
|
|||||||
@@ -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()
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -33,7 +33,7 @@
|
|||||||
:maxLength="15"
|
:maxLength="15"
|
||||||
placeholder="请输入姓名"
|
placeholder="请输入姓名"
|
||||||
v-model="form.name"
|
v-model="form.name"
|
||||||
|
|
||||||
>
|
>
|
||||||
<template slot="append" v-if="!isEdit">
|
<template slot="append" v-if="!isEdit">
|
||||||
<ai-person-select
|
<ai-person-select
|
||||||
@@ -765,16 +765,17 @@
|
|||||||
|
|
||||||
<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,
|
||||||
selected: Object
|
selected: Object
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
...mapState(["user"]),
|
...mapState(["user"]),
|
||||||
isEdit() {
|
isEdit() {
|
||||||
return !!this.$route.query.id;
|
return !!this.$route.query.id;
|
||||||
},
|
},
|
||||||
@@ -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) {
|
||||||
|
|||||||
@@ -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: [],
|
||||||
|
|||||||
@@ -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
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -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}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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('请选择监测对象类型')
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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) => {
|
||||||
|
|||||||
@@ -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"},
|
||||||
|
|||||||
@@ -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()
|
||||||
@@ -80,10 +81,10 @@
|
|||||||
const validatorPhone = function (rule, value, callback) {
|
const validatorPhone = function (rule, value, callback) {
|
||||||
if (value === '') {
|
if (value === '') {
|
||||||
callback(new Error('请输入联系方式'))
|
callback(new Error('请输入联系方式'))
|
||||||
}
|
}
|
||||||
// else if (!/^1\d{10}$/.test(value)) {
|
// else if (!/^1\d{10}$/.test(value)) {
|
||||||
// callback(new Error('手机号格式错误'))
|
// callback(new Error('手机号格式错误'))
|
||||||
// }
|
// }
|
||||||
else {
|
else {
|
||||||
callback()
|
callback()
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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 : "身份证号码格式有误")}
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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 : "身份证号码格式有误")}
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -93,6 +93,8 @@
|
|||||||
v-for="item in info.riskDisposalList"
|
v-for="item in info.riskDisposalList"
|
||||||
:key="item.id"
|
:key="item.id"
|
||||||
label-width="120px">
|
label-width="120px">
|
||||||
|
<ai-info-item label="处理人员" :value="info.createUserName"></ai-info-item>
|
||||||
|
<ai-info-item label="联系电话" :value="info.createUserPhone"></ai-info-item>
|
||||||
<ai-info-item label="处理意见" :value="dict.getLabel('EP_handleType', item.handleType)"></ai-info-item>
|
<ai-info-item label="处理意见" :value="dict.getLabel('EP_handleType', item.handleType)"></ai-info-item>
|
||||||
<ai-info-item v-if="item.handleType === '2'" label="集中隔离地" :value="dict.getLabel('EP_quarantineAddress', item.quarantineAddress)"></ai-info-item>
|
<ai-info-item v-if="item.handleType === '2'" label="集中隔离地" :value="dict.getLabel('EP_quarantineAddress', item.quarantineAddress)"></ai-info-item>
|
||||||
<ai-info-item v-if="item.handleType === '3'" label="居家状态" :value="dict.getLabel('EP_homeStatus', item.homeStatus)"></ai-info-item>
|
<ai-info-item v-if="item.handleType === '3'" label="居家状态" :value="dict.getLabel('EP_homeStatus', item.homeStatus)"></ai-info-item>
|
||||||
|
|||||||
@@ -12,8 +12,8 @@
|
|||||||
<h2 style="color: #22AA99;">{{ info['今日登记'] }}</h2>
|
<h2 style="color: #22AA99;">{{ info['今日登记'] }}</h2>
|
||||||
</div>
|
</div>
|
||||||
<div class="statistics-top__item">
|
<div class="statistics-top__item">
|
||||||
<span>原路返回</span>
|
<span>居家监测</span>
|
||||||
<h2 style="color: #F8B425">{{ info['原路返回'] }}</h2>
|
<h2 style="color: #F8B425">{{ info['居家监测'] || 0 }}</h2>
|
||||||
</div>
|
</div>
|
||||||
<div class="statistics-top__item">
|
<div class="statistics-top__item">
|
||||||
<span>居家隔离</span>
|
<span>居家隔离</span>
|
||||||
|
|||||||
@@ -73,12 +73,6 @@
|
|||||||
this.component = 'List'
|
this.component = 'List'
|
||||||
this.params = data.params
|
this.params = data.params
|
||||||
this.isShowDetail = false
|
this.isShowDetail = false
|
||||||
|
|
||||||
this.$nextTick(() => {
|
|
||||||
if (data.isRefresh) {
|
|
||||||
this.$refs.component.getList()
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -15,7 +15,9 @@
|
|||||||
<!-- <ai-info-item label="对象类型" :value="dict.getLabel('EP_registerInfoType', info.infoType)"></ai-info-item> -->
|
<!-- <ai-info-item label="对象类型" :value="dict.getLabel('EP_registerInfoType', info.infoType)"></ai-info-item> -->
|
||||||
<ai-info-item label="身份证" :value="info.idNumber"></ai-info-item>
|
<ai-info-item label="身份证" :value="info.idNumber"></ai-info-item>
|
||||||
<ai-info-item label="手机号" :value="info.phone"></ai-info-item>
|
<ai-info-item label="手机号" :value="info.phone"></ai-info-item>
|
||||||
<ai-info-item label="所属地区" :value="info.areaName" isLine></ai-info-item>
|
<ai-info-item label="抵平时间" :value="info.createTime"></ai-info-item>
|
||||||
|
<ai-info-item label="所属地区" :value="info.areaName"></ai-info-item>
|
||||||
|
<ai-info-item label="目的地详址" :value="info.arriveAddress"></ai-info-item>
|
||||||
<ai-info-item label="居家状态" :value="dict.getLabel('EP_homeStatus2', info.homeStatus)"></ai-info-item>
|
<ai-info-item label="居家状态" :value="dict.getLabel('EP_homeStatus2', info.homeStatus)"></ai-info-item>
|
||||||
<ai-info-item label="隔离时间" :value="info.quarantineBeginTime ? info.quarantineBeginTime.split(' ')[0] + ' - ' + info.quarantineEndTime.split(' ')[0] : ''"></ai-info-item>
|
<ai-info-item label="隔离时间" :value="info.quarantineBeginTime ? info.quarantineBeginTime.split(' ')[0] + ' - ' + info.quarantineEndTime.split(' ')[0] : ''"></ai-info-item>
|
||||||
<ai-info-item label="隔离策略 " :value="dict.getLabel('EP_quarantineStrategy', info.quarantineStrategy)"></ai-info-item>
|
<ai-info-item label="隔离策略 " :value="dict.getLabel('EP_quarantineStrategy', info.quarantineStrategy)"></ai-info-item>
|
||||||
|
|||||||
@@ -27,6 +27,9 @@
|
|||||||
</ai-user-selecter>
|
</ai-user-selecter>
|
||||||
</template>
|
</template>
|
||||||
<template #right>
|
<template #right>
|
||||||
|
<ai-download :instance="instance" url="/app/appepidemicpreventioncommunitymanagement/export" :params="search" fileName="社区管理" :disabled="tableData.length == 0">
|
||||||
|
<el-button icon="iconfont iconExported" :disabled="tableData.length == 0">导出</el-button>
|
||||||
|
</ai-download>
|
||||||
<el-input
|
<el-input
|
||||||
v-model="search.name"
|
v-model="search.name"
|
||||||
class="search-input"
|
class="search-input"
|
||||||
@@ -88,12 +91,13 @@
|
|||||||
{ prop: 'name', label: '管理对象', align: 'left' },
|
{ prop: 'name', label: '管理对象', align: 'left' },
|
||||||
{ prop: 'phone', label: '手机号', align: 'center' },
|
{ prop: 'phone', label: '手机号', align: 'center' },
|
||||||
{ prop: 'idNumber', label: '身份证号', align: 'center' },
|
{ prop: 'idNumber', label: '身份证号', align: 'center' },
|
||||||
{ prop: 'createTime', label: '排查时间', align: 'center' },
|
{ prop: 'createTime', label: '抵平时间', align: 'center' },
|
||||||
{ prop: 'areaName', label: '所属地区', align: 'center' },
|
{ prop: 'areaName', label: '所属地区', align: 'center' },
|
||||||
|
{ prop: 'arriveAddress', label: '目的地详址', align: 'center' },
|
||||||
{ prop: 'status', label: '管理状态', align: 'center', formart: v => this.dict.getLabel('EP_CM_status', v) },
|
{ prop: 'status', label: '管理状态', align: 'center', formart: v => this.dict.getLabel('EP_CM_status', v) },
|
||||||
|
{ prop: 'controllerUserName', label: '管控人', align: 'center' },
|
||||||
{ prop: 'nucleicAcidSamplingCount', label: '核酸状态', align: 'center', formart: v => v > 0 ? `核酸采集${v}次` : '待采' },
|
{ prop: 'nucleicAcidSamplingCount', label: '核酸状态', align: 'center', formart: v => v > 0 ? `核酸采集${v}次` : '待采' },
|
||||||
// { prop: 'infoType', label: '对象来源', align: 'center', formart: v => this.dict.getLabel('EP_registerInfoType', v) },
|
// { prop: 'infoType', label: '对象来源', align: 'center', formart: v => this.dict.getLabel('EP_registerInfoType', v) },
|
||||||
{ prop: 'controllerUserName', label: '管控人', align: 'center' }
|
|
||||||
],
|
],
|
||||||
tableData: []
|
tableData: []
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -79,7 +79,7 @@
|
|||||||
<ai-empty v-if="false" style="height: 148px;"></ai-empty>
|
<ai-empty v-if="false" style="height: 148px;"></ai-empty>
|
||||||
</template>
|
</template>
|
||||||
</ai-card>
|
</ai-card>
|
||||||
<ai-card title="返乡数据统计">
|
<ai-card title="返乡数据统计" v-if="false">
|
||||||
<template #right>
|
<template #right>
|
||||||
</template>
|
</template>
|
||||||
<template #content>
|
<template #content>
|
||||||
@@ -137,7 +137,7 @@
|
|||||||
this.loading = true
|
this.loading = true
|
||||||
this.$nextTick(() => {
|
this.$nextTick(() => {
|
||||||
this.chart1 = echarts.init(document.querySelector('.chart1'))
|
this.chart1 = echarts.init(document.querySelector('.chart1'))
|
||||||
this.chart2 = echarts.init(document.querySelector('.chart2'))
|
// this.chart2 = echarts.init(document.querySelector('.chart2'))
|
||||||
window.addEventListener('resize', this.onResize)
|
window.addEventListener('resize', this.onResize)
|
||||||
this.getInfo()
|
this.getInfo()
|
||||||
})
|
})
|
||||||
@@ -210,7 +210,7 @@
|
|||||||
this.instance.post(`/app/appepidemicpreventioncommunitymanagement/statistics?areaId=${this.areaId}&beginTime=${this.beginTime || ''}&endTime=${this.endTime || ''}`).then(res => {
|
this.instance.post(`/app/appepidemicpreventioncommunitymanagement/statistics?areaId=${this.areaId}&beginTime=${this.beginTime || ''}&endTime=${this.endTime || ''}`).then(res => {
|
||||||
if (res.code == 0) {
|
if (res.code == 0) {
|
||||||
this.initChart1(res.data.trend)
|
this.initChart1(res.data.trend)
|
||||||
this.initChart2(res.data.sourceMap)
|
// this.initChart2(res.data.sourceMap)
|
||||||
this.info = res.data.numberMap
|
this.info = res.data.numberMap
|
||||||
this.loading = false
|
this.loading = false
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -1,52 +1,91 @@
|
|||||||
<template>
|
<template>
|
||||||
<section class="electionAdd">
|
<section class="electionAdd">
|
||||||
<ai-detail>
|
<ai-detail class="add" v-if="id && !isEdit">
|
||||||
<ai-title slot="title" title="添加换届选举" isShowBottomBorder isShowBack @onBackClick="cancel(true)"/>
|
<template slot="title">
|
||||||
|
<ai-title title="换届选举详情" isShowBack isShowBottomBorder @onBackClick="cancel(false)"></ai-title>
|
||||||
|
</template>
|
||||||
|
<template slot="content">
|
||||||
|
<ai-card title="基本信息">
|
||||||
|
<template #right>
|
||||||
|
<span style="color:#2266FF;cursor: pointer;font-size: 12px;" class="iconfont iconEdit" v-if="isEdit==false" @click="edit">修改</span>
|
||||||
|
</template>
|
||||||
|
<template #content v-if="isEdit == false">
|
||||||
|
<ai-wrapper>
|
||||||
|
<ai-info-item label="标题" :value="info.title"></ai-info-item>
|
||||||
|
<ai-info-item label="投票说明" :value="info.votingInstructions"></ai-info-item>
|
||||||
|
<ai-info-item label="单位名称" :value="info.organizationName"></ai-info-item>
|
||||||
|
<ai-info-item label="选举方式" :value="info.electionMethod"></ai-info-item>
|
||||||
|
<ai-info-item label="应选人数" :value="info.candidatesNumber"></ai-info-item>
|
||||||
|
<ai-info-item label="投票日期" :value="info.votingDate"></ai-info-item>
|
||||||
|
<ai-info-item label="候选人" isLine>
|
||||||
|
<span v-for="(item,index) in candidateUsersList" :key="index">
|
||||||
|
{{ item }}
|
||||||
|
<span v-if="index < candidateUsersList.length - 1">,</span>
|
||||||
|
</span>
|
||||||
|
</ai-info-item>
|
||||||
|
<ai-info-item label="投票人" isLine :value="info.voteUsers">
|
||||||
|
<span v-for="(item,index) in voteUsersList" :key="index">
|
||||||
|
{{ item }}
|
||||||
|
<span v-if="index < voteUsersList.length - 1">,</span>
|
||||||
|
</span>
|
||||||
|
</ai-info-item>
|
||||||
|
</ai-wrapper>
|
||||||
|
</template>
|
||||||
|
</ai-card>
|
||||||
|
</template>
|
||||||
|
</ai-detail>
|
||||||
|
<ai-detail v-else>
|
||||||
|
<ai-title slot="title" :title="id? '编辑换届选举':'添加换届选举'" isShowBottomBorder isShowBack @onBackClick="cancel(true)"/>
|
||||||
<template slot="content">
|
<template slot="content">
|
||||||
<ai-card title="基本信息">
|
<ai-card title="基本信息">
|
||||||
<template #content>
|
<template #content>
|
||||||
<div class="add-form">
|
<div class="add-form">
|
||||||
<el-form ref="form" :model="form" :rules="formRules" size="small" label-width="150px">
|
<el-form ref="form" :model="form" :rules="formRules" size="small" label-width="150px">
|
||||||
|
|
||||||
<el-form-item label="标题" prop="licenseName">
|
<el-form-item label="标题" prop="title">
|
||||||
<el-input v-model="form.licenseName" placeholder="请输入" show-word-limit maxlength="100"></el-input>
|
<el-input v-model="form.title" placeholder="请输入" show-word-limit maxlength="100"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="投票说明" prop="licenseName">
|
<el-form-item label="投票说明">
|
||||||
<el-input type="textarea" :rows="5" v-model="form.licenseName" placeholder="请输入" show-word-limit maxlength="500"></el-input>
|
<el-input type="textarea" :rows="5" v-model="form.votingInstructions" placeholder="请输入" show-word-limit maxlength="500"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="单位名称" prop="licenseOrganization">
|
<el-form-item label="单位名称" prop="organizationName">
|
||||||
<el-input size="small" disabled placeholder="请选择所属党组织" v-model="form.partyOrgName">
|
<el-input size="small" disabled placeholder="请选择所属党组织" v-model="form.organizationName">
|
||||||
<template slot="append">
|
<template slot="append">
|
||||||
<ai-party :instance="instance" size="small" :value="form.partyOrgId" @origin="handlePartyOrgSelect"/>
|
<ai-party :instance="instance" size="small" :value="form.partyOrgId" @origin="handlePartyOrgSelect"/>
|
||||||
</template>
|
</template>
|
||||||
</el-input>
|
</el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="选举方式" prop="licenseOrganization">
|
<el-form-item label="选举方式" prop="electionMethod">
|
||||||
<el-radio v-model="form.radio" label="1">等额</el-radio>
|
<el-tooltip class="item" effect="dark" content="差额选举:候选人数多于应选人数的选举方式;
|
||||||
<el-radio v-model="form.radio" label="2">差额</el-radio>
|
等额选举:候选人数与应选人数相等的选举方式。" placement="top">
|
||||||
|
<i class="el-icon-info" style="margin-right: 8px"></i>
|
||||||
|
</el-tooltip>
|
||||||
|
|
||||||
|
<el-radio v-model="form.electionMethod" label="1">等额</el-radio>
|
||||||
|
<el-radio v-model="form.electionMethod" label="2">差额</el-radio>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-row type="flex">
|
<el-row type="flex">
|
||||||
<el-col :span="20">
|
<el-col :span="20">
|
||||||
<el-form-item label="应选人数" prop="licenseCode">
|
<el-form-item label="应选人数" prop="candidatesNumber">
|
||||||
<el-input type="number" v-model="form.licenseCode" placeholder="请输入"></el-input>
|
<el-input type="number" v-model="form.candidatesNumber" placeholder="请输入"></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :span="20">
|
<el-col :span="20">
|
||||||
<el-form-item label="投票日期" prop="decisionDate">
|
<el-form-item label="投票日期" prop="votingDate">
|
||||||
<el-date-picker v-model="form.decisionDate" value-format="yyyy-MM-dd" type="date" placeholder="选择日期" style="width:338px">
|
<el-date-picker v-model="form.votingDate" value-format="yyyy-MM-dd HH:mm:ss" type="date" placeholder="选择日期" style="width:338px">
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
|
|
||||||
<el-form-item label="候选人" prop="licenseOrganization">
|
<el-form-item label="候选人" prop="candidateUsers">
|
||||||
<ai-person-select :instance="instance" :customClicker="true" :chooseUserList="chooseUserList"
|
<ai-person-select :instance="instance" :customClicker="true" :chooseUserList="chooseUserList"
|
||||||
url="/app/appgirdmemberinfo/list" headerTitle="党员列表"
|
url="/app/appgirdmemberinfo/list" headerTitle="党员列表"
|
||||||
:isMultiple="true" dialogTitle="选择" @selectPerson="selectPerson" class="aipersonselect">
|
:isMultiple="true" dialogTitle="选择" @selectPerson="selectCandidate" class="aipersonselect">
|
||||||
<template name="option" v-slot:option="{ item }">
|
<template name="option" v-slot:option="{ item }">
|
||||||
<span class="iconfont iconProlife">{{ item.name }}</span>
|
<span class="iconfont iconProlife">{{ item.name }}</span>
|
||||||
<span>{{ item.phone }}</span>
|
<span>{{ item.phone }}</span>
|
||||||
@@ -55,10 +94,10 @@
|
|||||||
</ai-person-select>
|
</ai-person-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
|
||||||
<el-form-item label="投票人" prop="licenseOrganization">
|
<el-form-item label="投票人" prop="voteUsers">
|
||||||
<ai-person-select :instance="instance" :customClicker="true" :chooseUserList="chooseUserList"
|
<ai-person-select :instance="instance" :customClicker="true" :chooseUserList="chooseUserList"
|
||||||
url="/app/appgirdmemberinfo/list" headerTitle="党员列表"
|
url="/app/appgirdmemberinfo/list" headerTitle="党员列表"
|
||||||
dialogTitle="选择" @selectPerson="selectPerson" class="aipersonselect">
|
:isMultiple="true" dialogTitle="选择" @selectPerson="selectVote" class="aipersonselect">
|
||||||
<template name="option" v-slot:option="{ item }">
|
<template name="option" v-slot:option="{ item }">
|
||||||
<span class="iconfont iconProlife">{{ item.name }}</span>
|
<span class="iconfont iconProlife">{{ item.name }}</span>
|
||||||
<ai-id mode="show" :show-eyes="false" :value="item.idNumber"/>
|
<ai-id mode="show" :show-eyes="false" :value="item.idNumber"/>
|
||||||
@@ -75,31 +114,7 @@
|
|||||||
<el-button class="footer-btn" type="primary" @click="confirm()">保存</el-button>
|
<el-button class="footer-btn" type="primary" @click="confirm()">保存</el-button>
|
||||||
</template>
|
</template>
|
||||||
</ai-detail>
|
</ai-detail>
|
||||||
<!-- <ai-detail class="add" v-if="id && !isEdit">
|
|
||||||
<template slot="title">
|
|
||||||
<ai-title title="行政许可信息详情" isShowBack isShowBottomBorder @onBackClick="cancel(false)"></ai-title>
|
|
||||||
</template>
|
|
||||||
<template slot="content">
|
|
||||||
<ai-card title="基本信息">
|
|
||||||
<template #right>
|
|
||||||
<span style="color:#2266FF;cursor: pointer;font-size: 12px;" class="iconfont iconEdit" v-if="isEdit==false" @click="edit">修改</span>
|
|
||||||
</template>
|
|
||||||
<template #content v-if="isEdit == false">
|
|
||||||
<ai-wrapper>
|
|
||||||
<ai-info-item label="许可文书名称" :value="data.licenseName"></ai-info-item>
|
|
||||||
<ai-info-item label="许可文书号" :value="data.licenseCode"></ai-info-item>
|
|
||||||
<ai-info-item label="许可决定日期" :value="data.decisionDate"></ai-info-item>
|
|
||||||
<ai-info-item label="许可有效期自" :value="data.startDate"></ai-info-item>
|
|
||||||
<ai-info-item label="许可有效期至" :value="data.endDate"></ai-info-item>
|
|
||||||
<ai-info-item label="许可机关" isLine :value="data.licenseOrganization"></ai-info-item>
|
|
||||||
<ai-info-item label="经营主体" isLine :value="data.enterpriseName"></ai-info-item>
|
|
||||||
<ai-info-item label="统一信用代码" isLine :value="data.unifiedCode"></ai-info-item>
|
|
||||||
<ai-info-item label="许可内容" isLine :value="data.licenseContent"></ai-info-item>
|
|
||||||
</ai-wrapper>
|
|
||||||
</template>
|
|
||||||
</ai-card>
|
|
||||||
</template>
|
|
||||||
</ai-detail> -->
|
|
||||||
</section>
|
</section>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
@@ -109,13 +124,60 @@ export default {
|
|||||||
props: {
|
props: {
|
||||||
instance: Function,
|
instance: Function,
|
||||||
dict: Object,
|
dict: Object,
|
||||||
permissions: Function
|
params: Object,
|
||||||
},
|
},
|
||||||
|
|
||||||
data() {
|
data() {
|
||||||
|
let validCandidate = (rule, value, callback) => {
|
||||||
|
if (!value.length) {
|
||||||
|
return callback(new Error('请选择候选人'));
|
||||||
|
} else {
|
||||||
|
callback();
|
||||||
|
}
|
||||||
|
};
|
||||||
|
let validVote = (rule, value, callback) => {
|
||||||
|
if (!value.length) {
|
||||||
|
return callback(new Error('请选择投票人'));
|
||||||
|
} else {
|
||||||
|
callback();
|
||||||
|
}
|
||||||
|
};
|
||||||
return {
|
return {
|
||||||
form: {
|
form: {
|
||||||
|
title: '',
|
||||||
|
votingInstructions: '',
|
||||||
|
organizationName: '',
|
||||||
|
electionMethod: '',
|
||||||
|
candidatesNumber: '',
|
||||||
|
votingDate: '',
|
||||||
|
candidateUsers: [],
|
||||||
|
voteUsers: [],
|
||||||
|
partyOrganizations: []
|
||||||
},
|
},
|
||||||
|
chooseUserList: [],
|
||||||
|
formRules: {
|
||||||
|
title: [{required: true, message: "请输入标题", trigger: "blur"}],
|
||||||
|
organizationName: [{required: true, message: "请选择党组织", trigger: "blur"}],
|
||||||
|
electionMethod: [{required: true, message: "请选择选举方式", trigger: "blur"}],
|
||||||
|
candidatesNumber: [{required: true, message: "请输入应选人数", trigger: "blur"}],
|
||||||
|
votingDate: [{required: true, message: "请选择投票日期", trigger: "blur"}],
|
||||||
|
candidateUsers: [{required: true,validator: validCandidate, trigger: "blur"}],
|
||||||
|
voteUsers: [{required: true,validator: validVote, trigger: "blur"}],
|
||||||
|
},
|
||||||
|
id: '',
|
||||||
|
isEdit: false,
|
||||||
|
info: {},
|
||||||
|
candidateUsersList: '',
|
||||||
|
voteUsersList: '',
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
if(this.params && this.params.id) {
|
||||||
|
this.id = this.params.id
|
||||||
|
this.isEdit = this.params.isEdit
|
||||||
|
this.getDetail()
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
@@ -124,7 +186,56 @@ export default {
|
|||||||
type: 'electionList',
|
type: 'electionList',
|
||||||
isRefresh: !!isRefresh
|
isRefresh: !!isRefresh
|
||||||
})
|
})
|
||||||
}
|
},
|
||||||
|
getDetail() {
|
||||||
|
this.instance.post(`/app/appgeneralelectioninfo/queryDetailById`,null, {
|
||||||
|
params: {id:this.id}
|
||||||
|
}).then((res) => {
|
||||||
|
if(res?.data) {
|
||||||
|
// console.log(res.data);
|
||||||
|
this.form = res.data,
|
||||||
|
this.info = res.data
|
||||||
|
this.candidateUsersList = res.data.candidateUsers.map(v=> v.name)
|
||||||
|
this.voteUsersList = res.data.voteUsers.map(v=> v.name)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
edit() {},
|
||||||
|
selectCandidate(v) {
|
||||||
|
this.form.candidateUsers = v
|
||||||
|
},
|
||||||
|
selectVote(e) {
|
||||||
|
this.form.voteUsers = e
|
||||||
|
},
|
||||||
|
handlePartyOrgSelect(v) {
|
||||||
|
if(v) {
|
||||||
|
this.form.organizationName = v[0].name
|
||||||
|
this.form.partyOrganizations = [v[0]]
|
||||||
|
} else {
|
||||||
|
this.form.organizationName = this.chooseUserList[0].name
|
||||||
|
this.form.partyOrganizations = this.chooseUserList
|
||||||
|
}
|
||||||
|
},
|
||||||
|
confirm() {
|
||||||
|
this.$refs.form.validate((valid) => {
|
||||||
|
if (valid) {
|
||||||
|
this.instance.post(`/app/appgeneralelectioninfo/addOrUpdate`,{
|
||||||
|
...this.form
|
||||||
|
}).then(res => {
|
||||||
|
if(res.code == 0) {
|
||||||
|
if(this.id) {
|
||||||
|
this.$message.success('编辑成功')
|
||||||
|
} else {
|
||||||
|
this.$message.success('新增成功')
|
||||||
|
}
|
||||||
|
this.cancel(false)
|
||||||
|
}
|
||||||
|
}).catch((err) => {
|
||||||
|
console.log(err);
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
},
|
},
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -5,7 +5,7 @@
|
|||||||
<template #content>
|
<template #content>
|
||||||
<ai-search-bar>
|
<ai-search-bar>
|
||||||
<template #left>
|
<template #left>
|
||||||
<el-button size="small" type="primary" icon="iconfont iconAdd" @click="toAdd('')" >添加</el-button>
|
<el-button size="small" type="primary" icon="iconfont iconAdd" @click="toAdd('', false)" >添加</el-button>
|
||||||
<ai-select v-model="search.status" @change=";(page.current = 1), getList()" placeholder="请选择状态" :selectList="dict.getDict('cwpStatus')"></ai-select>
|
<ai-select v-model="search.status" @change=";(page.current = 1), getList()" placeholder="请选择状态" :selectList="dict.getDict('cwpStatus')"></ai-select>
|
||||||
</template>
|
</template>
|
||||||
<template #right>
|
<template #right>
|
||||||
@@ -18,8 +18,8 @@
|
|||||||
<el-table-column slot="options" label="操作" fixed="right" align="center">
|
<el-table-column slot="options" label="操作" fixed="right" align="center">
|
||||||
<template slot-scope="{ row }">
|
<template slot-scope="{ row }">
|
||||||
<!-- show-overflow-tooltip -->
|
<!-- show-overflow-tooltip -->
|
||||||
<el-button type="text" @click.native="toAdd(row.id)">编辑</el-button>
|
<el-button type="text" @click.native="toAdd(row.id, true)">编辑</el-button>
|
||||||
<el-button type="text" @click.native="toAdd(row.id)">详情</el-button>
|
<el-button type="text" @click.native="toAdd(row.id, false)">详情</el-button>
|
||||||
<el-button type="text" @click.native="handleDelete(row.id)">删除</el-button>
|
<el-button type="text" @click.native="handleDelete(row.id)">删除</el-button>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
@@ -39,39 +39,53 @@ 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: "title", label: "标题", align: "left", showOverflowTooltip: true},
|
||||||
{prop: "", label: "所属支部", align: "center"},
|
{prop: "organizationName", label: "所属支部", align: "center"},
|
||||||
{prop: "", label: "选举方式", align: "center"},
|
{prop: "electionMethod", label: "选举方式", align: "center"},
|
||||||
{prop: "", label: "应选人数", align: "center"},
|
{prop: "chooseNumber", label: "应选人数", align: "center"},
|
||||||
{prop: "", label: "状态", align: "center",width: "180px"},
|
{prop: "status", label: "状态", align: "center",width: "180px"},
|
||||||
{ slot: "options", },
|
{ slot: "options", },
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
getList () {},
|
getList() {
|
||||||
toAdd(id) {
|
this.instance.post(`/app/appgeneralelectioninfo/list`,null,{
|
||||||
|
params: {
|
||||||
|
...this.page,
|
||||||
|
...this.search,
|
||||||
|
}
|
||||||
|
}).then(res=> {
|
||||||
|
if(res?.data) {
|
||||||
|
this.tableData = res.data.records
|
||||||
|
this.total.total = res.data.total
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
toAdd(id,flag) {
|
||||||
this.$emit('change', {
|
this.$emit('change', {
|
||||||
type: 'electionAdd',
|
type: 'electionAdd',
|
||||||
params: {
|
params: {
|
||||||
id: id || '',
|
id: id || '',
|
||||||
|
isEdit: flag
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -194,7 +194,7 @@
|
|||||||
this.info = res.data
|
this.info = res.data
|
||||||
|
|
||||||
if (res.data.handleLogs && res.data.handleLogs.length) {
|
if (res.data.handleLogs && res.data.handleLogs.length) {
|
||||||
this.riskDisposalInfo = res.data.handleLogs.filter(v => v.riskRelief).length ? res.data.handleLogs.filter(v => !v.riskRelief)[0] : {}
|
this.riskDisposalInfo = res.data.handleLogs.filter(v => v.riskRelief).length ? res.data.handleLogs.filter(v => v.riskRelief)[0] : {}
|
||||||
|
|
||||||
this.info.handleLogs = res.data.handleLogs.filter(v => !v.riskRelief)
|
this.info.handleLogs = res.data.handleLogs.filter(v => !v.riskRelief)
|
||||||
}
|
}
|
||||||
@@ -208,7 +208,6 @@
|
|||||||
|
|
||||||
toDetail (row) {
|
toDetail (row) {
|
||||||
this.reportInfo = row
|
this.reportInfo = row
|
||||||
this.isShow = true
|
|
||||||
let healthName = ''
|
let healthName = ''
|
||||||
this.reportInfo.isHealth = false
|
this.reportInfo.isHealth = false
|
||||||
row.health.split(',').forEach(v => {
|
row.health.split(',').forEach(v => {
|
||||||
@@ -218,23 +217,7 @@
|
|||||||
healthName = healthName + this.dict.getLabel('EP_healthType', v)
|
healthName = healthName + this.dict.getLabel('EP_healthType', v)
|
||||||
})
|
})
|
||||||
this.reportInfo.healthName = healthName
|
this.reportInfo.healthName = healthName
|
||||||
// this.instance.post(`/app/appepidemichealthreport/queryDetailById?id=${id}`).then(res => {
|
this.isShow = true
|
||||||
// if (res.code === 0) {
|
|
||||||
// this.reportInfo = res.data
|
|
||||||
// this.reportInfo.checkPhoto = JSON.parse(res.data.checkPhoto)
|
|
||||||
// let healthName = ''
|
|
||||||
// this.reportInfo.isHealth = false
|
|
||||||
// res.data.health.split(',').forEach(v => {
|
|
||||||
// if (v > 0) {
|
|
||||||
// this.reportInfo.isHealth = true
|
|
||||||
// }
|
|
||||||
// healthName = healthName + this.dict.getLabel('epidemicRecentHealth', v)
|
|
||||||
// })
|
|
||||||
// this.reportInfo.healthName = healthName
|
|
||||||
|
|
||||||
// this.isShow = true
|
|
||||||
// }
|
|
||||||
// })
|
|
||||||
},
|
},
|
||||||
|
|
||||||
cancel () {
|
cancel () {
|
||||||
|
|||||||
@@ -92,7 +92,8 @@
|
|||||||
<ai-wrapper
|
<ai-wrapper
|
||||||
style="margin-bottom: 20px;"
|
style="margin-bottom: 20px;"
|
||||||
label-width="120px">
|
label-width="120px">
|
||||||
<ai-info-item label="处置意见" :value="dict.getLabel('EP_homeStatus', info.cmAdvanceDisposal.homeStatus)"></ai-info-item>
|
<ai-info-item label="处置意见" :value="dict.getLabel('EP_communityHandleType', info.cmAdvanceDisposal.communityHandleType)"></ai-info-item>
|
||||||
|
<ai-info-item v-if="info.cmAdvanceDisposal.communityHandleType === '1'" label="居家状态" :value="dict.getLabel('EP_homeStatus2', info.cmAdvanceDisposal.homeStatus)"></ai-info-item>
|
||||||
<ai-info-item v-if="info.cmAdvanceDisposal.communityHandleType === '1'" label="隔离时间" :value="info.cmAdvanceDisposal.quarantineBeginTime + ' - ' + info.cmAdvanceDisposal.quarantineEndTime"></ai-info-item>
|
<ai-info-item v-if="info.cmAdvanceDisposal.communityHandleType === '1'" label="隔离时间" :value="info.cmAdvanceDisposal.quarantineBeginTime + ' - ' + info.cmAdvanceDisposal.quarantineEndTime"></ai-info-item>
|
||||||
<ai-info-item v-if="info.cmAdvanceDisposal.communityHandleType === '1'" label="隔离策略" :value="dict.getLabel('EP_quarantineStrategy', info.cmAdvanceDisposal.quarantineStrategy)"></ai-info-item>
|
<ai-info-item v-if="info.cmAdvanceDisposal.communityHandleType === '1'" label="隔离策略" :value="dict.getLabel('EP_quarantineStrategy', info.cmAdvanceDisposal.quarantineStrategy)"></ai-info-item>
|
||||||
<ai-info-item v-if="info.cmAdvanceDisposal.communityHandleType === '1'" label="管控方式" :value="dict.getLabel('EP_controlMethod', info.cmAdvanceDisposal.controlMethod)"></ai-info-item>
|
<ai-info-item v-if="info.cmAdvanceDisposal.communityHandleType === '1'" label="管控方式" :value="dict.getLabel('EP_controlMethod', info.cmAdvanceDisposal.controlMethod)"></ai-info-item>
|
||||||
@@ -151,7 +152,7 @@
|
|||||||
this.isLoading = true
|
this.isLoading = true
|
||||||
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(['EP_registerPersonType', 'EP_highRiskIndustries', 'EP_travelType', 'yesOrNo', 'EP_homeStatus', 'EP_quarantineStrategy', 'EP_controlMethod', 'EP_abnormalType']).then(() => {
|
this.$dict.load(['EP_registerPersonType', 'EP_communityHandleType', 'EP_highRiskIndustries', 'EP_travelType', 'yesOrNo', 'EP_homeStatus2', 'EP_quarantineStrategy', 'EP_controlMethod', 'EP_abnormalType']).then(() => {
|
||||||
this.getInfo(this.params.id)
|
this.getInfo(this.params.id)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -0,0 +1,133 @@
|
|||||||
|
<template>
|
||||||
|
<ai-list class="addChange">
|
||||||
|
<template #title>
|
||||||
|
<ai-title title="基本信息" isShowBottomBorder isShowBack @onBackClick="cancel(false)" />
|
||||||
|
</template>
|
||||||
|
<template #content>
|
||||||
|
<div class="Form" style="padding: 0 200px;">
|
||||||
|
<el-form ref="form" :model="form" label-width="100px" label-position="right">
|
||||||
|
<ai-bar title="基本信息"></ai-bar>
|
||||||
|
<el-row type="flex">
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="换届时间" prop="data" :rules="[{ required: true, message: '请选择换届时间', trigger: 'blur' }]">
|
||||||
|
<el-input size="small" :maxlength="30" placeholder="请输入大屏项目名称" v-model="form.name"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
<el-col :span="12">
|
||||||
|
<el-form-item label="届次" prop="noun" :rules="[{ required: true, message: '请输入届次', trigger: 'blur' }]">
|
||||||
|
<el-input size="small" :maxlength="30" placeholder="请输入届次" v-model="form.name"></el-input>
|
||||||
|
</el-form-item>
|
||||||
|
</el-col>
|
||||||
|
</el-row>
|
||||||
|
</el-form>
|
||||||
|
|
||||||
|
<ai-bar title="本届任职(必填)">
|
||||||
|
<template slot="right">
|
||||||
|
<el-button size="small" type="text" icon="iconfont iconAdd" @click="toEdit('')" >添加任职人员</el-button>
|
||||||
|
</template>
|
||||||
|
</ai-bar>
|
||||||
|
<ai-table
|
||||||
|
class="detail-table__table"
|
||||||
|
:tableData="tableDataJob"
|
||||||
|
:col-configs="colConfigsJob"
|
||||||
|
:total="job.total"
|
||||||
|
:current.sync="job.current"
|
||||||
|
:size.sync="job.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="toEdit('')" >添加候选人</el-button>
|
||||||
|
</template>
|
||||||
|
</ai-bar>
|
||||||
|
<ai-table
|
||||||
|
class="detail-table__table"
|
||||||
|
:tableData="tableDataPerson"
|
||||||
|
:col-configs="colConfigsPerson"
|
||||||
|
:total="person.total"
|
||||||
|
:current.sync="person.current"
|
||||||
|
:size.sync="person.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>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
</ai-list>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script>
|
||||||
|
export default {
|
||||||
|
name: "addChange",
|
||||||
|
props: {
|
||||||
|
instance: Function,
|
||||||
|
permissions: Function,
|
||||||
|
dict: Object,
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
form: {
|
||||||
|
|
||||||
|
},
|
||||||
|
tableDataJob: [],
|
||||||
|
tableDataPerson: [],
|
||||||
|
totalJob: '',
|
||||||
|
job: {
|
||||||
|
total: 0,
|
||||||
|
current: 1,
|
||||||
|
size: 10,
|
||||||
|
},
|
||||||
|
person: {
|
||||||
|
total: 0,
|
||||||
|
current: 1,
|
||||||
|
size: 10,
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
colConfigsJob() {
|
||||||
|
return [
|
||||||
|
{prop: 'content', label: '职位'},
|
||||||
|
{prop: 'content', label: '姓名'},
|
||||||
|
{slot: 'options'},
|
||||||
|
]
|
||||||
|
},
|
||||||
|
colConfigsPerson() {
|
||||||
|
return [
|
||||||
|
{prop: 'content', label: '职位'},
|
||||||
|
{prop: 'content', label: '候选人'},
|
||||||
|
{slot: 'options'},
|
||||||
|
]
|
||||||
|
},
|
||||||
|
formRules() {
|
||||||
|
return {
|
||||||
|
// corpId: [{required: true, message: "请输入CorpId"}],
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
cancel (isRefresh) {
|
||||||
|
this.$emit('change', {
|
||||||
|
type: 'List',
|
||||||
|
isRefresh: !!isRefresh
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scope>
|
||||||
|
.addChange {}
|
||||||
|
</style>
|
||||||
@@ -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>
|
||||||
@@ -1,13 +1,154 @@
|
|||||||
<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="dialogJob=true" >添加任职人员</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="dialogCandidate = true" >添加候选人</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-dialog :visible.sync="dialogJob" title="添加本届任职人" width="720px" @closed="jobForm={}" @onConfirm="handleJobForm">
|
||||||
|
<el-form ref="jobForm" size="small" :model="jobForm" :rules="jobRules" label-width="80px">
|
||||||
|
<el-form-item label="职位" prop="job">
|
||||||
|
<el-input v-model="jobForm.job" clearable placeholder="请输入"/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="姓名" prop="name">
|
||||||
|
<el-input v-model="jobForm.name" clearable placeholder="请输入"/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</ai-dialog>
|
||||||
|
|
||||||
|
<ai-dialog :visible.sync="dialogCandidate" title="添加本届候选人" width="720px" @closed="CandFrom={}" @onConfirm="handleCandForm">
|
||||||
|
<el-form ref="CandFrom" size="small" :model="CandFrom" :rules="candRules" label-width="80px">
|
||||||
|
<el-form-item label="职位" prop="job">
|
||||||
|
<el-input v-model="CandFrom.job" clearable placeholder="请输入"/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="候选人" prop="name">
|
||||||
|
<el-input type="textarea" rows="5" v-model="CandFrom.name" placeholder="请输入候选人姓名,用逗号隔开"/>
|
||||||
|
</el-form-item>
|
||||||
|
</el-form>
|
||||||
|
</ai-dialog>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
|
||||||
|
</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,
|
||||||
|
jobForm: {
|
||||||
|
job: '',
|
||||||
|
name: '',
|
||||||
|
},
|
||||||
|
CandFrom: {
|
||||||
|
job: '',
|
||||||
|
name: '',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
colConfigs() {
|
||||||
|
return [
|
||||||
|
{prop: 'content', label: '职位'},
|
||||||
|
{prop: 'content', label: '姓名'},
|
||||||
|
{slot: 'options'},
|
||||||
|
]
|
||||||
|
},
|
||||||
|
jobRules() {
|
||||||
|
return {
|
||||||
|
job: [{required: true, message: "请输入职位"}],
|
||||||
|
name: [{required: true, message: "请输入姓名"}],
|
||||||
|
}
|
||||||
|
},
|
||||||
|
candRules() {
|
||||||
|
return {
|
||||||
|
job: [{required: true, message: "请输入职位"}],
|
||||||
|
name: [{required: true, message: "请输入姓名"}],
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
methods: {
|
||||||
|
jobEdit() {},
|
||||||
|
jobDelete() {},
|
||||||
|
getJobList() {},
|
||||||
|
toEdit(id) {
|
||||||
|
this.$emit('change', {
|
||||||
|
type: 'addChange',
|
||||||
|
params: {
|
||||||
|
id: id || ''
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
handleJobForm() {},
|
||||||
|
handleCandForm() {},
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style>
|
<style lang="scss" scope>
|
||||||
|
.moment {
|
||||||
|
padding-top: 0 !important;
|
||||||
|
background-color: #FFF !important;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
@@ -21,11 +21,12 @@
|
|||||||
prop="name"
|
prop="name"
|
||||||
>
|
>
|
||||||
<el-input
|
<el-input
|
||||||
size="small"
|
size="small"
|
||||||
:disabled="isEdit"
|
:disabled="isEdit"
|
||||||
:maxLength="15"
|
:maxLength="15"
|
||||||
placeholder="请输入姓名"
|
placeholder="请输入姓名"
|
||||||
v-model="form.name"
|
v-model="form.name"
|
||||||
|
|
||||||
>
|
>
|
||||||
<template slot="append" v-if="!isEdit">
|
<template slot="append" v-if="!isEdit">
|
||||||
<ai-person-select
|
<ai-person-select
|
||||||
@@ -187,9 +188,9 @@
|
|||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="文化程度">
|
<el-form-item label="文化程度">
|
||||||
<ai-select
|
<ai-select
|
||||||
v-model="form.education"
|
v-model="form.partyStatus"
|
||||||
placeholder="请选择文化程度"
|
placeholder="请选择文化程度"
|
||||||
:selectList="dict.getDict('education')"
|
:selectList="dict.getDict('partyStatus')"
|
||||||
></ai-select>
|
></ai-select>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="学位职称">
|
<el-form-item label="学位职称">
|
||||||
@@ -202,16 +203,16 @@
|
|||||||
></el-input>
|
></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="奖励情况" style="width: 100%;">
|
<el-form-item label="奖励情况" style="width: 100%;">
|
||||||
<el-input type="textarea" v-model="form.rewardRemark" clearable maxlength="500" show-word-limit
|
<el-input type="textarea" v-model="form.personalProfile" clearable maxlength="500" show-word-limit
|
||||||
rows="2" placeholder="请输入..."/>
|
rows="2" placeholder="请输入奖励情况"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="处分情况" style="width: 100%;">
|
<el-form-item label="处分情况" style="width: 100%;">
|
||||||
<el-input type="textarea" v-model="form.punishmentRemark" clearable maxlength="500" show-word-limit
|
<el-input type="textarea" v-model="form.personalProfile" clearable maxlength="500" show-word-limit
|
||||||
rows="2" placeholder="请输入..."/>
|
rows="2" placeholder="请输入处分情况"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="简历" style="width: 100%;">
|
<el-form-item label="简历" style="width: 100%;">
|
||||||
<el-input type="textarea" v-model="form.resume" clearable maxlength="500" show-word-limit
|
<el-input type="textarea" v-model="form.personalProfile" clearable maxlength="500" show-word-limit
|
||||||
rows="2" placeholder="请输入..."/>
|
rows="2" placeholder="请输入简历"/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="附件" style="width: 100%;">
|
<el-form-item label="附件" style="width: 100%;">
|
||||||
<ai-uploader
|
<ai-uploader
|
||||||
@@ -279,160 +280,201 @@
|
|||||||
<el-input type="textarea" v-model="form.activistEducationRemark" clearable maxlength="500" show-word-limit
|
<el-input type="textarea" v-model="form.activistEducationRemark" clearable maxlength="500" show-word-limit
|
||||||
rows="2" placeholder="请输入..."/>
|
rows="2" placeholder="请输入..."/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
|
</template>
|
||||||
|
</ai-card>
|
||||||
|
<ai-card title="入学积极分子的确定和教育培养">
|
||||||
|
<template #content>
|
||||||
|
<el-form-item label="确定为入学积极分子时间" prop="phone" required>
|
||||||
|
<el-date-picker
|
||||||
|
size="small"
|
||||||
|
v-model="form.joinPartyTime"
|
||||||
|
type="date"
|
||||||
|
placeholder="请选择确定为入学积极分子时间"
|
||||||
|
style="width: 100%"
|
||||||
|
format="yyyy-MM-dd"
|
||||||
|
:value-format="'yyyy-MM-dd'"
|
||||||
|
>
|
||||||
|
</el-date-picker>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="确定为积极分子的根据和意见" style="width: 100%;">
|
||||||
|
<el-input type="textarea" v-model="form.personalProfile" clearable maxlength="500" show-word-limit
|
||||||
|
rows="2" placeholder="请输入确定为积极分子的根据和意见"/>
|
||||||
|
</el-form-item>
|
||||||
|
<el-form-item label="培养教育情况及鉴定意见" style="width: 100%;">
|
||||||
|
<el-input type="textarea" v-model="form.personalProfile" clearable maxlength="500" show-word-limit
|
||||||
|
rows="2" placeholder="请输入培养教育情况及鉴定意见"/>
|
||||||
|
</el-form-item>
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
</ai-card>
|
</ai-card>
|
||||||
<ai-card title="入党介绍人/培养人" v-if="form.developStatus > 0">
|
<ai-card title="入学介绍人/培养人">
|
||||||
<template #right>
|
<template #right>
|
||||||
<el-button type="text" icon="iconfont iconAdd" @click="addIntroducer()">添加入党介绍人/培养人</el-button>
|
<el-button type="text" icon="iconfont iconAdd" @click="addForm(activeName)">添加入学介绍人/培养人</el-button>
|
||||||
</template>
|
</template>
|
||||||
<template #content>
|
<template #content>
|
||||||
<ai-table
|
<ai-table
|
||||||
:border="true"
|
:border="true"
|
||||||
:tableData="form.introducerList"
|
:tableData="form.starList"
|
||||||
:isShowPagination="false"
|
:isShowPagination="false"
|
||||||
:col-configs="colConfigs"
|
:col-configs="colConfigs1"
|
||||||
:stripe="false"
|
:stripe="false"
|
||||||
@getList="() => {}"
|
@getList="() => {}"
|
||||||
>
|
>
|
||||||
|
<el-table-column label="职位" slot="level" align="center">
|
||||||
|
<template slot-scope="{ row }">
|
||||||
|
<el-rate
|
||||||
|
v-model="row.level"
|
||||||
|
disabled
|
||||||
|
show-text
|
||||||
|
:texts="textlist"
|
||||||
|
></el-rate>
|
||||||
|
</template>
|
||||||
|
</el-table-column>
|
||||||
<el-table-column
|
<el-table-column
|
||||||
slot="options"
|
slot="options"
|
||||||
width="120px"
|
width="120px"
|
||||||
fixed="right"
|
fixed="right"
|
||||||
label="操作"
|
label="操作"
|
||||||
align="center"
|
align="center"
|
||||||
>
|
>
|
||||||
<template slot-scope="{ row, $index }">
|
<template slot-scope="{ row, $index }">
|
||||||
<div class="table-options">
|
<div class="table-options">
|
||||||
<el-button type="text" @click="remove($index)">删除</el-button>
|
<el-button type="text" @click="editStar(row, $index)"
|
||||||
|
>编辑
|
||||||
|
</el-button
|
||||||
|
>
|
||||||
|
<el-button type="text" @click="remove($index, 'starList')"
|
||||||
|
>删除
|
||||||
|
</el-button
|
||||||
|
>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
</el-table-column>
|
</el-table-column>
|
||||||
</ai-table>
|
</ai-table>
|
||||||
</template>
|
</template>
|
||||||
</ai-card>
|
</ai-card>
|
||||||
<ai-card title="发展对象的确定和考察" v-if="form.developStatus > 1">
|
<ai-card title="发展对象的确定和考察">
|
||||||
<template #content>
|
<template #content>
|
||||||
<el-form-item label="确定为发展对象时间" prop="determineTime" >
|
<el-form-item label="确定为发展对象时间" prop="phone" required>
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
size="small"
|
size="small"
|
||||||
v-model="form.determineTime"
|
v-model="form.joinPartyTime"
|
||||||
type="date"
|
type="date"
|
||||||
placeholder="请选择确定为发展对象时间"
|
placeholder="请选择确定为发展对象时间"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
format="yyyy-MM-dd"
|
format="yyyy-MM-dd"
|
||||||
value-format="yyyy-MM-dd HH:mm:ss"
|
:value-format="'yyyy-MM-dd'"
|
||||||
>
|
>
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="政治历史的考察及结论" style="width: 100%;">
|
<el-form-item label="政治历史的考察及结论" style="width: 100%;">
|
||||||
<el-input type="textarea" v-model="form.determinePoliticsRemark" clearable maxlength="500" show-word-limit
|
<el-input type="textarea" v-model="form.personalProfile" clearable maxlength="500" show-word-limit
|
||||||
rows="2" placeholder="请输入..."/>
|
rows="2" placeholder="请输入..."/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="社会关系考察及结论" style="width: 100%;">
|
<el-form-item label="社会关系考察及结论" style="width: 100%;">
|
||||||
<el-input type="textarea" v-model="form.determineSocialRemark" clearable maxlength="500" show-word-limit
|
<el-input type="textarea" v-model="form.personalProfile" clearable maxlength="500" show-word-limit
|
||||||
rows="2" placeholder="请输入..."/>
|
rows="2" placeholder="请输入..."/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="现实考察及结论" style="width: 100%;">
|
<el-form-item label="现实考察及结论" style="width: 100%;">
|
||||||
<el-input type="textarea" v-model="form.determineRealityRemark" clearable maxlength="500" show-word-limit
|
<el-input type="textarea" v-model="form.personalProfile" clearable maxlength="500" show-word-limit
|
||||||
rows="2" placeholder="请输入..."/>
|
rows="2" placeholder="请输入..."/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="党的基本知识考核及考试成绩" style="width: 100%;">
|
<el-form-item label="学的基本知识考核及考试成绩" style="width: 100%;">
|
||||||
<el-input type="textarea" v-model="form.determineKnowledgeRemark" clearable maxlength="500" show-word-limit
|
<el-input type="textarea" v-model="form.personalProfile" clearable maxlength="500" show-word-limit
|
||||||
rows="2" placeholder="请输入..."/>
|
rows="2" placeholder="请输入..."/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="综合考察结论意见" style="width: 100%;">
|
<el-form-item label="综合考察结论意见" style="width: 100%;">
|
||||||
<el-input type="textarea" v-model="form.determineComprehensiveRemark" clearable maxlength="500" show-word-limit
|
<el-input type="textarea" v-model="form.personalProfile" clearable maxlength="500" show-word-limit
|
||||||
rows="2" placeholder="请输入..."/>
|
rows="2" placeholder="请输入..."/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="党内讨论是否确定为发展对象的意见" style="width: 100%;">
|
<el-form-item label="学内讨论是否确定为发展对象的意见" style="width: 100%;">
|
||||||
<el-input type="textarea" v-model="form.determinePartyInnerRemark" clearable maxlength="500" show-word-limit
|
<el-input type="textarea" v-model="form.personalProfile" clearable maxlength="500" show-word-limit
|
||||||
rows="2" placeholder="请输入..."/>
|
rows="2" placeholder="请输入..."/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="确定为发展对象后的谈话记录" style="width: 100%;">
|
<el-form-item label="确定为发展对象后的谈话记录" style="width: 100%;">
|
||||||
<el-input type="textarea" v-model="form.determineChatRemark" clearable maxlength="500" show-word-limit
|
<el-input type="textarea" v-model="form.personalProfile" clearable maxlength="500" show-word-limit
|
||||||
rows="2" placeholder="请输入..."/>
|
rows="2" placeholder="请输入..."/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="支委会研究意见" style="width: 100%;">
|
<el-form-item label="支委会研究意见" style="width: 100%;">
|
||||||
<el-input type="textarea" v-model="form.determineBranchRemark" clearable maxlength="500" show-word-limit
|
<el-input type="textarea" v-model="form.personalProfile" clearable maxlength="500" show-word-limit
|
||||||
rows="2" placeholder="请输入..."/>
|
rows="2" placeholder="请输入..."/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</template>
|
</template>
|
||||||
</ai-card>
|
</ai-card>
|
||||||
<ai-card title="预备党员的接收" v-if="form.developStatus > 2">
|
<ai-card title="预备学员的接收">
|
||||||
<template #content>
|
<template #content>
|
||||||
<el-form-item label="吸收入党时间" prop="acceptTime" >
|
<el-form-item label="吸收入学时间" prop="phone" required>
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
size="small"
|
size="small"
|
||||||
v-model="form.acceptTime"
|
v-model="form.joinPartyTime"
|
||||||
type="date"
|
type="date"
|
||||||
placeholder="请选择吸收入党时间"
|
placeholder="请选择吸收入学时间"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
format="yyyy-MM-dd"
|
format="yyyy-MM-dd"
|
||||||
value-format="yyyy-MM-dd HH:mm:ss"
|
:value-format="'yyyy-MM-dd'"
|
||||||
>
|
>
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="吸收入党地点">
|
<el-form-item label="吸收入学地点">
|
||||||
<el-input
|
<el-input
|
||||||
size="small"
|
size="small"
|
||||||
v-model="form.acceptAddress"
|
v-model="form.phone"
|
||||||
placeholder="请输入..."
|
placeholder="请输入..."
|
||||||
clearabel
|
clearabel
|
||||||
:maxLength="50"
|
:maxLength="11"
|
||||||
></el-input>
|
></el-input>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="吸收入党时支部大会上党员提的意见和要求及个人的态度" style="width: 100%;">
|
<el-form-item label="吸收入学时支部大会上学员提的意见和要求及个人的态度" style="width: 100%;">
|
||||||
<el-input type="textarea" v-model="form.acceptBranchMeetingOpinion" clearable maxlength="500" show-word-limit
|
<el-input type="textarea" v-model="form.personalProfile" clearable maxlength="500" show-word-limit
|
||||||
rows="2" placeholder="请输入..."/>
|
rows="2" placeholder="请输入..."/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="预备期间的教育情况" style="width: 100%;">
|
<el-form-item label="预备期间的教育情况" style="width: 100%;">
|
||||||
<el-input type="textarea" v-model="form.acceptEducationRemark" clearable maxlength="500" show-word-limit
|
<el-input type="textarea" v-model="form.personalProfile" clearable maxlength="500" show-word-limit
|
||||||
rows="2" placeholder="请输入..."/>
|
rows="2" placeholder="请输入..."/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="党小组对其转正的讨论意见" style="width: 100%;">
|
<el-form-item label="学小组对其转正的讨论意见" style="width: 100%;">
|
||||||
<el-input type="textarea" v-model="form.acceptPartyGroupRemark" clearable maxlength="500" show-word-limit
|
<el-input type="textarea" v-model="form.personalProfile" clearable maxlength="500" show-word-limit
|
||||||
rows="2" placeholder="请输入..."/>
|
rows="2" placeholder="请输入..."/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="预备期间的考察情况" style="width: 100%;">
|
<el-form-item label="预备期间的考察情况" style="width: 100%;">
|
||||||
<el-input type="textarea" v-model="form.acceptInvestigateRemark" clearable maxlength="500" show-word-limit
|
<el-input type="textarea" v-model="form.personalProfile" clearable maxlength="500" show-word-limit
|
||||||
rows="2" placeholder="请输入..."/>
|
rows="2" placeholder="请输入..."/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="党支部对其转正的意见" style="width: 100%;">
|
<el-form-item label="学支部对其转正的意见" style="width: 100%;">
|
||||||
<el-input type="textarea" v-model="form.acceptBranchRemark" clearable maxlength="500" show-word-limit
|
<el-input type="textarea" v-model="form.personalProfile" clearable maxlength="500" show-word-limit
|
||||||
rows="2" placeholder="请输入..."/>
|
rows="2" placeholder="请输入..."/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</template>
|
</template>
|
||||||
</ai-card>
|
</ai-card>
|
||||||
<ai-card title="预备党员的教育考察和转正" v-if="form.developStatus == 4">
|
<ai-card title="预备学员的教育考察和转正">
|
||||||
<template #content>
|
<template #content>
|
||||||
<el-form-item label="转正时间" prop="becomePartyTime" >
|
<el-form-item label="转正时间" prop="phone" required>
|
||||||
<el-date-picker
|
<el-date-picker
|
||||||
size="small"
|
size="small"
|
||||||
v-model="form.becomePartyTime"
|
v-model="form.joinPartyTime"
|
||||||
type="date"
|
type="date"
|
||||||
placeholder="请选择转正时间"
|
placeholder="请选择转正时间"
|
||||||
style="width: 100%"
|
style="width: 100%"
|
||||||
format="yyyy-MM-dd"
|
format="yyyy-MM-dd"
|
||||||
value-format="yyyy-MM-dd HH:mm:ss"
|
:value-format="'yyyy-MM-dd'"
|
||||||
>
|
>
|
||||||
</el-date-picker>
|
</el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="预备期间的教育情况" style="width: 100%;">
|
<el-form-item label="预备期间的教育情况" style="width: 100%;">
|
||||||
<el-input type="textarea" v-model="form.becomePartyEducationRemark" clearable maxlength="500" show-word-limit
|
<el-input type="textarea" v-model="form.personalProfile" clearable maxlength="500" show-word-limit
|
||||||
rows="2" placeholder="请输入..."/>
|
rows="2" placeholder="请输入..."/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="预备期间的考察情况" style="width: 100%;">
|
<el-form-item label="预备期间的考察情况" style="width: 100%;">
|
||||||
<el-input type="textarea" v-model="form.becomePartyInvestigateRemark" clearable maxlength="500" show-word-limit
|
<el-input type="textarea" v-model="form.personalProfile" clearable maxlength="500" show-word-limit
|
||||||
rows="2" placeholder="请输入..."/>
|
rows="2" placeholder="请输入..."/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="党小组对其转正的讨论意见" style="width: 100%;">
|
<el-form-item label="学小组对其转正的讨论意见" style="width: 100%;">
|
||||||
<el-input type="textarea" v-model="form.becomePartyGroupRemark" clearable maxlength="500" show-word-limit
|
<el-input type="textarea" v-model="form.personalProfile" clearable maxlength="500" show-word-limit
|
||||||
rows="2" placeholder="请输入..."/>
|
rows="2" placeholder="请输入..."/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<el-form-item label="党支部对其转正的意见" style="width: 100%;">
|
<el-form-item label="学支部对其转正的意见" style="width: 100%;">
|
||||||
<el-input type="textarea" v-model="form.becomePartyBranchRemark" clearable maxlength="500" show-word-limit
|
<el-input type="textarea" v-model="form.personalProfile" clearable maxlength="500" show-word-limit
|
||||||
rows="2" placeholder="请输入..."/>
|
rows="2" placeholder="请输入..."/>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</template>
|
</template>
|
||||||
</ai-card>
|
</ai-card>
|
||||||
@@ -493,6 +535,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",
|
||||||
props: {
|
props: {
|
||||||
@@ -501,7 +545,7 @@ export default {
|
|||||||
selected: Object,
|
selected: Object,
|
||||||
},
|
},
|
||||||
computed: {
|
computed: {
|
||||||
...mapState(["user"]),
|
...mapState(["user"]),
|
||||||
isEdit() {
|
isEdit() {
|
||||||
return !!this.$route.query.id;
|
return !!this.$route.query.id;
|
||||||
},
|
},
|
||||||
@@ -621,13 +665,11 @@ export default {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
remove(index) {
|
idChange(val) {
|
||||||
console.log(index)
|
let info = new ID(val)
|
||||||
this.$confirm("确定删除该数据?").then(() => {
|
this.form.sex = info.sex || "";
|
||||||
this.form.introducerList.splice(index, 1)
|
this.form.birthday = info.birthday || "";
|
||||||
});
|
this.form.age = info.age || "";
|
||||||
// this.form.introducerList.splice(index, 1)
|
|
||||||
// this.$forceUpdate()
|
|
||||||
},
|
},
|
||||||
checkName(val) {
|
checkName(val) {
|
||||||
for (let i in this.form) {
|
for (let i in this.form) {
|
||||||
@@ -695,8 +737,9 @@ 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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -3,7 +3,7 @@
|
|||||||
<template slot="title">
|
<template slot="title">
|
||||||
<ai-title title="风险区域配置" isShowBottomBorder>
|
<ai-title title="风险区域配置" isShowBottomBorder>
|
||||||
<template #rightBtn>
|
<template #rightBtn>
|
||||||
<el-button type="primary" @click="handleSyncData">同步卫健委数据</el-button>
|
<el-button type="primary" @click="handleSyncData" :loading="isLoading">同步卫健委数据</el-button>
|
||||||
</template>
|
</template>
|
||||||
</ai-title>
|
</ai-title>
|
||||||
</template>
|
</template>
|
||||||
@@ -74,6 +74,7 @@
|
|||||||
level: '',
|
level: '',
|
||||||
province: ''
|
province: ''
|
||||||
},
|
},
|
||||||
|
isLoading: false,
|
||||||
currIndex: -1,
|
currIndex: -1,
|
||||||
areaList: [],
|
areaList: [],
|
||||||
total: 10,
|
total: 10,
|
||||||
@@ -140,9 +141,11 @@
|
|||||||
},
|
},
|
||||||
|
|
||||||
handleSyncData() {
|
handleSyncData() {
|
||||||
|
this.isLoading = true
|
||||||
getRiskArea(this.instance).then(res => {
|
getRiskArea(this.instance).then(res => {
|
||||||
if (res?.code == 0) {
|
if (res?.code == 0) {
|
||||||
this.getList()
|
this.getList()
|
||||||
|
this.isLoading = false
|
||||||
this.$message.success("同步完毕!")
|
this.$message.success("同步完毕!")
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -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('身份证号格式错误'))
|
||||||
|
|||||||
@@ -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,21 +62,22 @@
|
|||||||
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: {}
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
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(() => {
|
||||||
@@ -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)
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -10,25 +10,25 @@
|
|||||||
</template>
|
</template>
|
||||||
<template #right>
|
<template #right>
|
||||||
<el-input
|
<el-input
|
||||||
v-model="search.name"
|
v-model="search.name"
|
||||||
size="small"
|
size="small"
|
||||||
placeholder="请输入姓名"
|
placeholder="请输入姓名"
|
||||||
clearable
|
clearable
|
||||||
v-throttle="() => {search.current = 1, getList()}"
|
v-throttle="() => {search.current = 1, getList()}"
|
||||||
@clear="search.current = 1, search.name = '', getList()"
|
@clear="search.current = 1, search.name = '', getList()"
|
||||||
suffix-icon="iconfont iconSearch">
|
suffix-icon="iconfont iconSearch">
|
||||||
</el-input>
|
</el-input>
|
||||||
</template>
|
</template>
|
||||||
</ai-search-bar>
|
</ai-search-bar>
|
||||||
<ai-table
|
<ai-table
|
||||||
:tableData="tableData"
|
:tableData="tableData"
|
||||||
:col-configs="colConfigs"
|
:col-configs="colConfigs"
|
||||||
:total="total"
|
:total="total"
|
||||||
v-loading="loading"
|
v-loading="loading"
|
||||||
style="margin-top: 16px;"
|
style="margin-top: 16px;"
|
||||||
:current.sync="search.current"
|
:current.sync="search.current"
|
||||||
:size.sync="search.size"
|
:size.sync="search.size"
|
||||||
@getList="getList">
|
@getList="getList">
|
||||||
<el-table-column slot="options" width="140px" fixed="right" label="操作" align="center">
|
<el-table-column slot="options" width="140px" fixed="right" label="操作" align="center">
|
||||||
<template slot-scope="{ row }">
|
<template slot-scope="{ row }">
|
||||||
<div class="table-options">
|
<div class="table-options">
|
||||||
@@ -45,113 +45,108 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { mapState } from 'vuex'
|
import {mapState} from 'vuex'
|
||||||
export default {
|
import {ID} from "dvcp-ui/lib/js/utils";
|
||||||
name: 'List',
|
|
||||||
|
|
||||||
props: {
|
export default {
|
||||||
instance: Function,
|
name: 'List',
|
||||||
dict: Object
|
|
||||||
},
|
|
||||||
|
|
||||||
data () {
|
props: {
|
||||||
return {
|
instance: Function,
|
||||||
search: {
|
dict: Object
|
||||||
current: 1,
|
},
|
||||||
size: 10,
|
|
||||||
name: ''
|
|
||||||
},
|
|
||||||
colConfigs: [
|
|
||||||
{ prop: 'name', label: '姓名' },
|
|
||||||
{ prop: 'idNumber', align: 'center', label: '身份证号' },
|
|
||||||
{ prop: 'gender', align: 'center', label: '性别' },
|
|
||||||
{ prop: 'birthday', align: 'center', label: '出生日期' },
|
|
||||||
{ prop: 'age', align: 'center', label: '年龄', },
|
|
||||||
{ prop: 'phone', align: 'center', label: '联系方式' }
|
|
||||||
],
|
|
||||||
tableData: [],
|
|
||||||
total: 0,
|
|
||||||
loading: false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
computed: {
|
data() {
|
||||||
...mapState(['user']),
|
return {
|
||||||
|
search: {
|
||||||
|
current: 1,
|
||||||
|
size: 10,
|
||||||
|
name: ''
|
||||||
|
},
|
||||||
|
colConfigs: [
|
||||||
|
{prop: 'name', label: '姓名'},
|
||||||
|
{prop: 'idNumber', align: 'center', label: '身份证号'},
|
||||||
|
{prop: 'gender', align: 'center', label: '性别'},
|
||||||
|
{prop: 'birthday', align: 'center', label: '出生日期'},
|
||||||
|
{prop: 'age', align: 'center', label: '年龄',},
|
||||||
|
{prop: 'phone', align: 'center', label: '联系方式'}
|
||||||
|
],
|
||||||
|
tableData: [],
|
||||||
|
total: 0,
|
||||||
|
loading: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
param () {
|
computed: {
|
||||||
return {
|
...mapState(['user']),
|
||||||
|
},
|
||||||
|
|
||||||
|
created() {
|
||||||
|
this.dict.load('sex').then(() => {
|
||||||
|
this.getList()
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
getList() {
|
||||||
|
this.instance.post(`/app/appspecialadjustment/list`, null, {
|
||||||
|
params: {
|
||||||
|
...this.search
|
||||||
|
}
|
||||||
|
}).then(res => {
|
||||||
|
if (res.code == 0) {
|
||||||
|
this.tableData = res.data.records.map(v => {
|
||||||
|
let info = new ID(v.idNumber)
|
||||||
|
v.birthday = info.birthday
|
||||||
|
v.age = info.age
|
||||||
|
v.gender = info.gender
|
||||||
|
return v
|
||||||
|
})
|
||||||
|
this.total = res.data.total
|
||||||
}
|
}
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
created () {
|
|
||||||
this.dict.load('sex').then(() => {
|
|
||||||
this.getList()
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
toEdit(e) {
|
||||||
getList () {
|
this.$emit('change', {
|
||||||
this.instance.post(`/app/appspecialadjustment/list`, null, {
|
type: 'Add',
|
||||||
params: {
|
params: {
|
||||||
...this.search
|
type: 'Add',
|
||||||
}
|
id: e
|
||||||
}).then(res => {
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
toAdd() {
|
||||||
|
this.$emit('change', {
|
||||||
|
type: 'Add',
|
||||||
|
params: {
|
||||||
|
type: 'Add',
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
remove(id) {
|
||||||
|
this.$confirm('确定删除该数据?').then(() => {
|
||||||
|
this.instance.post(`/app/appspecialadjustment/delete?ids=${id}`).then(res => {
|
||||||
if (res.code == 0) {
|
if (res.code == 0) {
|
||||||
this.tableData = res.data.records.map(v => {
|
this.$message.success('删除成功!')
|
||||||
let info = this.idCardNoUtil.getIdCardInfo(v.idNumber)
|
this.getList()
|
||||||
v.birthday = info.birthday
|
|
||||||
v.age = this.$calcAge(v.idNumber)
|
|
||||||
v.gender = info.gender
|
|
||||||
|
|
||||||
return v
|
|
||||||
})
|
|
||||||
this.total = res.data.total
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
})
|
||||||
|
},
|
||||||
|
|
||||||
toEdit (e) {
|
toDetail(id) {
|
||||||
this.$emit('change', {
|
this.$emit('change', {
|
||||||
type: 'Add',
|
type: 'Detail',
|
||||||
params: {
|
params: {
|
||||||
type: 'Add',
|
id: id || ''
|
||||||
id: e
|
}
|
||||||
}
|
})
|
||||||
})
|
|
||||||
},
|
|
||||||
|
|
||||||
toAdd() {
|
|
||||||
this.$emit('change', {
|
|
||||||
type: 'Add',
|
|
||||||
params: {
|
|
||||||
type: 'Add',
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
|
|
||||||
remove(id) {
|
|
||||||
this.$confirm('确定删除该数据?').then(() => {
|
|
||||||
this.instance.post(`/app/appspecialadjustment/delete?ids=${id}`).then(res => {
|
|
||||||
if (res.code == 0) {
|
|
||||||
this.$message.success('删除成功!')
|
|
||||||
this.getList()
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
|
||||||
},
|
|
||||||
|
|
||||||
toDetail (id) {
|
|
||||||
this.$emit('change', {
|
|
||||||
type: 'Detail',
|
|
||||||
params: {
|
|
||||||
id: id || ''
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
|
|||||||
@@ -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('身份证号格式错误'))
|
||||||
|
|||||||
@@ -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,14 +68,13 @@
|
|||||||
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(() => {
|
||||||
@@ -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)
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -10,25 +10,25 @@
|
|||||||
</template>
|
</template>
|
||||||
<template #right>
|
<template #right>
|
||||||
<el-input
|
<el-input
|
||||||
v-model="search.name"
|
v-model="search.name"
|
||||||
size="small"
|
size="small"
|
||||||
placeholder="请输入姓名"
|
placeholder="请输入姓名"
|
||||||
clearable
|
clearable
|
||||||
v-throttle="() => {search.current = 1, getList()}"
|
v-throttle="() => {search.current = 1, getList()}"
|
||||||
@clear="search.current = 1, search.name = '', getList()"
|
@clear="search.current = 1, search.name = '', getList()"
|
||||||
suffix-icon="iconfont iconSearch">
|
suffix-icon="iconfont iconSearch">
|
||||||
</el-input>
|
</el-input>
|
||||||
</template>
|
</template>
|
||||||
</ai-search-bar>
|
</ai-search-bar>
|
||||||
<ai-table
|
<ai-table
|
||||||
:tableData="tableData"
|
:tableData="tableData"
|
||||||
:col-configs="colConfigs"
|
:col-configs="colConfigs"
|
||||||
:total="total"
|
:total="total"
|
||||||
v-loading="loading"
|
v-loading="loading"
|
||||||
style="margin-top: 16px;"
|
style="margin-top: 16px;"
|
||||||
:current.sync="search.current"
|
:current.sync="search.current"
|
||||||
:size.sync="search.size"
|
:size.sync="search.size"
|
||||||
@getList="getList">
|
@getList="getList">
|
||||||
<el-table-column slot="options" width="140px" fixed="right" label="操作" align="center">
|
<el-table-column slot="options" width="140px" fixed="right" label="操作" align="center">
|
||||||
<template slot-scope="{ row }">
|
<template slot-scope="{ row }">
|
||||||
<div class="table-options">
|
<div class="table-options">
|
||||||
@@ -45,113 +45,109 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { mapState } from 'vuex'
|
import {mapState} from 'vuex'
|
||||||
export default {
|
import {ID} from "dvcp-ui/lib/js/utils";
|
||||||
name: 'List',
|
|
||||||
|
|
||||||
props: {
|
export default {
|
||||||
instance: Function,
|
name: 'List',
|
||||||
dict: Object
|
|
||||||
},
|
|
||||||
|
|
||||||
data () {
|
props: {
|
||||||
return {
|
instance: Function,
|
||||||
search: {
|
dict: Object
|
||||||
current: 1,
|
},
|
||||||
size: 10,
|
|
||||||
name: ''
|
|
||||||
},
|
|
||||||
colConfigs: [
|
|
||||||
{ prop: 'name', label: '姓名' },
|
|
||||||
{ prop: 'idNumber', align: 'center', label: '身份证号' },
|
|
||||||
{ prop: 'gender', align: 'center', label: '性别' },
|
|
||||||
{ prop: 'birthday', align: 'center', label: '出生日期' },
|
|
||||||
{ prop: 'age', align: 'center', label: '年龄', },
|
|
||||||
{ prop: 'phone', align: 'center', label: '联系方式' }
|
|
||||||
],
|
|
||||||
tableData: [],
|
|
||||||
total: 0,
|
|
||||||
loading: false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
computed: {
|
data() {
|
||||||
...mapState(['user']),
|
return {
|
||||||
|
search: {
|
||||||
|
current: 1,
|
||||||
|
size: 10,
|
||||||
|
name: ''
|
||||||
|
},
|
||||||
|
colConfigs: [
|
||||||
|
{prop: 'name', label: '姓名'},
|
||||||
|
{prop: 'idNumber', align: 'center', label: '身份证号'},
|
||||||
|
{prop: 'gender', align: 'center', label: '性别'},
|
||||||
|
{prop: 'birthday', align: 'center', label: '出生日期'},
|
||||||
|
{prop: 'age', align: 'center', label: '年龄',},
|
||||||
|
{prop: 'phone', align: 'center', label: '联系方式'}
|
||||||
|
],
|
||||||
|
tableData: [],
|
||||||
|
total: 0,
|
||||||
|
loading: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
param () {
|
computed: {
|
||||||
return {
|
...mapState(['user']),
|
||||||
|
},
|
||||||
|
|
||||||
|
created() {
|
||||||
|
this.dict.load('sex').then(() => {
|
||||||
|
this.getList()
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
getList() {
|
||||||
|
this.instance.post(`/app/appspecialdisabled/list`, null, {
|
||||||
|
params: {
|
||||||
|
...this.search
|
||||||
}
|
}
|
||||||
}
|
}).then(res => {
|
||||||
},
|
if (res.code == 0) {
|
||||||
|
this.tableData = res.data.records.map(v => {
|
||||||
|
let info = new ID(v.idNumber)
|
||||||
|
v.birthday = info.birthday
|
||||||
|
v.age = info.age
|
||||||
|
v.gender = info.gender
|
||||||
|
|
||||||
created () {
|
return v
|
||||||
this.dict.load('sex').then(() => {
|
})
|
||||||
this.getList()
|
this.total = res.data.total
|
||||||
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
toEdit(e) {
|
||||||
getList () {
|
this.$emit('change', {
|
||||||
this.instance.post(`/app/appspecialdisabled/list`, null, {
|
type: 'Add',
|
||||||
params: {
|
params: {
|
||||||
...this.search
|
type: 'Add',
|
||||||
}
|
id: e
|
||||||
}).then(res => {
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
toAdd() {
|
||||||
|
this.$emit('change', {
|
||||||
|
type: 'Add',
|
||||||
|
params: {
|
||||||
|
type: 'Add',
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
remove(id) {
|
||||||
|
this.$confirm('确定删除该数据?').then(() => {
|
||||||
|
this.instance.post(`/app/appspecialadjustment/delete?ids=${id}`).then(res => {
|
||||||
if (res.code == 0) {
|
if (res.code == 0) {
|
||||||
this.tableData = res.data.records.map(v => {
|
this.$message.success('删除成功!')
|
||||||
let info = this.idCardNoUtil.getIdCardInfo(v.idNumber)
|
this.getList()
|
||||||
v.birthday = info.birthday
|
|
||||||
v.age = this.$calcAge(v.idNumber)
|
|
||||||
v.gender = info.gender
|
|
||||||
|
|
||||||
return v
|
|
||||||
})
|
|
||||||
this.total = res.data.total
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
})
|
||||||
|
},
|
||||||
|
|
||||||
toEdit (e) {
|
toDetail(id) {
|
||||||
this.$emit('change', {
|
this.$emit('change', {
|
||||||
type: 'Add',
|
type: 'Detail',
|
||||||
params: {
|
params: {
|
||||||
type: 'Add',
|
id: id || ''
|
||||||
id: e
|
}
|
||||||
}
|
})
|
||||||
})
|
|
||||||
},
|
|
||||||
|
|
||||||
toAdd() {
|
|
||||||
this.$emit('change', {
|
|
||||||
type: 'Add',
|
|
||||||
params: {
|
|
||||||
type: 'Add',
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
|
|
||||||
remove(id) {
|
|
||||||
this.$confirm('确定删除该数据?').then(() => {
|
|
||||||
this.instance.post(`/app/appspecialadjustment/delete?ids=${id}`).then(res => {
|
|
||||||
if (res.code == 0) {
|
|
||||||
this.$message.success('删除成功!')
|
|
||||||
this.getList()
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
|
||||||
},
|
|
||||||
|
|
||||||
toDetail (id) {
|
|
||||||
this.$emit('change', {
|
|
||||||
type: 'Detail',
|
|
||||||
params: {
|
|
||||||
id: id || ''
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
|
|||||||
@@ -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('身份证号格式错误'))
|
||||||
|
|||||||
@@ -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,14 +70,13 @@
|
|||||||
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(() => {
|
||||||
@@ -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)
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -10,25 +10,25 @@
|
|||||||
</template>
|
</template>
|
||||||
<template #right>
|
<template #right>
|
||||||
<el-input
|
<el-input
|
||||||
v-model="search.name"
|
v-model="search.name"
|
||||||
size="small"
|
size="small"
|
||||||
placeholder="请输入姓名"
|
placeholder="请输入姓名"
|
||||||
clearable
|
clearable
|
||||||
v-throttle="() => {search.current = 1, getList()}"
|
v-throttle="() => {search.current = 1, getList()}"
|
||||||
@clear="search.current = 1, search.name = '', getList()"
|
@clear="search.current = 1, search.name = '', getList()"
|
||||||
suffix-icon="iconfont iconSearch">
|
suffix-icon="iconfont iconSearch">
|
||||||
</el-input>
|
</el-input>
|
||||||
</template>
|
</template>
|
||||||
</ai-search-bar>
|
</ai-search-bar>
|
||||||
<ai-table
|
<ai-table
|
||||||
:tableData="tableData"
|
:tableData="tableData"
|
||||||
:col-configs="colConfigs"
|
:col-configs="colConfigs"
|
||||||
:total="total"
|
:total="total"
|
||||||
v-loading="loading"
|
v-loading="loading"
|
||||||
style="margin-top: 16px;"
|
style="margin-top: 16px;"
|
||||||
:current.sync="search.current"
|
:current.sync="search.current"
|
||||||
:size.sync="search.size"
|
:size.sync="search.size"
|
||||||
@getList="getList">
|
@getList="getList">
|
||||||
<el-table-column slot="options" width="140px" fixed="right" label="操作" align="center">
|
<el-table-column slot="options" width="140px" fixed="right" label="操作" align="center">
|
||||||
<template slot-scope="{ row }">
|
<template slot-scope="{ row }">
|
||||||
<div class="table-options">
|
<div class="table-options">
|
||||||
@@ -45,113 +45,108 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { mapState } from 'vuex'
|
import {mapState} from 'vuex'
|
||||||
export default {
|
import {ID} from "dvcp-ui/lib/js/utils";
|
||||||
name: 'List',
|
|
||||||
|
|
||||||
props: {
|
export default {
|
||||||
instance: Function,
|
name: 'List',
|
||||||
dict: Object
|
|
||||||
},
|
|
||||||
|
|
||||||
data () {
|
props: {
|
||||||
return {
|
instance: Function,
|
||||||
search: {
|
dict: Object
|
||||||
current: 1,
|
},
|
||||||
size: 10,
|
|
||||||
name: ''
|
|
||||||
},
|
|
||||||
colConfigs: [
|
|
||||||
{ prop: 'name', label: '姓名' },
|
|
||||||
{ prop: 'idNumber', align: 'center', label: '身份证号' },
|
|
||||||
{ prop: 'gender', align: 'center', label: '性别' },
|
|
||||||
{ prop: 'birthday', align: 'center', label: '出生日期' },
|
|
||||||
{ prop: 'age', align: 'center', label: '年龄', },
|
|
||||||
{ prop: 'phone', align: 'center', label: '联系方式' }
|
|
||||||
],
|
|
||||||
tableData: [],
|
|
||||||
total: 0,
|
|
||||||
loading: false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
computed: {
|
data() {
|
||||||
...mapState(['user']),
|
return {
|
||||||
|
search: {
|
||||||
|
current: 1,
|
||||||
|
size: 10,
|
||||||
|
name: ''
|
||||||
|
},
|
||||||
|
colConfigs: [
|
||||||
|
{prop: 'name', label: '姓名'},
|
||||||
|
{prop: 'idNumber', align: 'center', label: '身份证号'},
|
||||||
|
{prop: 'gender', align: 'center', label: '性别'},
|
||||||
|
{prop: 'birthday', align: 'center', label: '出生日期'},
|
||||||
|
{prop: 'age', align: 'center', label: '年龄',},
|
||||||
|
{prop: 'phone', align: 'center', label: '联系方式'}
|
||||||
|
],
|
||||||
|
tableData: [],
|
||||||
|
total: 0,
|
||||||
|
loading: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
param () {
|
computed: {
|
||||||
return {
|
...mapState(['user']),
|
||||||
|
},
|
||||||
|
|
||||||
|
created() {
|
||||||
|
this.dict.load('sex').then(() => {
|
||||||
|
this.getList()
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
getList() {
|
||||||
|
this.instance.post(`/app/appspecialdrug/list`, null, {
|
||||||
|
params: {
|
||||||
|
...this.search
|
||||||
|
}
|
||||||
|
}).then(res => {
|
||||||
|
if (res.code == 0) {
|
||||||
|
this.tableData = res.data.records.map(v => {
|
||||||
|
let info = new ID(v.idNumber)
|
||||||
|
v.birthday = info.birthday
|
||||||
|
v.age = info.age
|
||||||
|
v.gender = info.gender
|
||||||
|
return v
|
||||||
|
})
|
||||||
|
this.total = res.data.total
|
||||||
}
|
}
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
created () {
|
|
||||||
this.dict.load('sex').then(() => {
|
|
||||||
this.getList()
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
toEdit(e) {
|
||||||
getList () {
|
this.$emit('change', {
|
||||||
this.instance.post(`/app/appspecialdrug/list`, null, {
|
type: 'Add',
|
||||||
params: {
|
params: {
|
||||||
...this.search
|
type: 'Add',
|
||||||
}
|
id: e
|
||||||
}).then(res => {
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
toAdd() {
|
||||||
|
this.$emit('change', {
|
||||||
|
type: 'Add',
|
||||||
|
params: {
|
||||||
|
type: 'Add',
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
remove(id) {
|
||||||
|
this.$confirm('确定删除该数据?').then(() => {
|
||||||
|
this.instance.post(`/app/appspecialprison/delete?ids=${id}`).then(res => {
|
||||||
if (res.code == 0) {
|
if (res.code == 0) {
|
||||||
this.tableData = res.data.records.map(v => {
|
this.$message.success('删除成功!')
|
||||||
let info = this.idCardNoUtil.getIdCardInfo(v.idNumber)
|
this.getList()
|
||||||
v.birthday = info.birthday
|
|
||||||
v.age = this.$calcAge(v.idNumber)
|
|
||||||
v.gender = info.gender
|
|
||||||
|
|
||||||
return v
|
|
||||||
})
|
|
||||||
this.total = res.data.total
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
})
|
||||||
|
},
|
||||||
|
|
||||||
toEdit (e) {
|
toDetail(id) {
|
||||||
this.$emit('change', {
|
this.$emit('change', {
|
||||||
type: 'Add',
|
type: 'Detail',
|
||||||
params: {
|
params: {
|
||||||
type: 'Add',
|
id: id || ''
|
||||||
id: e
|
}
|
||||||
}
|
})
|
||||||
})
|
|
||||||
},
|
|
||||||
|
|
||||||
toAdd() {
|
|
||||||
this.$emit('change', {
|
|
||||||
type: 'Add',
|
|
||||||
params: {
|
|
||||||
type: 'Add',
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
|
|
||||||
remove(id) {
|
|
||||||
this.$confirm('确定删除该数据?').then(() => {
|
|
||||||
this.instance.post(`/app/appspecialprison/delete?ids=${id}`).then(res => {
|
|
||||||
if (res.code == 0) {
|
|
||||||
this.$message.success('删除成功!')
|
|
||||||
this.getList()
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
|
||||||
},
|
|
||||||
|
|
||||||
toDetail (id) {
|
|
||||||
this.$emit('change', {
|
|
||||||
type: 'Detail',
|
|
||||||
params: {
|
|
||||||
id: id || ''
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
|
|||||||
@@ -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('身份证号格式错误'))
|
||||||
|
|||||||
@@ -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,14 +69,13 @@
|
|||||||
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(() => {
|
||||||
@@ -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)
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -10,25 +10,25 @@
|
|||||||
</template>
|
</template>
|
||||||
<template #right>
|
<template #right>
|
||||||
<el-input
|
<el-input
|
||||||
v-model="search.name"
|
v-model="search.name"
|
||||||
size="small"
|
size="small"
|
||||||
placeholder="请输入姓名"
|
placeholder="请输入姓名"
|
||||||
clearable
|
clearable
|
||||||
v-throttle="() => {search.current = 1, getList()}"
|
v-throttle="() => {search.current = 1, getList()}"
|
||||||
@clear="search.current = 1, search.name = '', getList()"
|
@clear="search.current = 1, search.name = '', getList()"
|
||||||
suffix-icon="iconfont iconSearch">
|
suffix-icon="iconfont iconSearch">
|
||||||
</el-input>
|
</el-input>
|
||||||
</template>
|
</template>
|
||||||
</ai-search-bar>
|
</ai-search-bar>
|
||||||
<ai-table
|
<ai-table
|
||||||
:tableData="tableData"
|
:tableData="tableData"
|
||||||
:col-configs="colConfigs"
|
:col-configs="colConfigs"
|
||||||
:total="total"
|
:total="total"
|
||||||
v-loading="loading"
|
v-loading="loading"
|
||||||
style="margin-top: 16px;"
|
style="margin-top: 16px;"
|
||||||
:current.sync="search.current"
|
:current.sync="search.current"
|
||||||
:size.sync="search.size"
|
:size.sync="search.size"
|
||||||
@getList="getList">
|
@getList="getList">
|
||||||
<el-table-column slot="options" width="140px" fixed="right" label="操作" align="center">
|
<el-table-column slot="options" width="140px" fixed="right" label="操作" align="center">
|
||||||
<template slot-scope="{ row }">
|
<template slot-scope="{ row }">
|
||||||
<div class="table-options">
|
<div class="table-options">
|
||||||
@@ -45,113 +45,108 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { mapState } from 'vuex'
|
import {mapState} from 'vuex'
|
||||||
export default {
|
import {ID} from "dvcp-ui/lib/js/utils"
|
||||||
name: 'List',
|
|
||||||
|
|
||||||
props: {
|
export default {
|
||||||
instance: Function,
|
name: 'List',
|
||||||
dict: Object
|
|
||||||
},
|
|
||||||
|
|
||||||
data () {
|
props: {
|
||||||
return {
|
instance: Function,
|
||||||
search: {
|
dict: Object
|
||||||
current: 1,
|
},
|
||||||
size: 10,
|
|
||||||
name: ''
|
|
||||||
},
|
|
||||||
colConfigs: [
|
|
||||||
{ prop: 'name', label: '姓名' },
|
|
||||||
{ prop: 'idNumber', align: 'center', label: '身份证号' },
|
|
||||||
{ prop: 'gender', align: 'center', label: '性别' },
|
|
||||||
{ prop: 'birthday', align: 'center', label: '出生日期' },
|
|
||||||
{ prop: 'age', align: 'center', label: '年龄', },
|
|
||||||
{ prop: 'phone', align: 'center', label: '联系方式' }
|
|
||||||
],
|
|
||||||
tableData: [],
|
|
||||||
total: 0,
|
|
||||||
loading: false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
computed: {
|
data() {
|
||||||
...mapState(['user']),
|
return {
|
||||||
|
search: {
|
||||||
|
current: 1,
|
||||||
|
size: 10,
|
||||||
|
name: ''
|
||||||
|
},
|
||||||
|
colConfigs: [
|
||||||
|
{prop: 'name', label: '姓名'},
|
||||||
|
{prop: 'idNumber', align: 'center', label: '身份证号'},
|
||||||
|
{prop: 'gender', align: 'center', label: '性别'},
|
||||||
|
{prop: 'birthday', align: 'center', label: '出生日期'},
|
||||||
|
{prop: 'age', align: 'center', label: '年龄',},
|
||||||
|
{prop: 'phone', align: 'center', label: '联系方式'}
|
||||||
|
],
|
||||||
|
tableData: [],
|
||||||
|
total: 0,
|
||||||
|
loading: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
param () {
|
computed: {
|
||||||
return {
|
...mapState(['user']),
|
||||||
|
},
|
||||||
|
|
||||||
|
created() {
|
||||||
|
this.dict.load('sex').then(() => {
|
||||||
|
this.getList()
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
getList() {
|
||||||
|
this.instance.post(`/app/appspecialmental/list`, null, {
|
||||||
|
params: {
|
||||||
|
...this.search
|
||||||
|
}
|
||||||
|
}).then(res => {
|
||||||
|
if (res.code == 0) {
|
||||||
|
this.tableData = res.data.records.map(v => {
|
||||||
|
let info = new ID(v.idNumber)
|
||||||
|
v.birthday = info.birthday
|
||||||
|
v.age = info.age
|
||||||
|
v.gender = info.gender
|
||||||
|
return v
|
||||||
|
})
|
||||||
|
this.total = res.data.total
|
||||||
}
|
}
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
created () {
|
|
||||||
this.dict.load('sex').then(() => {
|
|
||||||
this.getList()
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
toEdit(e) {
|
||||||
getList () {
|
this.$emit('change', {
|
||||||
this.instance.post(`/app/appspecialmental/list`, null, {
|
type: 'Add',
|
||||||
params: {
|
params: {
|
||||||
...this.search
|
type: 'Add',
|
||||||
}
|
id: e
|
||||||
}).then(res => {
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
toAdd() {
|
||||||
|
this.$emit('change', {
|
||||||
|
type: 'Add',
|
||||||
|
params: {
|
||||||
|
type: 'Add',
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
remove(id) {
|
||||||
|
this.$confirm('确定删除该数据?').then(() => {
|
||||||
|
this.instance.post(`/app/appspecialmental/delete?ids=${id}`).then(res => {
|
||||||
if (res.code == 0) {
|
if (res.code == 0) {
|
||||||
this.tableData = res.data.records.map(v => {
|
this.$message.success('删除成功!')
|
||||||
let info = this.idCardNoUtil.getIdCardInfo(v.idNumber)
|
this.getList()
|
||||||
v.birthday = info.birthday
|
|
||||||
v.age = this.$calcAge(v.idNumber)
|
|
||||||
v.gender = info.gender
|
|
||||||
|
|
||||||
return v
|
|
||||||
})
|
|
||||||
this.total = res.data.total
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
})
|
||||||
|
},
|
||||||
|
|
||||||
toEdit (e) {
|
toDetail(id) {
|
||||||
this.$emit('change', {
|
this.$emit('change', {
|
||||||
type: 'Add',
|
type: 'Detail',
|
||||||
params: {
|
params: {
|
||||||
type: 'Add',
|
id: id || ''
|
||||||
id: e
|
}
|
||||||
}
|
})
|
||||||
})
|
|
||||||
},
|
|
||||||
|
|
||||||
toAdd() {
|
|
||||||
this.$emit('change', {
|
|
||||||
type: 'Add',
|
|
||||||
params: {
|
|
||||||
type: 'Add',
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
|
|
||||||
remove(id) {
|
|
||||||
this.$confirm('确定删除该数据?').then(() => {
|
|
||||||
this.instance.post(`/app/appspecialmental/delete?ids=${id}`).then(res => {
|
|
||||||
if (res.code == 0) {
|
|
||||||
this.$message.success('删除成功!')
|
|
||||||
this.getList()
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
|
||||||
},
|
|
||||||
|
|
||||||
toDetail (id) {
|
|
||||||
this.$emit('change', {
|
|
||||||
type: 'Detail',
|
|
||||||
params: {
|
|
||||||
id: id || ''
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
|
|||||||
@@ -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',
|
||||||
@@ -134,10 +135,10 @@ 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('身份证号格式错误'))
|
||||||
|
|||||||
@@ -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,145 +55,147 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
export default {
|
import {ID} from "dvcp-ui/lib/js/utils";
|
||||||
name: 'Detail',
|
|
||||||
|
|
||||||
props: {
|
export default {
|
||||||
instance: Function,
|
name: 'Detail',
|
||||||
dict: Object,
|
|
||||||
params: Object
|
props: {
|
||||||
|
instance: Function,
|
||||||
|
dict: Object,
|
||||||
|
params: Object
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
idNumberInfo: v => new ID(v.info.idNumber)
|
||||||
|
},
|
||||||
|
data() {
|
||||||
|
return {
|
||||||
|
currIndex: 0,
|
||||||
|
tabTitle: ['人员信息', '走访记录'],
|
||||||
|
info: {},
|
||||||
|
list: [],
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
created() {
|
||||||
|
if (this.params && this.params.id) {
|
||||||
|
this.id = this.params.id
|
||||||
|
|
||||||
|
this.dict.load('appSpecialSituation', 'appSpecialPlacement', 'appSpecialDenger', 'appSpecialCrime',
|
||||||
|
'appSpecialControl', 'appSpecialDebug', 'appSpecialDrug', 'appSpecialChangeType', 'appSpecialCure', 'appSpecialDengerLevel',
|
||||||
|
'appSpecialDisableLevel', 'appSpecialDisableType', 'appSpecialHealth', 'appSpecialMarriage', 'appSpecialTypeFive', 'isReflection', 'yesOrNo').then(() => {
|
||||||
|
this.getInfo(this.params.id)
|
||||||
|
})
|
||||||
|
this.dict.load('visitCondolenceReality').then(() => {
|
||||||
|
this.getList()
|
||||||
|
})
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
getInfo(id) {
|
||||||
|
this.instance.post(`/app/appspecialprison/queryDetailById?id=${id}`).then(res => {
|
||||||
|
if (res.code === 0) {
|
||||||
|
this.info = res.data
|
||||||
|
}
|
||||||
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
data () {
|
getList() {
|
||||||
return {
|
this.instance.post(`/app/appvisitvondolence/list`, null, {
|
||||||
currIndex: 0,
|
params: {
|
||||||
tabTitle: ['人员信息', '走访记录'],
|
applicationId: 4,
|
||||||
info: {},
|
size: 1000
|
||||||
list: [],
|
}
|
||||||
idNumberInfo: {}
|
}).then(res => {
|
||||||
}
|
if (res.code == 0) {
|
||||||
|
this.list = res.data.records
|
||||||
|
}
|
||||||
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
created () {
|
cancel(isRefresh) {
|
||||||
if (this.params && this.params.id) {
|
this.$emit('change', {
|
||||||
this.id = this.params.id
|
type: 'List',
|
||||||
|
isRefresh: !!isRefresh
|
||||||
this.dict.load('appSpecialSituation', 'appSpecialPlacement', 'appSpecialDenger', 'appSpecialCrime',
|
})
|
||||||
'appSpecialControl', 'appSpecialDebug', 'appSpecialDrug', 'appSpecialChangeType', 'appSpecialCure', 'appSpecialDengerLevel',
|
|
||||||
'appSpecialDisableLevel', 'appSpecialDisableType', 'appSpecialHealth', 'appSpecialMarriage', 'appSpecialTypeFive','isReflection','yesOrNo').then(() => {
|
|
||||||
this.getInfo(this.params.id)
|
|
||||||
})
|
|
||||||
this.dict.load('visitCondolenceReality').then(() => {
|
|
||||||
this.getList()
|
|
||||||
})
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
methods: {
|
|
||||||
getInfo (id) {
|
|
||||||
this.instance.post(`/app/appspecialprison/queryDetailById?id=${id}`).then(res => {
|
|
||||||
if (res.code === 0) {
|
|
||||||
this.info = res.data
|
|
||||||
this.idNumberInfo = this.idCardNoUtil.getIdCardInfo(res.data.idNumber)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
|
|
||||||
getList () {
|
|
||||||
this.instance.post(`/app/appvisitvondolence/list`, null, {
|
|
||||||
params: {
|
|
||||||
applicationId: 4,
|
|
||||||
size: 1000
|
|
||||||
}
|
|
||||||
}).then(res => {
|
|
||||||
if (res.code == 0) {
|
|
||||||
this.list = res.data.records
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
|
|
||||||
cancel (isRefresh) {
|
|
||||||
this.$emit('change', {
|
|
||||||
type: 'List',
|
|
||||||
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;
|
||||||
border-bottom: 1px solid #eee;
|
border-bottom: 1px solid #eee;
|
||||||
|
|
||||||
&:first-child {
|
&:first-child {
|
||||||
padding-top: 0;
|
padding-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
&:last-child {
|
||||||
|
border-bottom: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.visit-status {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
font-size: 14px;
|
||||||
|
|
||||||
|
span {
|
||||||
|
color: #333;
|
||||||
}
|
}
|
||||||
|
|
||||||
&:last-child {
|
i {
|
||||||
border-bottom: none;
|
color: #999;
|
||||||
|
font-style: normal;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
.visit-status {
|
& > p {
|
||||||
display: flex;
|
line-height: 1.4;
|
||||||
align-items: center;
|
margin-bottom: 4px;
|
||||||
|
text-align: justify;
|
||||||
|
color: #666;
|
||||||
|
font-size: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.visit-item__top {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: space-between;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
|
||||||
|
span {
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
|
color: #999;
|
||||||
span {
|
|
||||||
color: #333;
|
|
||||||
}
|
|
||||||
|
|
||||||
i {
|
|
||||||
color: #999;
|
|
||||||
font-style: normal;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
& > p {
|
.left {
|
||||||
line-height: 1.4;
|
|
||||||
margin-bottom: 4px;
|
|
||||||
text-align: justify;
|
|
||||||
color: #666;
|
|
||||||
font-size: 16px;
|
|
||||||
}
|
|
||||||
|
|
||||||
.visit-item__top {
|
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: space-between;
|
|
||||||
margin-bottom: 10px;
|
|
||||||
|
|
||||||
span {
|
img, .avatar {
|
||||||
|
width: 40px;
|
||||||
|
height: 40px;
|
||||||
|
line-height: 40px;
|
||||||
|
text-align: center;
|
||||||
|
margin-right: 10px;
|
||||||
|
border-radius: 50%;
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
color: #999;
|
color: #fff;
|
||||||
|
background: #26f;
|
||||||
}
|
}
|
||||||
|
|
||||||
.left {
|
h2 {
|
||||||
display: flex;
|
font-size: 16px;
|
||||||
align-items: center;
|
font-weight: 500;
|
||||||
|
|
||||||
img, .avatar {
|
|
||||||
width: 40px;
|
|
||||||
height: 40px;
|
|
||||||
line-height: 40px;
|
|
||||||
text-align: center;
|
|
||||||
margin-right: 10px;
|
|
||||||
border-radius: 50%;
|
|
||||||
font-size: 14px;
|
|
||||||
color: #fff;
|
|
||||||
background: #26f;
|
|
||||||
}
|
|
||||||
|
|
||||||
h2 {
|
|
||||||
font-size: 16px;
|
|
||||||
font-weight: 500;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|||||||
@@ -10,25 +10,25 @@
|
|||||||
</template>
|
</template>
|
||||||
<template #right>
|
<template #right>
|
||||||
<el-input
|
<el-input
|
||||||
v-model="search.name"
|
v-model="search.name"
|
||||||
size="small"
|
size="small"
|
||||||
placeholder="请输入姓名"
|
placeholder="请输入姓名"
|
||||||
clearable
|
clearable
|
||||||
v-throttle="() => {search.current = 1, getList()}"
|
v-throttle="() => {search.current = 1, getList()}"
|
||||||
@clear="search.current = 1, search.name = '', getList()"
|
@clear="search.current = 1, search.name = '', getList()"
|
||||||
suffix-icon="iconfont iconSearch">
|
suffix-icon="iconfont iconSearch">
|
||||||
</el-input>
|
</el-input>
|
||||||
</template>
|
</template>
|
||||||
</ai-search-bar>
|
</ai-search-bar>
|
||||||
<ai-table
|
<ai-table
|
||||||
:tableData="tableData"
|
:tableData="tableData"
|
||||||
:col-configs="colConfigs"
|
:col-configs="colConfigs"
|
||||||
:total="total"
|
:total="total"
|
||||||
v-loading="loading"
|
v-loading="loading"
|
||||||
style="margin-top: 16px;"
|
style="margin-top: 16px;"
|
||||||
:current.sync="search.current"
|
:current.sync="search.current"
|
||||||
:size.sync="search.size"
|
:size.sync="search.size"
|
||||||
@getList="getList">
|
@getList="getList">
|
||||||
<el-table-column slot="options" width="140px" fixed="right" label="操作" align="center">
|
<el-table-column slot="options" width="140px" fixed="right" label="操作" align="center">
|
||||||
<template slot-scope="{ row }">
|
<template slot-scope="{ row }">
|
||||||
<div class="table-options">
|
<div class="table-options">
|
||||||
@@ -45,113 +45,106 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
import { mapState } from 'vuex'
|
import {mapState} from 'vuex'
|
||||||
export default {
|
import {ID} from "dvcp-ui/lib/js/utils";
|
||||||
name: 'List',
|
|
||||||
|
|
||||||
props: {
|
export default {
|
||||||
instance: Function,
|
name: 'List',
|
||||||
dict: Object
|
|
||||||
},
|
|
||||||
|
|
||||||
data () {
|
props: {
|
||||||
return {
|
instance: Function,
|
||||||
search: {
|
dict: Object
|
||||||
current: 1,
|
},
|
||||||
size: 10,
|
|
||||||
name: ''
|
|
||||||
},
|
|
||||||
colConfigs: [
|
|
||||||
{ prop: 'name', label: '姓名' },
|
|
||||||
{ prop: 'idNumber', align: 'center', label: '身份证号' },
|
|
||||||
{ prop: 'gender', align: 'center', label: '性别' },
|
|
||||||
{ prop: 'birthday', align: 'center', label: '出生日期' },
|
|
||||||
{ prop: 'age', align: 'center', label: '年龄', },
|
|
||||||
{ prop: 'phone', align: 'center', label: '联系方式' }
|
|
||||||
],
|
|
||||||
tableData: [],
|
|
||||||
total: 0,
|
|
||||||
loading: false
|
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
computed: {
|
data() {
|
||||||
...mapState(['user']),
|
return {
|
||||||
|
search: {
|
||||||
param () {
|
current: 1,
|
||||||
return {
|
size: 10,
|
||||||
|
name: ''
|
||||||
|
},
|
||||||
|
colConfigs: [
|
||||||
|
{prop: 'name', label: '姓名'},
|
||||||
|
{prop: 'idNumber', align: 'center', label: '身份证号'},
|
||||||
|
{prop: 'gender', align: 'center', label: '性别'},
|
||||||
|
{prop: 'birthday', align: 'center', label: '出生日期'},
|
||||||
|
{prop: 'age', align: 'center', label: '年龄',},
|
||||||
|
{prop: 'phone', align: 'center', label: '联系方式'}
|
||||||
|
],
|
||||||
|
tableData: [],
|
||||||
|
total: 0,
|
||||||
|
loading: false
|
||||||
|
}
|
||||||
|
},
|
||||||
|
computed: {
|
||||||
|
...mapState(['user']),
|
||||||
|
},
|
||||||
|
created() {
|
||||||
|
this.dict.load('sex').then(() => {
|
||||||
|
this.getList()
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
methods: {
|
||||||
|
getList() {
|
||||||
|
this.instance.post(`/app/appspecialprison/list`, null, {
|
||||||
|
params: {
|
||||||
|
...this.search
|
||||||
|
}
|
||||||
|
}).then(res => {
|
||||||
|
if (res.code == 0) {
|
||||||
|
this.tableData = res.data.records.map(v => {
|
||||||
|
let info = new ID(v.idNumber)
|
||||||
|
v.birthday = info.birthday
|
||||||
|
v.age = info.age
|
||||||
|
v.gender = info.gender
|
||||||
|
return v
|
||||||
|
})
|
||||||
|
this.total = res.data.total
|
||||||
}
|
}
|
||||||
}
|
|
||||||
},
|
|
||||||
|
|
||||||
created () {
|
|
||||||
this.dict.load('sex').then(() => {
|
|
||||||
this.getList()
|
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
methods: {
|
toEdit(e) {
|
||||||
getList () {
|
this.$emit('change', {
|
||||||
this.instance.post(`/app/appspecialprison/list`, null, {
|
type: 'Add',
|
||||||
params: {
|
params: {
|
||||||
...this.search
|
type: 'Add',
|
||||||
}
|
id: e
|
||||||
}).then(res => {
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
toAdd() {
|
||||||
|
this.$emit('change', {
|
||||||
|
type: 'Add',
|
||||||
|
params: {
|
||||||
|
type: 'Add',
|
||||||
|
}
|
||||||
|
})
|
||||||
|
},
|
||||||
|
|
||||||
|
remove(id) {
|
||||||
|
this.$confirm('确定删除该数据?').then(() => {
|
||||||
|
this.instance.post(`/app/appspecialprison/delete?ids=${id}`).then(res => {
|
||||||
if (res.code == 0) {
|
if (res.code == 0) {
|
||||||
this.tableData = res.data.records.map(v => {
|
this.$message.success('删除成功!')
|
||||||
let info = this.idCardNoUtil.getIdCardInfo(v.idNumber)
|
this.getList()
|
||||||
v.birthday = info.birthday
|
|
||||||
v.age = this.$calcAge(v.idNumber)
|
|
||||||
v.gender = info.gender
|
|
||||||
|
|
||||||
return v
|
|
||||||
})
|
|
||||||
this.total = res.data.total
|
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
},
|
})
|
||||||
|
},
|
||||||
|
|
||||||
toEdit (e) {
|
toDetail(id) {
|
||||||
this.$emit('change', {
|
this.$emit('change', {
|
||||||
type: 'Add',
|
type: 'Detail',
|
||||||
params: {
|
params: {
|
||||||
type: 'Add',
|
id: id || ''
|
||||||
id: e
|
}
|
||||||
}
|
})
|
||||||
})
|
|
||||||
},
|
|
||||||
|
|
||||||
toAdd() {
|
|
||||||
this.$emit('change', {
|
|
||||||
type: 'Add',
|
|
||||||
params: {
|
|
||||||
type: 'Add',
|
|
||||||
}
|
|
||||||
})
|
|
||||||
},
|
|
||||||
|
|
||||||
remove(id) {
|
|
||||||
this.$confirm('确定删除该数据?').then(() => {
|
|
||||||
this.instance.post(`/app/appspecialprison/delete?ids=${id}`).then(res => {
|
|
||||||
if (res.code == 0) {
|
|
||||||
this.$message.success('删除成功!')
|
|
||||||
this.getList()
|
|
||||||
}
|
|
||||||
})
|
|
||||||
})
|
|
||||||
},
|
|
||||||
|
|
||||||
toDetail (id) {
|
|
||||||
this.$emit('change', {
|
|
||||||
type: 'Detail',
|
|
||||||
params: {
|
|
||||||
id: id || ''
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped lang="scss">
|
<style scoped lang="scss">
|
||||||
|
|||||||
@@ -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"},
|
||||||
|
|||||||
@@ -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},
|
||||||
|
|||||||
@@ -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 : "身份证号码格式有误")}
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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 : "身份证号码格式有误")}
|
||||||
],
|
],
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user