Lou
2024-03-15 476272a06e8d465d864ec37ddf34afaaa160d34d
subPackage/workbench/components/formItem.vue
@@ -7,18 +7,18 @@
         <u-form-item label="电话号码" class="form-item">
            <u--input v-model="form.telephone" border="none" placeholder="请填写电话号码"></u--input>
         </u-form-item>
         <u-form-item label="暂住地" class="form-item">
            <u--input v-model="form.tempAddress" border="none" placeholder="请填写暂住地"></u--input>
         <u-form-item label="现居住地" class="form-item">
            <u--input v-model="form.tempAddress" border="none" placeholder="请填写现居住地"></u--input>
         </u-form-item>
         <u-form-item label="身份证号" class="form-item">
            <u--input v-model="form.idCard" border="none" placeholder="请填写身份证号"></u--input>
            <u--input v-model="form.idCard" type="idcard" border="none" placeholder="请填写身份证号"></u--input>
         </u-form-item>
         <u-form-item label="微信号" class="form-item">
            <u--input v-model="form.wxAccount" border="none" placeholder="请填写微信号"></u--input>
         </u-form-item>
         <u-form-item label="年龄" class="form-item">
         <!-- <u-form-item label="年龄" class="form-item">
            <u--input v-model="form.age" border="none" placeholder="请填写年龄"></u--input>
         </u-form-item>
         </u-form-item> -->
         <u-form-item @click="showGenderPicker = true" class="form-item" label="性别" prop="legalGender">
            <u--input border="none" v-model="genderValue" disabled disabledColor="#ffffff" placeholder="请选择性别">
            </u--input>
@@ -29,15 +29,28 @@
            </u--input>
            <u-icon slot="right" name="arrow-right"></u-icon>
         </u-form-item>
         <u-form-item label="工作单位" class="form-item">
         <!-- <u-form-item label="工作单位" class="form-item">
            <u--input v-model="form.employer" border="none" placeholder="请填写工作单位"></u--input>
         </u-form-item>
         </u-form-item> -->
         <u-form-item label="岗位性质" class="form-item">
            <u--input v-model="form.jobNature" border="none" placeholder="请填写岗位性质"></u--input>
         </u-form-item>
         <u-form-item label="户籍地址" class="form-item">
            <u--input v-model="form.registeredAddress" border="none" placeholder="请填写户籍地址"></u--input>
         </u-form-item>
         <view class="item pic">
            <view class="box-title f-28" style="padding:10rpx 0;">
               从业人员照片
            </view>
            <u-upload :fileList="form.employerImg" :previewFullImage="uploadConfig.previewFullImage"
               :accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple" :maxCount="uploadConfig.maxCount"
               :capture="uploadConfig.capture" uploadIcon="/static/icon/upload.png" @afterRead="afterReadImgs"
               @delete="deleteImages">
            </u-upload>
         </view>
      </u-form>
      <u-picker :defaultIndex="nationTypeListIndex" :closeOnClickOverlay="true" :show="showNationPicker"
         :columns="[nationTypeList]" @close="showNationPicker = false" @cancel="showNationPicker = false"
@@ -52,21 +65,24 @@
   import {
      bizDictionary
   } from '@/api/system/dict.js'
   import uploadMixin from "@/mixin/uploadMixinPlace";
   export default {
      mixins: [uploadMixin],
      data() {
         return {
            form: {
               name: '',
               telephone: '',
               tempAddress: '',
               legalIdCard: '',
               idCard: '',
               gender: "",
               ethnicity: "",
               registeredAddress: "",
               jobNature: "",
               wxAccount: "",
               employer: "",
               jobNature: ""
               jobNature: "",
               employerImg: []
            },
            rules: {
               name: {
@@ -135,6 +151,34 @@
            this.showGenderPicker = false;
         },
         //上传成功后对返回数据进行处理
         async afterReadImgs(event) {
            this.showLoading()
            let lists = [].concat(event.file)
            let fileListLen = this.form.employerImg.length
            lists.map((item) => {
               this.form.employerImg.push({
                  ...item,
                  status: 'uploading',
                  message: '上传中'
               })
            })
            for (let i = 0; i < lists.length; i++) {
               const result = await this.uploadFilePromise(lists[i].url)
               this.form.employerImg.splice(fileListLen, 1, Object.assign({}, {
                  url: result.data.link,
                  name: result.data.name
               }))
               fileListLen++
            }
            this.loadingClose()
         },
         deleteImages(event) {
            this.form.employerImg.splice(event.index, 1)
         }
      }
   }
</script>