|
|
- <template>
- <view class="page">
- <navbar
- title="需提交的材料"
- leftClick
- @leftClick="$utils.navigateBack"
- />
-
- <view class="form">
-
- <view class="form-item"
- :key="item.id"
- v-for="(item, index) in formList">
- <view class="label">
- {{ item.title }}<text>{{ item.descrip }}</text>
- </view>
-
- <view class="input"
- v-if="item.type == 0">
- <input type="text"
- :placeholder="'请输入' + item.title"
- v-model="form[item.keyName]"/>
- </view>
-
- <view class="input"
- v-else>
- <uv-upload
- :fileList="fileMapList[item.keyName]"
- :name="item.keyName"
- :maxCount="1"
- width="120rpx"
- height="120rpx"
- multiple
- @afterRead="afterRead"
- @delete="deleteImage">
- <view class="upload">
- <image :src="item.image"
- mode="aspectFit"
- style="width: 120rpx;height: 120rpx;" />
- </view>
- </uv-upload>
- </view>
- <view class="icon"
- v-if="item.type == 1">
- <uv-icon
- name="arrow-right"
- size="30rpx"
- ></uv-icon>
- </view>
- </view>
-
- </view>
-
-
- <view class="uni-color-btn"
- v-if="formList.length > 0"
- @click="addMaterial()">
- 提交
- </view>
-
- <view class="uni-uncolor-btn"
- @click="$refs.customerServicePopup.open()">
- 联系客服
- </view>
-
- <view class="tips"
- style="text-align: center;padding: 20rpx 0;
- width: 750rpx;">
- 如有疑问请联系客服
- </view>
-
- <customerServicePopup ref="customerServicePopup"/>
- </view>
- </template>
-
- <script>
- import customerServicePopup from '@/components/config/customerServicePopup.vue'
- export default {
- components : {
- customerServicePopup
- },
- data() {
- return {
- form : {
- },
- fileMapList : {},
- formList : [],
- id : 0,
- verification : {},
- }
- },
- onLoad({id}) {
- this.id = id
- this.queryCertById()
- },
- methods: {
- deleteImage(e){
- this.fileMapList[e.name].splice(e.index, 1)
- },
- afterRead(e){
- let self = this
- e.file.forEach(file => {
- self.$Oss.ossUpload(file.url).then(url => {
- self.fileMapList[e.name].push({
- url
- })
- })
- })
- },
- addMaterial(){
-
- this.formList.forEach(n => {
- if(n.type == 1){
- this.form[n.keyName] = this.fileMapList[n.keyName]
- .map((item) => item.url).join(",")
- }
- })
-
- if(this.$utils.verificationAll(this.form, this.verification)) {
- return
- }
- this.$api('addMaterial',this.form, res =>{
- if(res.code == 200){
- uni.showToast({
- title:'提交成功!等待审核',
- icon: 'none'
- })
- setTimeout(uni.navigateBack, 1000, -1)
- }
- })
- },
- queryCertById(){
- this.$api('queryCertById', {
- cerId : this.id,
- }, res => {
- if(res.code == 200){
- this.formList = res.result.employMaterialList
-
- res.result.employMaterialList.forEach(n => {
- if(n.type == 0){
- this.verification[n.keyName] = '请输入' + n.title
- this.form[n.keyName] = ''
- }else{
- this.verification[n.keyName] = '请上传' + n.title
- // this.fileMapList[n.keyName] = []
- this.$set(this.fileMapList, n.keyName, [])
- }
- })
-
- }
- })
- },
- }
- }
- </script>
-
- <style scoped lang="scss">
- .page{
- min-height: 100vh;
- .required::before{
- content: '*';
- color: #f00;
- }
- .form-item{
- padding: 30rpx 0;
- display: flex;
- align-items: center;
- border-bottom: 1rpx solid #00000009;
- font-size: 28rpx;
- .label{
- font-weight: 600;
- margin-right: 50rpx;
- text{
- font-size: 24rpx;
- font-weight: 500;
- }
- }
- .input{
- margin-left: auto;
- flex-shrink: 0;
- image{
-
- }
- input{
- text-align: right;
- }
- }
- .icon{
- margin-left: 10rpx;
- }
- }
- .tips{
- font-size: 26rpx;
- color: #777;
- padding-bottom: 20rpx;
- }
- .form {
- padding: 0 30rpx;
- background-color: #fff;
- margin: 20rpx;
- border-radius: 20rpx;
- .upload{
- display: flex;
- justify-content: center;
- align-items: center;
- // width: 690rpx;
- width: 120rpx;
- height: 120rpx;
- border-radius: 50%;
- overflow: hidden;
- background-color: #f3f3f3;
- border-radius: 10rpx;
- // .btn-add{
- // margin: auto;
- // padding: 10rpx 20rpx;
- // background-color: $uni-color;
- // color: #fff;
- // border-radius: 10rpx;
- // }
- }
- }
- }
- </style>
|