<!-- 扫描rfid,选择缓存区，根据选择的缓存区查询库位，勾选是否取走托盘，提交托盘变更信息 -->
<template>
  <view class="page-product-receipt">
    <view class="header" :style="{ backgroundColor: `rgba(250, 53, 52, ${scrollTop / 100})` }">
      <view class="left">
        <u-icon class="icon" name="arrow-left" @click="goback()" />
      </view>
      <view class="title">维修详情</view>
      <view class="right"></view>
    </view>
    <!-- <u-tabs name="cate_name" count="cate_count" :list="list" :is-scroll="false" :current="current" @change="change"></u-tabs> -->
    <view class="list">
      <div class="item-name">
        <div class="quest">报修信息</div>
        <div class="details">
          <div>报修单号: {{ detailsinfolist.orderCode }}</div>
          <!-- <div style="margin-left: 42px">设备名称: {{ detailsinfolist.equipmentName }}</div> -->
        </div>
        <div class="details">
          <div>报修人: {{ detailsinfolist.orderRepairmanCode }}</div>
          <!-- <div style="margin-left: 42px">设备名称: {{ detailsinfolist.equipmentName }}</div> -->
        </div>
        <div class="details">
          <div>报修时间: {{ detailsinfolist.orderTime }}</div>
          <!-- <div style="margin-left: 42px">设备名称: {{ detailsinfolist.equipmentName }}</div> -->
        </div>
        <div class="details">
          <div>故障时间: {{ detailsinfolist.orderBreakdownTime }}</div>
          <!-- <div style="margin-left: 42px">设备名称: {{ detailsinfolist.equipmentName }}</div> -->
        </div>
        <div class="details">
          <div>报修来源: {{ detailsinfolist.orderSource }}</div>
          <!-- <div style="margin-left: 42px">设备名称: {{ detailsinfolist.equipmentName }}</div> -->
        </div>
        <!-- <div class="details">
          <div>故障时间: {{ detailsinfolist.planWorkshop }}</div>
          <div style="margin-left: 42px">工作中心: {{ detailsinfocontent.workCenterName }}</div>
        </div> -->
        <div class="details">
          <div>是否立即维修: {{ detailsinfolist.workHandle == 0 ? '否' : '是' }}</div>
          <!-- <div style="margin-left: 42px">工作中心: {{ detailsinfocontent.workCenterName }}</div> -->
        </div>
        <div class="details">
          <div>联系方式: {{ detailsinfolist.orderConnection }}</div>
          <!-- <div style="margin-left: 42px">工作中心: {{ detailsinfocontent.workCenterName }}</div> -->
        </div>
        <div class="details">
          <div>故障描述: {{ detailsinfolist.workFaultDesc }}</div>
          <!-- <div style="margin-left: 42px">工作中心: {{ detailsinfocontent.workCenterName }}</div> -->
        </div>
      </div>
      <view class="single-left">
        <!-- <view>扫描设备码:</view> -->
        <!-- <u-search style="border: 1px solid #a19d9d" placeholder="请扫描" @search="search" :focus="shouciFocus" v-model="orderNo" :show-action="false"></u-search> -->
        <!-- <uni-icons type="scan" size="35" @click="scanCodeOne" style="color: #0b9eff; margin: auto; padding: 22rpx"></uni-icons> -->
      </view>
      <view class="item" v-for="(item, index) in detailsinfolist.detailList" :key="index">
        <div class="item1">检查项: {{ item.itemName }}</div>
        <div class="item1">检查方法: {{ item.itemMethod }}</div>
        <div v-for="(item1, index1) in item.standardList" :key="index1">
          <div class="item1 item2" v-if="item1.standardType == 'qualitative'">
            <div>检查标准: {{ item1.standardName }}</div>
            <div class="select">
              <u-radio-group v-model="item1.detailReach" @change="radioGroupChange(item1, item1.detailReach, index, index1)">
                <u-radio @change="radioChange" v-for="(n, indexn) in listselect" :key="indexn" :name="n.type">
                  {{ n.name }}
                </u-radio>
              </u-radio-group>
            </div>
          </div>
          <div class="item1 item2" v-if="item1.standardType == 'quantify'">
            <div>检查标准: {{ item1.standardName }}</div>
            <div class="input-box" id="input-box1">
              实际值:
              <input class="input" v-model="item1.actualValue" @focus="blur(item1, item1.actualValue, index, index1)" @change="changeinput(item1)" @input="input(item1)" type="text" name="" id="" />
              单位:mm
            </div>
          </div>
        </div>
      </view>
    </view>
    <div class="Sparepart">
      <!-- <u-button type="success">点击进行备件申领</u-button> -->
<!--      <div class="Pickup">点击进行备件申领</div>-->
<!--      <div class="Pickupclick">-->
<!--        &lt;!&ndash; width: 63px;-->
<!--        height: 57px; &ndash;&gt;-->
<!--        <u-image @click="linkSparepartlist(detailsinfolist)" width="63px" height="57px" class="image" :src="image.equipment.Repairimage1"></u-image>-->
<!--        &lt;!&ndash; <image :src="image.equipment.Repairimage1" @click="linkSparepartlist(detailsinfolist)"></image> &ndash;&gt;-->
<!--      </div>-->
    </div>
    <view class="list" v-for="(item, index) in Sparepartlist" :key="index">
      <div class="item-name">
        <div class="quest">备件申领单</div>
        <div class="deletebtn">
          <u-button type="error" @click="deleteSparepart(index)" class="btn1">删除</u-button>
        </div>
        <div class="details">
          <div>备件编码: {{ item.materialCode }}</div>
          <!-- <div style="margin-left: 42px">设备名称: {{ detailsinfolist.equipmentName }}</div> -->
        </div>
        <div class="details">
          <div>备件名称: {{ item.materialDesc }}</div>
          <!-- <div style="margin-left: 42px">设备名称: {{ detailsinfolist.equipmentName }}</div> -->
        </div>
        <div class="details">
          <div>申领数量: {{ item.spareQuantity }}</div>
          <!-- <div style="margin-left: 42px">设备名称: {{ detailsinfolist.equipmentName }}</div> -->
        </div>
        <div class="details">
          <div>备件费用: {{ item.totalPrice }}</div>
          <!-- <div style="margin-left: 42px">设备名称: {{ detailsinfolist.equipmentName }}</div> -->
        </div>
        <!-- <div class="details">
          <div>申请人: {{ item.applyPeople }}</div>
        </div>
        <div class="details">
          <div>申请时间: {{ item.planWorkshop }}</div>
        </div>
        <div class="details">
          <div>审核人: {{ item.planWorkshop }}</div>
        </div>
        <div class="details">
          <div>审核时间: {{ item.planWorkshop }}</div>
        </div> -->
      </div>
    </view>
    <view class="list listbottom">
      <div class="item-name">
        <div class="quest">维修单</div>
        <u-form class="form" ref="form" label-width="230rpx">
          <u-form-item label="维修人:">
            {{ detailsinfolist.workPerson }}
          </u-form-item>
          <u-form-item label="更换备件:">
            <span style="width: 100%;color: #2979ff"  @click="checkShowSpareList" >点击增加</span>
          </u-form-item>
          <u-form-item style="border-top: 1px solid #8d8d8d;border-bottom: 1px solid #8d8d8d;"
                       v-for="(item,index) in spareList" :key="index">
            <span style="width: 35%;" >{{item.materialDesc}}</span>
            <span style="width: 30%;" >价格:<span style="color: #4cd964">{{ item.totalPrice || item.unitPrice || 0}}</span></span>
            <span style="width: 30%;white-space: nowrap; display: flex; align-items: center;" >数量:
              <u-input style="width: 20%; margin-left: 4rpx; box-shadow: 0 0 0 1px #000000;"
                       v-model="item.spareQuantity" placeholder="" @input="inputNum"/>
            </span>
            <span style="width: 5%;margin-left: 10px">
              <u-icon
                name="close"
                color="#ff4d4f"
                size="24rpx"
                class="delete-icon"
                @click="removeSpare(index)"
              />
            </span>
          </u-form-item>
          <u-form-item class="listbottom1" label="维修费用:">
            <span style="width: 100%">{{formdata.workCost}}</span>
          </u-form-item>
          <!-- <u-form-item label="维修用时(分钟):">
            <u-input v-model="formdata.productSpc" placeholder="" />
          </u-form-item>
          <u-form-item label="维修人员签字:">
            <u-input v-model="formdata.productName" placeholder="" />
          </u-form-item> -->
          <!-- 工单 -->
          <u-form-item label="原因分析:">
            <jPicker sureColor="#ff0000" :moren="moren" @bindpicker="selectProductlocCode" @bindinput="selectbindinput" showKey="label" valKey="value" :val="workReason.value" :options="model.locList2" />
          </u-form-item>
          <u-form-item label="维修措施:">
            <jPicker sureColor="#ff0000" :moren="moren2" @bindpicker="selectProductlocCode2" @bindinput="selectbindinput2" showKey="label" valKey="value" :val="repairMeasures.value" :options="model.locList" />
          </u-form-item>
          <u-form-item label="上传图片:">
            <scroll-view class="scroll-view_H" scroll-x="true" :scroll-left="scrollLeft1()">
              <view class="photoList photoList1">
                <view class="itemBox photoBox" v-for="(img, index) in imgformList" :key="index">
                  <view class="closeBtn" @click="deleteImg1(index)">
                    <image class="img" src="../../../static/images/iconCloseGray.svg" mode="scaleToFill"></image>
                  </view>
                  <image class="img" :src="img" mode="aspectFit" @click="showScreenImg1(index)"></image>
                </view>
                <view class="itemBox chooseBtn" @click="chooseImg1">
                  <view class="inner">
                    <image class="img" src="../../../static/images/upload-pic-icon.svg" mode="scaleToFill"></image>
                    <text class="desc">添加照片</text>
                  </view>
                </view>
              </view>
            </scroll-view>
          </u-form-item>
        </u-form>
        <u-button @click="onSubmit" type="primary">提交</u-button>
      </div>
    </view>
    <!-- <view class="bottom-bar">
      <div class="item-name">
        <div class="details">
          <div>点检人: 刘XX</div>
          <div style="margin-left: 42px">点检时间: 2023-08-09</div>
        </div>
        <div class="details">
          <div>是否异常: 是</div>
          <div style="margin-left: 42px">报修单: 90272931234</div>
        </div>
      </div>
    </view> -->
    <u-modal v-model="isshow" class="modal" :show-cancel-button="true" :show-title="false" @cancel="cancel" @confirm="confirm">
      <div class="upload-name">
        <div class="name">检查标准:{{ form.item5 }}</div>
        <!-- <u-upload :before-upload="beforeUpload" ref="uUpload" :fileList="fileList" @on-error='errorUpload($event)' :action="action" @on-remove="removePic($event, item)" @on-success="successUpload($event)" :deletable="true"></u-upload> -->
        <scroll-view class="scroll-view_H" scroll-x="true" :scroll-left="scrollLeft()">
          <view class="photoList">
            <view class="itemBox photoBox" v-for="(img, index) in imgList" :key="index">
              <view class="closeBtn" @click="deleteImg(index)">
                <image class="img" src="../../../static/images/iconCloseGray.svg" mode="scaleToFill"></image>
              </view>
              <image class="img" :src="img" mode="aspectFit" @click="showScreenImg(index)"></image>
            </view>
            <view class="itemBox chooseBtn" @click="chooseImg">
              <view class="inner">
                <image class="img" src="../../../static/images/upload-pic-icon.svg" mode="scaleToFill"></image>
                <text class="desc">添加照片</text>
              </view>
            </view>
          </view>
        </scroll-view>
      </div>
    </u-modal>
    <u-toast ref="uToast" />

    <PartsSelectPopup
      :show="showSpareList"
      @confirm="onConfirm"
      @close="closePopup"
    />
  </view>
</template>
<script lang="ts">
import { Component } from 'vue-property-decorator';
import { BasePage } from '@/components/base/page';
import model from './model';
import chooseOne from '@/components/choose-one/choose-one.vue';
import jPicker from '@/components/J-Picker/jPicker.vue';
import { session } from '@/store/modules/session';
import PartsSelectPopup from "@/components/lanju/lj-choose-spare/index.vue";
//import store from '@/store';
@Component({
  components: {
    PartsSelectPopup,
    chooseOne,
    jPicker,
  },
})
export default class ChangePalletNew extends BasePage {
  model = model;
  list: any = [
    {
      cate_name: '今日任务',
    },
    {
      cate_name: '巡检记录',
    },
  ];
  moren = '选择原因分析';
  moren2 = '选择维修措施';
  current: any = 0;
  shouciFocus = true;
  // 详细
  detailsinfo: any = {};
  detailsinfolist: any = {};
  detailsinfocontent: any = {};
  // 模态框
  isshow = false;
  inputmodal = false;
  ischecked = false;
  radiomodal = false;
  // 条码是否一样
  isaccord = false;
  // 设备信息
  equipmentdata: any = [];
  listselect: any = [
    {
      type: 0,
      name: '符合标准',
      radiovalue: null,
    },
    {
      type: 1,
      name: '未达标',
      radiovalue: null,
    },
  ];
  listselect1: any = [
    {
      type: 1,
      name: '已完成',
      radiovalue: null,
    },
    {
      type: 3,
      name: '未完成',
      radiovalue: null,
    },
  ];
  // 设备index equipment
  equipmentindex: any = [];
  orderNo: any = '';
  location: any = '';
  locationStatus: any = 1;
  form: any = {};
  // 照片
  action: any = 'http://www.example.com/upload';
  fileList: any = [];
  filesArr: any = [];
  imgList: any = [];
  imgUrlList: any = [];
  deleteimgList: any = [];
  orderNoItemList: any = {};
  picturePath: any = 'https://cdn.uviewui.com/uview/swiper/1.jpg,https://cdn.uviewui.com/uview/swiper/2.jpg';
  formdata: any = {
    workCost:0
  };
  Sparepartlist: any = [];
  imgformList: any = [];
  deleteimgList1: any = [];
  isvalue = false;
  workReason: any = {};
  repairMeasures: any = {};
  workReasonceshi: 'aaaaa';

  showSpareList = false
  spareList = []

  async onReady() {
    //await this.model.getpalletLocation();
    //this.remove = this.model.WlList[0];
    // this.Sparepartlist = []
    console.log(0, this.model.rowdata, this.Sparepartlist);
  }
  onShow() {
    this.onLoad;
    this.blur;
    if (this.model.rowdata.length == 0) {
      this.model.rowdatanull();
    } else {
      this.Sparepartlist = [];
      this.Sparepartlist = this.model.rowdata;
      console.log(1, this.model.rowdata, this.Sparepartlist);
    }
    console.log(session);
  }
  // 输入框焦点
  blur(item, value, index, index1) {
    console.log(item, value, index, index1);
    this.radiomodal = false;
    this.inputmodal = false;
    if (value == null || value == '') {
      this.isvalue = true;
    } else {
      this.isvalue = false;
    }
    console.log(this.isvalue, value == null, value == '');
    if (value > item.detailUpLimit || value < item.detailDownLimit) {
      this.equipmentindex = [];
      this.equipmentindex.push(index);
      this.equipmentindex.push(index1);
      if (item.picturePath != null) {
        this.imgList = JSON.parse(JSON.stringify(item.picturePath));
        this.imgList = this.imgList.split(',');
      } else {
        this.imgList = [];
      }
      this.inputmodal = true;
      this.isshow = true;
      this.form = item;
    }
  }

  changeinput(e) {
    console.log(e, '11111111');
  }
  input(e) {
    console.log(e, '00000000');
  }
  //单选
  radioChange(e) {
    console.log(e, '11111');
  }
  // 选中任一radio时，由radio-group触发
  radioGroupChange(item, value, index, index1) {
    console.log(item, value, index, index1);
    this.equipmentindex = [];
    this.radiomodal = false;
    this.inputmodal = false;
    this.equipmentindex.push(index);
    this.equipmentindex.push(index1);
    if (item.picturePath != null) {
      this.imgList = JSON.parse(JSON.stringify(item.picturePath));
      this.imgList = this.imgList.split(',');
    } else {
      this.imgList = [];
    }
    if (value == 1) {
      this.isshow = true;
      this.radiomodal = true;
      this.form = item;
    }
  }
  radioGroupChange1(item) {
    console.log(item);
  }
  async onLoad(options) {
    await this.model.getFaultMeasuresList();
    await this.model.getFaultReasonList();
    let str = decodeURIComponent(options.listitem);
    if (str) {
      this.detailsinfo = JSON.parse(str);
      let query = {
        workId: this.detailsinfo.workId,
      };
      await this.model.getInspectionOrderInfo(query.workId);
      this.detailsinfolist = this.model.OrderInfList;
    }
  }
  goback() {
    uni.redirectTo({
      url: `/pages/equipment/Repair/index?listitem=` + encodeURIComponent(JSON.stringify(this.detailsinfo)),
    });
  }
  created() {
    this.onLoad;
    console.log(2, this.model.rowdata, this.Sparepartlist);
  }
  change(index) {
    this.current = index;
  }
  //模态框图片上传
  confirm() {
    console.log((this as any).uUpload, 'sssss', this.equipmentindex);
    console.log(this.detailsinfolist.detailList[this.equipmentindex[0]].standardList[this.equipmentindex[1]]);
    if (this.radiomodal) {
      if (this.imgList.length == 0) {
        this.detailsinfolist.detailList[this.equipmentindex[0]].standardList[this.equipmentindex[1]].picturePath = null;
      } else {
        this.imgList = this.imgList.join(',');
        this.detailsinfolist.detailList[this.equipmentindex[0]].standardList[this.equipmentindex[1]].picturePath = this.imgList;
        console.log(this.detailsinfolist.detailList[this.equipmentindex[0]].standardList[this.equipmentindex[1]], this.imgList);
      }
    } else if (this.inputmodal) {
      if (this.imgList.length == 0) {
        this.detailsinfolist.detailList[this.equipmentindex[0]].standardList[this.equipmentindex[1]].picturePath = null;
      } else {
        this.imgList = this.imgList.join(',');
        this.detailsinfolist.detailList[this.equipmentindex[0]].standardList[this.equipmentindex[1]].picturePath = this.imgList;
        console.log(this.detailsinfolist.detailList[this.equipmentindex[0]].standardList[this.equipmentindex[1]], this.imgList);
      }
    }
  }
  cancel() {
    this.isshow = false;
    if (this.detailsinfolist.detailList[this.equipmentindex[0]].standardList[this.equipmentindex[1]].picturePath == null) {
      this.imgList = [];
    } else {
      this.imgList = this.detailsinfolist.detailList[this.equipmentindex[0]].standardList[this.equipmentindex[1]].picturePath;
      this.imgList = this.imgList.split(',');
    }
  }
  async selectProductlocCode(e: any) {
    this.workReason = e.pickerName;
    // await this.model.getpalletDestination(params);
  }
  async selectbindinput(e: any) {
    model.locList2.push(e.pickerName);
    this.workReason = e.pickerName;
    console.log(this.workReason.value, e, model.locList2);
    // await this.model.getpalletDestination(params);
  }
  async selectProductlocCode2(e: any) {
    this.repairMeasures = e.pickerName;
    // await this.model.getpalletDestination(params);
  }
  async selectbindinput2(e: any) {
    model.locList.push(e.pickerName);
    this.repairMeasures = e.pickerName;
    console.log(this.workReason.value, e, model.locList2);
    // await this.model.getpalletDestination(params);
  }
  scrollLeft() {
    return 222 * (this.imgList.length + 1);
  }
  showScreenImg(i) {
    let list = this.imgList;
    uni.previewImage({
      current: i,
      urls: list,
      // loop: true
    });
  }
  chooseImg() {
    uni.chooseImage({
      count: 9, //默认9
      // sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图，默认二者都有
      sourceType: ['album', 'camera'],
      success: (res) => {
        // uni.showLoading();
        //console.log('/////',res);
        let tempFilePaths: any = res.tempFilePaths;

        //      (this.$refs.uToast as any).show({
        //     title: '成功',
        //     type: 'success',
        //   });
        //   uni.navigateBack({});
        // } else {
        //   (this.$refs.uToast as any).show({
        //     title: '失败',
        //     type: 'error',
        //   });
        tempFilePaths.map((item) => {
          uni.uploadFile({
            url: 'http://192.168.202.34:30000/prod-api/file/upload',
            // url: '/dev-api/file/upload',
            fileType: 'image',
            filePath: item,
            header: {
              Authorization: 'Bearer ' + session.user?.access_token,
              // 'cosmo-env-sitecode': this.$store.state.siteCode
            },
            name: 'file',
            // formData: {
            // 	materialCode: this.materialObj.materialCode,
            // },
            success: (res) => {
              uni.hideLoading();
              if (!res.data) {
                // this.$refs.toastRef.show({
                // 	type:"error",
                // 	text:res.msg
                // })
                return;
              }
              let data = JSON.parse(res.data);
              this.imgList = [...this.imgList, data.data.url];
              //this.imgListName = [...this.imgListName,data.fileName];
              //this.picUrls = this.imgList.join(",");
              //this.picNames = this.imgListName.join(",");
              uni.hideLoading();
            },
            fail: (err) => {
              console.log(err);
              // this.$refs.toastRef.show({
              // 	type:"error",
              // 	text:"上传失败！"
              // })
              uni.hideLoading();
            },
          });
        });
      },
    });
  }
  deleteImg(index) {
    this.imgList = JSON.parse(JSON.stringify(this.detailsinfolist.detailList[this.equipmentindex[0]].standardList[this.equipmentindex[1]].picturePath));
    this.imgList = this.imgList.split(',');
    this.imgList.splice(index, 1);
  }
  scrollLeft1() {
    return 222 * (this.imgformList.length + 1);
  }

  showScreenImg1(i) {
    let list = this.imgformList;
    uni.previewImage({
      current: i,
      urls: list,
      // loop: true
    });
  }
  chooseImg1() {
    uni.chooseImage({
      count: 9, //默认9
      // sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图，默认二者都有
      sourceType: ['album', 'camera'],
      success: (res) => {
        // uni.showLoading();
        //console.log('/////',res);
        let tempFilePaths: any = res.tempFilePaths;

        //      (this.$refs.uToast as any).show({
        //     title: '成功',
        //     type: 'success',
        //   });
        //   uni.navigateBack({});
        // } else {
        //   (this.$refs.uToast as any).show({
        //     title: '失败',
        //     type: 'error',
        //   });
        tempFilePaths.map((item) => {
          uni.uploadFile({
            url: 'http://192.168.202.34:30000/prod-api/file/upload',
            // url: '/dev-api/file/upload',
            fileType: 'image',
            filePath: item,
            header: {
              Authorization: 'Bearer ' + session.user?.access_token,
              // 'cosmo-env-sitecode': this.$store.state.siteCode
            },
            name: 'file',
            // formData: {
            // 	materialCode: this.materialObj.materialCode,
            // },
            success: (res) => {
              uni.hideLoading();
              if (!res.data) {
                // this.$refs.toastRef.show({
                // 	type:"error",
                // 	text:res.msg
                // })
                return;
              }
              let data = JSON.parse(res.data);
              this.imgformList = [...this.imgformList, data.data.url];
              //this.imgListName = [...this.imgListName,data.fileName];
              //this.picUrls = this.imgList.join(",");
              //this.picNames = this.imgListName.join(",");
              uni.hideLoading();
            },
            fail: (err) => {
              console.log(err);
              // this.$refs.toastRef.show({
              // 	type:"error",
              // 	text:"上传失败！"
              // })
              uni.hideLoading();
            },
          });
        });
      },
    });
  }
  deleteImg1(index) {
    this.imgformList.splice(index, 1);
  }
  deleteSparepart(index) {
    this.model.rowdata.splice(index, 1);
    this.Sparepartlist = this.model.rowdata;
  }
  scanCodeOne() {
    uni.scanCode({
      scanType: ['barCode'],
      success: (res) => {
        this.orderNo = res.result;
      },
      fail(result) {
        this.customToast(result);
      },
    });
  }
  async onSubmit() {
    this.detailsinfolist.detailList.forEach((item) => {
      if (item.standardList.length > 0) {
        item.standardList.forEach((item1) => {
          if (item1.standardType == 'quantify') {
            if (item1.actualValue == null || item1.actualValue == '') {
              // console.log(this.isvalue);
              this.isvalue = true;
            }
          }
        });
      }
    });

    // if (this.orderNo == '' || this.orderNo.length == 0) {
    //   this.customToast('请输入nficl');
    //   return;
    // }
    if (this.isvalue) {
      (this.$refs.uToast as any).show({
        title: '检查标准不能为空',
        type: 'default',
      });
      return;
    }


    if (this.workReason.value == '' || this.workReason.value == undefined) {
      (this.$refs.uToast as any).show({
        title: '原因分析不能为空',
        type: 'default',
      });
      return;
    }
    if (this.repairMeasures.value == '' || this.repairMeasures.value == undefined) {
      (this.$refs.uToast as any).show({
        title: '维修措施不能为空',
        type: 'default',
      });
      return;
    }
    if (!session.nickName || !session.userName) {
      (this.$refs.uToast as any).show({
        title: '登陆时间过长，请重新登陆系统',
        type: 'default',
      });
      return;
    }
    let query = this.detailsinfolist;
    query.applyList = this.spareList;
    query.fileList = this.imgformList.join(',');
    query.workCost = this.formdata.workCost;
    query.workReason = this.workReason.value;
    query.repairMeasures = this.repairMeasures.value;
    query.workPerson = session.userName;
    query.workPersonName = session.nickName;
    await this.model.updateMaintenanceRecords(query);
    if (this.model.SubmitCode.code == '200') {
      (this.$refs.uToast as any).show({
        title: '成功',
        type: 'default',
      });
      this.Clear(); //清除数据
      setTimeout(() => {
        uni.navigateBack({});
        // uni.redirectTo({
        //   url: `/pages/equipment/Repair/index?listitem=`,
        // });
      }, 1000);
    } else {
      (this.$refs.uToast as any).show({
        title: '失败',
        type: 'default',
      });
    }
    // if (this.badMeg == '') {
    //   this.customToast('请输入不良描述');
    //   return;
    // }
  }
  Clear() {
    this.orderNo = '';
    this.formdata = {};
    this.imgformList = [];
    this.workReason = {};
    this.repairMeasures = {};
    // this.shouciFocus = false;
    // this.$nextTick(() => {
    //   this.shouciFocus = true;
    // });
  }
  search(value) {
    console.log(value);
    if (value == this.detailsinfolist.equipmentCode) {
      this.isaccord = true;
    }
  }
  linkSparepartlist(item) {
    uni.navigateTo({
      url: `/pages/equipment/Repair/Sparepartlist?listitem=` + encodeURIComponent(JSON.stringify(item)),
    });
  }
  checkShowSpareList(){
    this.showSpareList = true
  }
  inputNum(num){
    //判断输入的是不是数字
    if (Number.isFinite(Number(num))){
      this.computerCost()
    }
  }

  removeSpare(index){
    this.spareList.splice(index, 1);
    this.computerCost()
  }

  computerCost(){
    this.formdata.workCost = 0
    let workCost = 0
    for (const item of this.spareList){
      const price = item.unitPrice || 0
      let num = item.spareQuantity || 0
      if (!Number.isFinite(Number(num))){
        num = 0
        item.totalPrice = 0
      }
      item.totalPrice = price * Number(num)
      workCost = workCost + (price * Number(num))
    }
    this.formdata.workCost = workCost
  }

  onConfirm(item) {
    this.showSpareList = false; // 关闭弹窗
    this.spareList.push(item)
    this.computerCost()
    uni.showToast({
      title: '选择成功',
      icon: 'success'
    });
  }

  closePopup() {
    this.showSpareList = false;
  }
}
</script>
<style lang="scss" scoped>
.page-product-receipt {
  background: #f2f2f2 linear-gradient(0deg, #f2f2f2 0%, #f8262c 51%, #d9001b 100%) no-repeat;
  background-size: 100% 600rpx;
  padding: 118rpx 30rpx 162rpx;
  min-height: 100%;

  .header {
    position: fixed;
    top: 0rpx;
    left: 0;
    right: 0;
    z-index: 99;
    display: flex;
    height: 120rpx;
    line-height: 88rpx;
    color: #fff;
    font-size: 34rpx;
    font-weight: 500;
    text-align: center;
    padding: 45rpx 0rpx 0rpx;
    .title {
      flex: 3;
    }

    .left,
    .right {
      flex: 1;
    }

    .icon {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 88rpx;
      height: 88rpx;
    }
  }

  .list {
    margin-top: 15px;
    //width: 367px;
    border-radius: 5px;
    border: rgba(121, 121, 121, 1) solid 1px;
    background-color: #ffffff;
    padding: 7px 8px 7px 12px;
    box-sizing: border-box;
    .item-name {
      position: relative;
      .quest {
        // width: 367px;
        // border-radius: 5px;
        // border: rgba(121, 121, 121, 1) solid 1px;
        // background-color: #ffffff;
        padding: 7px 8px 7px 12px;
        box-sizing: border-box;
        text-align: center;
        font-size: 18px;
        font-weight: 600;
        color: black;
      }
      .deletebtn {
        .btn1 {
          width: 80px;
          height: 36px;
          position: absolute;
          top: 0px;
          right: 0px;
        }
      }
      .details {
        display: flex;
        font-size: 16px;
        font-weight: 600;
        // justify-content: space-between;
        align-items: center;
        margin-bottom: 8px;
      }
      .form {
        background-color: #fff;

        .u-form-item {
          line-height: 35rpx;
          font-size: 16px;
          font-weight: 600;
        }
        .photoList {
          display: flex;
          padding-top: 12rpx;

          .chooseBtn {
            width: 202rpx;
            height: 202rpx;
            background: #fafafa;
            border-radius: 12rpx;
            border: 2rpx dashed #e2e2e2;
            display: flex;
            justify-content: center;
            align-items: center;

            .inner {
              text-align: center;
              display: flex;
              flex-direction: column;
              justify-content: center;
              align-items: center;
            }

            .desc {
              font-size: 28rpx;
              font-weight: 400;
              color: #24252a;
              line-height: 40rpx;
            }

            .img {
              width: 50rpx;
              height: 50rpx;
              margin-bottom: 6rpx;
            }
          }

          .photoBox {
            width: 202rpx;
            height: 202rpx;
            background: #fafafa;
            border-radius: 12rpx;
            position: relative;

            .closeBtn {
              position: absolute;
              top: -12rpx;
              right: -12rpx;
              z-index: 2;
              width: 36rpx;
              height: 36rpx;

              .img {
                width: 36rpx;
                height: 36rpx;
              }
            }

            .img {
              width: 202rpx;
              height: 202rpx;
              border-radius: 12rpx;
            }
          }

          .itemBox {
            flex: 0 0 202rpx;
            margin-right: 20rpx;

            &:last-child {
              margin-right: 0;
            }
          }
        }
      }
    }
    .single-left {
      display: flex;
      // align-items: center;
      // justify-content: space-around;
      text-align: center;
      margin-top: 12px;
      margin-bottom: 20px;
      border: 1px solid #eee;
    }
    .item {
      margin-top: 15px;
      width: 344px;
      border-radius: 5px;
      border: rgba(121, 121, 121, 1) solid 1px;
      background-color: #ffffff;
      padding: 7px 8px 7px 8px;
      box-sizing: border-box;
      .item1 {
        margin-bottom: 3px;
        white-space: 1px;
        font-size: 15px;
        font-weight: 600;
      }
      .item2 {
        display: flex;
        align-content: center;
        justify-content: space-between;
        .select {
          font-size: 15px;
          font-weight: 400;
          display: flex;
          // margin-left: 19px;
        }
        .input-box {
          font-size: 13px;
          font-weight: 400;
          display: flex;
          align-content: center;
          margin-top: 2px;
          .input {
            font-size: 12px;
            width: 65px;
            padding: 1px 8px;
            height: 20px;
            box-sizing: border-box;
            border: 1px solid #b6b6b6;
            margin-left: 6px;
            display: inline-block;
            margin-right: 6px;
            border-radius: 4px;
            position: relative;
          }
        }
      }
    }
  }
  .Sparepart {
    margin-top: 10px;
    display: flex;
    align-items: center;
    justify-content: space-around;
    text-align: center;
    .Pickup {
      font-weight: 600;
    }
    .Pickupclick {
      color: #1a99db;
      border-radius: 10px;
      image {
        width: 63px;
        height: 57px;
      }
      .image {
        width: 63px;
        height: 57px;
      }
    }
  }
  .bottom-bar {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 99;
    background: #ffffff;
    box-shadow: 0 1rpx 20rpx 0 rgba(128, 128, 128, 0.2);
    padding: 20rpx;
    .item-name {
      .quest {
        text-align: center;
        font-size: 18px;
        font-weight: 600;
        color: black;
        margin-top: 7px;
        margin-bottom: 17px;
      }
      .details {
        justify-content: space-around;
        display: flex;
        font-size: 17px;
        font-weight: 600;
        // justify-content: space-between;
        align-items: center;
        margin-bottom: 8px;
      }
    }
  }
  .modal {
    .upload-name {
      padding: 10px 20px;
      .name {
        font-size: 17px;
        font-weight: 600;
      }
    }
    .photoList {
      display: flex;
      padding-top: 12rpx;

      .chooseBtn {
        width: 202rpx;
        height: 202rpx;
        background: #fafafa;
        border-radius: 12rpx;
        border: 2rpx dashed #e2e2e2;
        display: flex;
        justify-content: center;
        align-items: center;

        .inner {
          text-align: center;
          display: flex;
          flex-direction: column;
          justify-content: center;
          align-items: center;
        }

        .desc {
          font-size: 28rpx;
          font-weight: 400;
          color: #24252a;
          line-height: 40rpx;
        }

        .img {
          width: 50rpx;
          height: 50rpx;
          margin-bottom: 6rpx;
        }
      }

      .photoBox {
        width: 202rpx;
        height: 202rpx;
        background: #fafafa;
        border-radius: 12rpx;
        position: relative;

        .closeBtn {
          position: absolute;
          top: -12rpx;
          right: -12rpx;
          z-index: 2;
          width: 36rpx;
          height: 36rpx;

          .img {
            width: 36rpx;
            height: 36rpx;
          }
        }

        .img {
          width: 202rpx;
          height: 202rpx;
          border-radius: 12rpx;
        }
      }

      .itemBox {
        flex: 0 0 202rpx;
        margin-right: 20rpx;

        &:last-child {
          margin-right: 0;
        }
      }
    }
  }
  ::v-deep .yjy-switch-container .yjy-switch-item {
    width: 100%;
  }
  ::v-deep .yjy-switch-container {
    width: 50%;
  }
  ::v-deep .u-radio__label {
    font-size: 13px;
  }
  ::v-deep .u-form-item--left__content {
    min-width: 116px;
    white-space: nowrap;
  }
  .listbottom ::v-deep .uni-input-input {
    width: 98%;
    padding: 10px 5px;
    box-sizing: border-box;
    font-weight: 500;
    height: 30px;
  }
  .listbottom1 ::v-deep .uni-input-input {
    border: 1px solid black;
  }
  ::v-deep .u-form-item {
    padding: 6px 0;
  }
  .photoList1 {
    //width: 220px;
    overflow-y: scroll;
    border: 1px solid black;
  }
}
</style>
