zhaoxiaoqiang
2022-11-11 b6c9c40254c8f5e36bdbe32450e21b94f67ab263
src/components/upload/uploadIdCard.vue
@@ -1,7 +1,7 @@
<!--
 * @Date: 2019-08-30 18:04:49
 * @LastEditors: zxq
 * @LastEditTime: 2022-08-04 16:08:29
 * @LastEditTime: 2022-08-05 15:27:35
 * @Description:
 -->
<template>
@@ -20,32 +20,44 @@
    </div>
    <!-- 真正的上传按钮-->
    <div>
      <input
        style="display:none;cursor:pointer;"
        type="file"
        id='androidInputFileImage'
        ref="androidInputFileImage"
        @change="handlePhotoChange($event,1)"
        accept="image/jpg, image/jpeg, image/png"
      />
      <input
        style=" display:none;cursor:pointer;"
        type="file"
        id='androidInputFileCapture'
        ref="androidInputFileCapture"
        @change="handlePhotoChange($event,2)"
        accept="image/*"
        capture="camera"
      />
    </div>
    <!--选择上传图片还是拍照-->
    <van-action-sheet
    <!-- <van-action-sheet
      v-model="selectModel"
      :close-on-click-overlay="false"
      cancel-text="取消"
      :actions="nav"
      @select="handleMenuSelect"
    ></van-action-sheet>
    ></van-action-sheet> -->
    <van-action-sheet v-model="selectModel" cancel-text="取消">
      <div class="content">
        <div class="upload_input" @click="handleMenuSelect">
                <div>拍照</div>
                <input
                  style="cursor:pointer;width:100%;opacity:0;"
                  type="file"
                  id='inputFileCapture'
                  ref="androidInputFileCapture"
                  @change="handlePhotoChange($event,2)"
                  accept="image/*"
                  capture="camera"
                />
          </div>
          <div class="upload_input" @click="handleMenuSelect">
              <div>本地相册上传</div>
              <input
                  style="cursor:pointer;width:100%;opacity: 0;"
                  type="file"
                  id='inputFileImage'
                  ref="androidInputFileImage"
                  @change="handlePhotoChange($event,1)"
                  accept="image/jpg, image/jpeg, image/png"
                />
          </div>
      </div>
    </van-action-sheet>
    <!-- <button @click="onclick">aa</button> -->
  </div>
</template>
@@ -64,7 +76,7 @@
  data() {
    return {
      selectModel: false, // 模态窗选择拍照还是相册
      nav: [{ name: "拍照" }, { name: "从手机相册选择" }],
      nav: [{ name: "拍照",code:0 }, { name: "从手机相册选择",code:1 }],
      picList: [{}, {}],
      picZ: {},
      picF: {},
@@ -98,6 +110,7 @@
    ...mapMutations([SET_APP_LOADING]),
    // 处理图片上传的事件(deleteIndex---删除图片的索引)
    handlePhotoChange: function(evt,type) {
      this.selectModel = false;
      let that = this;
      let shebei = this.judgeBrand(navigator.userAgent.toLowerCase());
      that.SET_APP_LOADING(true);
@@ -312,15 +325,7 @@
      this.selectModel = true;
    },
    // 选择拍照或者相册选项
    handleMenuSelect(item, index) {
      console.log(this.$refs.androidInputFileCapture.click(),index);
      if (index === 0) {
        // this.$refs.androidInputFileCapture.dispatchEvent(new MouseEvent('click'))
        this.$refs.androidInputFileCapture.touch();
      } else {
        // this.$refs.androidInputFileImage.dispatchEvent(new MouseEvent('click'))
        this.$refs.androidInputFileImage.touch();
      }
    handleMenuSelect(index) {
      this.selectModel = false;
    },
    // 处理图片的删除
@@ -362,8 +367,21 @@
};
</script>
<style lang="less" scoped >
<style lang="less"  >
.component-photo-upload {
  .upload_input{
    width: 100%;
    font-size: 16px;
    position: relative;
    text-align: center;
    padding: 8px 0;
    margin:10px 0;
    input{
      position: absolute;
      left: 0;
      top: 0;
    }
  }
  .pic-title {
    h4 {
      padding: 10px 0;
@@ -371,7 +389,6 @@
      line-height: 1;
      color: #333;
      font-weight: normal;
    }
  }