|
|
@@ -1,273 +1,297 @@
|
|
|
<template>
|
|
|
<view style="padding: 30rpx;">
|
|
|
- <view class="topBox">
|
|
|
- <view>
|
|
|
- <u-icon name="error-circle-fill" color="#FF3B30" size="28"></u-icon>
|
|
|
- <text style="color: #FF3B30;margin-left: 10rpx;">学习前请提交完整审核资料</text>
|
|
|
- </view>
|
|
|
- <view style="color: #007AFF;" @click="backPage">稍后再填</view>
|
|
|
- </view>
|
|
|
- <u-collapse v-if="remarkStatus" :item-style="itemStyle" event-type="close">
|
|
|
- <u-collapse-item title="审核结果反馈">
|
|
|
- <view style="padding-bottom: 30rpx;">
|
|
|
- <text class="collapse-item">{{ remark }}</text>
|
|
|
+
|
|
|
+ <view v-show="!agreementModal">
|
|
|
+ <view class="topBox">
|
|
|
+ <view>
|
|
|
+ <u-icon name="error-circle-fill" color="#FF3B30" size="28"></u-icon>
|
|
|
+ <text style="color: #FF3B30;margin-left: 10rpx;">学习前请提交完整审核资料</text>
|
|
|
</view>
|
|
|
- </u-collapse-item>
|
|
|
- </u-collapse>
|
|
|
- <view class="bodyBox" style="margin-top: 30rpx;padding:0 20rpx;">
|
|
|
- <u-form :model="form" ref="uForm">
|
|
|
- <template v-for="(item, index) in listData">
|
|
|
- <u-form-item
|
|
|
- :key="index"
|
|
|
- v-if="item.fieldKey == 'name'"
|
|
|
- :label="item.fieldName"
|
|
|
- :required="item.required"
|
|
|
- :label-width="auto"
|
|
|
- :prop="item.required ? item.fieldKey : ''"
|
|
|
- >
|
|
|
- <u-input v-model="form.name" :placeholder="`请输入${item.fieldName}`" />
|
|
|
- </u-form-item>
|
|
|
- <u-form-item
|
|
|
- :key="index"
|
|
|
- v-if="item.fieldKey == 'idcard'"
|
|
|
- :label="item.fieldName"
|
|
|
- :required="item.required"
|
|
|
- :label-width="auto"
|
|
|
- :prop="item.required ? item.fieldKey : ''"
|
|
|
- >
|
|
|
- <u-input v-model="form.idcard" :placeholder="`请输入${item.fieldName}`" />
|
|
|
- </u-form-item>
|
|
|
- <u-form-item
|
|
|
- :key="index"
|
|
|
- v-if="item.fieldKey == 'telphone'"
|
|
|
- :label="item.fieldName"
|
|
|
- :required="item.required"
|
|
|
- :label-width="auto"
|
|
|
- :prop="item.required ? item.fieldKey : ''"
|
|
|
- >
|
|
|
- <u-input v-model="form.telphone" :placeholder="`请输入${item.fieldName}`" />
|
|
|
- </u-form-item>
|
|
|
- <u-form-item
|
|
|
- :key="index"
|
|
|
- v-if="item.fieldKey == 'school'"
|
|
|
- :label="item.fieldName"
|
|
|
- :required="item.required"
|
|
|
- :label-width="auto"
|
|
|
- :prop="item.required ? item.fieldKey : ''"
|
|
|
- >
|
|
|
- <u-input v-model="form.school" :placeholder="`请输入${item.fieldName}`" />
|
|
|
- </u-form-item>
|
|
|
- <u-form-item
|
|
|
- :key="index"
|
|
|
- v-if="item.fieldKey == 'work_unit'"
|
|
|
- :label="item.fieldName"
|
|
|
- :required="item.required"
|
|
|
- :label-width="auto"
|
|
|
- :prop="item.required ? item.fieldKey : ''"
|
|
|
- >
|
|
|
- <u-input v-model="form.work_unit" :placeholder="`请输入${item.fieldName}`" />
|
|
|
- </u-form-item>
|
|
|
- <u-form-item
|
|
|
- :key="index"
|
|
|
- v-if="item.fieldKey == 'unit_contact'"
|
|
|
- :label="item.fieldName"
|
|
|
- :required="item.required"
|
|
|
- :label-width="auto"
|
|
|
- :prop="item.required ? item.fieldKey : ''"
|
|
|
- >
|
|
|
- <u-input v-model="form.unit_contact" :placeholder="`请输入${item.fieldName}`" />
|
|
|
- </u-form-item>
|
|
|
- <u-form-item
|
|
|
- :key="index"
|
|
|
- v-if="item.fieldKey == 'unit_tel'"
|
|
|
- :label="item.fieldName"
|
|
|
- :required="item.required"
|
|
|
- :label-width="auto"
|
|
|
- :prop="item.required ? item.fieldKey : ''"
|
|
|
- >
|
|
|
- <u-input v-model="form.unit_tel" :placeholder="`请输入${item.fieldName}`" />
|
|
|
- </u-form-item>
|
|
|
- <u-form-item
|
|
|
- :key="index"
|
|
|
- v-if="item.fieldKey == 'apply_post'"
|
|
|
- :label="item.fieldName"
|
|
|
- :required="item.required"
|
|
|
- :label-width="auto"
|
|
|
- :prop="item.required ? item.fieldKey : ''"
|
|
|
- >
|
|
|
- <u-input v-model="form.apply_post" :placeholder="`请输入${item.fieldName}`" />
|
|
|
- </u-form-item>
|
|
|
- <u-form-item
|
|
|
- :key="index"
|
|
|
- v-if="item.fieldKey == 'major'"
|
|
|
- :label="item.fieldName"
|
|
|
- :required="item.required"
|
|
|
- :label-width="auto"
|
|
|
- :prop="item.required ? item.fieldKey : ''"
|
|
|
- >
|
|
|
- <u-input v-model="form.major" :placeholder="`请输入${item.fieldName}`" />
|
|
|
- </u-form-item>
|
|
|
- <u-form-item
|
|
|
- :key="index"
|
|
|
- v-if="item.inputType == 2"
|
|
|
- :label="item.fieldName"
|
|
|
- :label-width="auto"
|
|
|
- :required="item.required"
|
|
|
- :prop="item.required ? item.fieldKey : ''"
|
|
|
- >
|
|
|
- <picker @change="bindPickerChange(item.fieldKey, $event)" :value="form[item.fieldKey]" :range="getarrays(item.fieldKey)">
|
|
|
- <view class="picker">
|
|
|
- {{ returnName(item.fieldKey) }}
|
|
|
- <image
|
|
|
- src="@/static/icon/clears.png"
|
|
|
- v-if="clearWatch(item.fieldKey)"
|
|
|
- @click.stop="clearFun(item.fieldKey)"
|
|
|
- mode=""
|
|
|
- style="width:30rpx;height:30rpx;vertical-align: middle;margin-left:10rpx;"
|
|
|
- ></image>
|
|
|
- </view>
|
|
|
- </picker>
|
|
|
- </u-form-item>
|
|
|
- <u-form-item
|
|
|
- :key="index"
|
|
|
- v-if="item.inputType == 5"
|
|
|
- :label="item.fieldName"
|
|
|
- :label-width="auto"
|
|
|
- :required="item.required"
|
|
|
- :prop="item.required ? item.fieldKey : ''"
|
|
|
- >
|
|
|
- <picker mode="date" :value="form[item.fieldKey]" @change="bindDateChange(item.fieldKey, $event)">
|
|
|
- <view class="picker">
|
|
|
- {{ getTimes(item.fieldKey) }}
|
|
|
- <image
|
|
|
- src="@/static/icon/clears.png"
|
|
|
- v-if="clearWatch(item.fieldKey)"
|
|
|
- @click.stop="clearFun(item.fieldKey)"
|
|
|
- mode=""
|
|
|
- style="width:30rpx;height:30rpx;vertical-align: middle;margin-left:10rpx;"
|
|
|
- ></image>
|
|
|
- </view>
|
|
|
- </picker>
|
|
|
- </u-form-item>
|
|
|
- <u-form-item
|
|
|
- :key="index"
|
|
|
- v-if="item.inputType == 3 && item.fieldKey !== 'commitment_electr_signature'"
|
|
|
- :label="item.fieldName"
|
|
|
- :required="item.required"
|
|
|
- :label-width="auto"
|
|
|
- label-position="top"
|
|
|
- :prop="item.required ? item.fieldKey : ''"
|
|
|
- >
|
|
|
- <text v-if="item.fieldKey === 'recent_photos'" style="color: #999999;position: absolute;top: 20rpx;left: 130rpx;">竖向证件照 文件大小≤2M</text>
|
|
|
- <text
|
|
|
- v-if="item.fieldKey === 'idcard_face_photo' || item.fieldKey === 'idcard_national_photo'"
|
|
|
- style="color: #999999;position: absolute;top: 20rpx;left: 180rpx;"
|
|
|
+ <view style="color: #007AFF;" @click="backPage">稍后再填</view>
|
|
|
+ </view>
|
|
|
+ <u-collapse v-if="remarkStatus" :item-style="itemStyle" event-type="close">
|
|
|
+ <u-collapse-item title="审核结果反馈">
|
|
|
+ <view style="padding-bottom: 30rpx;">
|
|
|
+ <text class="collapse-item">{{ remark }}</text>
|
|
|
+ </view>
|
|
|
+ </u-collapse-item>
|
|
|
+ </u-collapse>
|
|
|
+ <view class="bodyBox" style="margin-top: 30rpx;padding:0 20rpx;">
|
|
|
+ <u-form :model="form" ref="uForm" :error-type="errorType">
|
|
|
+ <template v-for="(item,index) in listData" >
|
|
|
+ <u-form-item
|
|
|
+ :key="index"
|
|
|
+ v-if="item.fieldKey == 'name'"
|
|
|
+ :label="item.fieldName"
|
|
|
+ :required="item.required"
|
|
|
+ :label-width="auto"
|
|
|
+ :prop="item.required ? item.fieldKey : ''"
|
|
|
>
|
|
|
- 文件大小≤2M
|
|
|
- </text>
|
|
|
- <u-upload
|
|
|
- :show-progress="false"
|
|
|
- :max-size="2097152"
|
|
|
- @on-list-change="
|
|
|
- item.fieldKey === 'recent_photos'
|
|
|
- ? changePhotoListHeader1($event)
|
|
|
- : item.fieldKey === 'idcard_face_photo'
|
|
|
- ? changePhotoListHeader2($event)
|
|
|
- : item.fieldKey === 'idcard_national_photo'
|
|
|
- ? changePhotoListHeader3($event)
|
|
|
- : ''
|
|
|
- "
|
|
|
- :auto-upload="false"
|
|
|
- custom-btn="true"
|
|
|
- :action="action"
|
|
|
- :file-list="
|
|
|
- item.fieldKey === 'recent_photos'
|
|
|
- ? fileList1
|
|
|
- : item.fieldKey === 'idcard_face_photo'
|
|
|
- ? fileList2
|
|
|
- : item.fieldKey === 'idcard_national_photo'
|
|
|
- ? fileList3
|
|
|
- : ''
|
|
|
- "
|
|
|
- width="120"
|
|
|
- height="120"
|
|
|
- size-type="['compressed']"
|
|
|
- max-count="1"
|
|
|
+ <u-input v-model="form.name" :placeholder="`请输入${item.fieldName}`" />
|
|
|
+ </u-form-item>
|
|
|
+ <u-form-item
|
|
|
+ :key="index"
|
|
|
+ v-if="item.fieldKey == 'idcard'"
|
|
|
+ :label="item.fieldName"
|
|
|
+ :required="item.required"
|
|
|
+ :label-width="auto"
|
|
|
+ :prop="item.required ? item.fieldKey : ''"
|
|
|
>
|
|
|
- <template v-slot:addBtn>
|
|
|
- <image
|
|
|
- :src="
|
|
|
- item.fieldKey === 'recent_photos'
|
|
|
- ? '/static/info_1.png'
|
|
|
- : item.fieldKey === 'idcard_face_photo'
|
|
|
- ? '/static/info_2.png'
|
|
|
- : item.fieldKey === 'idcard_national_photo'
|
|
|
- ? '/static/info_3.png'
|
|
|
- : ''
|
|
|
- "
|
|
|
- :style="
|
|
|
- item.fieldKey === 'recent_photos'
|
|
|
- ? 'width: 120rpx; height: 169rpx;'
|
|
|
- : item.fieldKey === 'idcard_face_photo'
|
|
|
- ? 'width: 120rpx; height: 82rpx;'
|
|
|
- : item.fieldKey === 'idcard_national_photo'
|
|
|
- ? 'width: 120rpx; height: 82rpx;'
|
|
|
- : ''
|
|
|
- "
|
|
|
- ></image>
|
|
|
- </template>
|
|
|
- </u-upload>
|
|
|
- </u-form-item>
|
|
|
- <view :key="index" v-if="item.inputType == 3 && item.fieldKey === 'commitment_electr_signature'">
|
|
|
+ <u-input v-model="form.idcard" :placeholder="`请输入${item.fieldName}`" />
|
|
|
+ </u-form-item>
|
|
|
<u-form-item
|
|
|
- v-if="item.inputType == 3 && item.fieldKey === 'commitment_electr_signature'"
|
|
|
- label="承诺书"
|
|
|
+ :key="index"
|
|
|
+ v-if="item.fieldKey == 'telphone'"
|
|
|
+ :label="item.fieldName"
|
|
|
:required="item.required"
|
|
|
:label-width="auto"
|
|
|
- label-position="top"
|
|
|
+ :prop="item.required ? item.fieldKey : ''"
|
|
|
>
|
|
|
- <view style="line-height: 40rpx;text-indent:2em">
|
|
|
- <text>
|
|
|
- 本人自愿做出如下承诺:本人己仔细阅读《广东省住房和城乡建设厅关于推进住房和城乡建设领域施工现场专业人员职业培训工作的通知》
|
|
|
- 全部内容并知晓和理解,本人的学历证书、身份证、工作年限、相片等所有资料完全真实、符合报名条件、资格审查要求和相关规定,本人在报名、审查、培训、测试等有关的事项中会严格道守相关规定和要求,如有虛假或与实际规定不符等情况造成的一切后果由本人承担。
|
|
|
- </text>
|
|
|
- <view style="line-height: 40rpx;text-indent:2em"><text>特此承诺!</text></view>
|
|
|
- </view>
|
|
|
+ <u-input v-model="form.telphone" :placeholder="`请输入${item.fieldName}`" />
|
|
|
</u-form-item>
|
|
|
<u-form-item
|
|
|
- v-if="item.inputType == 3 && item.fieldKey === 'commitment_electr_signature'"
|
|
|
- label="签名板"
|
|
|
+ :key="index"
|
|
|
+ v-if="item.fieldKey == 'school'"
|
|
|
+ :label="item.fieldName"
|
|
|
:required="item.required"
|
|
|
:label-width="auto"
|
|
|
- label-position="top"
|
|
|
:prop="item.required ? item.fieldKey : ''"
|
|
|
>
|
|
|
- <view class="dis_stys">
|
|
|
- <text style="color: #999999;">请在下方签名区进行签名</text>
|
|
|
- <text @click="retDraw" mode="">清空</text>
|
|
|
- </view>
|
|
|
- <view class="handCenter">
|
|
|
- <canvas
|
|
|
- v-if="!form[item.fieldKey]"
|
|
|
- class="handWriting"
|
|
|
- disable-scroll="true"
|
|
|
- @touchstart="uploadScaleStart"
|
|
|
- @touchmove="uploadScaleMove"
|
|
|
- @touchend="uploadScaleEnd"
|
|
|
- @tap="mouseDown"
|
|
|
- canvas-id="handWriting"
|
|
|
- ></canvas>
|
|
|
- <view v-else style="width:100%;height: 100%;position: relative;">
|
|
|
- <view class="ctoples">图片</view>
|
|
|
- <image style="width:100%;height:100%;" :src="$method.splitImgHost(form[item.fieldKey])" mode=""></image>
|
|
|
+ <u-input v-model="form.school" :placeholder="`请输入${item.fieldName}`" />
|
|
|
+ </u-form-item>
|
|
|
+ <u-form-item
|
|
|
+ :key="index"
|
|
|
+ v-if="item.fieldKey == 'work_unit'"
|
|
|
+ :label="item.fieldName"
|
|
|
+ :required="item.required"
|
|
|
+ :label-width="auto"
|
|
|
+ :prop="item.required ? item.fieldKey : ''"
|
|
|
+ >
|
|
|
+ <u-input v-model="form.work_unit" :placeholder="`请输入${item.fieldName}`" />
|
|
|
+ </u-form-item>
|
|
|
+ <u-form-item
|
|
|
+ :key="index"
|
|
|
+ v-if="item.fieldKey == 'unit_contact'"
|
|
|
+ :label="item.fieldName"
|
|
|
+ :required="item.required"
|
|
|
+ :label-width="auto"
|
|
|
+ :prop="item.required ? item.fieldKey : ''"
|
|
|
+ >
|
|
|
+ <u-input v-model="form.unit_contact" :placeholder="`请输入${item.fieldName}`" />
|
|
|
+ </u-form-item>
|
|
|
+ <u-form-item
|
|
|
+ :key="index"
|
|
|
+ v-if="item.fieldKey == 'unit_tel'"
|
|
|
+ :label="item.fieldName"
|
|
|
+ :required="item.required"
|
|
|
+ :label-width="auto"
|
|
|
+ :prop="item.required ? item.fieldKey : ''"
|
|
|
+ >
|
|
|
+ <u-input v-model="form.unit_tel" :placeholder="`请输入${item.fieldName}`" />
|
|
|
+ </u-form-item>
|
|
|
+ <u-form-item
|
|
|
+ :key="index"
|
|
|
+ v-if="item.fieldKey == 'apply_post'"
|
|
|
+ :label="item.fieldName"
|
|
|
+ :required="item.required"
|
|
|
+ :label-width="auto"
|
|
|
+ :prop="item.required ? item.fieldKey : ''"
|
|
|
+ >
|
|
|
+ <u-input v-model="form.apply_post" :placeholder="`请输入${item.fieldName}`" />
|
|
|
+ </u-form-item>
|
|
|
+ <u-form-item
|
|
|
+ :key="index"
|
|
|
+ v-if="item.fieldKey == 'major'"
|
|
|
+ :label="item.fieldName"
|
|
|
+ :required="item.required"
|
|
|
+ :label-width="auto"
|
|
|
+ :prop="item.required ? item.fieldKey : ''"
|
|
|
+ >
|
|
|
+ <u-input v-model="form.major" :placeholder="`请输入${item.fieldName}`" />
|
|
|
+ </u-form-item>
|
|
|
+ <u-form-item
|
|
|
+ :key="index"
|
|
|
+ v-if="item.inputType == 2"
|
|
|
+ :label="item.fieldName"
|
|
|
+ :label-width="auto"
|
|
|
+ :required="item.required"
|
|
|
+ :prop="item.required ? item.fieldKey : ''"
|
|
|
+ >
|
|
|
+ <picker @change="bindPickerChange(item.fieldKey, $event)" :value="form[item.fieldKey]" :range="getarrays(item.fieldKey)">
|
|
|
+ <view class="picker">
|
|
|
+ {{ returnName(item.fieldKey) }}
|
|
|
+ <image
|
|
|
+ src="@/static/icon/clears.png"
|
|
|
+ v-if="clearWatch(item.fieldKey)"
|
|
|
+ @click.stop="clearFun(item.fieldKey)"
|
|
|
+ mode=""
|
|
|
+ style="width:30rpx;height:30rpx;vertical-align: middle;margin-left:10rpx;"
|
|
|
+ ></image>
|
|
|
</view>
|
|
|
- </view>
|
|
|
+ </picker>
|
|
|
</u-form-item>
|
|
|
- </view>
|
|
|
- </template>
|
|
|
- </u-form>
|
|
|
+ <u-form-item
|
|
|
+ :key="index"
|
|
|
+ v-if="item.inputType == 5"
|
|
|
+ :label="item.fieldName"
|
|
|
+ :label-width="auto"
|
|
|
+ :required="item.required"
|
|
|
+ :prop="item.required ? item.fieldKey : ''"
|
|
|
+ >
|
|
|
+ <picker mode="date" :value="form[item.fieldKey]" @change="bindDateChange(item.fieldKey, $event)">
|
|
|
+ <view class="picker">
|
|
|
+ {{ getTimes(item.fieldKey) }}
|
|
|
+ <image
|
|
|
+ src="@/static/icon/clears.png"
|
|
|
+ v-if="clearWatch(item.fieldKey)"
|
|
|
+ @click.stop="clearFun(item.fieldKey)"
|
|
|
+ mode=""
|
|
|
+ style="width:30rpx;height:30rpx;vertical-align: middle;margin-left:10rpx;"
|
|
|
+ ></image>
|
|
|
+ </view>
|
|
|
+ </picker>
|
|
|
+ </u-form-item>
|
|
|
+ <u-form-item
|
|
|
+ :key="index"
|
|
|
+ v-if="item.inputType == 3 && item.fieldKey !== 'commitment_electr_signature'"
|
|
|
+ :label="item.fieldName"
|
|
|
+ :required="item.required"
|
|
|
+ :label-width="auto"
|
|
|
+ label-position="top"
|
|
|
+ :prop="item.required ? item.fieldKey : ''"
|
|
|
+ >
|
|
|
+ <text v-if="item.fieldKey === 'recent_photos'" style="color: #999999;position: absolute;top: 20rpx;left: 130rpx;">竖向证件照 文件大小≤2M</text>
|
|
|
+ <text
|
|
|
+ v-if="item.fieldKey === 'idcard_face_photo' || item.fieldKey === 'idcard_national_photo'"
|
|
|
+ style="color: #999999;position: absolute;top: 20rpx;left: 180rpx;"
|
|
|
+ >
|
|
|
+ 文件大小≤2M
|
|
|
+ </text>
|
|
|
+ <u-upload
|
|
|
+ :show-progress="false"
|
|
|
+ :max-size="2097152"
|
|
|
+ @on-list-change="
|
|
|
+ item.fieldKey === 'recent_photos'
|
|
|
+ ? changePhotoListHeader1($event)
|
|
|
+ : item.fieldKey === 'idcard_face_photo'
|
|
|
+ ? changePhotoListHeader2($event)
|
|
|
+ : item.fieldKey === 'idcard_national_photo'
|
|
|
+ ? changePhotoListHeader3($event)
|
|
|
+ : ''
|
|
|
+ "
|
|
|
+ :auto-upload="false"
|
|
|
+ custom-btn="true"
|
|
|
+ :action="action"
|
|
|
+ :file-list="
|
|
|
+ item.fieldKey === 'recent_photos'
|
|
|
+ ? fileList1
|
|
|
+ : item.fieldKey === 'idcard_face_photo'
|
|
|
+ ? fileList2
|
|
|
+ : item.fieldKey === 'idcard_national_photo'
|
|
|
+ ? fileList3
|
|
|
+ : ''
|
|
|
+ "
|
|
|
+ width="120"
|
|
|
+ height="120"
|
|
|
+ size-type="['compressed']"
|
|
|
+ max-count="1"
|
|
|
+ >
|
|
|
+ <template v-slot:addBtn>
|
|
|
+ <image
|
|
|
+ :src="
|
|
|
+ item.fieldKey === 'recent_photos'
|
|
|
+ ? '/static/info_1.png'
|
|
|
+ : item.fieldKey === 'idcard_face_photo'
|
|
|
+ ? '/static/info_2.png'
|
|
|
+ : item.fieldKey === 'idcard_national_photo'
|
|
|
+ ? '/static/info_3.png'
|
|
|
+ : ''
|
|
|
+ "
|
|
|
+ :style="
|
|
|
+ item.fieldKey === 'recent_photos'
|
|
|
+ ? 'width: 120rpx; height: 169rpx;'
|
|
|
+ : item.fieldKey === 'idcard_face_photo'
|
|
|
+ ? 'width: 120rpx; height: 82rpx;'
|
|
|
+ : item.fieldKey === 'idcard_national_photo'
|
|
|
+ ? 'width: 120rpx; height: 82rpx;'
|
|
|
+ : ''
|
|
|
+ "
|
|
|
+ ></image>
|
|
|
+ </template>
|
|
|
+ </u-upload>
|
|
|
+ </u-form-item>
|
|
|
+ <view :key="index" v-if="item.inputType == 3 && item.fieldKey === 'commitment_electr_signature'">
|
|
|
+ <u-form-item
|
|
|
+ v-if="item.inputType == 3 && item.fieldKey === 'commitment_electr_signature'"
|
|
|
+ label="承诺书"
|
|
|
+ :required="item.required"
|
|
|
+ :label-width="auto"
|
|
|
+ label-position="top"
|
|
|
+ >
|
|
|
+ <view style="line-height: 40rpx;text-indent:2em">
|
|
|
+ <text>
|
|
|
+ 本人自愿做出如下承诺:本人己仔细阅读《广东省住房和城乡建设厅关于推进住房和城乡建设领域施工现场专业人员职业培训工作的通知》
|
|
|
+ 全部内容并知晓和理解,本人的学历证书、身份证、工作年限、相片等所有资料完全真实、符合报名条件、资格审查要求和相关规定,本人在报名、审查、培训、测试等有关的事项中会严格道守相关规定和要求,如有虛假或与实际规定不符等情况造成的一切后果由本人承担。
|
|
|
+ </text>
|
|
|
+ <view style="line-height: 40rpx;text-indent:2em"><text>特此承诺!</text></view>
|
|
|
+ </view>
|
|
|
+ </u-form-item>
|
|
|
+ <u-form-item
|
|
|
+ v-if="item.inputType == 3 && item.fieldKey === 'commitment_electr_signature'"
|
|
|
+ label="签名板"
|
|
|
+ :required="item.required"
|
|
|
+ :label-width="auto"
|
|
|
+ label-position="top"
|
|
|
+ :prop="item.required ? item.fieldKey : ''"
|
|
|
+ >
|
|
|
+ <view class="dis_stys">
|
|
|
+ <text style="color: #999999;">请在下方签名区进行签名</text>
|
|
|
+ <text @click="retDraw" mode="">清空</text>
|
|
|
+ </view>
|
|
|
+ <view class="handCenter">
|
|
|
+ <canvas
|
|
|
+ v-if="!form[item.fieldKey]"
|
|
|
+ class="handWriting"
|
|
|
+ disable-scroll="true"
|
|
|
+ :catchtouchmove="true"
|
|
|
+ @touchstart="uploadScaleStart"
|
|
|
+ @touchmove="uploadScaleMove"
|
|
|
+ @touchend="uploadScaleEnd"
|
|
|
+ canvas-id="handWriting"
|
|
|
+ ></canvas>
|
|
|
+ <view v-else style="width:100%;height: 100%;position: relative;">
|
|
|
+ <view class="ctoples">图片</view>
|
|
|
+ <image style="width:100%;height:100%;" :src="$method.splitImgHost(form[item.fieldKey])" mode=""></image>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </u-form-item>
|
|
|
+ </view>
|
|
|
+ </template>
|
|
|
+ </u-form>
|
|
|
+ </view>
|
|
|
+ <view @click="submits" class="submit_btn">提交资料</view>
|
|
|
</view>
|
|
|
- <view @click="submits" class="submit_btn">提交资料</view>
|
|
|
+
|
|
|
+
|
|
|
+ <u-popup class="modal" catchtouchmove='return' v-model="agreementModal" mode="center" border-radius="24" :mask-close-able="false">
|
|
|
+ <view class="agreement">
|
|
|
+ <view class="body">
|
|
|
+ <scroll-view scroll-y="true" style="height:600rpx;">
|
|
|
+ <view class="content">
|
|
|
+ <view>本产品(或服务)提供【{{goodsData.goodsName}}】课程的在线学习功能,为使用这些功能,我们需要使用您设备上的摄像头,并收集以下个人信息:
|
|
|
+ <text v-for="(item,listIndex) in listData" :key="listIndex">{{item.fieldName}}、</text>
|
|
|
+ <!-- 姓名、性别、身份证号码、移动电话号码、身份证照片、一寸照、证书名称/岗位、证书编号、有效期、人脸照片(每节课随机拍摄三张)、 -->
|
|
|
+ 学习详细记录。</view>
|
|
|
+ <view>我们会将上述信息提供至广东省建设执业注册管理中心等第三方组织使用,用于继续教育备案等。如果您拒绝,将导致这些功能无法实现,但不影响您使用本产品(或服务)的其他业务功能。</view>
|
|
|
+ </view>
|
|
|
+ </scroll-view>
|
|
|
+ </view>
|
|
|
+ <view class="footer">
|
|
|
+ <view class="btn cancel" @click="refuseAgreement">取消</view>
|
|
|
+ <view class="btn ok" @click="agree">同意并继续</view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </u-popup>
|
|
|
</view>
|
|
|
</template>
|
|
|
|
|
|
@@ -278,12 +302,16 @@ import Handwriting from '@/common/signature.js';
|
|
|
export default {
|
|
|
data() {
|
|
|
return {
|
|
|
+ errorType: ['message'],
|
|
|
+ agreementModal:true,
|
|
|
+ goodsData:{},
|
|
|
itemStyle: {
|
|
|
marginTop: '20px',
|
|
|
backgroundColor: '#fff',
|
|
|
borderRadius: '24rpx',
|
|
|
padding: '0rpx 20rpx'
|
|
|
},
|
|
|
+ isUploading:false,
|
|
|
form: {
|
|
|
name: '',
|
|
|
sex: '',
|
|
|
@@ -476,8 +504,9 @@ export default {
|
|
|
created() {
|
|
|
this.$store.getters.dictObj;
|
|
|
},
|
|
|
- onLoad(option) {
|
|
|
+ async onLoad(option) {
|
|
|
this.goodsId = Number(option.id);
|
|
|
+ await this.getGoodsDetail()
|
|
|
this.getInfo();
|
|
|
},
|
|
|
onReady(res) {
|
|
|
@@ -488,8 +517,44 @@ export default {
|
|
|
});
|
|
|
this.$refs.uForm.setRules(this.rules);
|
|
|
},
|
|
|
- computed: { ...mapGetters(['dictObj']) },
|
|
|
+ computed: { ...mapGetters(['dictObj','userInfo']) },
|
|
|
+ watch:{
|
|
|
+ userInfo(val, oldVal){//普通的watch监听
|
|
|
+ if(val){
|
|
|
+
|
|
|
+ this.listData.forEach(item => {
|
|
|
+ if(item.fieldKey == "idcard") {
|
|
|
+ this.form.idcard = this.userInfo.idCard;
|
|
|
+ }
|
|
|
+ if(item.fieldKey == "telphone") {
|
|
|
+ this.form.telphone = this.userInfo.telphone;
|
|
|
+ }
|
|
|
+
|
|
|
+ if(item.fieldKey == "name") {
|
|
|
+ this.form.name = this.userInfo.realname
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ },
|
|
|
methods: {
|
|
|
+ getGoodsDetail() {
|
|
|
+ return new Promise(resolve => {
|
|
|
+
|
|
|
+ this.$api.goodsDetail(this.goodsId).then(res => {
|
|
|
+ this.goodsData = res.data.data;
|
|
|
+ resolve()
|
|
|
+ })
|
|
|
+ })
|
|
|
+ },
|
|
|
+ agree() {
|
|
|
+ this.agreementModal = false;
|
|
|
+ },
|
|
|
+ refuseAgreement() {
|
|
|
+ uni.navigateBack({
|
|
|
+ delta:1
|
|
|
+ })
|
|
|
+ },
|
|
|
clearFun(key) {
|
|
|
this.form[key] = '';
|
|
|
},
|
|
|
@@ -547,7 +612,12 @@ export default {
|
|
|
goodsId: this.goodsId,
|
|
|
keyValue: JSON.stringify(arsty)
|
|
|
};
|
|
|
+ if(this.isUploading) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ this.isUploading = true;
|
|
|
this.$api.editbaseprofiletp(datas).then(res => {
|
|
|
+ this.isUploading = false;
|
|
|
if (res.data.code === 200) {
|
|
|
this.$method.showToast('提交成功');
|
|
|
uni.navigateBack();
|
|
|
@@ -574,7 +644,12 @@ export default {
|
|
|
profileTpId: this.goodsId,
|
|
|
keyValue: JSON.stringify(objs)
|
|
|
};
|
|
|
+ if(this.isUploading) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ this.isUploading = true;
|
|
|
this.$api.addbaseprofiletp(datas).then(res => {
|
|
|
+ this.isUploading = false;
|
|
|
if (res.data.code === 200) {
|
|
|
this.$method.showToast('提交成功');
|
|
|
uni.navigateBack();
|
|
|
@@ -617,15 +692,24 @@ export default {
|
|
|
if (this.isRequired) {
|
|
|
this.submitApi();
|
|
|
} else {
|
|
|
- this.$refs.uForm.validate(valid => {
|
|
|
- if (valid) {
|
|
|
- if (int === 1) {
|
|
|
- this.submitApi();
|
|
|
+ if(int === 1) {
|
|
|
+ this.errorType = ['toast'];
|
|
|
+ } else {
|
|
|
+ this.errorType = ['message'];
|
|
|
+ }
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.$refs.uForm.validate(valid => {
|
|
|
+ if (valid) {
|
|
|
+ if (int === 1) {
|
|
|
+ this.submitApi();
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ this.errorType = ['message'];
|
|
|
+ console.log('验证失败');
|
|
|
}
|
|
|
- } else {
|
|
|
- console.log('验证失败');
|
|
|
- }
|
|
|
- });
|
|
|
+ });
|
|
|
+ })
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
@@ -640,10 +724,9 @@ export default {
|
|
|
this.resultForm(1);
|
|
|
},
|
|
|
async changePhotoListHeader1(lists, name) {
|
|
|
- console.log(lists[0].url);
|
|
|
if (lists.length) {
|
|
|
this.fileList1 = lists;
|
|
|
- if (lists[0].url.indexOf('//tmp') !== -1) {
|
|
|
+ if (lists[0].url.indexOf('//tmp') !== -1 || lists[0].url.indexOf('//temp') !== -1) {
|
|
|
this.$set(this.form, 'recent_photos', await this.$method.imageInfos(lists[0].url));
|
|
|
}
|
|
|
} else {
|
|
|
@@ -659,7 +742,8 @@ export default {
|
|
|
async changePhotoListHeader2(lists, name) {
|
|
|
if (lists.length) {
|
|
|
this.fileList2 = lists;
|
|
|
- if (lists[0].url.indexOf('//tmp') !== -1) {
|
|
|
+ console.log(lists,'lists')
|
|
|
+ if (lists[0].url.indexOf('//tmp') !== -1 || lists[0].url.indexOf('//temp') !== -1) {
|
|
|
this.$set(this.form, 'idcard_face_photo', await this.$method.imageInfos(lists[0].url));
|
|
|
}
|
|
|
} else {
|
|
|
@@ -673,7 +757,7 @@ export default {
|
|
|
async changePhotoListHeader3(lists, name) {
|
|
|
if (lists.length) {
|
|
|
this.fileList3 = lists;
|
|
|
- if (lists[0].url.indexOf('//tmp') !== -1) {
|
|
|
+ if (lists[0].url.indexOf('//tmp') !== -1 || lists[0].url.indexOf('//temp') !== -1) {
|
|
|
this.$set(this.form, 'idcard_national_photo', await this.$method.imageInfos(lists[0].url));
|
|
|
}
|
|
|
} else {
|
|
|
@@ -732,9 +816,26 @@ export default {
|
|
|
var self = this;
|
|
|
this.$api.getbaseprofiletpId(this.goodsId).then(res => {
|
|
|
self.listData = JSON.parse(res.data.data.keyValue);
|
|
|
+
|
|
|
+
|
|
|
+ self.listData.forEach(item => {
|
|
|
+ if(item.fieldKey == "idcard") {
|
|
|
+ this.form.idcard = this.userInfo.idCard;
|
|
|
+ }
|
|
|
+ if(item.fieldKey == "telphone") {
|
|
|
+ this.form.telphone = this.userInfo.telphone;
|
|
|
+ }
|
|
|
+
|
|
|
+ if(item.fieldKey == "name") {
|
|
|
+ this.form.name = this.userInfo.realname
|
|
|
+ }
|
|
|
+ })
|
|
|
self.isRequired = self.listData.every(ims => {
|
|
|
return ims.required === false;
|
|
|
});
|
|
|
+ this.$nextTick(() => {
|
|
|
+ this.agreementModal = true;
|
|
|
+ })
|
|
|
self.$api.getbaseprofiletpgetInfo({ goodsId: self.goodsId }).then(result => {
|
|
|
if (result.data.code === 200) {
|
|
|
if (!result.data.data) {
|
|
|
@@ -881,6 +982,7 @@ export default {
|
|
|
self.handwriting
|
|
|
.saveCanvas()
|
|
|
.then(res => {
|
|
|
+ console.log(res,'res')
|
|
|
if (this.handwriting.linePrack.length) {
|
|
|
this.$set(this.form, 'commitment_electr_signature', res);
|
|
|
}
|
|
|
@@ -902,7 +1004,7 @@ page {
|
|
|
background: #eaeef1;
|
|
|
}
|
|
|
</style>
|
|
|
-<style scope>
|
|
|
+<style scope lang="scss">
|
|
|
.ctoples {
|
|
|
position: absolute;
|
|
|
top: 0;
|
|
|
@@ -919,7 +1021,7 @@ page {
|
|
|
height: 100%;
|
|
|
}
|
|
|
/deep/ .u-collapse-title {
|
|
|
- color: red;
|
|
|
+ color: #FF3B30;
|
|
|
font-size: 24rpx;
|
|
|
}
|
|
|
.collapse-item {
|
|
|
@@ -995,4 +1097,70 @@ input {
|
|
|
padding: 0 20rpx;
|
|
|
font-size: 24rpx;
|
|
|
}
|
|
|
+
|
|
|
+.modal {
|
|
|
+ .agreement {
|
|
|
+ width: 640rpx;
|
|
|
+ height: 740rpx;
|
|
|
+ background: #FFFFFF;
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+
|
|
|
+ .body {
|
|
|
+ flex:1;
|
|
|
+
|
|
|
+ .content {
|
|
|
+ padding:30rpx 40rpx 28rpx;
|
|
|
+ line-height: 40rpx;
|
|
|
+ font-size: 26rpx;
|
|
|
+ color:#666;
|
|
|
+
|
|
|
+ .bold {
|
|
|
+ color:#333;
|
|
|
+ font-size: 26rpx;
|
|
|
+ font-weight: bold;
|
|
|
+ }
|
|
|
+
|
|
|
+ .center {
|
|
|
+ text-align: center;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .footer {
|
|
|
+ height:140rpx;
|
|
|
+ border-top:1px solid #EEEEEE;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
+
|
|
|
+ .btn {
|
|
|
+ margin:0 12rpx;
|
|
|
+ width: 200rpx;
|
|
|
+ height: 80rpx;
|
|
|
+ color:#007AFF;
|
|
|
+ font-size: 30rpx;
|
|
|
+ text-align: center;
|
|
|
+ line-height: 80rpx;
|
|
|
+ background: #F5F5F5;
|
|
|
+ border-radius: 40rpx 40rpx 40rpx 40rpx;
|
|
|
+
|
|
|
+ &.ok {
|
|
|
+ width: 336rpx;
|
|
|
+ height: 80rpx;
|
|
|
+ background: #007AFF;
|
|
|
+ color:#fff;
|
|
|
+ }
|
|
|
+
|
|
|
+ &.close {
|
|
|
+ color:#fff;
|
|
|
+ width: 560rpx;
|
|
|
+ height: 80rpx;
|
|
|
+ background: #007AFF;
|
|
|
+ border-radius: 40rpx 40rpx 40rpx 40rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
</style>
|