| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303 | import api from '../api/api';const _Http = getApp().globalData.http;let deleteUsers = [];Page({  data: {    stopClick: '',    SignName: true,    timerid: null,    act_confirm_value: '是',    form: {      "sa_workorderid": 0,      "sa_workorder_nodeid": 0,      "remarks": "",      "textcontent": "",      "confirm_value": "",      "amount": 0,      "isconfirm": 0,      "team": [],      "trainers": [],      "traintitem": [],    },    bindNormalData: {      ownertable: 'sa_workorder_node',      ownerid: 0,      usetype: 'default'    },    bindContractData: {      "ownertable": "sa_workorder_node",      "ownerid": 0,      "usetype": "contract",    },    bindSignNameData: {      "ownertable": "sa_workorder_node",      "ownerid": 0,      "usetype": "signature",    }  },  async nodeDetail() {    const res = await api._post({      "id": "20230209091103",      "version": 1,      "content": {        nocache: true,        "sa_workorderid": this.data.sa_workorderid,        "sa_workorder_nodeid": this.data.sa_workorder_nodeid      }    })    console.log("详情", res.data)    this.setData({      mainData: res.data[0],      teams: res.data[0].team.map(v => v.userid),      titems: res.data[0].titems    })    this.setDefaultData()  },  // 是否确认  confirmValue(data) {    this.data.form.confirm_value = data.currentTarget.dataset.item    this.setData({      form: this.data.form    })    this.updateNode()  },  // 文本信息  textContent(data) {    this.data.form.textcontent = data.detail.value    this.setData({      form: this.data.form    })    this.updateNode()  },  // 是否有偿  amountPay(data) {    this.data.form.amount = data.detail.value    this.setData({      form: this.data.form    })    this.updateNode()  },  // 备 注  remarkEdit(data) {    this.data.form.remarks = data.detail.value    this.setData({      form: this.data.form    })    this.updateNode()  },  confirmBill() {    this.data.form.isconfirm = 1    this.setData({      form: this.data.form    })    this.updateNode()  },  // 更新节点  async updateNode(e) {    this.data.form.traintitem = this.data.titems    this.data.form.sa_workorderid = this.data.sa_workorderid    this.data.form.sa_workorder_nodeid = this.data.sa_workorder_nodeid    this.data.form.team = []    const res = await api._post({      "id": "20230209094203",      "content": this.data.form    });    if (!this.data.form.team.some(v => v.userid == wx.getStorageSync('userMsg').userid)) {      this.setData({        teams: [wx.getStorageSync('userMsg').userid]      })      this.addUser(false);    }    if (e && e.currentTarget.dataset.info === 'needBack') {      wx.navigateBack()    } else {      this.nodeDetail()    }  },  // 获取输入的数据  setDefaultData() {    let that = this    Object.keys(this.data.mainData).map((key, index) => {      Object.keys(this.data.form).map((key2, index) => {        if (key === key2) {          that.data.form[key2] = that.data.mainData[key2]        }      })    })    this.setData({      form: this.data.form    })  },  // 跳转到添加人员  addTrainers() {    wx.navigateTo({      url: '/Eservice/addTrainers/index',    })  },  // 添加人员  getAddTrainers(data) {    this.data.form.trainers.push(data)    this.data.mainData.trainers = this.data.form.trainers    this.setData({      // form:this.data.form,      mainData: this.data.mainData    })    this.updateNode()  },  // 删除人员  deleteMenber(data) {    this.data.mainData.trainers = this.data.mainData.trainers.filter(e => {      return e.sa_workorder_node_teamid !== data.detail.sa_workorder_node_teamid    })    this.data.form.trainers = this.data.mainData.trainers    this.setData({      form: this.data.form,      mainData: this.data.mainData    })    this.updateNode()  },  // 跳转到物料添加  addProduct() {    wx.navigateTo({      url: '/Eservice/serviceMaterial/index',    })  },  // 添加物料  getAdd(selection) {    this.data.form.traintitem = selection.map(e => {      return {        "itemname": e.itemname,        "itemid": e.itemid,        "model": e.model,        "spec": e.spec,        "qty": 1      }    })    this.setData({      titems: this.data.form.traintitem    })    this.updateNode()  },  // 修改物料数量  qtyChange(data) {    clearTimeout(this.data.timerid)    this.data.timerid = setTimeout(() => {      this.data.titems.forEach(e => {        if (e.itemid == data.detail.itemid) {          e.qty = data.detail.qty        }      })      this.setData({        titems: this.data.titems      })      this.updateNode()    }, 1000)    this.setData({      timerid: this.data.timerid    })  },  // 删除物料  deleteMaterial(data) {    this.setData({      titems: this.data.titems.filter(e => {        return e.itemid !== data.detail.itemid      })    })    this.updateNode()  },  /**   * 生命周期函数--监听页面加载   */  onLoad(options) {    this.data.bindContractData.ownerid = options.id    this.data.bindNormalData.ownerid = options.id    this.data.bindSignNameData.ownerid = options.id    this.setData({      bindContractData: this.data.bindContractData,      bindNormalData: this.data.bindNormalData,      bindSignNameData: this.data.bindSignNameData,      sa_workorder_nodeid: options.id,      sa_workorderid: options.wid,      stopClick: options.class    })    this.nodeDetail();    let page = getCurrentPages()[getCurrentPages().length - 2];    if (page.__route__ == 'Eservice/workOrderDetail/index') this.setData({      workers: page.data.billData.team    })    getApp().globalData.Language.getLanguagePackage(this, 'E-订单');  },  onShow() {    this.setData({      SignName: true    })  },  onHide() {    this.setData({      SignName: false    })  },  /**   * 开始添加成员或者取消添加   */  showTeamDialog() {    this.setData({      showTeams: !this.data.showTeams    })  },  /**   * 选择添加成员   */  selectTeams(e) {    const {      userid    } = e.currentTarget.dataset.item;    let teams = this.data.teams;    if (teams.some(v => v == userid)) {      teams = teams.filter(v => v != userid)      deleteUsers.push(userid);    } else {      teams.push(userid)    }    this.setData({      teams    })  },  addUser(init = true) {    api._post({      "id": 20220930103803,      "content": {        ownertable: 'sa_workorder_node',        ownerid: this.data.mainData.sa_workorder_nodeid,        "userids": deleteUsers      }    }).then(s => {      console.log("先删除", s)      deleteUsers = [];      api._post({        "id": 20220930103603,        "content": {          ownertable: 'sa_workorder_node',          ownerid: this.data.mainData.sa_workorder_nodeid,          "userids": this.data.teams        }      }).then(res => {        console.log("添加成员", res)        wx.showToast({          title: res.code == '1' ? getApp().globalData.Language.getMapText('修改成功') : res.msg,          icon: "none",          mask: true        });        if (res.code == '1') {          this.nodeDetail();          if (init) this.showTeamDialog();        }      })    })  },})
 |