廖井涛
2024-04-09 8202686b06680db9b82d4a99a31dc7f9dca4ee86
north-glass-erp/northglass-erp/src/views/sd/order/CreateOrder.vue
@@ -8,7 +8,8 @@
import  useUserInfoStore from '@/stores/userInfo'
import SelectProduct from "@/views/sd/product/SelectProduct.vue"
import {changeFilterEvent,filterChanged} from "@/hook"
import {addListener,toolbarButtonClickEvent} from "@/hook/mouseMove";
import {addListener,toolbarButtonClickEvent} from "@/hook/mouseMove"
import downLoadFile from "@/hook/downLoadFile"
import {useI18n} from "vue-i18n"
const { t } = useI18n()
@@ -19,6 +20,7 @@
const route = useRoute()
const xGrid = ref()
let cellArea = ref()
const shapeList = ref(['普形','异形'])
// 定义表头上传数据
const titleUploadData = ref({
@@ -119,7 +121,11 @@
    {field: 'grossArea',width:160,  title: t('order.trueGrossArea'),filters:[{ data: '' }],slots: { filter: 'num1_filter'}, sortable: true,filterMethod:filterChanged},
    {field: 'computeArea',width:180,  title: t('order.computeArea'),editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'computeGrossArea',width:200,  title: t('order.computeGrossArea'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'shape',width:120,  title: t('order.shape'),editRender: { name: 'input'},filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged},
    {field: 'shape',width:120,
      title: t('order.shape'),
      editRender: { name: 'input'},
      filters:[{ data: '' }],
      slots: { filter: 'num1_filter',edit:'shape_edit' }, 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' }, 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},
@@ -299,7 +305,7 @@
        }
      }
    }
  },//头部按钮事件
  },//右键按钮事件
  menuClick ({ menu, row, column }) {
    const $grid = xGrid.value
    if ($grid) {
@@ -411,18 +417,35 @@
onMounted(()=>{
  //启用表格拖动选中
  addListener(xGrid.value,gridOptions)
  const str = route.query.orderId
  const str = route.query.orderId || history.state.orderId
  if (typeof str === 'undefined' || str === null || str === '' || str === '\n' || str === '\r'){
    return
  }
  request.post(`/order/getOrderById/${str}`).then((res) => {
    if(res.code==200){
      titleUploadData.value = res.data.order
      if(history.state.orderId!=null){
        titleUploadData.value.orderId=''
        titleUploadData.value.id=null
        titleUploadData.value.processReview=null
        titleUploadData.value.orderReview=null
        titleUploadData.value.productionOrder=null
        titleUploadData.value.processingCard=null
        titleUploadData.value.warehousing=null
        titleUploadData.value.delivery=null
        titleUploadData.value.createTime=null
        if(history.state.type=='copy'){
          xGrid.value.reloadData(res.data.orderDetails)
        }
        return
      }
      //取消工艺按钮禁用
      gridOptions.toolbarConfig.buttons[1].disabled = false
      //工艺审核后保存按钮禁用
      if(res.data.order.processReview === 2){
        gridOptions.toolbarConfig.buttons[4].disabled = true
      }
      //取消审核按钮禁用
      if(res.data.order.processReview === 2 && res.data.order.orderReview === 0){
@@ -439,6 +462,11 @@
          status: 'primary',
          'name': (res.data.order.orderReview>0?t('basicData.cancel'):t('basicData.restore'))}
        gridOptions.toolbarConfig.buttons.push(button)
        if(res.data.order.orderReview===-2){
          gridOptions.toolbarConfig.buttons[2].disabled = true
          gridOptions.toolbarConfig.buttons[3].disabled = true
          gridOptions.toolbarConfig.buttons[4].disabled = true
        }
      }
      if(res.data.order.productionOrder !==0 ){
        gridOptions.toolbarConfig.buttons[2].disabled = true
@@ -470,6 +498,7 @@
  if(res.code==200){
    titleSelectJson.value=deepClone(res.data)
    //进入页面下拉框设置默认值
    titleUploadData.value.orderType = titleSelectJson.value.orderType[0].basicName
    titleUploadData.value.orderClassify = titleSelectJson.value.orderClassify[0].basicName
    titleUploadData.value.icon = titleSelectJson.value.icon[0].basicName
@@ -507,7 +536,12 @@
  request.post(`/order/updateOrderMoney`,updateData).then(res => {
    if (res.code == 200){
      ElMessage.success( t('order.msg.updateAmountSuccessfully') )
      router.push({path:'/main/order/createOrder',query:{orderId:titleUploadData.value.orderId,random:Math.random()}})
      router.push({path:'/main/order/createOrder',
        query:{
          orderId:titleUploadData.value.orderId,
          random:Math.random()
        }
      })
    }
  })
@@ -595,6 +629,11 @@
    xGrid.value.loadData(jsonData)
  }
  fileReader.readAsBinaryString(files[0])
}
//模板下载
const importTemplate = () => {
  downLoadFile('/importTemplate.xlsx','importTemplate.xlsx')
}
//行单元格修改修改触发此事件
@@ -764,8 +803,14 @@
          </div>
        </template>
        <template #toolbar_buttons>
          <vxe-button  @click="importTemplate">{{$t('order.template')}}</vxe-button>
          <vxe-button  @click="importEvent">{{$t('order.import')}}</vxe-button>
        </template>
        <template #shape_edit="{ row }">
          <vxe-select v-model="row.shape" transfer>
            <vxe-option v-for="item in shapeList" :key="item" :value="item" :label="item" />
          </vxe-select>
        </template>
      </vxe-grid>