chenlu
2024-06-26 9f6d6c1fd39a1b5eb19efeabae4ff595eeda9ed5
north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue
@@ -94,8 +94,8 @@
  printConfig: {},
  importConfig: {},
  exportConfig: {},
  scrollY:{ enabled: true,gt:13 },//开启虚拟滚动
  scrollX:{ enabled: true,gt:7 },//开启虚拟滚动
  scrollY:{ enabled: true,gt:0 },//开启虚拟滚动
  scrollX:{ enabled: true,gt:0 },//开启虚拟滚动
  showOverflow:true,
  menuConfig: {
    body: {
@@ -309,6 +309,7 @@
            ElMessage.error( t('order.msg.tableLengthNot'))
            return
          }
          computedMoney()
          if(!gridOptions.menuConfig.body.options[0][5].disabled){
            ElMessage.error(t('order.msg.amountReset'))
            return
@@ -569,17 +570,8 @@
          break
        }
        case 'computedMoney' :{
          const  dataList = xGrid.value.getTableData().fullData
          dataList.forEach((item,index) =>{
            item.area = area(item)
            item.grossArea = countArea(item)
            item.computeArea = item.area
            item.computeGrossArea = item.grossArea
            item.grossAmount=parseFloat((item.price * item.computeGrossArea).toFixed(2))
          })
          titleUploadData.value.money=countMoney(xGrid.value.getTableData().fullData).toString()
          computedMoney()
          gridOptions.menuConfig.body.options[0][5].disabled=true
          break
        }
        case 'errorArea' :{
@@ -727,6 +719,21 @@
    }
  })
}
const computedMoney = () => {
  const  dataList = xGrid.value.getTableData().fullData
  dataList.forEach((item,index) =>{
    item.area = area(item)
    item.grossArea = countArea(item)
    item.computeArea = item.area
    item.computeGrossArea = item.grossArea
    item.grossAmount=parseFloat((item.price * item.computeGrossArea).toFixed(2))
  })
  titleUploadData.value.money=countMoney(xGrid.value.getTableData().fullData).toString()
  gridOptions.menuConfig.body.options[0][5].disabled=true
}
//页面第一次加载执行
@@ -944,6 +951,7 @@
    const data = event.target ? event.target.result : ''
    const workbook = XLXS.read(data, { type: 'binary' })
    let jsonData = XLXS.utils.sheet_to_json(workbook.Sheets.Sheet1).slice(1)
    if(jsonData.length>maxTableLen.value){
      ElMessage.error(`${t('order.msg.importMaxCheckFailFirst')}
                          ${jsonData.length}
@@ -952,6 +960,15 @@
      return
    }
    jsonData.forEach((item,index) => {
      for(let key in item){
        if(key.indexOf('.')!==-1){
          const value = item[key];
          delete item[key]; // 删除原有的属性
          setNestedProperty(item, key, value);
        }
      }
      if(item.computeArea === undefined){
        item.computeArea = area(item)
      }
@@ -981,6 +998,19 @@
  downLoadFile('/importTemplate.xlsx','importTemplate.xlsx')
}
function setNestedProperty(obj, path, value) {
  const keys = path.split('.');
  const lastKey = keys.pop();
  let cursor = obj;
  keys.forEach(key => {
    cursor = cursor[key] !== undefined ? cursor[key] : (cursor[key] = {});
  });
  cursor[lastKey] = value;
}
//字符串转object
function getNestedProperty(obj, path) {