// pages/agent/serviceBillDetail/index.js
import api from '../../api/api'
import Dialog from 'tdesign-miniprogram/dialog/index';
Page({

  /**
   * 页面的初始数据
   */
  data: {
    refresh: true,
    orderMainData: {},
    list: [],
    tabbarsList: [{
      label: "编辑",
      icon: "icon-dibu-bianji"
    }, {
      label: "提交",
      icon: "icon-tijiao",
    }, {
      label: "删除",
      icon: "icon-guanlian-shanchu"
    }]
  },
  async mainData() {
    const res = await api._post({
      "id": "20230206091603",
      "version": 1,
      "content": {
        "sa_serviceorderid": this.data.id
      }
    })
    this.setData({
      orderMainData: res.data,
      sa_serviceorderid: res.data.sa_serviceorderid,
      sa_orderid: res.data.sa_orderid,
    })
    this.fileData()
    this.linkWorkOrder()
  },
  async fileData() {
    const res = await api._post({
      "method": "queryFileLink",
      "classname": "system.attachment.Attachment",
      "content": {
        "ownertable": "sa_serviceorder",
        "ownerid": this.data.id,
        "usetype": "附件" //传空返回有所
      }
    })
    this.setData({
      filelist: res.data,
      refresh: true
    })
  },
  addProduct() {
    wx.navigateTo({
      url: '/Eservice/agent/billCanUseProduct/index?id=' + this.data.mainData.sa_workorderid,
    })
  },

  async getAdd(selection) {
    const res = await api._post({
      "id": "20230206161803",
      "version": 1,
      "content": {
        "sa_serviceorderid": this.data.id,
        "iteminfos": selection.map(e => {
          return {
            "sa_serviceorderitemsid": 0,
            "itemid": e,
            "reason": ""
          }
        })
      }
    })
    this.productmx()
  },

  async productmx() {
    const res = await api._post({
      "id": "20230206161903",
      "version": 1,
      "content": {
        "sa_serviceorderid": this.data.id
      }
    })
    this.setData({
      list: res.data
    })
  },
  /* 底部按钮回调 */
  tabbarOnClick(e) {
    let that = this,
      dialogConfig = null,
      res = null;
    switch (e.detail.label) {
      case "编辑":
        getApp().globalData.handelSelect = this
        wx.navigateTo({
          url: '/Eservice/agent/editServiceBill/index',
        })
        break;
      case "提交":
        dialogConfig = {
          context: this,
          title: '提示',
          content: '确认提交当前申请单吗',
          confirmBtn: '确定',
          cancelBtn: '取消',
        };
        Dialog.confirm(dialogConfig)
          .then(async () => {
            res = await api._post({
              "id": "20230206101403",
              "version": 1,
              "content": {
                "sa_serviceorderid": that.data.id,
                "issumbit": 1,
              }
            });
            that.mainData()
          })
          .catch((err) => console.log(err))
          .finally(() => Dialog.close());
        break;
      case "删除":
        dialogConfig = {
          context: this,
          title: '提示',
          content: '确认删除当前申请单吗',
          confirmBtn: '确定',
          cancelBtn: '取消',
        };
        Dialog.confirm(dialogConfig)
          .then(async () => {
            res = await api._post({
              "id": "20230206091803",
              "version": 1,
              "content": {
                "sa_serviceorderids": [that.data.id],
              }
            })
            wx.navigateBack()
          })
          .catch((err) => console.log(err))
          .finally(() => Dialog.close());
        break;
    }
  },
  async linkWorkOrder() {
    const res = await api._post({
      "id": "20230207154203",
      "version": 1,
      "content": {
        "sa_serviceorderid": this.data.id
      }
    })
    this.setData({
      linkWorkOrders: res.data
    })
  },
  tolinkWorkOrder(e) {
    let id = e.currentTarget.dataset.item.sa_workorderid
    let app = getApp()
    app.globalData.action = ['editLeader']
    wx.navigateTo({
      url: '/Eservice/workOrderDetail/index?class=stopClick&id=' + id
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.setData({
      id: options.id
    })
    this.productmx()
  },
  onShow() {
    this.mainData()
  },
  async onUnload() {
    let page = getCurrentPages().find(v => v.__route__ == 'Eservice/agent/serviceBillList/index');
    if (!page) return;
    let param = JSON.parse(JSON.stringify(page.data.param));
    param.content.pageSize = param.content.pageNumber * param.content.pageSize;
    param.content.pageNumber = 1;

    const res = await api._post(param);
    page.setData({
      list: res.data
    })
  },
})