zhangback
2025-12-30 939ee5a461a64b40b23d2b5f51c69dead13ee7e3
ui/car_wx_app/pages/examine/index.vue
@@ -124,7 +124,7 @@
        </u-form-item> -->
        <u-form-item ref="item1" borderBottom label=" " labelWidth="0" prop="" :borderBottom="false">
        <u-form-item ref="item1" borderBottom label=" " labelWidth="0" prop="" :borderBottom="false" v-if="uploadAreas.length > 0">
          <view style="display: flex;align-items: center;"><u--image :showLoading="true" src="/static/bt.png"
              width="20px" height="20px"></u--image>凭证<span
              style="color: #c6c0ba;margin-left: 10px;display: inline-block;"></span></view>
@@ -303,6 +303,25 @@
            </u-number-box>
          </view>
          <view v-if="form.tripType == '5'"  style="display: flex; align-items: center; width: 100%; margin-top: 15px">
            <view style="display: flex; align-items: center; flex-shrink: 0; margin-right: 10px;">
              <u--image :showLoading="true" src="/static/bt.png" width="20px" height="20px"></u--image>
              <text>是否查车:</text>
            </view>
              <u-radio-group
                  v-model="form.iscc"  iconPlacement="right"
                  placement="row">
                <u-radio  label="是" name="0" style="margin-right: 20px"></u-radio>
                <u-radio  label="否" name="1"></u-radio>
              </u-radio-group>
          </view>
@@ -432,7 +451,7 @@
      },
      mapList: {},
      activeActive: {},
      isHk:false,
    };
  },
@@ -447,6 +466,7 @@
    this.amapPlugin = new amap.AMapWX({
      key: this.mapApiKey
    });
    // 获取 URL 参数
    if (options.id) {
      //this.getList();
@@ -455,6 +475,8 @@
      this.form.tripTime = this.getCurrentDateTime();
    }
    this.getLocation();
  },
  created() {
    // this.getList();
@@ -658,6 +680,8 @@
        success: (res) => {
          const latitude = res.latitude;
          const longitude = res.longitude;
          this.form.longitude =longitude;
          this.form.latitude =latitude;
          this.getAddress(latitude, longitude);
        },
        fail: (err) => {
@@ -671,7 +695,14 @@
      this.amapPlugin.getRegeo({
        location:`${longitude},${latitude}`,
        success: (data) => {
          this.form.address  = data[0].name;
          let datum = data[0];
          if (datum.regeocodeData){
            if (datum.regeocodeData.addressComponent){
              let province = datum.regeocodeData.addressComponent.province;
              this.isHk = province.indexOf("香港") != -1;
            }
          }
          this.form.address  = datum.name;
        },
        fail: (err) => {
          console.error("SDK调用失败:", err);
@@ -737,8 +768,8 @@
      else if (type == '2'||type == '6'){ // 到达装货点 到达卸货点
        this.uploadAreas = [
          { name: '车头', imageUrl: '',required: true },
          { name: '车尾(非必填)', imageUrl: '',required: false },
          { name: '仪表盘(非必填)', imageUrl: '',required: false },
          // { name: '车尾(非必填)', imageUrl: '',required: false },
          // { name: '仪表盘(非必填)', imageUrl: '',required: false },
        ]
@@ -747,13 +778,21 @@
        this.uploadAreas = [
          { name: '车头', imageUrl: '',required: true },
          { name: '车尾', imageUrl: '',required: true },
          { name: '仪表盘(非必填)', imageUrl: '',required: false },
          // { name: '仪表盘(非必填)', imageUrl: '',required: false },
        ]
      }else if (type == '4'||type == '5'){// 到达清关场地 离开清关场地
        this.uploadAreas = [
          { name: '仪表盘(非必填)', imageUrl: '',required: false },
          { name: '车头(非必填)', imageUrl: '',required: false },
          { name: '车尾(非必填)', imageUrl: '',required: false },
          // { name: '仪表盘(非必填)', imageUrl: '',required: false },
          // { name: '车头(非必填)', imageUrl: '',required: false },
          // { name: '车尾(非必填)', imageUrl: '',required: false },
        ]
      }else if (type == '8'){
        this.uploadAreas = [
          { name: '车头', imageUrl: '',required: true },
          { name: '仪表盘', imageUrl: '',required: true },
          { name: '车尾', imageUrl: '',required: true },
          { name: '承运单', imageUrl: '',required: false },
        ]
      }else{
        this.uploadAreas = [
@@ -770,6 +809,7 @@
        if (['3','5','7'].includes(type)){
          let item = this.tmsTripTables[0] || {};
          this.form.odometer = item.odometer;
          this.form.iscc = "1";
        }else{
          this.form.odometer = 0
        }
@@ -790,26 +830,31 @@
    // 新增图片
    async afterRead(event) {
      // 当设置 multiple 为 true 时, file 为数组格式,否则为对象格式
      let lists = [].concat(event.file)
      let fileListLen = this.fileList.length
      lists.map((item) => {
        this.fileList.push({
          ...item,
          status: 'success',
          message: '上传中'
        })
      uploadImage(event.file[0].url,this.isHk).then(res=>{
        console.log(res)
        this.fileList.push(res);
      })
      for (let i = 0; i < lists.length; i++) {
        const result = await this.uploadFilePromise(lists[i].url)
        let item = this.fileList[fileListLen]
        this.fileList.splice(fileListLen, 1, Object.assign(item, {
          status: result.status,
          message: result.status == 'success' ? '上传成功' : '上传失败',
          urls: result.url
        }))
        fileListLen++
      }
      // let lists = [].concat(event.file)
      // let fileListLen = this.fileList.length
      // lists.map((item) => {
      //   this.fileList.push({
      //     ...item,
      //     status: 'success',
      //     message: '上传中'
      //   })
      // })
      // for (let i = 0; i < lists.length; i++) {
      //
      //   const result = await this.uploadFilePromise(lists[i].url)
      //   let item = this.fileList[fileListLen]
      //   this.fileList.splice(fileListLen, 1, Object.assign(item, {
      //     status: result.status,
      //     message: result.status == 'success' ? '上传成功' : '上传失败',
      //     urls: result.url
      //   }))
      //   fileListLen++
      // }
    },
    uploadFilePromise(url) {
@@ -897,8 +942,8 @@
        success: (res) => {
          const tempFilePaths = res.tempFilePaths;
          const imgUrl = tempFilePaths[0];
          uploadImage(imgUrl).then(res2=>{
            this.uploadAreas[index].imageUrl = res.url;
          uploadImage(imgUrl,this.isHk).then(res2=>{
            this.uploadAreas[index].imageUrl = res2.url;
            // const tempFilePath = res.tempFilePaths[0];
            // // 上传图片到服务器
            // this.uploadAreaPic(tempFilePath, index);
@@ -1027,7 +1072,7 @@
        this.$refs.uForm.validate().then(res => {
          if (res) {
            var urls = this.fileList.map(item => item.urls).join(',');
            var urls = this.fileList.map(item => item.url).join(',');
            this.form.feeVoucherUrl = urls
            this.form.dispatchOrderId = this.newForm.dispatchId
            this.form.driverId = this.newForm.driverId
@@ -1537,4 +1582,13 @@
  padding: 2px;
  z-index: 999;
}
</style>
<style lang="scss" scoped>
::v-deep .u-radio{
  margin-right: 20px;
}
::v-deep .u-radio__icon-wrap{
  margin-left: 10px;
}
</style>