/*******************************************************************************
 * Copyright(c) 2022 dongke All rights reserved. / Confidential
 * 类的信息：
 *		1.程序名称：
 * 编辑履历：
 *		作者				日期					版本				修改内容
 *		王英杰		 2024-1-24			1.00		    新建供应商
 *******************************************************************************/
const mixins = require('@/mixins/index.js')
const app = getApp()
const Constants = require('@/utils/Constants')
Page({
  mixins: [mixins],
  /**
   * 页面的初始数据
   */
  data: {

    cardList: ['main','staff','other'],
    contentObj: {
      main: [{ //供应商编码
          code: 'supCode',
          type: 'textarea',
          title: mixins.$t("supplierCode"),
          readonly:true
        }, { //供应商名称
          code: 'supName',
          type: 'textarea',
          title: mixins.$t("supplierName"),
          required: true,
        }, { //供应商类别
          code: 'supType',
          name: 'supTypeName',
          title: mixins.$t("supplierType"),
          type: 'choose',
          urlKey: 'chooseSupplierCategory',
          required: true,
          changeObj: {  [Constants.kindCode.supplierPur]: { hide: ['serviceCategorie'], visible: ['brandId'] }, [Constants.kindCode.supplierService]: { hide: ['brandId'], visible: ['serviceCategorie'] } },
        }, { //供应品牌
          code: 'brandId',
          name: 'brandName',
          title: mixins.$t("brandId"),
          type: 'choose',
          urlKey: 'chooseBrandy',  
        },  { //服务类别 
          code: 'serviceCategorie',
          name: 'serviceCategoriesName',
          title: mixins.$t("ServiceCategories"),
          type: 'choose',
          urlKey: 'chooseServiceCategory', 
        }, { //联系人
          code: 'contactName',
          type: 'textarea',
          title: mixins.$t("contactName"), 
        },
        { //联系电话
          code: 'contactPhone',
          type: 'phone',
          title: mixins.$t("contactPhone"),

        },{ code: 'returnAddress', type: 'address', title: mixins.$t("returnAddress"),   }
      ],
      staff: [{//采购人员
        code: 'staffId', 
        name: 'staffName',
        title: mixins.$t("procureStaff"),
        type: 'choose',
        urlKey: 'chooseStaff'
      }, {  //业务部门
        code: 'orgId', 
        name: 'orgName',  
        title: mixins.$t("orgId"),
        type: 'choose',
        urlKey: 'chooseOrg'
      }, { // todo: 目前 表里 缺这个字段 先不弄
        code: 'collectAmount',
        type: 'number',
        title: '初始欠款'
      }],

      other: [{
        code: 'Remarks',
        type: 'textarea',
        title: mixins.$t("remarks"),
      }]
    },
    // 路由
    routeObjName: 'supplier',
  },
   /**
      * @desc   : 绑定数据-选择页面返回的逻辑处理
      * @author : 王英杰
      * @date   : 2024年3月12日
      */
     chooseData(e) { 
      console.log("t", e, this.data.formData);
      let formData = JSON.parse(this.data.formData) 
      let code = e.detail.code
      let data = e.detail.data.data
      if (code == "supType") { //供应商类别
        formData.supType = data.id
        formData.supTypeName = data.name
      }
      if (code == "serviceCategorie") { //供应商服务类别
        let ids = []
        let names = []
        if(data && data.list){
          data.list.forEach(element => {
            ids.push(element.id)
            names.push(element.kindName)
          }); 
        }
        formData.serviceCategorie = ids.join(',')
        formData.serviceCategoriesName = names.join(',')
      } 
      if (code == "staffId") { //员工
        formData.staffId = data.id
        formData.staffName = data.name
      }
      if (code == "orgId") { //部门
        formData.orgId = data.id
        formData.orgName = data.name
      }
      if (code == "brandId") { //供应商品牌
        let ids = []
        let names = []
        if(data && data.list){
          data.list.forEach(element => {
            ids.push(element.brandId)
            names.push(element.brandName)
          }); 
        }         
        formData.brandId = ids.join(',')
        formData.brandName = names.join(',')
      } 
      this.setData({  
        formData: JSON.stringify(formData)
      })
    },

  /**
   * @desc : 给表单赋值
   * @date : 2024/2/1 15:49
   * @author : 王英杰
   */
  setValuesByEdit(data) { 
    data.serviceCategories = (data.serviceCategories && data.serviceCategories.length > 0) ? data.serviceCategories.join(',') : undefined
    data.brandIds = (data.brandIds && data.brandIds.length > 0) ? data.brandIds.split(',') : undefined
    this.setData({
      formData: JSON.stringify(data)
    }) 

  },
    // 设置保存参数
    setParams(params){
      let saveData = JSON.parse(this.data.formData)
       // 修改之后的 值 
       params = Object.assign({}, params, saveData);
       console.log("params",params);
       params.serviceCategories = (params.serviceCategories && params.serviceCategories.length > 0) ? params.serviceCategories.split(',') : []
       params.brandIds = (params.brandIds && params.brandIds.length > 0) ? params.brandIds.split(',') : []
       return params
   },
 
   /**
  * @desc : 保存数据服务
  * @date : 2024/2/1 15:49
  * @author : 王英杰
  */
 saveData() { 
  console.log("cnshu",this.data.params);
  if (this.data.formMode == Constants.formMode.edit) { //编辑接口
    return this.excute(this.data.service, this.data.service.update, this.data.params)
  } else { //新建接口
    return this.excute(this.data.service, this.data.service.insert, this.data.params);
  }
    
  }, 
 
  /**
   * @desc : 页面加载数据方法
   * @date : 2024/2/1 15:49
   * @author : 王英杰
   */
  loadInit() {
    if (this.data.formMode == Constants.formMode.edit) {
      wx.setNavigationBarTitle({
        title: mixins.$t('supplierEdit'),
      })
    } else {
      wx.setNavigationBarTitle({
        title: mixins.$t('supplierAdd'),
      })
    }
  },
})