addOrder.js 4.01 KB
(function($$) {
    "use strict";
    let vm
    const util = new window.publicMethod() ;
  
    function init() {
      vm = new Vue({
        el: '#pageDiv',
        data: {
          info: {},

          confirmFlag: false,
          typeArr: [],
          deviceArr: [],
          
          pickData: {
            isShow: false,

            title: '',
            typeIndex: 0,
            deviceIndex: 0,
            dIndex: 0,
            ntype: '',
            index: 0,

            arr: []
          },

          orderArr: []
        },
        created: function() {
          this.info = JSON.parse(sessionStorage.getItem('huaiAnAppParam'))

          this.addOrder()

          this.getType()
          this.getDevice()
        },
        methods: {
          onConfirm(value, index) {
            let p = this.pickData
            if(p.ntype == 'device'){
              this.orderArr[this.pickData.index].terminalClass = value
            }else{
              this.orderArr[this.pickData.index].serviceName = value
            }

            this.pickData.isShow = false
          },
          onCancel(){
            this.pickData.isShow = false
          },
          addOrder(){
            this.orderArr.push({
              orderCode: '',
              serviceName: '',
              terminalClass: '',
              deviceNumber: '',
              applyId: this.info.applyId
            })
          },
          goSave(){
            let arr = this.orderArr

            for(let i=0,j=arr.length;i<j;i++){
              let p = arr[i]
              if(!p.orderCode){
                util.toast('请输入工单'+(i+1)+'的工单ID')
                return
              }
              if(!p.serviceName){
                util.toast('请选择工单'+(i+1)+'的工单类型')
                return
              }
              if(!p.terminalClass){
                util.toast('请选择工单'+(i+1)+'的添加设备')
                return
              }
              if(p.terminalClass=='软终端' && !p.deviceNumber){
                util.toast('请输入工单'+(i+1)+'的设备串号')
                return
              }
            }

            this.confirmFlag = true
          },
          saveOrder(){
            util.httpRequest({
              url: '/addDevices',
              data: {
                data: this.orderArr
              },
            }).then(res=>{
              if(res.code == 200){
                util.toast('保存成功')
                this.confirmFlag = false

                history.go(-1)
                //window.location.replace('index.html?time='+new Date().getTime())
              }else{
                util.toast(res.msg)
              }
            })
          },
          pickShow(ntype,index){
            this.pickData.ntype = ntype
            this.pickData.index = index
            this.pickData.title = ntype=='device'?'添加设备':'工单类型'
            this.pickData.arr = ntype=='device'?this.deviceArr:this.typeArr

            this.pickData.isShow = true
          },
          getType(){
            util.httpRequest({
              url: '/listEnum',
              middleUrl: '/zhijian-trial/common',
              data: {
                type: 1
              },
            }).then(res=>{
              if(res.code == 200){
                this.deviceArr = res.data.map(item=>{
                  return item.value
                })
              }
            })
          },
          getDevice(){
            util.httpRequest({
              url: '/listEnum',
              middleUrl: '/zhijian-trial/common',
              data: {
                type: 2
              },
            }).then(res=>{
              if(res.code == 200){
                this.typeArr = res.data.map(item=>{
                  return item.value
                })
              }
            })
          }
        }
      })
    }

    init()
    window.vm = vm
  })(window.jQuery)
  

  window.addEventListener('load', function () {
    document.getElementById('pageDiv').style.display = 'block'; // 显示内容
  });