1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228 |
- <template>
- <van-nav-bar
- fixed
- title="人员信息录入"
- left-arrow
- @click-left="onClickLeft"
- :style="{ 'background-color': selectColor }"
- />
- <div class="main">
- <div class="formArea">
- <van-cell-group>
- <van-field
- v-model="idTypeName"
- readonly
- required
- label="证件类型:"
- name="validator"
- placeholder="请选择证件类型"
- input-align="right"
- right-icon="arrow-down"
- @click="showPicker = true"
- :rules="[{ validator, message: '证件类型不能为空' }]"
- />
- <van-popup v-model:show="showPicker" round position="bottom">
- <van-picker
- title="证件类型"
- :columns="places"
- @cancel="showPicker = false"
- @confirm="getPlace"
- />
- </van-popup>
- </van-cell-group>
- <van-cell-group>
- <van-field
- v-model="inputForm.idcard"
- center
- required
- label="证件号码:"
- placeholder="请填写证件号码"
- input-align="right"
- />
- </van-cell-group>
- <van-cell-group>
- <van-field
- v-model="inputForm.name"
- center
- required
- label="姓名:"
- placeholder="请填写姓名"
- input-align="right"
- />
- </van-cell-group>
- <van-cell-group>
- <van-field name="uploader" label-align="top" label="工作照片:">
- <template #input>
- <van-uploader
- v-model="fileList"
- :after-read="afterRead1"
- :max-count="1"
- capture="camera"
- accept=""
- :before-delete="fjdelete"
- >
- </van-uploader>
- </template>
- </van-field>
- </van-cell-group>
- <van-cell-group>
- <van-field
- v-model="inputForm.beforeUsedName"
- center
- label="曾用名:"
- placeholder="请填写曾用名"
- input-align="right"
- />
- </van-cell-group>
- <van-cell-group>
- <van-field
- v-model="nationName"
- readonly
- label="民族:"
- placeholder="请选择民族"
- input-align="right"
- right-icon="arrow-down"
- @click="hs_nation = true"
- />
- <van-popup v-model:show="hs_nation" round position="bottom">
- <van-picker
- title="民族类型"
- :columns="nation"
- @cancel="hs_nation = false"
- @confirm="getnation"
- />
- </van-popup>
- </van-cell-group>
- <van-cell-group>
- <van-field
- v-model="sexName"
- readonly
- required
- label="性别:"
- placeholder="请选择选择"
- input-align="right"
- right-icon="arrow-down"
- @click="hs_sex = true"
- />
- <van-popup v-model:show="hs_sex" round position="bottom">
- <van-picker
- title="选择"
- :columns="sex"
- @cancel="hs_sex = false"
- @confirm="getsex"
- />
- </van-popup>
- </van-cell-group>
- <van-cell-group>
- <van-field
- v-model="inputForm.phone"
- center
- label="手机号:"
- placeholder="请填写手机号"
- input-align="right"
- />
- </van-cell-group>
- <van-cell-group>
- <van-field
- v-model="inputForm.nativePlace"
- readonly
- label="籍贯:"
- placeholder="请选择籍贯地区"
- input-align="right"
- right-icon="arrow-down"
- @click="hs_nativePlace = true"
- />
- <van-popup v-model:show="hs_nativePlace" round position="bottom">
- <van-picker
- title="籍贯"
- :columns="nativePlace"
- :columns-field-names="customFieldName"
- @cancel="hs_nativePlace = false"
- @confirm="getnativePlace"
- />
- </van-popup>
- </van-cell-group>
- <van-cell-group>
- <van-field
- v-model="educationName"
- readonly
- label="教育程度"
- placeholder="请选择教育程度"
- input-align="right"
- right-icon="arrow-down"
- @click="hs_education = true"
- />
- <van-popup v-model:show="hs_education" round position="bottom">
- <van-picker
- title="教育程度"
- :columns="education"
- @cancel="hs_education = false"
- @confirm="geteducation"
- />
- </van-popup>
- </van-cell-group>
- <van-cell-group>
- <van-field
- v-model="inputForm.graduatedFrom"
- center
- label="毕业院校:"
- placeholder="请填写毕业院校"
- input-align="right"
- />
- </van-cell-group>
- <van-cell-group>
- <van-field
- v-model="religiousName"
- readonly
- label="教别:"
- name="validator"
- placeholder="请选择教别"
- input-align="right"
- right-icon="arrow-down"
- @click="hs_religious = true"
- />
- <van-popup v-model:show="hs_religious" round position="bottom">
- <van-picker
- title="教别"
- :columns="religious"
- @cancel="hs_religious = false"
- @confirm="getreligious"
- />
- </van-popup>
- </van-cell-group>
- <van-cell-group>
- <van-field
- v-model="inputForm.religiousAppellation"
- center
- label="宗教称谓:"
- placeholder="请填写宗教称谓"
- input-align="right"
- />
- </van-cell-group>
- <van-cell-group>
- <van-field
- v-model="locationName"
- readonly
- label="所属场所:"
- placeholder="请选择所属场所"
- input-align="right"
- right-icon="arrow-down"
- @click="hs_site = true"
- >
- </van-field>
- <van-dialog v-model:show="hs_site" title="所属场所" show-cancel-button>
- <div class="dialog">
- <van-list
- v-model:loading="loading"
- :finished="finished"
- finished-text="没有更多了"
- @load="onLoad"
- >
- <van-radio-group v-model="checked">
- <van-cell-group inset>
- <van-cell
- v-for="item in sitelist"
- :key="item"
- :title="item.name"
- clickable
- @click="getsite(item)"
- >
- <template #right-icon>
- <van-radio :name="item.id" @click="getsite(item)" />
- </template>
- </van-cell>
- </van-cell-group>
- </van-radio-group>
- </van-list>
- </div>
- </van-dialog>
- </van-cell-group>
- <van-cell-group>
- <van-field
- v-model="typeOfEmployeesName"
- readonly
- label-width="7.2em"
- label="场所任职情况:"
- placeholder="请选择场所任职情况"
- input-align="right"
- right-icon="arrow-down"
- @click="hs_typeOfEmployees = true"
- />
- <van-popup v-model:show="hs_typeOfEmployees" round position="bottom">
- <van-picker
- title="任职情况"
- :columns="typeOfEmployees"
- @cancel="hs_typeOfEmployees = false"
- @confirm="gettypeOfEmployees"
- />
- </van-popup>
- </van-cell-group>
- <van-cell-group>
- <van-field
- v-model="inputForm.currentResidence"
- center
- required
- readonly
- label="现居地:"
- placeholder="请填写现居地"
- input-align="right"
- right-icon="arrow-down"
- @click="showPlace1 = true"
- />
- <van-popup v-model:show="showPlace1" round position="bottom">
- <van-picker
- title="现居地选择"
- :columns="options"
- :columns-field-names="customFieldName"
- @cancel="showPlace1 = false"
- @confirm="getPlace1"
- />
- </van-popup>
- </van-cell-group>
- <van-cell-group>
- <van-field
- v-model="inputForm.place"
- center
- label="详细地址:"
- placeholder="请填写详细场所"
- input-align="right"
- >
- <template #right-icon>
- <van-icon name="location" @click="getLocation()" />
- </template>
- </van-field>
- </van-cell-group>
- <van-cell-group>
- <van-field
- v-model="personnalType"
- readonly
- required
- label="人员类型:"
- placeholder="请选择人员类型"
- input-align="right"
- right-icon="arrow-down"
- @click="hs_persontype = true"
- />
- <van-dialog
- v-model:show="hs_persontype"
- title="人员类型"
- show-cancel-button
- @confirm = "changperson"
- >
- <div class="dialog">
- <van-list>
- <van-checkbox-group v-model="checked2">
- <van-cell-group inset>
- <van-cell
- v-for="(item, index) in persontype"
- clickable
- :key="item"
- :title="`${item.text}`"
- @click="toggle(index)"
- >
- <template #right-icon>
- <van-checkbox
- :name="item.value"
- :ref="(el) => (checkboxRefs[index] = el)"
- @click.stop
- />
- </template>
- </van-cell>
- </van-cell-group>
- </van-checkbox-group>
- </van-list>
- </div>
- </van-dialog>
- </van-cell-group>
- <van-cell-group>
- <van-field
- v-model="tissueName"
- readonly
- label="宗教组织:"
- placeholder="请选择宗教组织"
- input-align="right"
- right-icon="arrow-down"
- @click="hs_tissue = true"
- />
- <van-dialog
- v-model:show="hs_tissue"
- title="宗教组织"
- show-cancel-button
- >
- <div class="dialog">
- <van-list
- v-model:loading="loading1"
- :finished="finished1"
- finished-text="没有更多了"
- @load="onLoad1"
- >
- <van-radio-group v-model="checked1">
- <van-cell-group inset>
- <van-cell
- v-for="item in tissuelist"
- :key="item"
- :title="item.organizationName"
- clickable
- @click="gettissue(item)"
- >
- <template #right-icon>
- <van-radio :name="item.id" />
- </template>
- </van-cell>
- </van-cell-group>
- </van-radio-group>
- </van-list>
- </div>
- </van-dialog>
- </van-cell-group>
- <van-cell-group>
- <van-field
- v-model="inputForm.zjzzJob"
- center
- label-width="6.5em"
- label="团体任职情况:"
- placeholder="请填写团体任职情况"
- input-align="right"
- />
- </van-cell-group>
- <van-cell-group>
- <van-field
- v-model="activitytext"
- readonly
- required
- label-width="7em"
- label="非法活动参加:"
- placeholder="请选择是否参加非法活动"
- input-align="right"
- right-icon="arrow-down"
- @click="hs_activity = true"
- />
- <van-popup v-model:show="hs_activity" round position="bottom">
- <van-picker
- title="选择是否参加"
- :columns="activity"
- @cancel="hs_activity = false"
- @confirm="getactivity"
- />
- </van-popup>
- </van-cell-group>
- <p class="miniTitle">扩展信息</p>
- <van-col
- span="24"
- v-for="(item, index) in inputForm.userManagenmetDetailsDTOList"
- :key="index"
- >
- <van-cell-group
- v-if="item.dataType === '1' && item.dataDictionary == ''"
- >
- <van-field
- v-model="item.value"
- center
- placeholder="请填写内容"
- :label="item.chineseName"
- input-align="right"
- />
- </van-cell-group>
-
- <van-cell-group v-else-if="item.dataType && item.dataDictionary != ''">
- vhsjhf{{item.value}}
- <van-field
- v-model="teachPosition"
- center
- :label="item.chineseName"
- placeholder="请选择"
- input-align="right"
- right-icon="arrow-down"
- @click="hs_select = true"
- />
- <van-popup v-model:show="hs_select" round position="bottom" >
- <van-picker
- :columns="$dictUtils.getDictList(item.dataDictionary)"
- :columns-field-names="{
- text: 'label',
- value: 'value',
- }"
- @cancel="hs_select = false"
- @confirm="getselect"
- />
- </van-popup>
- </van-cell-group>
- <van-cell-group v-else-if="item.dataType === '2'">
- <van-field
- v-model="item.value"
- center
- :label="item.chineseName"
- input-align="right"
- />
- </van-cell-group>
- <van-cell-group v-else-if="item.dataType === '3'">
- <van-field
- :v-model="item.value"
- center
- :label="item.chineseName"
- input-align="right"
- />
- </van-cell-group>
- <van-cell-group v-else-if="item.dataType === '4'">
- <van-field
- name="uploader"
- label-align="top"
- :label="item.chineseName"
- >
- <template #input>
- <van-uploader
- v-model="fileList"
- :after-read="afterRead1"
- :max-count="1"
- capture="camera"
- accept=""
- :before-delete="fjdelete"
- >
- </van-uploader>
- </template>
- </van-field>
- </van-cell-group>
- <van-cell-group v-else-if="item.dataType === '5'">
- <van-field
- v-model="item.value"
- center
- required
- readonly
- :label="item.chineseName"
- placeholder="请选择地点"
- input-align="right"
- right-icon="arrow-down"
- @click="showPlace1 = true"
- />
- <van-popup v-model:show="showPlace1" round position="bottom">
- <van-picker
- title="地点选择"
- :columns="options"
- :columns-field-names="customFieldName"
- @cancel="showPlace1 = false"
- @confirm="getPlace1"
- />
- </van-popup>
- </van-cell-group>
- <van-cell-group v-else-if="item.dataType === '6'">
- <van-field
- v-model="item.value"
- center
- :label="item.chineseName"
- label-width="6.5em"
- placeholder="请选择日期时间"
- input-align="right"
- right-icon="arrow-down"
- @click="hs_Date = true"
- />
- <van-popup v-model:show="hs_Date" round position="bottom">
- <van-date-picker
- title="选择日期"
- :min-date="minDate"
- :max-date="maxDate"
- @cancel="hs_Date = false"
- @confirm="getDate"
- />
- </van-popup>
- </van-cell-group>
- </van-col>
- </div>
- <div class="subbtn">
- <van-button type="primary" @click="submit">提交</van-button>
- <van-button @click="onClickLeft" type="default" hairline>取消</van-button>
- </div>
- </div>
- </template>
- <script>
- import { onBeforeUpdate, onMounted, ref } from "vue";
- import placePerson from "@/api/placePerson/placePerson";
- import PlaceRegister from "@/api/placeRegister/placeRegister";
- import { useRouter } from "vue-router";
- import tools from "@/api/sys/tools";
- export default {
- setup() {
- const onClickLeft = () => {
- history.back();
- };
- // 导航栏颜色
- const selectColor = ref(window.localStorage.getItem("MZ_COLOR"));
- //人员添加
- const inputForm = ref({
- id: "",
- userManagenmetDetailsDTOList: [],
- name: "",
- sex: "",
- idType: "",
- idcard: "",
- phone: "",
- location: {
- id: "",
- },
- typeOfEmployees: "",
- workPicture: "",
- nativePlace: "",
- currentResidence: "",
- currentResidenceDetail: "",
- personnelType: "",
- currentResidenceId: "100000/320000/320900",
- currentResidenceLevel1: "100000",
- currentResidenceLevel2: "320000",
- currentResidenceLevel3: "320900",
- currentResidenceLevel4: "",
- currentResidenceLevel5: "",
- currentResidenceLevel6: "",
- beforeUsedName: "",
- nation: "",
- religion: "",
- religiousAppellation: "",
- nationalEducationLevel: "",
- graduatedFrom: "",
- zjzzJob: "",
- zjzz: {
- id: "",
- },
- bkcheck: "",
- });
- onMounted(() => {
- //籍贯接口
- new placePerson().nativePlace().then((res) => {
- nativePlace.value.push(...res);
- options.value.push(...res);
- });
- });
- // 证件类型
- const places = [
- { text: "身份证", value: " 1" },
- { text: "护照", value: "2" },
- { text: "港澳通行证", value: "3" },
- { text: "其他", value: "4" },
- ];
- const idTypeName = ref("");
- let showPicker = ref(false);
- const getPlace = ({ selectedOptions }) => {
- showPicker.value = false;
- const json = Object.assign(inputForm.value, {
- idType: selectedOptions[0].value,
- });
- inputForm.value = json;
- idTypeName.value = selectedOptions[0].text;
- };
- // 民族
- const nationName = ref("");
- const nation = [
- { text: "汉族", value: " 1" },
- { text: "阿昌族", value: "2" },
- { text: "白族", value: "3" },
- { text: "保安族", value: "4" },
- { text: "布朗族", value: "5" },
- { text: "布依族", value: " 6" },
- { text: "朝鲜族", value: "7" },
- { text: "达斡尔族", value: "8" },
- { text: "傣族", value: "9" },
- { text: "德昂族", value: "10" },
- { text: "东乡族", value: " 11" },
- { text: "侗族", value: "12" },
- { text: "独龙族", value: "13" },
- { text: "俄罗斯族", value: "14" },
- { text: "鄂伦春族", value: "15" },
- { text: "鄂温克族", value: " 16" },
- { text: "高山族", value: "17" },
- { text: "仡佬族", value: "18" },
- { text: "哈尼族", value: "19" },
- { text: "哈萨克族", value: "20" },
- { text: "赫哲族", value: " 21" },
- { text: "回族", value: "22" },
- { text: "基诺族", value: "23" },
- { text: "京族", value: "24" },
- { text: "景颇族", value: "25" },
- { text: "柯尔克孜族", value: " 26" },
- { text: "拉祜族", value: "27" },
- { text: "黎族", value: "28" },
- { text: "傈僳族", value: "29" },
- { text: "珞巴族", value: "30" },
- { text: "满族", value: " 31" },
- { text: "毛南族", value: "32" },
- { text: "门巴族", value: "33" },
- { text: "蒙古族", value: "34" },
- { text: "苗族", value: "35" },
- { text: "仫佬族", value: " 36" },
- { text: "纳西族", value: "37" },
- { text: "怒族", value: "38" },
- { text: "普米族", value: "39" },
- { text: "羌族", value: "40" },
- { text: "撒拉族", value: " 41" },
- { text: "畲族", value: "42" },
- { text: "水族", value: "43" },
- { text: "塔吉克族", value: "44" },
- { text: "塔塔尔族", value: "45" },
- { text: "土家族", value: " 46" },
- { text: "土族", value: "47" },
- { text: "佤族", value: "48" },
- { text: "维吾尔族", value: "49" },
- { text: "乌孜别克族", value: "50" },
- { text: "锡伯族", value: " 51" },
- { text: "瑶族", value: "52" },
- { text: "彝族", value: "53" },
- { text: "裕固族", value: "54" },
- { text: "藏族", value: "55" },
- { text: "壮族", value: "56" },
- { text: "其他", value: "57" },
- ];
- let hs_nation = ref(false);
- const getnation = ({ selectedOptions }) => {
- hs_nation.value = false;
- const json = Object.assign(inputForm.value, {
- nation: selectedOptions[0].value,
- });
- inputForm.value = json;
- nationName.value = selectedOptions[0].text;
- };
- // 性别
- const sexName = ref("");
- const sex = [
- { text: "男", value: "1" },
- { text: "女", value: "2" },
- ];
- let hs_sex = ref(false);
- const getsex = ({ selectedOptions }) => {
- hs_sex.value = false;
- const json = Object.assign(inputForm.value, {
- sex: selectedOptions[0].value,
- });
- inputForm.value = json;
- sexName.value = selectedOptions[0].text;
- };
- // 教育程度
- const educationName = ref("");
- const education = [
- { text: "小学", value: "1" },
- { text: "初中", value: "2" },
- { text: "中专", value: "3" },
- { text: "高中", value: "4" },
- { text: "大专", value: "5" },
- { text: "本科", value: "6" },
- { text: "硕士研究生", value: "7" },
- { text: "博士研究生", value: "8" },
- { text: "其他", value: "9" },
- ];
- let hs_education = ref(false);
- const geteducation = ({ selectedOptions }) => {
- hs_education.value = false;
- const json = Object.assign(inputForm.value, {
- nationalEducationLevel: selectedOptions[0].value,
- });
- inputForm.value = json;
- educationName.value = selectedOptions[0].text;
- };
- // 宗教类别
- const religiousName = ref("");
- const religious = [
- { text: "伊斯兰教", value: "1" },
- { text: "基督教", value: "2" },
- { text: "天主教", value: "3" },
- { text: "佛教", value: "4" },
- { text: "道教", value: "5" },
- ];
- let hs_religious = ref(false);
- const getreligious = ({ selectedOptions }) => {
- hs_religious.value = false;
- const json = Object.assign(inputForm.value, {
- religion: selectedOptions[0].value,
- });
- inputForm.value = json;
- religiousName.value = selectedOptions[0].text;
- };
- // 宗教类别2
- const religiousName2 = ref("");
- const religioustype2 = ref("");
- const religious2 = [
- { text: "伊斯兰教", value: "1" },
- { text: "基督教", value: "2" },
- { text: "天主教", value: "3" },
- { text: "佛教", value: "4" },
- { text: "道教", value: "5" },
- ];
- let hs_religious2 = ref(false);
- const getreligious2 = ({ selectedOptions }) => {
- hs_religious2.value = false;
- religioustype2.value = selectedOptions[0].value;
- religiousName2.value = selectedOptions[0].text;
- };
- // 所属场所
- const locationName = ref('');
- const checked = ref("");
- const sitelist = ref([]);
- let hs_site = ref(false);
- const getsite = (val) => {
- console.log(val);
- let id = "";
- id = val.id;
- locationName.value = val.name;
- const json = Object.assign(inputForm.value, { location: { id: id } });
- inputForm.value = json;
- checked.value = val.id;
- };
- const loading = ref(false);
- const finished = ref(false);
- const refreshing = ref(false);
- let index = 0;
- const onLoad = () => {
- loading.value = true;
- finished.value = false;
- // 异步更新数据
- new PlaceRegister()
- .religiousList({
- current: index + 1,
- size: 10,
- })
- .then(({ records, pages }) => {
- sitelist.value = sitelist.value.concat(records);
- // 加载状态结束
- loading.value = false;
- if (index + 1 >= pages) {
- finished.value = true;
- }
- index++;
- });
- };
- // 场所任职情况
- const typeOfEmployeesName = ref("");
- const typeOfEmployees = [
- { text: "场所负责人", value: "1" },
- { text: "堂委", value: "2" },
- { text: "主要教职人员", value: "3" },
- { text: "财会", value: "4" },
- { text: "传道(已退休)", value: "5" },
- { text: "保安", value: "6" },
- { text: "信息审核员", value: "7" },
- { text: "常住", value: "8" },
- { text: "传道", value: "9" },
- { text: "道士", value: "10" },
- { text: "法人", value: "11" },
- { text: "法务", value: "12" },
- { text: "副主任", value: "13" },
- { text: "副组长", value: "14" },
- { text: "监院", value: "15" },
- { text: "清众", value: "16" },
- { text: "僧职", value: "17" },
- { text: "僧值", value: "18" },
- { text: "退居", value: "19" },
- { text: "维那", value: "20" },
- { text: "长老", value: "21" },
- { text: "知客", value: "22" },
- { text: "住持", value: "23" },
- { text: "组长", value: "24" },
- { text: "组长及讲道", value: "25" },
- ];
- let hs_typeOfEmployees = ref(false);
- const gettypeOfEmployees = ({ selectedOptions }) => {
- hs_typeOfEmployees.value = false;
- // inputForm.typeOfEmployees = selectedOptions[0].value;
- const json = Object.assign(inputForm.value, {
- typeOfEmployees: selectedOptions[0].value,
- });
- inputForm.value = json;
- typeOfEmployeesName.value = selectedOptions[0].text;
- };
- //籍贯
- const nativePlace = ref([]);
- let hs_nativePlace = ref(false);
- const getnativePlace = ({ selectedOptions }) => {
- hs_nativePlace.value = false;
- let str = "";
- selectedOptions.forEach((item) => {
- if (inputForm.nativePlace) {
- str = inputForm.nativePlace;
- }
- str += item.name + "/";
- });
- inputForm.nativePlace = str;
- const json = Object.assign(inputForm.value, { nativePlace: str });
- inputForm.value = json;
- };
- //图片上传
- let fileList = ref([]);
- let fileImg = ref([]);
- let workpic = ref("");
- const afterRead1 = (file) => {
- new tools()
- .uploadFile(file, `logo`)
- .then(({ data }) => {
- data.name = decodeURIComponent(
- data.url.substring(data.url.lastIndexOf("/") + 1)
- );
- workpic.value += "" + data.url;
- const json = Object.assign(inputForm.value, {
- workPicture: workpic.value,
- });
- inputForm.value = json;
- fileImg.value.push(data);
- });
- };
- const fjdelete = (file) => {
- //删除文件操作
- for (let index = 0; index < fileList.value.length; index++) {
- if (file.file == fileList.value[index].file) {
- let delurl = fileImg.value[index].url;
- new tools().uploadFiledelete("", delurl).then(({ data }) => {});
- fileImg.value.splice(index, 1);
- fileList.value.splice(index, 1);
- }
- }
- };
- //详细地址定位
- const getLocation = () => {
- xm.getLocation().then((data) => {
- inputForm.currentResidenceDetail = data.POIName;
- });
- };
- // 地区选择
- let placeAddress = ref("");
- const customFieldName = {
- text: "name",
- value: "id",
- };
- const options = ref([]);
- let showPlace1 = ref(false);
- const getPlace1 = ({ selectedOptions }) => {
- showPlace1.value = false;
- let str1 = "";
- let str2 = "";
- selectedOptions.forEach((item) => {
- if (inputForm.currentResidence) {
- str1 = inputForm.currentResidence;
- str2 = inputForm.currentResidenceId;
- }
- str1 += item.name + "/";
- str2 += item.code + "/";
- });
- const json = Object.assign(inputForm.value, {
- currentResidence: str1,
- currentResidenceId: str2,
- });
- inputForm.value = json;
- };
- //宗教组织
- const tissueName = ref("");
- const checked1 = ref("");
- const tissuelist = ref([]);
- let hs_tissue = ref(false);
- const gettissue = (val) => {
- tissueName.value = val.organizationName;
- const json = Object.assign(inputForm.value, { zjzz: { id: val.id } });
- inputForm.value = json;
- checked1.value = val.id;
- };
- const loading1 = ref(false);
- const finished1 = ref(false);
- const refreshing1 = ref(false);
- let index1 = 0;
- const onLoad1 = () => {
- loading1.value = true;
- finished1.value = false;
- // 异步更新数据
- new placePerson()
- .zjzz({
- current: index1 + 1,
- size: 10,
- })
- .then(({ records, pages }) => {
- tissuelist.value = tissuelist.value.concat(records);
- // 加载状态结束
- loading1.value = false;
- if (index1 + 1 >= pages) {
- finished1.value = true;
- }
- index1++;
- });
- };
- //人员类型
- const personnalType = ref("");
- const checked2 = ref([]);
- const persontype = [
- { text: "宗教从业人员", value: "1" },
- { text: "民族场所从业人员", value: "2" },
- { text: "教职人员", value: "3" },
- { text: "固定信徒", value: "4" },
- { text: "场所居住人员", value: "5" },
- { text: "境外人员", value: "6" },
- { text: "非本市人员", value: "7" },
- { text: "非本教人员", value: "8" },
- { text: "临时人员", value: "9" },
- { text: "异常人员", value: "10" },
- { text: "邪教人员", value: "12" },
- { text: "管理人员", value: "13" },
- { text: "全能神离家人员", value: "14" },
- { text: "全能神骨干人员", value: "15" },
- { text: "网络运营人员", value: "16" },
- { text: "涉政有害活动人员", value: "17" },
- { text: "境内外记者", value: "18" },
- { text: "境外法轮功骨干人员", value: "19" },
- { text: "其他邪教骨干人员", value: "20" },
- { text: "心灵法门骨干人员", value: "21" },
- { text: "“精神控制”有害培训骨干人员", value: "22" },
- { text: "重点人员", value: "23" },
- ];
- const showZW = ref("");
- const checkboxRefs = ref([]);
- let hs_persontype = ref(false);
- const toggle = (index) => {
- checkboxRefs.value[index].toggle();
- personnalType.value = getValue(checked2.value).join();
- showZW.value = checked2.value.join();;
- };
- const changperson = ()=>{
- const json = Object.assign(
- { ...inputForm.value },
- { personnelType: showZW.value }
- );
- inputForm.value = json;
- changePersonnelType();
- }
- const changePersonnelType = () => {
- let userManagenmetDetailsDTOList = [];
- new placePerson().userDTOqueryId(inputForm.value.personnelType.toString()).then((data) => {
- data.forEach((item) => {
- let userManagenmetDetail = {};
- userManagenmetDetail = Object.assign(userManagenmetDetail, {
- id: "",
- chineseName: item.chineseName,
- englishName: item.englishName,
- dataType: item.dataType,
- value: "",
- orderNum: item.orderNum,
- dataDictionary: item.dataDictionary,
- dataDictionaryId: item.dataDictionaryId,
- });
- userManagenmetDetailsDTOList.push(userManagenmetDetail);
- });
- inputForm.value.userManagenmetDetailsDTOList = userManagenmetDetailsDTOList
- console.log(inputForm.value.userManagenmetDetailsDTOList,'================================>inputForm.value.userManagenmetDetailsDTOList');
- });
- };
- onBeforeUpdate(() => {
- checkboxRefs.value = [];
- });
- const getValue = (item) => {
- const type = {
- 1: "宗教从业人员",
- 2: "民族场所从业人员",
- 3: "教职人员",
- 4: "固定信徒",
- 5: "场所居住人员",
- 6: "境外人员",
- 7: "非本市人员",
- 8: "非本教人员",
- 9: "临时人员",
- 10: "异常人员",
- 12: "邪教人员",
- 13: "管理人员",
- 14: "全能神离家人员",
- 15: "全能神骨干人员",
- 16: "网络运营人员",
- 17: "涉政有害活动人员",
- 18: "境内外记者",
- 19: "境外法轮功骨干人员",
- 20: "其他邪教骨干人员",
- 21: "心灵法门骨干人员",
- 22: "“精神控制”有害培训骨干人员",
- 23: "重点人员",
- };
- let Array = [];
- item.forEach((chilr) => {
- Array.push(type[chilr]);
- });
- return Array;
- };
- // 是否参加非法活动
- const activitytext = ref("");
- const activity = [
- { text: "是", value: "0" },
- { text: "否", value: "1" },
- ];
- let hs_activity = ref(false);
- const getactivity = ({ selectedOptions }) => {
- hs_activity.value = false;
- const json = Object.assign(inputForm.value, {
- bkcheck: selectedOptions[0].value,
- });
- inputForm.value = json;
- activitytext.value = selectedOptions[0].text;
- };
- // 扩展信息选择
- const teachPosition = ref("");
- let hs_select = ref(false);
- const getselect = ({selectedOptions,selectedIndexes}) => {
- hs_select.value = false;
- teachPosition.value = selectedOptions[0].value;
- };
- // 扩展信息的时间
- const issueDate = ref("");
- let hs_Date = ref(false);
- const getDate = ({ selectedOptions }) => {
- hs_Date.value = false;
- issueDate.value =
- selectedOptions[0].text +
- "-" +
- selectedOptions[1].text +
- "-" +
- selectedOptions[2].text;
- };
- //跳转
- let router = useRouter();
- const handleAvatarSuccess1 = (row, res, file, filelist) => {
- row.value = res.url;
- };
- //数据提交
- const submit = () => {
- new placePerson().save(inputForm.value).then((res) => {
- console.log(res);
- if (res.status == 200) {
- xm.showToast({
- message: "人员添加成功",
- });
- router.push({
- path: "/placePerson",
- });
- } else {
- xm.showToast({
- message: "人员添加失败",
- });
- console.log(res);
- }
- });
- };
- return {
- //人员添加
- inputForm,
- // 证件类型
- idTypeName,
- showPicker,
- places,
- getPlace,
- //民族
- nationName,
- hs_nation,
- nation,
- getnation,
- //性别
- sexName,
- hs_sex,
- sex,
- getsex,
- // 教育程度
- educationName,
- hs_education,
- education,
- geteducation,
- // 宗教类别
- religiousName,
- hs_religious,
- religious,
- getreligious,
- // 宗教类别2
- religiousName2,
- religioustype2,
- hs_religious2,
- religious2,
- getreligious2,
- //所属场所
- locationName,
- checked,
- hs_site,
- getsite,
- sitelist,
- loading,
- finished,
- onLoad,
- refreshing,
- //场所任职情况
- typeOfEmployeesName,
- hs_typeOfEmployees,
- typeOfEmployees,
- gettypeOfEmployees,
- //籍贯
- nativePlace,
- hs_nativePlace,
- getnativePlace,
- //宗教组织
- tissueName,
- checked1,
- hs_tissue,
- gettissue,
- tissuelist,
- loading1,
- finished1,
- onLoad1,
- refreshing1,
- //人员类型
- checked2,
- personnalType,
- persontype,
- hs_persontype,
- toggle,
- changperson,
- checkboxRefs,
- showZW,
- // 是否参加非法活动
- activity,
- hs_activity,
- getactivity,
- activitytext,
- //教职身份
- teachPosition,
- hs_select,
- getselect,
- //证书颁发时间
- hs_Date,
- issueDate,
- getDate,
- //图片上传
- fileList,
- afterRead1,
- //图片删除
- fjdelete,
- // 返回
- onClickLeft,
- // 详细地址定位
- getLocation,
- // 地区选择
- placeAddress,
- customFieldName,
- showPlace1,
- getPlace1,
- options,
- //数据提交
- submit,
- selectColor,
- };
- },
- };
- </script>
- <style lang="less">
- .subbtn {
- margin: 20px;
- text-align: center;
- }
- .subbtn .van-button {
- width: 40%;
- margin: 5px;
- }
- .van-uploader .van-button {
- border: none;
- color: #36a7f3;
- top: -4px;
- }
- .van-radio {
- margin-right: 10px;
- }
- .dialog {
- width: 100%;
- height: 400px;
- overflow: auto;
- }
- </style>
|