chenlu
2025-12-01 1e56bd5cc3be7f7957788f2606c7f56cb4d27f50
north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue
@@ -21,6 +21,7 @@
import {multiply,multiplyAuto,divideAuto} from '@/utils/decimal'
import OrderNumberReportTransfer from "@/components/sd/order/OrderNumberReportTransfer.vue"
import UploadPicture from "@/components/sd/order/UploadPicture.vue"
import ProcessAttribute from "@/components/sd/order/ProcessAttribute.vue"
const { t } = useI18n()
let dialogTableVisible = ref(false)
@@ -32,6 +33,7 @@
let uploadPictureVisible = ref(false)
let alienEditorVisible = ref(false)
let fileUploadVisible = ref(false)
let processAttributeVisible = ref(false)
const transferData = ref({
  oldOrderId:null,
  newOrderNumber:null,
@@ -50,7 +52,7 @@
const shapeList = ref([
    {label:t('order.universalShape'),value:'1'}, {label:t('order.alien'),value:'2'}
])
const edgingTypeList = ref([])
const newOrderId = ref([])
const orderTypeState = ref(0)
@@ -188,8 +190,14 @@
      filters:[{ data: '' }],
      slots: { filter: 'num1_filter',edit:'shape_edit',default:'default_shape' }, sortable: true,filterMethod:filterChanged},
    {field: 'bendRadius',width:160,  title: t('order.bendRadius'),editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'edgingType',width:160,  title: t('order.edgingType'),editRender: { name: 'input'},filters:[{ data: '' }],
      slots: { filter: 'num1_filter',edit:'edgingType_edit' }, sortable: true,filterMethod:filterChanged},
    {field: 'edgingType',width:160,  title: t('order.edgingType'),filters:[{ data: '' }],
      slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {
      field: 'processAttribute',
      width: 160,
      title: t('工艺属性'),
      filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged
    },
    {field: 'processingNote',width:200,  title: t('order.processingNote'),editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'fileName',width:200,  title: t('order.drawingNo'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'remarks',width:140,  title: t('basicData.remarks'),editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
@@ -581,6 +589,24 @@
                  item["productName"] = val1
                }
              })
            }else if(result.cell=='processAttribute'){
              const val = dataList[result.start][result.cell]
              const val1 = dataList[result.start]["edgingType"]
              dataList.forEach((item,index) =>{
                if(index>=result.start && index<=result.end){
                  item[result.cell] = val
                  item["edgingType"] = val1
                }
              })
            }else if(result.cell=='edgingType'){
              const val = dataList[result.start][result.cell]
              const val1 = dataList[result.start]["processAttribute"]
              dataList.forEach((item,index) =>{
                if(index>=result.start && index<=result.end){
                  item[result.cell] = val
                  item["processAttribute"] = val1
                }
              })
            }else{
              const val = getNestedProperty(dataList[result.start],result.cell)
@@ -619,6 +645,24 @@
                  item["productName"] = val1
                }
              })
            }else if(result.cell=='processAttribute'){
              const val = dataList[result.start][result.cell]
              const val1 = dataList[result.start]["edgingType"]
              dataList.forEach((item,index) =>{
                if(index>=result.start ){
                  item[result.cell] = val
                  item["edgingType"] = val1
                }
              })
            }else if(result.cell=='edgingType'){
              const val = dataList[result.start][result.cell]
              const val1 = dataList[result.start]["processAttribute"]
              dataList.forEach((item,index) =>{
                if(index>=result.start ){
                  item[result.cell] = val
                  item["processAttribute"] = val1
                }
              })
            }else{
              const val = getNestedProperty(dataList[result.start],result.cell)
              dataList.forEach((item,index) =>{
@@ -639,11 +683,28 @@
          let result = toolbarButtonClickEvent()
          if(result){
            const dataList = xGrid.value.getTableData().visibleData
            dataList.forEach((item,index) =>{
              if(index>=result.start && index<=result.end){
                item[result.cell] = ''
              }
            })
            if(result.cell=='processAttribute'){
              dataList.forEach((item,index) =>{
                if(index>=result.start && index<=result.end){
                  item[result.cell] = ''
                  item['edgingType'] = ''
                }
              })
            }else if(result.cell=='edgingType'){
              dataList.forEach((item,index) =>{
                if(index>=result.start && index<=result.end){
                  item[result.cell] = ''
                  item['processAttribute'] = ''
                }
              })
            }else{
              dataList.forEach((item,index) =>{
                if(index>=result.start && index<=result.end){
                  item[result.cell] = ''
                }
              })
            }
          }
          computedMoney(result.cell)
          gridOptions.menuConfig.body.options[0][5].disabled=false
@@ -841,9 +902,13 @@
  },
  cellDblclick (params) {//表格内容双击打开产品界面
    const { row,column } = params
    if(column.field==='productName' || column.field==='productId'){
    if (column.field === 'processAttribute'||column.field === 'edgingType') {
      rowIndex = row
      processAttributeVisible.value = true
    } else if (column.field === 'productName' || column.field === 'productId') {
      // 保留原产品选择逻辑
      productVisible.value = true
      rowIndex=row
      rowIndex = row
    }
  },
@@ -1092,10 +1157,7 @@
        })
      }
      titleSelectJson.value.edgingType.forEach(item=>{
        let type= {label:item.basicName,value:item.basicName}
        edgingTypeList.value.push(type)
      })
      //进入页面下拉框设置默认值
      titleUploadData.value.orderType = titleSelectJson.value.orderType[0].basicName
      titleUploadData.value.orderClassify = titleSelectJson.value.orderClassify[0].basicName
@@ -1733,6 +1795,15 @@
  });
};
const getEdgingProcess = (value,edgingType) => {
  rowIndex.processAttribute=JSON.stringify(value)
  rowIndex.edgingType=edgingType
  processAttributeVisible.value = false
}
</script>
<template>
@@ -1915,9 +1986,7 @@
        <template #shape_edit="{ row }">
          <vxe-select v-model="row.shape" transfer :options="shapeList"  placeholder=" "/>
        </template>
        <template #edgingType_edit="{ row }">
          <vxe-select v-model="row.edgingType" transfer :options="edgingTypeList"  placeholder=" "/>
        </template>
      </vxe-grid>
@@ -2041,6 +2110,19 @@
    </el-dialog>
    <el-dialog
        v-model="processAttributeVisible"
        :close-on-click-modal="false"
        :close-on-press-escape="false"
        destroy-on-close
        style="width: 1114px;height:650px ">
      <process-attribute :rowIndex="rowIndex"
          :edging-type-list="titleSelectJson"
          @getEdgingProcess="getEdgingProcess"
      />
    </el-dialog>
  </div>
</template>