huang
2024-12-05 bda2b4f26292c0030de269f88ae4900d9abdc801
Merge branch 'master' of http://10.153.19.25:10105/r/ERP_override
80个文件已修改
5482 ■■■■ 已修改文件
north-glass-erp/northglass-erp/src/components/BasicTable.vue 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/pp/TagStyleDesigner.vue 97 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet3.vue 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/stores/sd/companySet/天津北玻.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/stores/sd/companySet/常州吉利.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/stores/sd/companySet/新疆恒鑫.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/stores/sd/companySet/金华天成.js 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/basicData/WarehouseSearchBasicData.vue 49 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/ingredient/CreateIngredients.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/ingredientStock/MaterialOutbound.vue 139 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/ingredientStock/ReturnToStorage.vue 138 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/ingredientStock/ReturnToStorageCreate.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/ingredientStock/SelectIngredientsStock.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/productStock/CreateProductStock.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/productStock/FinishedGoodsIssue.vue 114 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/productStock/OrderAllocation.vue 113 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/productStock/StorageRecord.vue 100 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/productStock/StorageRecordPint.vue 134 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/productStock/TakeOutRecord.vue 134 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/productStock/TransferRecord.vue 132 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/machine/AddMachine.vue 80 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/machine/AddMaintenanceAndRepair.vue 105 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/machine/MaintenanceAndRepair.vue 96 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/machine/SelectMachine.vue 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCard.vue 160 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCardDetails.vue 165 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintLabel.vue 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/ProductionScheduling.vue 103 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/SelectAddProcess.vue 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/SelectDetailProcessCard.vue 103 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/SelectPrintFlowCard.vue 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/SelectPrintProject.vue 98 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/SelectProcessCard.vue 167 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/productionBasicData/AddBreakageReason.vue 70 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/productionBasicData/AddBreakageType.vue 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/productionBasicData/AddTeamGroup.vue 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/productionBasicData/SelectProductionBasicData.vue 100 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/replenish/AddReplenish.vue 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/replenish/PrintReplenishFlowCard.vue 179 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/replenish/Replenish.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/replenish/SelectReplenish.vue 125 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/report/DamageReport.vue 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/report/OrderPlanDecomposition.vue 81 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/report/ProcessCardProgress.vue 81 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/report/ProcessToBeCompleted.vue 93 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/report/ProductionSchedule.vue 87 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/report/QualityReport.vue 81 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/report/RawMaterialRequisition.vue 81 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/report/ScheduleProductionSchedule.vue 111 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/report/SplittingDetailsOutside.vue 72 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/report/TaskCompletionStatus.vue 106 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/report/TeamOutput.vue 109 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/report/WorkInProgress.vue 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/report/Yield.vue 81 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/reportingWorks/QualityInspectionReview.vue 128 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/reportingWorks/SelectReportingWorks.vue 158 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/rework/AddRework.vue 104 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/rework/PrintReworkFlowCard.vue 181 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/workOrder/AddWorkOrder.vue 81 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/workOrder/SelectWorkOrder.vue 112 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/sd/basicData/SearchBasicData.vue 105 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/sd/basicData/SearchGlassType.vue 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/sd/customer/SelectCustomerOrder.vue 140 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/sd/delivery/SelectOrderList.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/system/role/RoleList.vue 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/system/user/UserList.vue 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/controller/mm/MaterialStoreController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/controller/pp/ProcessCardController.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/dto/pp/WorkInProgressDTO.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/mapper/mm/MaterialStoreMapper.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/mm/MaterialStoreService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java 30 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/mm/MaterialInventory.xml 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/mm/MaterialStore.xml 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/pp/Report.xml 58 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/pp/ReportingWork.xml 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/sd/DeliveryMapper.xml 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/components/BasicTable.vue
@@ -190,7 +190,8 @@
</script>
<template>
  <div class="main-div">
  <div  style="width: 100%;height: 100%">
    <div class="head">
    <el-date-picker
        v-model="orderInfo.reportFormDate"
        type="daterange"
@@ -205,10 +206,11 @@
        type="primary"
        style="margin-top: -5px"
        :icon="Search">{{$t('basicData.search')}}</el-button>
    <div class="order-detail">
    </div>
    <div class="main-table">
      <vxe-grid
          @filter-change="filterChanged"
          height="110%"
          height="100%"
          class="mytable-scrollbar"
          ref="xGrid"
          v-bind="gridOptions"
@@ -276,13 +278,14 @@
  border: none !important;
  background-color: transparent;
}
.order-primary{
.head{
  width: 100%;
  height: 35px;
}
.order-detail{
  width: 100%;
  height:  calc(100% - 30px);
.main-table{
  width: 100%;
  height: calc(100% - 35px);
}
.vxe-grid {
north-glass-erp/northglass-erp/src/components/pp/TagStyleDesigner.vue
@@ -290,6 +290,18 @@
    }
  },
  {
    tid: 'size', title: '尺寸数量', data: '', type: 'text',
    options: {
      field: 'size',
      testData: '',
      width:270,
      height: 16,
      fontSize: 11.25,
      textAlign: "left",
      textContentVerticalAlign: "middle"
    }
  },
  {
    tid: 'orderNumber', title: '订单序号', data: '', type: 'text',
    options: {
      field: 'orderNumber',
@@ -744,7 +756,7 @@
  }
}
const save = () => {
const save = (type) => {
  ElMessageBox.prompt( t('components.addNewSignature')+':', {
    confirmButtonText: t('basicData.save'),
    cancelButtonText: t('basicData.cancelButtonText'),
@@ -755,68 +767,47 @@
    tag.value.name = value
    let json = $ref(hiprintTemplate.value.getJson())
    const tableFlag = json.panels[0].printElements.filter(item => item.options.field==='table')
    if(tableFlag.length===1 && json.panels[0].printElements.length===1){
      let funct = "function(value,row,index,options){return `"
      json.panels[0].printElements[0].options.columns[0].forEach(item => {
    json.panels[0].printElements.forEach((item,index) => {
      if (item.options.field === 'table') {
        let funct = "function(value,row,index,options){return `"
        json.panels[0].printElements[index].options.columns[0].forEach(item => {
          if(item.field){
            funct += item.title+':${row.'+item.field+' || "" }  <br>'
            if (company.printShowTitle){
              funct += item.title+':${row.'+item.field+' || "" }  <br>'
            }else{
              funct += '${row.'+item.field+' || "" }  <br>'
            }
          }
      })
      funct+='`}'
      json.panels[0].printElements[0].options.columns[0][0].renderFormatter = funct
    }else if(json.panels[0].printElements.length>1 && tableFlag.length>0){
      ElMessage.warning('保存失败,请检查是否只有一个表格')
      return
    }
    tag.value.value = JSON.stringify(json)
    request.post('tagStyle/saveTag',tag.value).then(res => {
      if(res.code === '200' && res.data===true){
        ElMessage.success(t('basicData.msg.saveSuccess'))
        getTags()
        })
        funct+='`}'
        json.panels[0].printElements[index].options.columns[0][0].renderFormatter = funct
      }
    })
  })
}
const add = () => {
  ElMessageBox.prompt( t('components.addNewSignature')+':', {
    confirmButtonText: t('basicData.save'),
    cancelButtonText: t('basicData.cancelButtonText'),
    inputPattern:/^.{1,20}$/,
    inputErrorMessage: t('components.message'),
    inputValue:tag.value.name
  }).then(({ value }) => {
    tag.value.name = value
    let json = $ref(hiprintTemplate.value.getJson())
    const tableFlag = json.panels[0].printElements.filter(item => item.options.field==='table')
    if(tableFlag.length===1 && json.panels[0].printElements.length===1){
      let funct = "function(value,row,index,options){return `"
      json.panels[0].printElements[0].options.columns[0].forEach(item => {
        if(item.field){
          funct += item.title+':${row.'+item.field+' || "" }  <br>'
    if(type === 'save'){
      tag.value.value = JSON.stringify(json)
      request.post('tagStyle/saveTag',tag.value).then(res => {
        if(res.code === '200' && res.data===true){
          ElMessage.success(t('basicData.msg.saveSuccess'))
          getTags()
        }
      })
      funct+='`}'
      json.panels[0].printElements[0].options.columns[0][0].renderFormatter = funct
    }else if(json.panels[0].printElements.length>1 && tableFlag.length>0){
      ElMessage.warning('保存失败,请检查是否只有一个表格')
      return
    }else{
      request.post('tagStyle/addTag',tag.value).then(res => {
        if(res.code === '200' && res.data===true){
          ElMessage.success(t('basicData.msg.saveSuccess'))
          getTags()
        }
      })
    }
    tag.value.value = JSON.stringify(json)
    request.post('tagStyle/addTag',tag.value).then(res => {
      if(res.code === '200' && res.data===true){
        ElMessage.success(t('basicData.msg.saveSuccess'))
        getTags()
      }
    })
  })
}
const getTags = () => {
  request.get('tagStyle/getTagList').then(res => {
@@ -981,8 +972,8 @@
          </el-select>
        </el-col>
        <el-col :span="6">
          <el-button type="primary" @click="save">保存</el-button>
          <el-button type="primary" @click="add">复制</el-button>
          <el-button type="primary" @click="save('save')">保存</el-button>
          <el-button type="primary" @click="save('copy')">复制</el-button>
          <el-button type="warning" @click="clear">清空</el-button>
          <el-button :disabled="!tag.id" type="danger" @click="deleteTag">删除</el-button>
          <el-button type="primary" @click="htmlPrint">预览</el-button>
north-glass-erp/northglass-erp/src/components/sd/order/PrintSheet3.vue
@@ -39,8 +39,9 @@
      productIdData.value=deepClone(res.data.data)
      produceList.value = deepClone(res.data.data)
      console.log(produceList.value)
      delivery.value=deepClone(res.data.delivery)
      console.log(delivery.value)
      money.value=deepClone(res.data.money)
      produceList.value.forEach(item => {
        sumMoney+=item.DeliveryDetail.grossAmount
@@ -293,6 +294,15 @@
    <el-row :gutter="20" style="margin-top: 20px;" v-if="company.showDeliveryCreator">
      <el-col :span="24"><div class="bottom">{{remark}}</div></el-col>
    </el-row>
    <el-row :gutter="20" style="margin-top: 20px;" v-if="!company.showDeliveryCreator">
<!--      <el-input
          v-model=""
          autosize
          type="textarea"
          placeholder="Please input"
      />-->
      <el-col :span="24"><div class="bottom">{{delivery.processingNote}}</div></el-col>
    </el-row>
    <el-dialog v-model="dialogVisible" style="width: 40%;height: 20%;margin-top: 10%" >
      <el-select v-model="selectedValues" style="width: 100%" @change="handleChange" multiple  placeholder="请选择">
north-glass-erp/northglass-erp/src/stores/sd/companySet/Ìì½ò±±²£.js
@@ -25,6 +25,7 @@
        qualityInsStatus:1,//跨工序质检审核,1不需要,2需要
        remarkSwitch:1,//流程卡上是否显示其它备注,1显示,2不显示
        icon:"",//商标参数
        printShowTitle:true,//流程卡自定义打印是否显示标签
        longSide:null,//订单创建最长边提示颜色 null不提示颜色
        showDeliveryCreator:true,//发货单创建人先显示或者后显示 false后显示
        deliveryRemark: ['备注:本批玻璃为优等合格品,请在卸货时,当面消点验收、如有质量问题在一周内与本公司联系,否则概不负责!'],
north-glass-erp/northglass-erp/src/stores/sd/companySet/³£ÖݼªÀû.js
@@ -25,6 +25,7 @@
        qualityInsStatus:2,//跨工序质检审核,1不需要,2需要
        remarkSwitch:2,//流程卡上是否显示其它备注,1显示,2不显示
        icon:"奥飞久通",//商标参数
        printShowTitle:true,//流程卡自定义打印是否显示标签
        longSide:6500,//订单创建最长边提示颜色
        showDeliveryCreator:true,//发货单创建人先显示或者后显示 false后显示
        deliveryRemark: ['备注:本批玻璃为优等合格品,请在卸货时,当面消点验收、如有质量问题在一周内与本公司联系,否则概不负责!'],
north-glass-erp/northglass-erp/src/stores/sd/companySet/н®ºãöÎ.js
@@ -26,6 +26,7 @@
        qualityInsStatus:1,//跨工序质检审核,1.不需要,2.需要
        remarkSwitch:2,//流程卡上是否显示其它备注,1显示,2不显示
        icon:"奥飞久通",//商标参数
        printShowTitle:true,//流程卡自定义打印是否显示标签
        longSide:null,//订单创建最长边提示颜色
        showDeliveryCreator:true,//发货单创建人先显示或者后显示 false后显示
        deliveryRemark: ['备注:本批玻璃为优等合格品,请在卸货时,当面消点验收、如有质量问题在一周内与本公司联系,否则概不负责!'],
north-glass-erp/northglass-erp/src/stores/sd/companySet/½ð»ªÌì³É.js
@@ -25,6 +25,7 @@
        qualityInsStatus:2,//跨工序质检审核,1不需要,2需要
        remarkSwitch:2,//流程卡上是否显示其它备注,1显示,2不显示
        icon:"",//商标参数
        printShowTitle:false,//流程卡自定义打印是否显示标签
        longSide:null,//订单创建最长边提示颜色 null不提示颜色
        showDeliveryCreator:false,//发货单创建人先显示或者后显示 false后显示
        deliveryRemark: ['温馨提示:货到工地或工厂后,请于五天内安装完毕,如未能及时安装完毕,请放置于阴凉干燥处,并做好防晒防淋的措施,防止玻璃发霉;所有单片镀膜玻璃请勿用带酸性或碱性的液体清洗膜面。',
@@ -87,7 +88,7 @@
                },
            },
            hideButton:'true',//流程卡打印界面按钮是否显示
            getSelectFlowCard:2,//流程卡打印查询是否合并  1合并2不合并
            getSelectFlowCard:1,//流程卡打印查询是否合并  1合并2不合并
            columnsLabel:2,//一行两列成品标签 1新疆一行两列成品标签,2其它
        },
north-glass-erp/northglass-erp/src/views/mm/basicData/WarehouseSearchBasicData.vue
@@ -156,27 +156,28 @@
</script>
<template>
  <div>
    <vxe-grid
        style="width: 40vw;"
        class="mytable-scrollbar"
        max-height="500px"
        ref="xGrid"
        v-bind="gridOptions"
        v-on="gridEvents"
    >
      <template #button_slot="{ row }">
        <el-button @click="getTableRow(row,'edit')"
                   v-if="userStore.user.permissions.indexOf('warehouseSearchBasicData.edit') > -1"
                   link type="primary" size="small">{{ $t('basicData.edit') }}</el-button>
        <el-popconfirm @confirm="getTableRow(row,'delete')" :title="$t('searchOrder.deleteConfirm')">
          <template #reference>
            <el-button  link type="primary" size="small">{{ $t('basicData.delete') }}</el-button>
          </template>
        </el-popconfirm>
      </template>
  <div style="width: 100%;height: 100%">
    <div class="main-table">
      <vxe-grid
          class="mytable-scrollbar"
          height="100%"
          ref="xGrid"
          v-bind="gridOptions"
          v-on="gridEvents"
      >
        <template #button_slot="{ row }">
          <el-button @click="getTableRow(row,'edit')"
                     v-if="userStore.user.permissions.indexOf('warehouseSearchBasicData.edit') > -1"
                     link type="primary" size="small">{{ $t('basicData.edit') }}</el-button>
          <el-popconfirm @confirm="getTableRow(row,'delete')" :title="$t('searchOrder.deleteConfirm')">
            <template #reference>
              <el-button  link type="primary" size="small">{{ $t('basicData.delete') }}</el-button>
            </template>
          </el-popconfirm>
        </template>
    </vxe-grid>
      </vxe-grid>
    </div>
    <el-dialog
        v-model="dialogTableVisible"
        destroy-on-close
@@ -187,5 +188,13 @@
</template>
<style scoped>
.head{
  width: 100%;
  height: 70px;
}
.main-table{
  width: 100%;
  height: calc(100% - 0px);
}
</style>
north-glass-erp/northglass-erp/src/views/mm/ingredient/CreateIngredients.vue
@@ -150,7 +150,7 @@
  if (typeof str != 'undefined' && str != null && str !== '' && str !== '\n' && str !== '\r'){
    ruleForm.value.id = Number(str)
    request.post(`/materialStore/getSelectMaterialStore/1/100`,ruleForm.value).then((res) => {
    request.post(`/materialStore/getSelectMaterialStore`,ruleForm.value).then((res) => {
      if(res.code==200){
        ruleForm.value=deepClone(res.data.data[0])
        value.value=ruleForm.value.type
north-glass-erp/northglass-erp/src/views/mm/ingredientStock/MaterialOutbound.vue
@@ -296,77 +296,79 @@
</script>
<template>
  <div class="main-div-customer">
    <el-date-picker
        v-model="selectDate"
        type="daterange"
        :start-placeholder="$t('basicData.startDate')"
        :end-placeholder="$t('basicData.endDate')"
        format="YYYY-MM-DD"
        value-format="YYYY-MM-DD"
  <div  style="width: 100%;height: 100%">
    <div class="head">
      <el-date-picker
          v-model="selectDate"
          type="daterange"
          :start-placeholder="$t('basicData.startDate')"
          :end-placeholder="$t('basicData.endDate')"
          format="YYYY-MM-DD"
          value-format="YYYY-MM-DD"
    />
    <el-button @click="changeDate" style="margin-top: -5px"  id="searchButton" type="primary" :icon="Search">{{$t('basicData.search')}}</el-button>
      />
      <el-button @click="changeDate" style="margin-top: -5px"  id="searchButton" type="primary" :icon="Search">{{$t('basicData.search')}}</el-button>
    </div>
    <div class="main-table">
      <vxe-grid
          height="100%"
          @filter-change="filterChanged"
          class="mytable-scrollbar"
          ref="xGrid"
          v-bind="gridOptions"
          v-on="gridEvents"
      >
        <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
        <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
        <template #content="{ row }">
          <ul class="expand-wrapper">
            <li  v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
              <span style="font-weight: bold">{{item.title+':  '}}</span>
              <span>{{ row[item.field] }}</span>
            </li>
          </ul>
        </template>
    <vxe-grid
        max-height="100%"
        @filter-change="filterChanged"
        class="mytable-scrollbar"
        ref="xGrid"
        v-bind="gridOptions"
        v-on="gridEvents"
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
      <template #content="{ row }">
        <ul class="expand-wrapper">
          <li  v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
            <span style="font-weight: bold">{{item.title+':  '}}</span>
            <span>{{ row[item.field] }}</span>
          </li>
        </ul>
      </template>
        <!--左边固定显示的插槽-->
        <template #button_slot="{ row }">
          <el-button @click="getTableRow(row,'edit')"
                     v-if="userStore.user.permissions.indexOf('materialOutbound.edit') > -1"
                     link type="primary" size="small">{{$t('basicData.edit')}}</el-button>
          <el-popconfirm @confirm="getTableRow(row,'delete')"  :title="$t('searchOrder.deleteConfirm')">
            <template #reference>
              <el-button :disabled="row.reviewedState===1" link type="primary" size="small">{{ $t('basicData.delete') }}</el-button>
            </template>
          </el-popconfirm>
        </template>
      <!--左边固定显示的插槽-->
      <template #button_slot="{ row }">
        <el-button @click="getTableRow(row,'edit')"
                   v-if="userStore.user.permissions.indexOf('materialOutbound.edit') > -1"
                   link type="primary" size="small">{{$t('basicData.edit')}}</el-button>
        <el-popconfirm @confirm="getTableRow(row,'delete')"  :title="$t('searchOrder.deleteConfirm')">
          <template #reference>
            <el-button :disabled="row.reviewedState===1" link type="primary" size="small">{{ $t('basicData.delete') }}</el-button>
          </template>
        </el-popconfirm>
      </template>
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input type="type" v-model="option.data" @keyup.enter.native="$panel.confirmFilter()" @input="changeFilterEvent($event, option, $panel)"/>
        <template #num1_filter="{ column, $panel }">
          <div>
            <div v-for="(option, index) in column.filters" :key="index">
              <input type="type" v-model="option.data" @keyup.enter.native="$panel.confirmFilter()" @input="changeFilterEvent($event, option, $panel)"/>
            </div>
          </div>
        </div>
      </template>
        </template>
      <template #state="{ row,column}">
        <el-checkbox @click.native.prevent :checked="row[column.field]===1"/>
      </template>
        <template #state="{ row,column}">
          <el-checkbox @click.native.prevent :checked="row[column.field]===1"/>
        </template>
      <template #pager>
        <!--使用 pager æ’æ§½-->
        <vxe-pager
            @page-change="handlePageChange"
            :layouts="[  'PrevPage', 'Jump','PageCount', 'NextPage',  'Total']"
            v-model:current-page="pageNum"
            v-model:page-size="total.pageSize"
            v-model:pager-count="total.pageTotal"
            :total="total.dataTotal"
        >
        </vxe-pager>
      </template>
        <template #pager>
          <!--使用 pager æ’æ§½-->
          <vxe-pager
              @page-change="handlePageChange"
              :layouts="[  'PrevPage', 'Jump','PageCount', 'NextPage',  'Total']"
              v-model:current-page="pageNum"
              v-model:page-size="total.pageSize"
              v-model:pager-count="total.pageTotal"
              :total="total.dataTotal"
          >
          </vxe-pager>
        </template>
    </vxe-grid>
      </vxe-grid>
    </div>
    <el-dialog
        :key="dialogKey"
@@ -388,9 +390,14 @@
<style scoped>
.main-div-customer{
  width: 99%;
  height: 100%;
.head{
  width: 100%;
  height: 35px;
}
.main-table{
  width: 100%;
  height: calc(100% - 35px);
}
@media print {
  @page {
north-glass-erp/northglass-erp/src/views/mm/ingredientStock/ReturnToStorage.vue
@@ -267,83 +267,91 @@
</script>
<template>
  <div class="main-div-customer">
    <el-date-picker
        v-model="selectDate"
        type="daterange"
        :start-placeholder="$t('basicData.startDate')"
        :end-placeholder="$t('basicData.endDate')"
        format="YYYY-MM-DD"
        value-format="YYYY-MM-DD"
  <div  style="width: 100%;height: 100%">
    <div class="head">
      <el-date-picker
          v-model="selectDate"
          type="daterange"
          :start-placeholder="$t('basicData.startDate')"
          :end-placeholder="$t('basicData.endDate')"
          format="YYYY-MM-DD"
          value-format="YYYY-MM-DD"
    />
    <el-button @click="changeDate" style="margin-top: -5px"  id="searchButton" type="primary" :icon="Search">{{$t('basicData.search')}}</el-button>
      />
      <el-button @click="changeDate" style="margin-top: -5px"  id="searchButton" type="primary" :icon="Search">{{$t('basicData.search')}}</el-button>
    </div>
    <div class="main-table">
      <vxe-grid
          height="100%"
          @filter-change="filterChanged"
          class="mytable-scrollbar"
          ref="xGrid"
          v-bind="gridOptions"
          v-on="gridEvents"
      >
        <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
        <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
        <template #content="{ row }">
          <ul class="expand-wrapper">
            <li  v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
              <span style="font-weight: bold">{{item.title+':  '}}</span>
              <span>{{ row[item.field] }}</span>
            </li>
          </ul>
        </template>
    <vxe-grid
        max-height="100%"
        @filter-change="filterChanged"
        class="mytable-scrollbar"
        ref="xGrid"
        v-bind="gridOptions"
        v-on="gridEvents"
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
      <template #content="{ row }">
        <ul class="expand-wrapper">
          <li  v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
            <span style="font-weight: bold">{{item.title+':  '}}</span>
            <span>{{ row[item.field] }}</span>
          </li>
        </ul>
      </template>
        <!--左边固定显示的插槽-->
        <template #button_slot="{ row }">
          <el-button @click="getTableRow(row,'edit')"
                     v-if="userStore.user.permissions.indexOf('returnToStorage.edit') > -1"
                     link type="primary" size="small">{{$t('basicData.edit')}}</el-button>
          <el-popconfirm @confirm="getTableRow(row,'delete')"  :title="$t('searchOrder.deleteConfirm')">
            <template #reference>
              <el-button :disabled="row.reviewedState===1" link type="primary" size="small">{{ $t('basicData.delete') }}</el-button>
            </template>
          </el-popconfirm>
        </template>
      <!--左边固定显示的插槽-->
      <template #button_slot="{ row }">
        <el-button @click="getTableRow(row,'edit')"
                   v-if="userStore.user.permissions.indexOf('returnToStorage.edit') > -1"
                   link type="primary" size="small">{{$t('basicData.edit')}}</el-button>
        <el-popconfirm @confirm="getTableRow(row,'delete')"  :title="$t('searchOrder.deleteConfirm')">
          <template #reference>
            <el-button :disabled="row.reviewedState===1" link type="primary" size="small">{{ $t('basicData.delete') }}</el-button>
          </template>
        </el-popconfirm>
      </template>
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input type="type" v-model="option.data" @keyup.enter.native="$panel.confirmFilter()" @input="changeFilterEvent($event, option, $panel)"/>
        <template #num1_filter="{ column, $panel }">
          <div>
            <div v-for="(option, index) in column.filters" :key="index">
              <input type="type" v-model="option.data" @keyup.enter.native="$panel.confirmFilter()" @input="changeFilterEvent($event, option, $panel)"/>
            </div>
          </div>
        </div>
      </template>
        </template>
      <template #state="{ row,column}">
        <el-checkbox @click.native.prevent :checked="row[column.field]===1"/>
      </template>
        <template #state="{ row,column}">
          <el-checkbox @click.native.prevent :checked="row[column.field]===1"/>
        </template>
      <template #pager>
        <!--使用 pager æ’æ§½-->
        <vxe-pager
            @page-change="handlePageChange"
            :layouts="[  'PrevPage', 'Jump','PageCount', 'NextPage',  'Total']"
            v-model:current-page="pageNum"
            v-model:page-size="total.pageSize"
            v-model:pager-count="total.pageTotal"
            :total="total.dataTotal"
        >
        </vxe-pager>
      </template>
        <template #pager>
          <!--使用 pager æ’æ§½-->
          <vxe-pager
              @page-change="handlePageChange"
              :layouts="[  'PrevPage', 'Jump','PageCount', 'NextPage',  'Total']"
              v-model:current-page="pageNum"
              v-model:page-size="total.pageSize"
              v-model:pager-count="total.pageTotal"
              :total="total.dataTotal"
          >
          </vxe-pager>
        </template>
    </vxe-grid>
      </vxe-grid>
   </div>
  </div>
</template>
<style scoped>
.main-div-customer{
  width: 99%;
  height: 100%;
.head{
  width: 100%;
  height: 35px;
}
.main-table{
  width: 100%;
  height: calc(100% - 35px);
}
</style>
north-glass-erp/northglass-erp/src/views/mm/ingredientStock/ReturnToStorageCreate.vue
@@ -166,7 +166,7 @@
    })
  }else{
    //返库新增
    request.post(`/materialStore/getSelectMaterialStore/1/100`,filterData.value).then((res) => {
    request.post(`/materialStore/getSelectMaterialStore`,filterData.value).then((res) => {
      if(res.code==200){
@@ -251,7 +251,7 @@
//数据绑定
const getStoreWorks = () => {
  request.post(`/materialStore/getSelectMaterialStore/1/100`,filterData.value).then((res) => {
  request.post(`/materialStore/getSelectMaterialStore`,filterData.value).then((res) => {
    if(res.code==200){
      materialStore.value=[]
north-glass-erp/northglass-erp/src/views/mm/ingredientStock/SelectIngredientsStock.vue
@@ -583,7 +583,7 @@
//数据绑定
const getStoreWorks = () => {
  request.post(`/materialStore/getSelectMaterialStore/1/${total.pageSize}`,filterDatas.value).then((res) => {
  request.post(`/materialStore/getSelectMaterialStore`,filterDatas.value).then((res) => {
    if(res.code==200){
      materialStores.value=[]
north-glass-erp/northglass-erp/src/views/mm/productStock/CreateProductStock.vue
@@ -357,7 +357,7 @@
    <div class="main-table">
    <vxe-grid
        max-height="100%"
        height="100%"
        @filter-change="filterChanged"
        class="mytable-scrollbar"
        ref="xGrid"
north-glass-erp/northglass-erp/src/views/mm/productStock/FinishedGoodsIssue.vue
@@ -370,69 +370,77 @@
</script>
<template>
  <div class="main-div-customer">
    <vxe-select style="width: 260px" v-model="operateType" :placeholder="$t('productStock.pleaseSelectTheTypeOfWithdrawal')">
      <vxe-option v-for="(item,index) in takeOut" :key="index" :value="item.operateTypeName" :label="item.operateTypeName" ></vxe-option>
    </vxe-select>
    &nbsp;
    <vxe-input v-model="remarks" :placeholder="$t('productStock.pleaseEnterANote')"></vxe-input>
    <vxe-grid
        max-height="100%"
        @filter-change="filterChanged"
        class="mytable-scrollbar"
        ref="xGrid"
        v-bind="gridOptions"
        v-on="gridEvents"
        :edit-rules="validRules"
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
      <template #content="{ row }">
        <ul class="expand-wrapper">
          <li  v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
            <span style="font-weight: bold">{{item.title+':  '}}</span>
            <span v-if="hasDecimal(item.field)">{{ hasDecimalhtml(item.field,row) }}</span>
            <span v-else>{{ row[item.field] }}</span>
          </li>
        </ul>
      </template>
  <div  style="width: 100%;height: 100%">
    <div class="head">
      <vxe-select style="width: 260px" v-model="operateType" :placeholder="$t('productStock.pleaseSelectTheTypeOfWithdrawal')">
        <vxe-option v-for="(item,index) in takeOut" :key="index" :value="item.operateTypeName" :label="item.operateTypeName" ></vxe-option>
      </vxe-select>
      &nbsp;
      <vxe-input v-model="remarks" :placeholder="$t('productStock.pleaseEnterANote')"></vxe-input>
    </div>
    <div class="main-table">
      <vxe-grid
          height="100%"
          @filter-change="filterChanged"
          class="mytable-scrollbar"
          ref="xGrid"
          v-bind="gridOptions"
          v-on="gridEvents"
          :edit-rules="validRules"
      >
        <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
        <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
        <template #content="{ row }">
          <ul class="expand-wrapper">
            <li  v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
              <span style="font-weight: bold">{{item.title+':  '}}</span>
              <span v-if="hasDecimal(item.field)">{{ hasDecimalhtml(item.field,row) }}</span>
              <span v-else>{{ row[item.field] }}</span>
            </li>
          </ul>
        </template>
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input type="type" v-model="option.data" @keyup.enter.native="$panel.confirmFilter()" @input="changeFilterEvent($event, option, $panel)"/>
        <template #num1_filter="{ column, $panel }">
          <div>
            <div v-for="(option, index) in column.filters" :key="index">
              <input type="type" v-model="option.data" @keyup.enter.native="$panel.confirmFilter()" @input="changeFilterEvent($event, option, $panel)"/>
            </div>
          </div>
        </div>
      </template>
        </template>
      <template #pager>
        <!--使用 pager æ’æ§½-->
        <vxe-pager
            @page-change="handlePageChange"
            :layouts="[  'PrevPage', 'Jump','PageCount', 'NextPage',  'Total']"
            v-model:current-page="pageNum"
            v-model:page-size="total.pageSize"
            v-model:pager-count="total.pageTotal"
            :total="total.dataTotal"
        >
        </vxe-pager>
      </template>
    </vxe-grid>
  </div>
  <div class="vxe-table--cell-area" ref="cellArea" >
    <span  class="vxe-table--cell-main-area"  ></span>
        <template #pager>
          <!--使用 pager æ’æ§½-->
          <vxe-pager
              @page-change="handlePageChange"
              :layouts="[  'PrevPage', 'Jump','PageCount', 'NextPage',  'Total']"
              v-model:current-page="pageNum"
              v-model:page-size="total.pageSize"
              v-model:pager-count="total.pageTotal"
              :total="total.dataTotal"
          >
          </vxe-pager>
        </template>
      </vxe-grid>
    </div>
    <div class="vxe-table--cell-area" ref="cellArea" >
      <span  class="vxe-table--cell-main-area"  ></span>
    <span class="vxe-table--cell-active-area"  ></span>
      <span class="vxe-table--cell-active-area"  ></span>
    </div>
  </div>
</template>
<style scoped>
.main-div-customer{
  width: 99%;
  height: 100%;
.head{
  width: 100%;
  height: 35px;
}
.main-table{
  width: 100%;
  height: calc(100% - 35px);
}
.vxe-grid {
  /* ç¦ç”¨æµè§ˆå™¨é»˜è®¤é€‰ä¸­ */
north-glass-erp/northglass-erp/src/views/mm/productStock/OrderAllocation.vue
@@ -378,68 +378,75 @@
</script>
<template>
  <div class="main-div-customer">
    <vxe-grid
        max-height="100%"
        @filter-change="filterChanged"
        class="mytable-scrollbar"
        ref="xGrid"
        v-bind="gridOptions"
        v-on="gridEvents"
        :edit-rules="validRules"
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
      <template #content="{ row }">
        <ul class="expand-wrapper">
          <li  v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
            <span style="font-weight: bold">{{item.title+':  '}}</span>
            <span v-if="hasDecimal(item.field)">{{ hasDecimalhtml(item.field,row) }}</span>
            <span v-else>{{ row[item.field] }}</span>
          </li>
        </ul>
      </template>
  <div  style="width: 100%;height: 100%">
    <div class="main-table">
      <vxe-grid
          height="100%"
          @filter-change="filterChanged"
          class="mytable-scrollbar"
          ref="xGrid"
          v-bind="gridOptions"
          v-on="gridEvents"
          :edit-rules="validRules"
      >
        <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
        <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
        <template #content="{ row }">
          <ul class="expand-wrapper">
            <li  v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
              <span style="font-weight: bold">{{item.title+':  '}}</span>
              <span v-if="hasDecimal(item.field)">{{ hasDecimalhtml(item.field,row) }}</span>
              <span v-else>{{ row[item.field] }}</span>
            </li>
          </ul>
        </template>
      <!--左边固定显示的插槽-->
      <template #button_slot="{ row }">
        <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">{{ $t('basicData.edit') }}</el-button>
<!--        <el-button @click="getTableRow(row,'out')" link type="primary" size="small">成品领出</el-button>-->
<!--        <el-button @click="getTableRow(row,'back')" link type="primary" size="small">成品返工</el-button>-->
      </template>
        <!--左边固定显示的插槽-->
        <template #button_slot="{ row }">
          <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">{{ $t('basicData.edit') }}</el-button>
          <!--        <el-button @click="getTableRow(row,'out')" link type="primary" size="small">成品领出</el-button>-->
          <!--        <el-button @click="getTableRow(row,'back')" link type="primary" size="small">成品返工</el-button>-->
        </template>
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input type="type" v-model="option.data" @keyup.enter.native="$panel.confirmFilter()" @input="changeFilterEvent($event, option, $panel)"/>
        <template #num1_filter="{ column, $panel }">
          <div>
            <div v-for="(option, index) in column.filters" :key="index">
              <input type="type" v-model="option.data" @keyup.enter.native="$panel.confirmFilter()" @input="changeFilterEvent($event, option, $panel)"/>
            </div>
          </div>
        </div>
      </template>
      <template #pager>
        <!--使用 pager æ’æ§½-->
        <vxe-pager
            @page-change="handlePageChange"
            :layouts="[  'PrevPage', 'Jump','PageCount', 'NextPage',  'Total']"
            v-model:current-page="pageNum"
            v-model:page-size="total.pageSize"
            v-model:pager-count="total.pageTotal"
            :total="total.dataTotal"
        >
        </vxe-pager>
      </template>
        </template>
        <template #pager>
          <!--使用 pager æ’æ§½-->
          <vxe-pager
              @page-change="handlePageChange"
              :layouts="[  'PrevPage', 'Jump','PageCount', 'NextPage',  'Total']"
              v-model:current-page="pageNum"
              v-model:page-size="total.pageSize"
              v-model:pager-count="total.pageTotal"
              :total="total.dataTotal"
          >
          </vxe-pager>
        </template>
    </vxe-grid>
  </div>
  <div class="vxe-table--cell-area" ref="cellArea" >
    <span  class="vxe-table--cell-main-area"  ></span>
      </vxe-grid>
    </div>
    <div class="vxe-table--cell-area" ref="cellArea" >
      <span  class="vxe-table--cell-main-area"  ></span>
    <span class="vxe-table--cell-active-area"  ></span>
      <span class="vxe-table--cell-active-area"  ></span>
    </div>
  </div>
</template>
<style scoped>
.main-div-customer{
  width: 99%;
  height: 100%;
.head{
  width: 100%;
  height: 35px;
}
.main-table{
  width: 100%;
  height: calc(100% - 0px);
}
.vxe-grid {
  /* ç¦ç”¨æµè§ˆå™¨é»˜è®¤é€‰ä¸­ */
north-glass-erp/northglass-erp/src/views/mm/productStock/StorageRecord.vue
@@ -339,66 +339,66 @@
    </div>
    <div class="main-table">
    <vxe-grid
        max-height="100%"
        @filter-change="filterChanged"
        class="mytable-scrollbar"
        ref="xGrid"
        v-bind="gridOptions"
        v-on="gridEvents"
        :checkbox-config="checkBoxConfig"
      <vxe-grid
          height="100%"
          @filter-change="filterChanged"
          class="mytable-scrollbar"
          ref="xGrid"
          v-bind="gridOptions"
          v-on="gridEvents"
          :checkbox-config="checkBoxConfig"
    >
      >
<!--      <template #state="{ row,column}">
&lt;!&ndash;                <p>{{row[column.field]}}</p>&ndash;&gt;
&lt;!&ndash;        <el-checkbox v-model="row['isState']" :disabled="row[column.field]==='已审核'||row[column.field]==='未通过'"/>&ndash;&gt;
        <vxe-checkbox v-model="row['isState']" :disabled="row[column.field]==='已审核'||row[column.field]==='未通过'"></vxe-checkbox>
      </template>-->
        <!--      <template #state="{ row,column}">
        &lt;!&ndash;                <p>{{row[column.field]}}</p>&ndash;&gt;
        &lt;!&ndash;        <el-checkbox v-model="row['isState']" :disabled="row[column.field]==='已审核'||row[column.field]==='未通过'"/>&ndash;&gt;
                <vxe-checkbox v-model="row['isState']" :disabled="row[column.field]==='已审核'||row[column.field]==='未通过'"></vxe-checkbox>
              </template>-->
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
      <template #content="{ row }">
        <ul class="expand-wrapper">
          <li  v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
            <span style="font-weight: bold">{{item.title+':  '}}</span>
            <span v-if="hasDecimal(item.field)">{{ hasDecimalhtml(item.field,row) }}</span>
            <span v-else>{{ row[item.field] }}</span>
          </li>
        </ul>
      </template>
        <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
        <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
        <template #content="{ row }">
          <ul class="expand-wrapper">
            <li  v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
              <span style="font-weight: bold">{{item.title+':  '}}</span>
              <span v-if="hasDecimal(item.field)">{{ hasDecimalhtml(item.field,row) }}</span>
              <span v-else>{{ row[item.field] }}</span>
            </li>
          </ul>
        </template>
      <!--左边固定显示的插槽-->
      <template #button_slot="{ row }">
        <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">{{$t('basicData.edit')}}</el-button>
        <el-button @click="getTableRow(row,'delete')" link type="primary" size="small">{{$t('basicData.delete')}}</el-button>
      </template>
        <!--左边固定显示的插槽-->
        <template #button_slot="{ row }">
          <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">{{$t('basicData.edit')}}</el-button>
          <el-button @click="getTableRow(row,'delete')" link type="primary" size="small">{{$t('basicData.delete')}}</el-button>
        </template>
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input type="type" v-model="option.data" @keyup.enter.native="$panel.confirmFilter()" @input="changeFilterEvent($event, option, $panel)"/>
        <template #num1_filter="{ column, $panel }">
          <div>
            <div v-for="(option, index) in column.filters" :key="index">
              <input type="type" v-model="option.data" @keyup.enter.native="$panel.confirmFilter()" @input="changeFilterEvent($event, option, $panel)"/>
            </div>
          </div>
        </div>
      </template>
        </template>
      <template #pager>
        <!--使用 pager æ’æ§½-->
        <vxe-pager
            @page-change="handlePageChange"
            :layouts="[  'PrevPage', 'Jump','PageCount', 'NextPage',  'Total']"
            v-model:current-page="pageNum"
            v-model:page-size="total.pageSize"
            v-model:pager-count="total.pageTotal"
            :total="total.dataTotal"
        >
        </vxe-pager>
      </template>
        <template #pager>
          <!--使用 pager æ’æ§½-->
          <vxe-pager
              @page-change="handlePageChange"
              :layouts="[  'PrevPage', 'Jump','PageCount', 'NextPage',  'Total']"
              v-model:current-page="pageNum"
              v-model:page-size="total.pageSize"
              v-model:pager-count="total.pageTotal"
              :total="total.dataTotal"
          >
          </vxe-pager>
        </template>
    </vxe-grid>
  </div>
      </vxe-grid>
    </div>
  </div>
</template>
north-glass-erp/northglass-erp/src/views/mm/productStock/StorageRecordPint.vue
@@ -305,77 +305,80 @@
</script>
<template>
  <div class="main-div-customer">
    <el-date-picker
        v-model="selectDate"
        type="daterange"
        :start-placeholder="$t('basicData.startDate')"
        :end-placeholder="$t('basicData.endDate')"
        format="YYYY-MM-DD"
        value-format="YYYY-MM-DD"
  <div  style="width: 100%;height: 100%">
    <div class="head">
      <el-date-picker
          v-model="selectDate"
          type="daterange"
          :start-placeholder="$t('basicData.startDate')"
          :end-placeholder="$t('basicData.endDate')"
          format="YYYY-MM-DD"
          value-format="YYYY-MM-DD"
    />
    <el-button @click="changeDate" style="margin-top: -5px"  id="searchButton" type="primary" :icon="Search">{{$t('basicData.search')}}</el-button>
      />
      <el-button @click="changeDate" style="margin-top: -5px"  id="searchButton" type="primary" :icon="Search">{{$t('basicData.search')}}</el-button>
    </div>
    <div class="main-table">
      <vxe-grid
          height="100%"
          @filter-change="filterChanged"
          class="mytable-scrollbar"
          ref="xGrid"
          v-bind="gridOptions"
          v-on="gridEvents"
          :checkbox-config="checkBoxConfig"
    <vxe-grid
        max-height="100%"
        @filter-change="filterChanged"
        class="mytable-scrollbar"
        ref="xGrid"
        v-bind="gridOptions"
        v-on="gridEvents"
        :checkbox-config="checkBoxConfig"
      >
    >
<!--      <template #state="{ row,column}">
&lt;!&ndash;                <p>{{row[column.field]}}</p>&ndash;&gt;
&lt;!&ndash;        <el-checkbox v-model="row['isState']" :disabled="row[column.field]==='已审核'||row[column.field]==='未通过'"/>&ndash;&gt;
        <vxe-checkbox v-model="row['isState']" :disabled="row[column.field]==='已审核'||row[column.field]==='未通过'"></vxe-checkbox>
      </template>-->
        <!--      <template #state="{ row,column}">
        &lt;!&ndash;                <p>{{row[column.field]}}</p>&ndash;&gt;
        &lt;!&ndash;        <el-checkbox v-model="row['isState']" :disabled="row[column.field]==='已审核'||row[column.field]==='未通过'"/>&ndash;&gt;
                <vxe-checkbox v-model="row['isState']" :disabled="row[column.field]==='已审核'||row[column.field]==='未通过'"></vxe-checkbox>
              </template>-->
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
      <template #content="{ row }">
        <ul class="expand-wrapper">
          <li  v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
            <span style="font-weight: bold">{{item.title+':  '}}</span>
            <span v-if="hasDecimal(item.field)">{{ hasDecimalhtml(item.field,row) }}</span>
            <span v-else>{{ row[item.field] }}</span>
          </li>
        </ul>
      </template>
        <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
        <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
        <template #content="{ row }">
          <ul class="expand-wrapper">
            <li  v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
              <span style="font-weight: bold">{{item.title+':  '}}</span>
              <span v-if="hasDecimal(item.field)">{{ hasDecimalhtml(item.field,row) }}</span>
              <span v-else>{{ row[item.field] }}</span>
            </li>
          </ul>
        </template>
      <!--左边固定显示的插槽-->
      <template #button_slot="{ row }">
        <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">{{$t('basicData.edit')}}</el-button>
        <el-button @click="getTableRow(row,'delete')" link type="primary" size="small">{{$t('basicData.delete')}}</el-button>
      </template>
        <!--左边固定显示的插槽-->
        <template #button_slot="{ row }">
          <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">{{$t('basicData.edit')}}</el-button>
          <el-button @click="getTableRow(row,'delete')" link type="primary" size="small">{{$t('basicData.delete')}}</el-button>
        </template>
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input type="type" v-model="option.data" @keyup.enter.native="$panel.confirmFilter()" @input="changeFilterEvent($event, option, $panel)"/>
        <template #num1_filter="{ column, $panel }">
          <div>
            <div v-for="(option, index) in column.filters" :key="index">
              <input type="type" v-model="option.data" @keyup.enter.native="$panel.confirmFilter()" @input="changeFilterEvent($event, option, $panel)"/>
            </div>
          </div>
        </div>
      </template>
        </template>
      <template #pager>
        <!--使用 pager æ’æ§½-->
        <vxe-pager
            @page-change="handlePageChange"
            :layouts="[  'PrevPage', 'Jump','PageCount', 'NextPage',  'Total']"
            v-model:current-page="pageNum"
            v-model:page-size="total.pageSize"
            v-model:pager-count="total.pageTotal"
            :total="total.dataTotal"
        >
        </vxe-pager>
      </template>
        <template #pager>
          <!--使用 pager æ’æ§½-->
          <vxe-pager
              @page-change="handlePageChange"
              :layouts="[  'PrevPage', 'Jump','PageCount', 'NextPage',  'Total']"
              v-model:current-page="pageNum"
              v-model:page-size="total.pageSize"
              v-model:pager-count="total.pageTotal"
              :total="total.dataTotal"
          >
          </vxe-pager>
        </template>
    </vxe-grid>
      </vxe-grid>
    </div>
<!--    è£…箱单打印-->
    <el-dialog
@@ -396,9 +399,14 @@
</template>
<style scoped>
.main-div-customer{
  width: 99%;
  height: 100%;
.head{
  width: 100%;
  height: 35px;
}
.main-table{
  width: 100%;
  height: calc(100% - 35px);
}
:deep(#sizePrintCalrd .el-dialog__body) {
  height: 90%;
north-glass-erp/northglass-erp/src/views/mm/productStock/TakeOutRecord.vue
@@ -349,83 +349,91 @@
</script>
<template>
  <div class="main-div-customer">
    <el-date-picker
        v-model="selectDate"
        type="daterange"
        :start-placeholder="$t('basicData.startDate')"
        :end-placeholder="$t('basicData.endDate')"
        format="YYYY-MM-DD"
        value-format="YYYY-MM-DD"
  <div  style="width: 100%;height: 100%">
    <div class="head">
      <el-date-picker
          v-model="selectDate"
          type="daterange"
          :start-placeholder="$t('basicData.startDate')"
          :end-placeholder="$t('basicData.endDate')"
          format="YYYY-MM-DD"
          value-format="YYYY-MM-DD"
    />
    <el-button @click="changeDate" style="margin-top: -5px"  id="searchButton" type="primary" :icon="Search">{{$t('basicData.search')}}</el-button>
      />
      <el-button @click="changeDate" style="margin-top: -5px"  id="searchButton" type="primary" :icon="Search">{{$t('basicData.search')}}</el-button>
    </div>
    <div class="main-table">
      <vxe-grid
          height="100%"
          @filter-change="filterChanged"
          class="mytable-scrollbar"
          ref="xGrid"
          v-bind="gridOptions"
          v-on="gridEvents"
          :checkbox-config="checkBoxConfig"
    <vxe-grid
        max-height="100%"
        @filter-change="filterChanged"
        class="mytable-scrollbar"
        ref="xGrid"
        v-bind="gridOptions"
        v-on="gridEvents"
        :checkbox-config="checkBoxConfig"
      >
    >
<!--      <template #state="{ row,column}">
&lt;!&ndash;                <p>{{row[column.field]}}</p>&ndash;&gt;
&lt;!&ndash;        <el-checkbox v-model="row['isState']" :disabled="row[column.field]==='已审核'||row[column.field]==='未通过'"/>&ndash;&gt;
        <vxe-checkbox v-model="row['isState']" :disabled="row[column.field]==='已审核'||row[column.field]==='未通过'"></vxe-checkbox>
      </template>-->
        <!--      <template #state="{ row,column}">
        &lt;!&ndash;                <p>{{row[column.field]}}</p>&ndash;&gt;
        &lt;!&ndash;        <el-checkbox v-model="row['isState']" :disabled="row[column.field]==='已审核'||row[column.field]==='未通过'"/>&ndash;&gt;
                <vxe-checkbox v-model="row['isState']" :disabled="row[column.field]==='已审核'||row[column.field]==='未通过'"></vxe-checkbox>
              </template>-->
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
      <template #content="{ row }">
        <ul class="expand-wrapper">
          <li  v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
            <span style="font-weight: bold">{{item.title+':  '}}</span>
            <span v-if="hasDecimal(item.field)">{{ hasDecimalhtml(item.field,row) }}</span>
            <span v-else>{{ row[item.field] }}</span>
          </li>
        </ul>
      </template>
        <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
        <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
        <template #content="{ row }">
          <ul class="expand-wrapper">
            <li  v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
              <span style="font-weight: bold">{{item.title+':  '}}</span>
              <span v-if="hasDecimal(item.field)">{{ hasDecimalhtml(item.field,row) }}</span>
              <span v-else>{{ row[item.field] }}</span>
            </li>
          </ul>
        </template>
      <!--左边固定显示的插槽-->
      <template #button_slot="{ row }">
        <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">{{$t('basicData.edit')}}</el-button>
        <el-button @click="getTableRow(row,'delete')" link type="primary" size="small">{{$t('basicData.delete')}}</el-button>
      </template>
        <!--左边固定显示的插槽-->
        <template #button_slot="{ row }">
          <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">{{$t('basicData.edit')}}</el-button>
          <el-button @click="getTableRow(row,'delete')" link type="primary" size="small">{{$t('basicData.delete')}}</el-button>
        </template>
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input type="type" v-model="option.data" @keyup.enter.native="$panel.confirmFilter()" @input="changeFilterEvent($event, option, $panel)"/>
        <template #num1_filter="{ column, $panel }">
          <div>
            <div v-for="(option, index) in column.filters" :key="index">
              <input type="type" v-model="option.data" @keyup.enter.native="$panel.confirmFilter()" @input="changeFilterEvent($event, option, $panel)"/>
            </div>
          </div>
        </div>
      </template>
        </template>
      <template #pager>
        <!--使用 pager æ’æ§½-->
        <vxe-pager
            @page-change="handlePageChange"
            :layouts="[  'PrevPage', 'Jump','PageCount', 'NextPage',  'Total']"
            v-model:current-page="pageNum"
            v-model:page-size="total.pageSize"
            v-model:pager-count="total.pageTotal"
            :total="total.dataTotal"
        >
        </vxe-pager>
      </template>
        <template #pager>
          <!--使用 pager æ’æ§½-->
          <vxe-pager
              @page-change="handlePageChange"
              :layouts="[  'PrevPage', 'Jump','PageCount', 'NextPage',  'Total']"
              v-model:current-page="pageNum"
              v-model:page-size="total.pageSize"
              v-model:pager-count="total.pageTotal"
              :total="total.dataTotal"
          >
          </vxe-pager>
        </template>
    </vxe-grid>
      </vxe-grid>
    </div>
  </div>
</template>
<style scoped>
.main-div-customer{
  width: 99%;
  height: 100%;
.head{
  width: 100%;
  height: 35px;
}
.main-table{
  width: 100%;
  height: calc(100% - 35px);
}
</style>
north-glass-erp/northglass-erp/src/views/mm/productStock/TransferRecord.vue
@@ -281,82 +281,90 @@
</script>
<template>
  <div class="main-div-customer">
    <el-date-picker
        v-model="selectDate"
        type="daterange"
        :start-placeholder="$t('basicData.startDate')"
        :end-placeholder="$t('basicData.endDate')"
        format="YYYY-MM-DD"
        value-format="YYYY-MM-DD"
  <div  style="width: 100%;height: 100%">
    <div class="head">
      <el-date-picker
          v-model="selectDate"
          type="daterange"
          :start-placeholder="$t('basicData.startDate')"
          :end-placeholder="$t('basicData.endDate')"
          format="YYYY-MM-DD"
          value-format="YYYY-MM-DD"
    />
    <el-button @click="changeDate" style="margin-top: -5px"  id="searchButton" type="primary" :icon="Search">{{$t('basicData.search')}}</el-button>
      />
      <el-button @click="changeDate" style="margin-top: -5px"  id="searchButton" type="primary" :icon="Search">{{$t('basicData.search')}}</el-button>
    </div>
    <div class="main-table">
      <vxe-grid
          height="100%"
          @filter-change="filterChanged"
          class="mytable-scrollbar"
          ref="xGrid"
          v-bind="gridOptions"
          v-on="gridEvents"
    <vxe-grid
        max-height="100%"
        @filter-change="filterChanged"
        class="mytable-scrollbar"
        ref="xGrid"
        v-bind="gridOptions"
        v-on="gridEvents"
      >
    >
      <!--      <template #state="{ row,column}">
      &lt;!&ndash;                <p>{{row[column.field]}}</p>&ndash;&gt;
      &lt;!&ndash;        <el-checkbox v-model="row['isState']" :disabled="row[column.field]==='已审核'||row[column.field]==='未通过'"/>&ndash;&gt;
              <vxe-checkbox v-model="row['isState']" :disabled="row[column.field]==='已审核'||row[column.field]==='未通过'"></vxe-checkbox>
            </template>-->
        <!--      <template #state="{ row,column}">
        &lt;!&ndash;                <p>{{row[column.field]}}</p>&ndash;&gt;
        &lt;!&ndash;        <el-checkbox v-model="row['isState']" :disabled="row[column.field]==='已审核'||row[column.field]==='未通过'"/>&ndash;&gt;
                <vxe-checkbox v-model="row['isState']" :disabled="row[column.field]==='已审核'||row[column.field]==='未通过'"></vxe-checkbox>
              </template>-->
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
      <template #content="{ row }">
        <ul class="expand-wrapper">
          <li  v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
            <span style="font-weight: bold">{{item.title+':  '}}</span>
            <span v-if="hasDecimal(item.field)">{{ hasDecimalhtml(item.field,row) }}</span>
            <span v-else>{{ row[item.field] }}</span>
          </li>
        </ul>
      </template>
        <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
        <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
        <template #content="{ row }">
          <ul class="expand-wrapper">
            <li  v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
              <span style="font-weight: bold">{{item.title+':  '}}</span>
              <span v-if="hasDecimal(item.field)">{{ hasDecimalhtml(item.field,row) }}</span>
              <span v-else>{{ row[item.field] }}</span>
            </li>
          </ul>
        </template>
      <!--左边固定显示的插槽-->
      <template #button_slot="{ row }">
        <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">{{$t('basicData.edit')}}</el-button>
        <el-button @click="getTableRow(row,'delete')" link type="primary" size="small">{{$t('basicData.delete')}}</el-button>
      </template>
        <!--左边固定显示的插槽-->
        <template #button_slot="{ row }">
          <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">{{$t('basicData.edit')}}</el-button>
          <el-button @click="getTableRow(row,'delete')" link type="primary" size="small">{{$t('basicData.delete')}}</el-button>
        </template>
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input type="type" v-model="option.data" @keyup.enter.native="$panel.confirmFilter()" @input="changeFilterEvent($event, option, $panel)"/>
        <template #num1_filter="{ column, $panel }">
          <div>
            <div v-for="(option, index) in column.filters" :key="index">
              <input type="type" v-model="option.data" @keyup.enter.native="$panel.confirmFilter()" @input="changeFilterEvent($event, option, $panel)"/>
            </div>
          </div>
        </div>
      </template>
        </template>
      <template #pager>
        <!--使用 pager æ’æ§½-->
        <vxe-pager
            @page-change="handlePageChange"
            :layouts="[  'PrevPage', 'Jump','PageCount', 'NextPage',  'Total']"
            v-model:current-page="pageNum"
            v-model:page-size="total.pageSize"
            v-model:pager-count="total.pageTotal"
            :total="total.dataTotal"
        >
        </vxe-pager>
      </template>
        <template #pager>
          <!--使用 pager æ’æ§½-->
          <vxe-pager
              @page-change="handlePageChange"
              :layouts="[  'PrevPage', 'Jump','PageCount', 'NextPage',  'Total']"
              v-model:current-page="pageNum"
              v-model:page-size="total.pageSize"
              v-model:pager-count="total.pageTotal"
              :total="total.dataTotal"
          >
          </vxe-pager>
        </template>
    </vxe-grid>
      </vxe-grid>
    </div>
  </div>
</template>
<style scoped>
.main-div-customer{
  width: 99%;
  height: 100%;
.head{
  width: 100%;
  height: 35px;
}
.main-table{
  width: 100%;
  height: calc(100% - 35px);
}
</style>
north-glass-erp/northglass-erp/src/views/pp/machine/AddMachine.vue
@@ -166,51 +166,55 @@
</script>
<template>
  <div class="main-div-customer">
    <vxe-grid
        ref="xGrid"
        class="mytable-scrollbar"
        height="650px"
        max-height="100%"
        v-bind="gridOptions"
        v-on="teamGridEvents"
  <div  style="width: 100%;height: 100%">
    <div class="main-table">
      <vxe-grid
          ref="xGrid"
          class="mytable-scrollbar"
          height="100%"
          v-bind="gridOptions"
          v-on="teamGridEvents"
    >
      >
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input v-model="option.data" type="text"
                   @keyup.enter.native="$panel.confirmFilter()"
                   @input="changeFilterEvent($event, option, $panel)"/>
        <template #num1_filter="{ column, $panel }">
          <div>
            <div v-for="(option, index) in column.filters" :key="index">
              <input v-model="option.data" type="text"
                     @keyup.enter.native="$panel.confirmFilter()"
                     @input="changeFilterEvent($event, option, $panel)"/>
            </div>
          </div>
        </div>
      </template>
      <!--工序-->
      <template #basicCategory="{ row }">
        <vxe-select v-model="row.basicCategory"
                    clearable
                    filterable
                    placeholder="">
          <vxe-option v-for="item in titleSelectJson.processType"
                      :key="item.basic_name"
                      :label="item.basic_name"
                      :value="item.basic_name"/>
        </vxe-select>
      </template>
      <template #basicCategory_default="{ row }">
        <span>{{ row.basicCategory }}</span>
      </template>
    </vxe-grid>
        </template>
        <!--工序-->
        <template #basicCategory="{ row }">
          <vxe-select v-model="row.basicCategory"
                      clearable
                      filterable
                      placeholder="">
            <vxe-option v-for="item in titleSelectJson.processType"
                        :key="item.basic_name"
                        :label="item.basic_name"
                        :value="item.basic_name"/>
          </vxe-select>
        </template>
        <template #basicCategory_default="{ row }">
          <span>{{ row.basicCategory }}</span>
        </template>
      </vxe-grid>
    </div>
  </div>
</template>
<style scoped>
.main-div-customer {
  width: 80%;
  margin:  0 auto;
  height: 100%;
.head{
  width: 100%;
  height: 35px;
}
.main-table{
  width: 100%;
  height: calc(100% - 0px);
}
.vxe-grid {
  /* ç¦ç”¨æµè§ˆå™¨é»˜è®¤é€‰ä¸­ */
north-glass-erp/northglass-erp/src/views/pp/machine/AddMaintenanceAndRepair.vue
@@ -224,65 +224,70 @@
</script>
<template>
  <div class="main-div-customer">
    <vxe-grid
        ref="xGrid"
        class="mytable-scrollbar"
        height="650px"
        max-height="100%"
        v-bind="gridOptions"
        v-on="teamGridEvents"
    >
  <div  style="width: 100%;height: 100%">
    <div class="main-table">
      <vxe-grid
          ref="xGrid"
          class="mytable-scrollbar"
          height="100%"
          v-bind="gridOptions"
          v-on="teamGridEvents"
      >
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input v-model="option.data" type="text"
                   @keyup.enter.native="$panel.confirmFilter()"
                   @input="changeFilterEvent($event, option, $panel)"/>
        <template #num1_filter="{ column, $panel }">
          <div>
            <div v-for="(option, index) in column.filters" :key="index">
              <input v-model="option.data" type="text"
                     @keyup.enter.native="$panel.confirmFilter()"
                     @input="changeFilterEvent($event, option, $panel)"/>
            </div>
          </div>
        </div>
      </template>
      <!--设备-->
      <template #deviceName="{ row }">
        <vxe-select v-model="row.deviceName"
                    clearable
                    filterable
                    placeholder="">
          <vxe-option v-for="item in titleSelectJson.deviceType"
                      :key="item.basic_name"
                      :label="item.basic_name"
                      :value="item.basic_name"/>
        </vxe-select>
      </template>
      <template #basicCategory_default="{ row }">
        <span>{{ row.deviceName }}</span>
      </template>
        </template>
        <!--设备-->
        <template #deviceName="{ row }">
          <vxe-select v-model="row.deviceName"
                      clearable
                      filterable
                      placeholder="">
            <vxe-option v-for="item in titleSelectJson.deviceType"
                        :key="item.basic_name"
                        :label="item.basic_name"
                        :value="item.basic_name"/>
          </vxe-select>
        </template>
        <template #basicCategory_default="{ row }">
          <span>{{ row.deviceName }}</span>
        </template>
      <!--工序-->
      <template #process="{ row }">
        <vxe-select v-model="row.process"
                    clearable
                    filterable
                    placeholder="">
          <vxe-option v-for="item in computedDevice(row.deviceName)" :key="item.id" :label="item.basic_category"
                      :value="item.basic_category"/>
        </vxe-select>
      </template>
      <template #reportingDeviceSort_default="{ row }">
        <span>{{ row.process }}</span>
      </template>
        <!--工序-->
        <template #process="{ row }">
          <vxe-select v-model="row.process"
                      clearable
                      filterable
                      placeholder="">
            <vxe-option v-for="item in computedDevice(row.deviceName)" :key="item.id" :label="item.basic_category"
                        :value="item.basic_category"/>
          </vxe-select>
        </template>
        <template #reportingDeviceSort_default="{ row }">
          <span>{{ row.process }}</span>
        </template>
    </vxe-grid>
      </vxe-grid>
    </div>
  </div>
</template>
<style scoped>
.main-div-customer {
  width: 99%;
  height: 100%;
.head{
  width: 100%;
  height: 35px;
}
.main-table{
  width: 100%;
  height: calc(100% - 0px);
}
.vxe-grid {
north-glass-erp/northglass-erp/src/views/pp/machine/MaintenanceAndRepair.vue
@@ -253,9 +253,8 @@
</script>
<template>
  <div class="main-div-customer">
    <div id="selectForm">
      <el-row :gutter="0">
  <div  style="width: 100%;height: 100%">
    <div class="head">
        <el-date-picker
            v-model="form.date1"
            type="daterange"
@@ -272,53 +271,53 @@
            id="select"
            type="primary" :icon="Search">{{$t('basicData.search')}}
        </el-button>
      </el-row>
    </div>
    <vxe-grid
        ref="xGrid"
        class="mytable-scrollbar"
        max-height="100%"
        v-bind="gridOptions"
    <div class="main-table">
      <vxe-grid
          ref="xGrid"
          class="mytable-scrollbar"
          height="100%"
          v-bind="gridOptions"
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
      <template #content="{ row}">
        <ul class="expand-wrapper">
          <li v-for="(item,key,index) in row">
            <span style="font-weight: bold">{{ key + ':  ' }}</span>
            <span>{{ item }}</span>
          </li>
        </ul>
      </template>
      >
        <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
        <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
        <template #content="{ row}">
          <ul class="expand-wrapper">
            <li v-for="(item,key,index) in row">
              <span style="font-weight: bold">{{ key + ':  ' }}</span>
              <span>{{ item }}</span>
            </li>
          </ul>
        </template>
      <!--左边固定显示的插槽-->
      <template #button_slot="{ row }">
<!--        <el-button @click="getTableRow(row,'edit');" link type="primary" size="small">{{$t('basicData.edit')}}</el-button>-->
        <el-button @click="getTableRow(row,'edit')"
                   v-if="userStore.user.permissions.indexOf('maintenanceAndRepair.edit') > -1"
                   link
                   type="primary"
                   size="small">
          {{ $t('basicData.edit') }}
        </el-button>
        <el-button link size="small" type="primary" @click="getTableRow(row,'delete')">{{$t('basicData.delete')}}</el-button>
      </template>
        <!--左边固定显示的插槽-->
        <template #button_slot="{ row }">
          <!--        <el-button @click="getTableRow(row,'edit');" link type="primary" size="small">{{$t('basicData.edit')}}</el-button>-->
          <el-button @click="getTableRow(row,'edit')"
                     v-if="userStore.user.permissions.indexOf('maintenanceAndRepair.edit') > -1"
                     link
                     type="primary"
                     size="small">
            {{ $t('basicData.edit') }}
          </el-button>
          <el-button link size="small" type="primary" @click="getTableRow(row,'delete')">{{$t('basicData.delete')}}</el-button>
        </template>
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input v-model="option.data" type="text"
                   @keyup.enter.native="$panel.confirmFilter()"
                   @input="changeFilterEvent($event, option, $panel)"/>
        <template #num1_filter="{ column, $panel }">
          <div>
            <div v-for="(option, index) in column.filters" :key="index">
              <input v-model="option.data" type="text"
                     @keyup.enter.native="$panel.confirmFilter()"
                     @input="changeFilterEvent($event, option, $panel)"/>
            </div>
          </div>
        </div>
      </template>
        </template>
    </vxe-grid>
      </vxe-grid>
    </div>
    <el-dialog v-model="dialogTableVisible" :title="$t('machine.maintenanceAndRepairEdit')">
      <el-form :model="form">
@@ -433,12 +432,13 @@
</template>
<style scoped>
.main-div-customer {
  width: 99%;
  height: 100%;
.head{
  width: 100%;
  height: 35px;
}
#selectForm {
  width: 40%;
  text-align: center;
.main-table{
  width: 100%;
  height: calc(100% - 35px);
}
</style>
north-glass-erp/northglass-erp/src/views/pp/machine/SelectMachine.vue
@@ -132,38 +132,40 @@
</script>
<template>
  <div class="main-div-customer">
    <vxe-grid
        max-height="100%"
        class="mytable-scrollbar"
        ref="xGrid"
        v-bind="gridOptions"
  <div  style="width: 100%;height: 100%">
    <div class="main-table">
      <vxe-grid
          height="100%"
          class="mytable-scrollbar"
          ref="xGrid"
          v-bind="gridOptions"
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
      <template #content="{ row}">
        <ul class="expand-wrapper">
          <li  v-for="(item,key,index) in row">
            <span style="font-weight: bold">{{key+':  '}}</span>
            <span>{{ item }}</span>
          </li>
        </ul>
      </template>
      >
        <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
        <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
        <template #content="{ row}">
          <ul class="expand-wrapper">
            <li  v-for="(item,key,index) in row">
              <span style="font-weight: bold">{{key+':  '}}</span>
              <span>{{ item }}</span>
            </li>
          </ul>
        </template>
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input type="text" v-model="option.data"
                   @keyup.enter.native="$panel.confirmFilter()"
                   @input="changeFilterEvent($event, option, $panel)"/>
        <template #num1_filter="{ column, $panel }">
          <div>
            <div v-for="(option, index) in column.filters" :key="index">
              <input type="text" v-model="option.data"
                     @keyup.enter.native="$panel.confirmFilter()"
                     @input="changeFilterEvent($event, option, $panel)"/>
            </div>
          </div>
        </div>
      </template>
        </template>
    </vxe-grid>
      </vxe-grid>
    </div>
    <el-dialog v-model="dialogFormVisible" :title="$t('machine.deviceEditing')">
      <el-form :model="form">
@@ -213,8 +215,13 @@
</template>
<style scoped>
.main-div-customer{
  width: 99%;
  height: 100%;
.head{
  width: 100%;
  height: 35px;
}
.main-table{
  width: 100%;
  height: calc(100% - 0px);
}
</style>
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCard.vue
@@ -655,86 +655,92 @@
</script>
<template>
  <div class="main-div-customer">
    <el-input v-show="isVisible" v-model="printMerge" :placeholder="$t('processCard.mergePrinting')" clearable
              style="width: 90px"></el-input>
    &nbsp;
    <label>{{ $t('processCard.labelStyle') }}:</label>
    <el-select v-model="printType" :placeholder="$t('processCard.pleaseSelect')" clearable default-value="default_city"
               style="width: 120px">
      <el-option
          v-for="item in titleSelectJson['dataType']"
          :key="item.id"
          :label="item.name"
          :value="item.name"
      />
    </el-select>
    &nbsp;
    <el-select v-model="lableType" :placeholder="lableTypeOptions[0].label" class="m-2" style="width: 140px">
      <el-option
          v-for="item in filteredOptions"
          :key="item.value"
          :label="item.label"
          :value="item.value"
      />
    </el-select>
    &nbsp;
    <el-select v-model="stateValue" :placeholder="$t('processCard.pleaseSelect')" allow-create class="m-2" clearable
               filterable style="width: 140px">
      <el-option
          v-for="item in stateOptions"
          :key="item.value"
          :label="item.label"
          :value="item.value"
      />
    </el-select>
    <vxe-grid
        ref="xGrid"
        class="mytable-scrollbar"
        height="100%"
        v-bind="gridOptions"
        v-on="gridEvents"
  <div  style="width: 100%;height: 100%">
    <div class="head">
      <el-input v-show="isVisible" v-model="printMerge" :placeholder="$t('processCard.mergePrinting')" clearable
                style="width: 90px"></el-input>
      &nbsp;
      <label>{{ $t('processCard.labelStyle') }}:</label>
      <el-select v-model="printType" :placeholder="$t('processCard.pleaseSelect')" clearable default-value="default_city"
                 style="width: 120px">
        <el-option
            v-for="item in titleSelectJson['dataType']"
            :key="item.id"
            :label="item.name"
            :value="item.name"
        />
      </el-select>
      &nbsp;
      <el-select v-model="lableType" :placeholder="lableTypeOptions[0].label" class="m-2" style="width: 140px">
        <el-option
            v-for="item in filteredOptions"
            :key="item.value"
            :label="item.label"
            :value="item.value"
        />
      </el-select>
      &nbsp;
      <el-select v-model="stateValue" :placeholder="$t('processCard.pleaseSelect')" allow-create class="m-2" clearable
                 filterable style="width: 140px">
        <el-option
            v-for="item in stateOptions"
            :key="item.value"
            :label="item.label"
            :value="item.value"
        />
      </el-select>
    </div>
    <div class="main-table">
      <vxe-grid
          ref="xGrid"
          :checkbox-config="{labelField: 'name', highlight: true, range: true}"
          class="mytable-scrollbar"
          height="100%"
          v-bind="gridOptions"
          v-on="gridEvents"
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
      <template #content="{ row }">
        <ul class="expand-wrapper">
          <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
            <span style="font-weight: bold">{{ item.title + ':  ' }}</span>
            <span v-if="hasDecimal(item.field)">{{ row[item.field.split('.')[0]][item.field.split('.')[1]] }}</span>
            <span v-else>{{ row[item.field] }}</span>
      >
        <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
        <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
        <template #content="{ row }">
          <ul class="expand-wrapper">
            <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
              <span style="font-weight: bold">{{ item.title + ':  ' }}</span>
              <span v-if="hasDecimal(item.field)">{{ row[item.field.split('.')[0]][item.field.split('.')[1]] }}</span>
              <span v-else>{{ row[item.field] }}</span>
          </li>
        </ul>
      </template>
            </li>
          </ul>
        </template>
      <!--左边固定显示的插槽-->
      <!--      v-if="userStore.user.permissions.indexOf('SelectProductionBasicData.edit') > -1"-->
      <template #button_slot="{ row }">
        <el-button link
                   size="small"
                   type="primary"
                   @click="getTableRow(row,'edit')">
          {{ $t('basicData.edit') }}
        </el-button>
        <!--左边固定显示的插槽-->
        <!--      v-if="userStore.user.permissions.indexOf('SelectProductionBasicData.edit') > -1"-->
        <template #button_slot="{ row }">
          <el-button link
                     size="small"
                     type="primary"
                     @click="getTableRow(row,'edit')">
            {{ $t('basicData.edit') }}
          </el-button>
      </template>
        </template>
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input v-model="option.data"
                   type="text"
                   @keyup.enter.native="$panel.confirmFilter()"
                   @input="changeFilterEvent($event, option, $panel)"/>
        <template #num1_filter="{ column, $panel }">
          <div>
            <div v-for="(option, index) in column.filters" :key="index">
              <input v-model="option.data"
                     type="text"
                     @keyup.enter.native="$panel.confirmFilter()"
                     @input="changeFilterEvent($event, option, $panel)"/>
            </div>
          </div>
        </div>
      </template>
        </template>
    </vxe-grid>
      </vxe-grid>
    </div>
    <!--  æµç¨‹å¡æ‰“印  -->
    <el-dialog
        id="sizePrintCalrd"
@@ -846,9 +852,15 @@
</template>
<style scoped>
.main-div-customer {
  width: 99%;
  height: 92%;
.head{
  width: 100%;
  height: 35px;
}
.main-table{
  width: 100%;
  height: calc(100% - 35px);
}
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCardDetails.vue
@@ -727,90 +727,95 @@
</script>
<template>
  <div class="main-div-customer">
    <el-input v-show="isVisible" v-model="printMerge" :placeholder="$t('processCard.mergePrinting')" clearable
              style="width: 90px"></el-input>
    &nbsp;
    <label>{{ $t('processCard.labelStyle') }}:</label>
    <el-select v-model="printType" :placeholder="$t('processCard.pleaseSelect')" clearable default-value="default_city"
               style="width: 120px">
      <el-option
          v-for="item in titleSelectJson['dataType']"
          :key="item.id"
          :label="item.name"
          :value="item.name"
      />
    </el-select>
    &nbsp;
    <el-select v-model="lableType" :placeholder="lableTypeOptions[0].label" class="m-2" style="width: 140px">
      <el-option
          v-for="item in filteredOptions"
          :key="item.value"
          :label="item.label"
          :value="item.value"
      />
    </el-select>
    &nbsp;
    <el-select v-model="stateValue" :placeholder="$t('processCard.pleaseSelect')" allow-create class="m-2" clearable
               filterable style="width: 140px">
      <el-option
          v-for="item in stateOptions"
          :key="item.value"
          :label="item.label"
          :value="item.value"
      />
    </el-select>
    <vxe-grid
        ref="xGrid"
        :checkbox-config="{labelField: 'name', highlight: true, range: true}"
        :column-config="{resizable: true}"
        :data="tableData"
        :row-config="{isCurrent: true, isHover: true}"
        class="mytable-scrollbar"
        height="100%"
        v-bind="gridOptions"
        v-on="gridEvents">
  <div  style="width: 100%;height: 100%">
    <div class="head">
      <el-input v-show="isVisible" v-model="printMerge" :placeholder="$t('processCard.mergePrinting')" clearable
                style="width: 90px"></el-input>
      &nbsp;
      <label>{{ $t('processCard.labelStyle') }}:</label>
      <el-select v-model="printType" :placeholder="$t('processCard.pleaseSelect')" clearable default-value="default_city"
                 style="width: 120px">
        <el-option
            v-for="item in titleSelectJson['dataType']"
            :key="item.id"
            :label="item.name"
            :value="item.name"
        />
      </el-select>
      &nbsp;
      <el-select v-model="lableType" :placeholder="lableTypeOptions[0].label" class="m-2" style="width: 140px">
        <el-option
            v-for="item in filteredOptions"
            :key="item.value"
            :label="item.label"
            :value="item.value"
        />
      </el-select>
      &nbsp;
      <el-select v-model="stateValue" :placeholder="$t('processCard.pleaseSelect')" allow-create class="m-2" clearable
                 filterable style="width: 140px">
        <el-option
            v-for="item in stateOptions"
            :key="item.value"
            :label="item.label"
            :value="item.value"
        />
      </el-select>
    </div>
    <div class="main-table">
      <vxe-grid
          ref="xGrid"
          :checkbox-config="{labelField: 'name', highlight: true, range: true}"
          :column-config="{resizable: true}"
          :data="tableData"
          :row-config="{isCurrent: true, isHover: true}"
          class="mytable-scrollbar"
          height="100%"
          v-bind="gridOptions"
          v-on="gridEvents">
      >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
      <template #content="{ row }">
        <ul class="expand-wrapper">
          <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
            <span style="font-weight: bold">{{ item.title + ':  ' }}</span>
            <span v-if="hasDecimal(item.field)">{{ row[item.field.split('.')[0]][item.field.split('.')[1]] }}</span>
            <span v-else>{{ row[item.field] }}</span>
        >
        <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
        <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
        <template #content="{ row }">
          <ul class="expand-wrapper">
            <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
              <span style="font-weight: bold">{{ item.title + ':  ' }}</span>
              <span v-if="hasDecimal(item.field)">{{ row[item.field.split('.')[0]][item.field.split('.')[1]] }}</span>
              <span v-else>{{ row[item.field] }}</span>
          </li>
        </ul>
      </template>
            </li>
          </ul>
        </template>
      <!--左边固定显示的插槽-->
      <!--      v-if="userStore.user.permissions.indexOf('SelectProductionBasicData.edit') > -1"-->
      <template #button_slot="{ row }">
        <el-button link
                   size="small"
                   type="primary"
                   @click="getTableRow(row,'edit')">
          {{ $t('basicData.edit') }}
        </el-button>
        <!--左边固定显示的插槽-->
        <!--      v-if="userStore.user.permissions.indexOf('SelectProductionBasicData.edit') > -1"-->
        <template #button_slot="{ row }">
          <el-button link
                     size="small"
                     type="primary"
                     @click="getTableRow(row,'edit')">
            {{ $t('basicData.edit') }}
          </el-button>
      </template>
        </template>
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input v-model="option.data"
                   type="text"
                   @input="changeFilterEvent($event, option, $panel)"
                   @keyup.enter.native="$panel.confirmFilter()"/>
        <template #num1_filter="{ column, $panel }">
          <div>
            <div v-for="(option, index) in column.filters" :key="index">
              <input v-model="option.data"
                     type="text"
                     @input="changeFilterEvent($event, option, $panel)"
                     @keyup.enter.native="$panel.confirmFilter()"/>
            </div>
          </div>
        </div>
      </template>
        </template>
    </vxe-grid>
      </vxe-grid>
    </div>
    <!--  æµç¨‹å¡æ‰“印  -->
    <el-dialog
        id="sizePrintCalrd"
@@ -939,6 +944,16 @@
  height: 92%;
}
.head{
  width: 100%;
  height: 35px;
}
.main-table{
  width: 100%;
  height: calc(100% - 35px);
}
:deep(#sizeCheck .el-dialog__body) {
  height: 90%;
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintLabel.vue
@@ -197,7 +197,9 @@
        <div class="row2" v-else>
          <span style="font-size: 8pt">{{ item.customer_name }}</span>&nbsp;
        </div>
        <div class="row2" style="font-size: 8pt" >{{item.order_id}}</div>
        <div class="row2" style="font-size: 8pt" >{{item.order_id}}
          <span style="font-size: 8pt">{{ remarks }}</span>&nbsp;
        </div>
        <div class="row3" v-if="item.other_columns!=null&&(JSON.parse(item.other_columns).S02!=null)">{{JSON.parse(item.other_columns).S02}}={{item.quantity}}</div>
        <div class="row3" v-else>{{Math.round(item.width)}}x{{Math.round(item.height)}}={{item.quantity}}</div>
north-glass-erp/northglass-erp/src/views/pp/processCard/ProductionScheduling.vue
@@ -651,9 +651,8 @@
</script>
<template>
  <div class="main-div-customer">
    <div id="selectForm">
      <el-row :gutter="0">
  <div  style="width: 100%;height: 100%">
    <div class="head">
        <el-date-picker
            v-model="orderInfo.workOrderDate"
            :default-time="defaultTime"
@@ -690,69 +689,69 @@
            :icon="Search"
            type="primary" @click="getWorkOrder">{{ $t('basicData.search') }}
        </el-button>
      </el-row>
    </div>
    <vxe-grid
        ref="xGrid"
        class="mytable-scrollbar"
        height="95%"
        v-bind="gridOptions"
        v-on="gridEvents"
        @filter-change="filterChanged"
    <div class="main-table">
      <vxe-grid
          ref="xGrid"
          class="mytable-scrollbar"
          height="100%"
          v-bind="gridOptions"
          v-on="gridEvents"
          @filter-change="filterChanged"
    >
      <!--      :checkbox-config="checkBoxConfig"  @checkbox-change="determineNum"-->
      <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
      <template #content="{ row }">
        <ul class="expand-wrapper">
          <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
            <span style="font-weight: bold">{{ item.title + ':  ' }}</span>
            <span v-if="hasDecimal(item.field)">{{ row[item.field.split('.')[0]][item.field.split('.')[1]] }}</span>
            <span v-else>{{ row[item.field] }}</span>
      >
        <!--      :checkbox-config="checkBoxConfig"  @checkbox-change="determineNum"-->
        <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
        <template #content="{ row }">
          <ul class="expand-wrapper">
            <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
              <span style="font-weight: bold">{{ item.title + ':  ' }}</span>
              <span v-if="hasDecimal(item.field)">{{ row[item.field.split('.')[0]][item.field.split('.')[1]] }}</span>
              <span v-else>{{ row[item.field] }}</span>
          </li>
        </ul>
      </template>
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input v-model="option.data" type="type"
                   @keyup.enter.native="$panel.confirmFilter()"
                   @input="changeFilterEvent($event, option, $panel)"/>
            </li>
          </ul>
        </template>
        <template #num1_filter="{ column, $panel }">
          <div>
            <div v-for="(option, index) in column.filters" :key="index">
              <input v-model="option.data" type="type"
                     @keyup.enter.native="$panel.confirmFilter()"
                     @input="changeFilterEvent($event, option, $panel)"/>
            </div>
          </div>
        </div>
      </template>
      <template #pager>
        <!--使用 pager æ’æ§½-->
        <!--        'PrevJump','NextJump', -->
        <vxe-pager
            v-model:current-page="pageNum"
            v-model:page-size="total.pageSize"
            v-model:pager-count="total.pageTotal"
            :layouts="[  'PrevPage', 'Jump','PageCount', 'NextPage',  'Total']"
            :total="total.dataTotal"
            @page-change="handlePageChange"
        >
        </vxe-pager>
      </template>
        </template>
        <template #pager>
          <!--使用 pager æ’æ§½-->
          <!--        'PrevJump','NextJump', -->
          <vxe-pager
              v-model:current-page="pageNum"
              v-model:page-size="total.pageSize"
              v-model:pager-count="total.pageTotal"
              :layouts="[  'PrevPage', 'Jump','PageCount', 'NextPage',  'Total']"
              :total="total.dataTotal"
              @page-change="handlePageChange"
          >
          </vxe-pager>
        </template>
    </vxe-grid>
      </vxe-grid>
    </div>
  </div>
</template>
<style scoped>
.main-div-customer {
  width: 99%;
  height: 100%;
.head{
  width: 100%;
  height: 35px;
}
#selectForm {
  width: 70%;
  height: 6%;
  text-align: center;
.main-table{
  width: 100%;
  height: calc(100% - 35px);
}
.vxe-grid {
north-glass-erp/northglass-erp/src/views/pp/processCard/SelectAddProcess.vue
@@ -258,9 +258,8 @@
</script>
<template>
  <div class="main-div-customer">
    <div id="selectForm">
      <el-row :gutter="0">
  <div  style="width: 100%;height: 100%">
    <div class="head">
        <el-date-picker
            v-model="orderInfo.workOrderDate"
            :default-time="defaultTime"
@@ -277,11 +276,12 @@
            id="select"
            type="primary" :icon="Search">{{$t('basicData.search')}}
        </el-button>
      </el-row>
    </div>
    <div class="main-table">
    <vxe-grid
        height="95%"
        height="100%"
        @filter-change="filterChanged"
        class="mytable-scrollbar"
        ref="xGrid"
@@ -326,6 +326,7 @@
    </vxe-grid>
  </div>
  </div>
</template>
<style scoped>
@@ -337,4 +338,13 @@
  width: 50%;
  text-align: center;
}
.head{
  width: 100%;
  height: 35px;
}
.main-table{
  width: 100%;
  height: calc(100% - 35px);
}
</style>
north-glass-erp/northglass-erp/src/views/pp/processCard/SelectDetailProcessCard.vue
@@ -14,6 +14,8 @@
import {VXETable} from "vxe-table";
import  useUserInfoStore from '@/stores/userInfo'
import {useI18n} from "vue-i18n";
import UpdateOrderCraft from "@/components/sd/order/UpdateOrderCraft.vue";
import {filterChanged} from "@/hook";
let productGlassTypeStore = useProductGlassTypeStore()
const { t } = useI18n()
const userStore = useUserInfoStore()
@@ -62,8 +64,57 @@
let pageNum=ref(1)
let pageState = null
let craftVisible = ref(false)
const  craftObj  = reactive({
  newCraft: [],
  oldCraft: [],
})
const  numberList  = reactive({
  technologyNumber:[],
})
const saveCraft = () => {
  //rowIndex.value.process = craftObj.newCraft.join('->')
 let orderProcess= craftObj.newCraft.join('->')
  request.post(`/processCard/updateProcess/${rowIndex.value.process_id}/${rowIndex.value.technology_number}/${rowIndex.value.order_id}/${orderProcess}`, craftObj).then((res) => {
    if (res.code == 200 && res.data === true) {
      ElMessage.success(t('basicData.msg.saveSuccess'))
      router.push({
        path: '/main/processCard/SelectDetailProcessCard',
        query: {processId: processId,random: Math.random()}
      })
    } else {
      ElMessage.warning('保存失败,检查是否报工')
    }
  })
  craftVisible.value= false
}
let process =  ref([])
request.get(`/basicData/BasicDataByType/product/process`).then((res) =>{
  if (res.code==200){
    process.value=res.data
  }
})
let rowIndex = ref({})
const updateCraft = (row) => {
  craftVisible.value= true
  Object.keys(craftObj).forEach((key) =>{
    craftObj[key] = row['process'].split('->')
  })
  Object.keys(numberList).forEach((key) =>{
    numberList[key] = row['concatNumber'].split(',')
  })
  craftObj.technologyNumber=[]
  craftObj.technologyNumber.push(...numberList.technologyNumber);
  rowIndex.value = row
}
//第一次加载
const {currentRoute} = useRouter()
@@ -136,24 +187,29 @@
  },//表头参数
  columns:[
    {type:'expand',fixed:"left",slots: { content:'content' },width: 50},
    {title: t('basicData.operate'), width: 100, slots: { default: 'button_slot' },fixed:"left",},
    { type: 'seq',fixed:"left", title: t('basicData.Number'), width: 50 },
    {field: 'order_id', title: t('order.orderId'),filters:[{ data: '' }],slots: { filter: 'num1_filter' },width: 80 },
    {field: 'order_id', title: t('order.orderId'),filters:[{ data: '' }],slots: { filter: 'num1_filter' },width: 110 },
    {field: 'process_id', width: 140, title: t('processCard.processId') ,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'order_number', title: t('order.OrderNum') ,filters:[{ data: '' }],slots: { filter: 'num1_filter' },},
    {field: 'technology_number', title: t('processCard.technologyNumber') ,filters:[{ data: '' }],slots: { filter: 'num1_filter' },},
    {field: 'order_number', title: t('order.OrderNum') ,filters:[{ data: '' }],slots: { filter: 'num1_filter' },width: 100},
    {field: 'technology_number', title: t('processCard.technologyNumber') ,filters:[{ data: '' }],slots: { filter: 'num1_filter' },width: 100},
    {field: 'quantity', title: t('order.quantity'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, width: 80},
    {field: 'child_width', title: t('order.width'), },
    {field: 'child_height', title: t('order.height'), },
    {field: 'area', title: t('order.area') ,showOverflow:"ellipsis"},
    {field: 'product_name', title: t('order.product'), },
    {field: 'glass_child', title: t('reportingWorks.glassChild'), },
    {field: 'founder', title: t('processCard.founder'), },
    {field: 'splitFrame_time', title: t('processCard.splitFrameTime'), },
    {field: 'child_width', title: t('order.width'),width: 80 },
    {field: 'child_height', title: t('order.height'),width: 80 },
    {field: 'area', title: t('order.area') ,showOverflow:"ellipsis",width: 70},
    {field: 'process',width:250,  title: t('craft.process'),filters:[{ data: '' }],slots: { filter: 'num1_filter' },},
    {field: 'product_name', title: t('order.product'),width: 310 },
    {field: 'glass_child', title: t('reportingWorks.glassChild'),width: 200 },
    {field: 'founder', title: t('processCard.founder'),width: 110 },
    {field: 'splitFrame_time', title: t('processCard.splitFrameTime'),width: 110 },
    {field: 'concatNumber', title: '总序号',width: 110},
  ],//表头按钮
  toolbarConfig: {
    buttons: [
      {'code': 'add', 'name': t('processCard.merge'),status: 'primary'}
      {'code': 'add', 'name': t('processCard.merge'),status: 'primary'},
    ],
    import: false,
    // export: true,
@@ -272,18 +328,27 @@
      <!--左边固定显示的插槽-->
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input type="type" v-model="option.data"
                   @keyup.enter.native="$panel.confirmFilter()"
                   @input="changeFilterEvent($event, option, $panel)"/>
          </div>
        </div>
      <!--左边固定显示的插槽-->
      <template #button_slot="{ row }">
        <el-button @click="updateCraft(row)" link type="primary" size="small">{{$t('craft.updateCraft')}}</el-button>
      </template>
    </vxe-grid>
    <el-dialog id="processChange"
               v-model="craftVisible"
               :title="$t('craft.technologicalProcess')"
               :close-on-click-modal="false"
               :close-on-press-escape="false"
               style="width: 60%;height:60% ;position: relative;" >
      <update-order-craft
          :craftObj="craftObj"
          :process="process"
          @saveCraft="saveCraft"
      />
    </el-dialog>
  </div>
</template>
north-glass-erp/northglass-erp/src/views/pp/processCard/SelectPrintFlowCard.vue
@@ -335,9 +335,8 @@
</script>
<template>
  <div class="main-div-customer">
    <div id="selectForm">
      <el-row :gutter="0">
  <div  style="width: 100%;height: 100%">
    <div class="head">
        <el-date-picker
            v-model="orderInfo.workOrderDate"
            :start-placeholder="$t('basicData.startDate')"
@@ -358,12 +357,14 @@
            type="primary" @click="getWorkOrder">{{ $t('basicData.search') }}
        </el-button>
        <vxe-checkbox style="margin-top:6px;margin-left:10px " v-if="!(checkedValue.value === 2 && inquiryMode === 2)" v-model="checkedValue.value"  :content="$t('processCard.merge')" :checked-value="1" :unchecked-value="3" ></vxe-checkbox>
      </el-row>
    </div>
    <div class="main-table">
    <vxe-grid
        ref="xGrid"
        class="mytable-scrollbar"
        height="95%"
        height="100%"
        v-bind="gridOptions"
        v-on="gridEvents"
    >
@@ -397,6 +398,7 @@
    </vxe-grid>
  </div>
    <el-dialog
        id="titleStyle"
        :title="$t('processCard.labelStyle')"
@@ -420,12 +422,14 @@
</template>
<style scoped>
.main-div-customer {
  width: 99%;
  height: 100%;
.head{
  width: 100%;
  height: 35px;
}
#selectForm {
  width: 60%;
.main-table{
  width: 100%;
  height: calc(100% - 35px);
}
:deep(#titleStyle .el-dialog__body){
  height: 90%;
north-glass-erp/northglass-erp/src/views/pp/processCard/SelectPrintProject.vue
@@ -298,9 +298,8 @@
</script>
<template>
  <div class="main-div-customer">
    <div id="selectForm">
      <el-row :gutter="0">
  <div  style="width: 100%;height: 100%">
    <div class="head">
        <el-date-picker
            v-model="form.date1"
            :start-placeholder="$t('basicData.startDate')"
@@ -317,55 +316,56 @@
            :icon="Search"
            type="primary" @click="getWorkOrder">{{ $t('basicData.search') }}
        </el-button>
      </el-row>
    </div>
    <vxe-grid
        ref="xGrid"
        class="mytable-scrollbar"
        height="100%"
        v-bind="gridOptions"
        v-on="gridEvents"
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
      <template #content="{ row }">
        <ul class="expand-wrapper">
          <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
            <span style="font-weight: bold">{{ item.title + ':  ' }}</span>
            <span v-if="hasDecimal(item.field)">{{ row[item.field.split('.')[0]][item.field.split('.')[1]] }}</span>
            <span v-else>{{ row[item.field] }}</span>
    <div class="main-table">
      <vxe-grid
          ref="xGrid"
          class="mytable-scrollbar"
          height="100%"
          v-bind="gridOptions"
          v-on="gridEvents"
      >
        <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
        <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
        <template #content="{ row }">
          <ul class="expand-wrapper">
            <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
              <span style="font-weight: bold">{{ item.title + ':  ' }}</span>
              <span v-if="hasDecimal(item.field)">{{ row[item.field.split('.')[0]][item.field.split('.')[1]] }}</span>
              <span v-else>{{ row[item.field] }}</span>
          </li>
        </ul>
      </template>
      <!--左边固定显示的插槽-->
      <template #button_slot="{ row }">
        <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">{{$t('machine.cutting')}}</el-button>
        <el-button @click="getTableRow(row,'edit1')" link type="primary" size="small">{{$t('machine.tempering')}}</el-button>
        <el-button @click="getTableRow(row,'edit2')" link type="primary" size="small">{{$t('components.finishedProduct')}}</el-button>
      </template>
            </li>
          </ul>
        </template>
        <!--左边固定显示的插槽-->
        <template #button_slot="{ row }">
          <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">{{$t('machine.cutting')}}</el-button>
          <el-button @click="getTableRow(row,'edit1')" link type="primary" size="small">{{$t('machine.tempering')}}</el-button>
          <el-button @click="getTableRow(row,'edit2')" link type="primary" size="small">{{$t('components.finishedProduct')}}</el-button>
        </template>
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input v-model="option.data" type="text"
                   @keyup.enter.native="$panel.confirmFilter()"
                   @input="changeFilterEvent($event, option, $panel)"/>
        <template #num1_filter="{ column, $panel }">
          <div>
            <div v-for="(option, index) in column.filters" :key="index">
              <input v-model="option.data" type="text"
                     @keyup.enter.native="$panel.confirmFilter()"
                     @input="changeFilterEvent($event, option, $panel)"/>
            </div>
          </div>
        </div>
      </template>
        </template>
      <template #toolbar_buttons>
        <vxe-select @change="changeOrderType" v-model="print" >
          <vxe-option value="1" label="EPSON LQ-82KF ESC/P2"></vxe-option>
          <vxe-option value="2" label="TSC TTP-244Pro"></vxe-option>
        </vxe-select>
      </template>
        <template #toolbar_buttons>
          <vxe-select @change="changeOrderType" v-model="print" >
            <vxe-option value="1" label="EPSON LQ-82KF ESC/P2"></vxe-option>
            <vxe-option value="2" label="TSC TTP-244Pro"></vxe-option>
          </vxe-select>
        </template>
    </vxe-grid>
      </vxe-grid>
    </div>
    <el-dialog
        id="titleStyle"
        :title="$t('processCard.labelStyle')"
@@ -398,12 +398,14 @@
<style scoped>
.main-div-customer {
  width: 99%;
  height: 93%;
.head{
  width: 100%;
  height: 35px;
}
#selectForm {
  width: 60%;
.main-table{
  width: 100%;
  height: calc(100% - 35px);
}
:deep(#titleStyle .el-dialog__body){
  height: 90%;
north-glass-erp/northglass-erp/src/views/pp/processCard/SelectProcessCard.vue
@@ -430,9 +430,8 @@
</script>
<template>
  <div class="main-div-customer">
    <div id="selectForm">
      <el-row :gutter="0">
  <div  style="width: 100%;height: 100%">
    <div class="head">
        <el-date-picker
            v-model="orderInfo.workOrderDate"
            :default-time="defaultTime"
@@ -447,105 +446,107 @@
        <el-button
            id="select"
            :icon="Search"
            style="margin-top: -5px"
            type="primary" @click="getWorkOrder">{{ $t('basicData.search') }}
        </el-button>
      </el-row>
    </div>
    <vxe-grid
        ref="xGrid"
        :checkbox-config="checkBoxConfig"
        class="mytable-scrollbar"
        height="100%"
        v-bind="gridOptions"
        v-on="gridEvents"
        @filter-change="filterChanged"
    <div class="main-table">
      <vxe-grid
          ref="xGrid"
          :checkbox-config="checkBoxConfig"
          class="mytable-scrollbar"
          height="100%"
          v-bind="gridOptions"
          v-on="gridEvents"
          @filter-change="filterChanged"
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
      <template #content="{ row }">
        <ul class="expand-wrapper">
          <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
            <span style="font-weight: bold">{{ item.title + ':  ' }}</span>
            <span v-if="hasDecimal(item.field)">{{ row[item.field.split('.')[0]][item.field.split('.')[1]] }}</span>
            <span v-else>{{ row[item.field] }}</span>
      >
        <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
        <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
        <template #content="{ row }">
          <ul class="expand-wrapper">
            <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
              <span style="font-weight: bold">{{ item.title + ':  ' }}</span>
              <span v-if="hasDecimal(item.field)">{{ row[item.field.split('.')[0]][item.field.split('.')[1]] }}</span>
              <span v-else>{{ row[item.field] }}</span>
          </li>
        </ul>
      </template>
            </li>
          </ul>
        </template>
      <!--左边固定显示的插槽-->
        <!--左边固定显示的插槽-->
      <template #button_slot="{ row }">
        <!--        <el-button @click="getTableRow(row,'select')" link type="primary" size="small">{{$t('basicData.edit')}}-->
        <!--        </el-button>-->
        <el-button v-if="userStore.user.permissions.indexOf('selectProcessCard.edit') > -1"
                   link
                   size="small"
                   type="primary"
                   @click="getTableRow(row,'select')">
          {{ $t('basicData.edit') }}
        </el-button>
        <!--        <el-button v-if="row.layoutStatus=='可排版'" @click="getTableRow(row,'setType')" link type="primary" size="small">{{$t('processCard.composing')}}</el-button>-->
        <!--        <el-button v-else-if="row.layoutStatus=='不可排版'" @click="getTableRow(row,'setType')" link type="primary" size="small">{{$t('processCard.composingOk')}}</el-button>-->
        <!--        <el-button v-else-if="row.layoutStatus=='已排版'" disabled @click="getTableRow(row,'setType')" link type="primary" size="small">{{$t('processCard.typesetter')}}</el-button>-->
        <!--        <el-button @click="getTableRow(row,'delete')" link type="primary" size="small">{{$t('basicData.delete')}}</el-button>-->
<!--        <el-popconfirm :title="$t('searchOrder.deleteConfirm')" @confirm="getTableRow(row,'delete')">-->
<!--          <template #reference>-->
<!--            <el-button link size="small" type="primary">{{ $t('basicData.delete') }}</el-button>-->
<!--          </template>-->
<!--        </el-popconfirm>-->
      </template>
        <template #button_slot="{ row }">
          <!--        <el-button @click="getTableRow(row,'select')" link type="primary" size="small">{{$t('basicData.edit')}}-->
          <!--        </el-button>-->
          <el-button v-if="userStore.user.permissions.indexOf('selectProcessCard.edit') > -1"
                     link
                     size="small"
                     type="primary"
                     @click="getTableRow(row,'select')">
            {{ $t('basicData.edit') }}
          </el-button>
          <!--        <el-button v-if="row.layoutStatus=='可排版'" @click="getTableRow(row,'setType')" link type="primary" size="small">{{$t('processCard.composing')}}</el-button>-->
          <!--        <el-button v-else-if="row.layoutStatus=='不可排版'" @click="getTableRow(row,'setType')" link type="primary" size="small">{{$t('processCard.composingOk')}}</el-button>-->
          <!--        <el-button v-else-if="row.layoutStatus=='已排版'" disabled @click="getTableRow(row,'setType')" link type="primary" size="small">{{$t('processCard.typesetter')}}</el-button>-->
          <!--        <el-button @click="getTableRow(row,'delete')" link type="primary" size="small">{{$t('basicData.delete')}}</el-button>-->
          <!--        <el-popconfirm :title="$t('searchOrder.deleteConfirm')" @confirm="getTableRow(row,'delete')">-->
          <!--          <template #reference>-->
          <!--            <el-button link size="small" type="primary">{{ $t('basicData.delete') }}</el-button>-->
          <!--          </template>-->
          <!--        </el-popconfirm>-->
        </template>
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input v-model="option.data" type="text"
                   @keyup.enter.native="$panel.confirmFilter()"
                   @input="changeFilterEvent($event, option, $panel)"/>
        <template #num1_filter="{ column, $panel }">
          <div>
            <div v-for="(option, index) in column.filters" :key="index">
              <input v-model="option.data" type="text"
                     @keyup.enter.native="$panel.confirmFilter()"
                     @input="changeFilterEvent($event, option, $panel)"/>
            </div>
          </div>
        </div>
      </template>
      <template #select_filter="{ column, $panel }">
        <div>
        </template>
        <template #select_filter="{ column, $panel }">
          <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <select v-model="option.data" @change="changeFilterEvent($event, option, $panel)" style="width: 100%">
              <option  :value="$t('processCard.typesetter')" :label="$t('processCard.typesetter')"></option>
              <option  :value="$t('processCard.composingOk')" :label="$t('processCard.composingOk')"></option>
              <option  :value="$t('processCard.composingNo')" :label="$t('processCard.composingNo')"></option>
            </select>
            <div v-for="(option, index) in column.filters" :key="index">
              <select v-model="option.data" @change="changeFilterEvent($event, option, $panel)" style="width: 100%">
                <option  :value="$t('processCard.typesetter')" :label="$t('processCard.typesetter')"></option>
                <option  :value="$t('processCard.composingOk')" :label="$t('processCard.composingOk')"></option>
                <option  :value="$t('processCard.composingNo')" :label="$t('processCard.composingNo')"></option>
              </select>
            </div>
          </div>
        </div>
      </template>
      <template #pager>
        <!--使用 pager æ’æ§½-->
        <!--        'PrevJump','NextJump', -->
        <vxe-pager
            v-model:current-page="pageNum"
            v-model:page-size="total.pageSize"
            v-model:pager-count="total.pageTotal"
            :layouts="[  'PrevPage', 'Jump','PageCount', 'NextPage',  'Total']"
            :total="total.dataTotal"
            @page-change="handlePageChange"
        >
        </vxe-pager>
      </template>
        </template>
        <template #pager>
          <!--使用 pager æ’æ§½-->
          <!--        'PrevJump','NextJump', -->
          <vxe-pager
              v-model:current-page="pageNum"
              v-model:page-size="total.pageSize"
              v-model:pager-count="total.pageTotal"
              :layouts="[  'PrevPage', 'Jump','PageCount', 'NextPage',  'Total']"
              :total="total.dataTotal"
              @page-change="handlePageChange"
          >
          </vxe-pager>
        </template>
    </vxe-grid>
      </vxe-grid>
    </div>
  </div>
</template>
<style scoped>
.main-div-customer {
  width: 99%;
  height: 95%;
.head{
  width: 100%;
  height: 35px;
}
#selectForm {
  width: 40%;
  text-align: center;
.main-table{
  width: 100%;
  height: calc(100% - 35px);
}
</style>
north-glass-erp/northglass-erp/src/views/pp/productionBasicData/AddBreakageReason.vue
@@ -141,42 +141,42 @@
</script>
<template>
  <div class="main-div-customer">
    <vxe-grid
        ref="xGrid"
        class="mytable-scrollbar"
        max-height="100%"
        height="650px"
        v-bind="gridOptions"
        v-on="teamGridEvents"
        @filter-change="filterChanged"
  <div  style="width: 100%;height: 100%">
    <div class="main-table">
      <vxe-grid
          ref="xGrid"
          class="mytable-scrollbar"
          height="100%"
          v-bind="gridOptions"
          v-on="teamGridEvents"
          @filter-change="filterChanged"
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
      <template #content="{ row}">
        <ul class="expand-wrapper">
          <li  v-for="(item,key,index) in row">
            <span style="font-weight: bold">{{key+':  '}}</span>
            <span>{{ item }}</span>
          </li>
        </ul>
      </template>
      >
        <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
        <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
        <template #content="{ row}">
          <ul class="expand-wrapper">
            <li  v-for="(item,key,index) in row">
              <span style="font-weight: bold">{{key+':  '}}</span>
              <span>{{ item }}</span>
            </li>
          </ul>
        </template>
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input type="type" v-model="option.data"
                   @keyup.enter.native="$panel.confirmFilter()"
                   @input="changeFilterEvent($event, option, $panel)"/>
        <template #num1_filter="{ column, $panel }">
          <div>
            <div v-for="(option, index) in column.filters" :key="index">
              <input type="type" v-model="option.data"
                     @keyup.enter.native="$panel.confirmFilter()"
                     @input="changeFilterEvent($event, option, $panel)"/>
            </div>
          </div>
        </div>
      </template>
        </template>
    </vxe-grid>
      </vxe-grid>
    </div>
  </div>
</template>
@@ -186,6 +186,16 @@
  margin:  0 auto;
  height: 100%;
}
.head{
  width: 100%;
  height: 35px;
}
.main-table{
  width: 100%;
  height: calc(100% - 0px);
}
.vxe-grid {
  /* ç¦ç”¨æµè§ˆå™¨é»˜è®¤é€‰ä¸­ */
  -webkit-user-select: none;
north-glass-erp/northglass-erp/src/views/pp/productionBasicData/AddBreakageType.vue
@@ -142,41 +142,41 @@
</script>
<template>
  <div class="main-div-customer">
    <vxe-grid
        ref="xGrid"
        class="mytable-scrollbar"
        max-height="100%"
        height="650px"
        v-bind="gridOptions"
        v-on="teamGridEvents"
        @filter-change="filterChanged"
  <div  style="width: 100%;height: 100%">
    <div class="main-table">
      <vxe-grid
          ref="xGrid"
          class="mytable-scrollbar"
          height="100%"
          v-bind="gridOptions"
          v-on="teamGridEvents"
          @filter-change="filterChanged"
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
      <template #content="{ row}">
        <ul class="expand-wrapper">
          <li  v-for="(item,key,index) in row">
            <span style="font-weight: bold">{{key+':  '}}</span>
            <span>{{ item }}</span>
          </li>
        </ul>
      </template>
      >
        <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
        <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
        <template #content="{ row}">
          <ul class="expand-wrapper">
            <li  v-for="(item,key,index) in row">
              <span style="font-weight: bold">{{key+':  '}}</span>
              <span>{{ item }}</span>
            </li>
          </ul>
        </template>
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input type="type" v-model="option.data"
                   @keyup.enter.native="$panel.confirmFilter()"
                   @input="changeFilterEvent($event, option, $panel)"/>
        <template #num1_filter="{ column, $panel }">
          <div>
            <div v-for="(option, index) in column.filters" :key="index">
              <input type="type" v-model="option.data"
                     @keyup.enter.native="$panel.confirmFilter()"
                     @input="changeFilterEvent($event, option, $panel)"/>
            </div>
          </div>
        </div>
      </template>
        </template>
    </vxe-grid>
      </vxe-grid>
    </div>
  </div>
</template>
@@ -186,6 +186,15 @@
  margin:  0 auto;
  height: 100%;
}
.head{
  width: 100%;
  height: 35px;
}
.main-table{
  width: 100%;
  height: calc(100% - 0px);
}
.vxe-grid {
  /* ç¦ç”¨æµè§ˆå™¨é»˜è®¤é€‰ä¸­ */
  -webkit-user-select: none;
north-glass-erp/northglass-erp/src/views/pp/productionBasicData/AddTeamGroup.vue
@@ -163,44 +163,44 @@
</script>
<template>
  <div class="main-div-customer">
    <vxe-grid
        ref="xGrid"
        class="mytable-scrollbar"
        max-height="100%"
        height="650px"
        v-bind="gridOptions"
        v-on="teamGridEvents"
        @filter-change="filterChanged"
  <div  style="width: 100%;height: 100%">
    <div class="main-table">
      <vxe-grid
          ref="xGrid"
          class="mytable-scrollbar"
          height="100%"
          v-bind="gridOptions"
          v-on="teamGridEvents"
          @filter-change="filterChanged"
    >
      >
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input v-model="option.data" type="type"
                   @keyup.enter.native="$panel.confirmFilter()"
                   @input="changeFilterEvent($event, option, $panel)"/>
        <template #num1_filter="{ column, $panel }">
          <div>
            <div v-for="(option, index) in column.filters" :key="index">
              <input v-model="option.data" type="type"
                     @keyup.enter.native="$panel.confirmFilter()"
                     @input="changeFilterEvent($event, option, $panel)"/>
            </div>
          </div>
        </div>
      </template>
      <template #basicCategory="{ row }">
        <vxe-select v-model="row.basicCategory"
                    clearable
                    filterable
                    placeholder="">
          <vxe-option v-for="item in titleSelectJson.processType"
                      :key="item.basic_name"
                      :label="item.basic_name"
                      :value="item.basic_name"/>
        </vxe-select>
      </template>
      <template #basicCategory_default="{ row }">
        <span>{{ row.basicCategory }}</span>
      </template>
        </template>
        <template #basicCategory="{ row }">
          <vxe-select v-model="row.basicCategory"
                      clearable
                      filterable
                      placeholder="">
            <vxe-option v-for="item in titleSelectJson.processType"
                        :key="item.basic_name"
                        :label="item.basic_name"
                        :value="item.basic_name"/>
          </vxe-select>
        </template>
        <template #basicCategory_default="{ row }">
          <span>{{ row.basicCategory }}</span>
        </template>
    </vxe-grid>
      </vxe-grid>
    </div>
  </div>
</template>
@@ -209,6 +209,15 @@
  width: 99%;
  height: 100%;
}
.head{
  width: 100%;
  height: 35px;
}
.main-table{
  width: 100%;
  height: calc(100% - 0px);
}
.vxe-grid {
  /* ç¦ç”¨æµè§ˆå™¨é»˜è®¤é€‰ä¸­ */
  -webkit-user-select: none;
north-glass-erp/northglass-erp/src/views/pp/productionBasicData/SelectProductionBasicData.vue
@@ -184,56 +184,58 @@
</script>
<template>
  <div class="main-div-customer">
    <vxe-grid
        max-height="100%"
        class="mytable-scrollbar"
        ref="xGrid"
        v-bind="gridOptions"
  <div  style="width: 100%;height: 100%">
    <div class="main-table">
      <vxe-grid
          height="100%"
          class="mytable-scrollbar"
          ref="xGrid"
          v-bind="gridOptions"
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
      <template #content="{ row }">
        <ul class="expand-wrapper">
          <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
            <span style="font-weight: bold">{{ item.title + ':  ' }}</span>
            <span v-if="hasDecimal(item.field)">{{ row[item.field.split('.')[0]][item.field.split('.')[1]] }}</span>
            <span v-else>{{ row[item.field] }}</span>
      >
        <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
        <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
        <template #content="{ row }">
          <ul class="expand-wrapper">
            <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
              <span style="font-weight: bold">{{ item.title + ':  ' }}</span>
              <span v-if="hasDecimal(item.field)">{{ row[item.field.split('.')[0]][item.field.split('.')[1]] }}</span>
              <span v-else>{{ row[item.field] }}</span>
          </li>
        </ul>
      </template>
            </li>
          </ul>
        </template>
      <!--左边固定显示的插槽-->
      <template #button_slot="{ row }">
<!--        <el-button @click="getTableRow(row,'edit');" link type="primary" size="small">{{$t('basicData.edit')}}</el-button>-->
        <el-button @click="getTableRow(row,'edit')"
                   v-if="userStore.user.permissions.indexOf('selectProductionBasicData.edit') > -1"
                   link
                   type="primary"
                   size="small">
          {{ $t('basicData.edit') }}
        </el-button>
        <el-popconfirm   @confirm="getTableRow(row,'delete')" :title="$t('searchOrder.deleteConfirm')">
          <template #reference>
            <el-button  link type="primary" size="small">{{ $t('basicData.delete') }}</el-button>
          </template>
        </el-popconfirm>
      </template>
        <!--左边固定显示的插槽-->
        <template #button_slot="{ row }">
          <!--        <el-button @click="getTableRow(row,'edit');" link type="primary" size="small">{{$t('basicData.edit')}}</el-button>-->
          <el-button @click="getTableRow(row,'edit')"
                     v-if="userStore.user.permissions.indexOf('selectProductionBasicData.edit') > -1"
                     link
                     type="primary"
                     size="small">
            {{ $t('basicData.edit') }}
          </el-button>
          <el-popconfirm   @confirm="getTableRow(row,'delete')" :title="$t('searchOrder.deleteConfirm')">
            <template #reference>
              <el-button  link type="primary" size="small">{{ $t('basicData.delete') }}</el-button>
            </template>
          </el-popconfirm>
        </template>
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input type="text" v-model="option.data"
                   @keyup.enter.native="$panel.confirmFilter()"
                   @input="changeFilterEvent($event, option, $panel)"/>
        <template #num1_filter="{ column, $panel }">
          <div>
            <div v-for="(option, index) in column.filters" :key="index">
              <input type="text" v-model="option.data"
                     @keyup.enter.native="$panel.confirmFilter()"
                     @input="changeFilterEvent($event, option, $panel)"/>
            </div>
          </div>
        </div>
      </template>
        </template>
    </vxe-grid>
      </vxe-grid>
    </div>
    <el-dialog v-model="dialogTableVisible" :title="$t('productionBasicData.basicDataEdit')">
      <el-row>
@@ -291,11 +293,13 @@
</template>
<style scoped>
.main-div-customer{
  width: 99%;
  height: 100%;
.head{
  width: 100%;
  height: 35px;
}
.el-row{
  margin: 10px;
.main-table{
  width: 100%;
  height: calc(100% - 0px);
}
</style>
north-glass-erp/northglass-erp/src/views/pp/replenish/AddReplenish.vue
@@ -273,45 +273,47 @@
</script>
<template>
  <div class="main-div-customer">
  <div  style="width: 100%;height: 100%">
    <div class="main-table">
    <vxe-grid
        @filter-change="filterChanged"
        height="100%"
        class="mytable-scrollbar"
        ref="xGrid"
        v-bind="gridOptions"
        v-on="gridEvents"
      <vxe-grid
          @filter-change="filterChanged"
          height="100%"
          class="mytable-scrollbar"
          ref="xGrid"
          v-bind="gridOptions"
          v-on="gridEvents"
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
      <template #content="{ row}">
        <ul class="expand-wrapper">
          <li  v-for="(item,key,index) in row">
            <span style="font-weight: bold">{{key+':  '}}</span>
            <span>{{ item }}</span>
          </li>
        </ul>
      </template>
      >
        <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
        <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
        <template #content="{ row}">
          <ul class="expand-wrapper">
            <li  v-for="(item,key,index) in row">
              <span style="font-weight: bold">{{key+':  '}}</span>
              <span>{{ item }}</span>
            </li>
          </ul>
        </template>
      <!--左边固定显示的插槽-->
      <template #button_slot="{ row }">
        <el-button @click="getTableRow(row,'delete')" link type="primary" size="small">{{$t('basicData.delete')}}</el-button>
      </template>
        <!--左边固定显示的插槽-->
        <template #button_slot="{ row }">
          <el-button @click="getTableRow(row,'delete')" link type="primary" size="small">{{$t('basicData.delete')}}</el-button>
        </template>
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input type="type" v-model="option.data"
                   @keyup.enter.native="$panel.confirmFilter()"
                   @input="changeFilterEvent($event, option, $panel)"/>
        <template #num1_filter="{ column, $panel }">
          <div>
            <div v-for="(option, index) in column.filters" :key="index">
              <input type="type" v-model="option.data"
                     @keyup.enter.native="$panel.confirmFilter()"
                     @input="changeFilterEvent($event, option, $panel)"/>
            </div>
          </div>
        </div>
      </template>
        </template>
    </vxe-grid>
      </vxe-grid>
    </div>
  </div>
</template>
@@ -320,5 +322,13 @@
  width: 99%;
  height: 95%;
}
.head{
  width: 100%;
  height: 35px;
}
.main-table{
  width: 100%;
  height: calc(100% - 0px);
}
</style>
north-glass-erp/northglass-erp/src/views/pp/replenish/PrintReplenishFlowCard.vue
@@ -691,99 +691,103 @@
</script>
<template>
  <div class="main-div-customer">
    <el-date-picker
        v-model="form.date1"
        :end-placeholder="$t('basicData.endDate')"
        :start-placeholder="$t('basicData.startDate')"
        format="YYYY/MM/DD"
        type="daterange"
        value-format="YYYY-MM-DD"
  <div  style="width: 100%;height: 100%">
    <div class="head">
      <el-date-picker
          v-model="form.date1"
          :end-placeholder="$t('basicData.endDate')"
          :start-placeholder="$t('basicData.startDate')"
          format="YYYY/MM/DD"
          type="daterange"
          value-format="YYYY-MM-DD"
    />
    <el-button
        id="select"
        :icon="Search"
        type="primary" @click="getWorkOrder">{{ $t('basicData.search') }}
    </el-button>
    &nbsp;&nbsp;
<!--    <el-input clearable :placeholder="$t('processCard.mergePrinting')" v-model="printMerge" style="width: 90px"></el-input>-->
<!--    &nbsp;-->
    <label>{{$t('processCard.labelStyle')}}:</label>
    <el-select v-model="printType" clearable default-value="default_city" :placeholder="$t('processCard.pleaseSelect')" style="width: 120px">
      <el-option
          v-for="item in titleSelectJson['dataType']"
          :key="item.id"
          :label="item.name"
          :value="item.name"
      />
    </el-select>
    &nbsp;
    <el-select v-model="lableType" class="m-2" :placeholder="lableTypeOptions[0].label" style="width: 140px">
      <el-option
          v-for="item in filteredOptions"
          :key="item.value"
          :label="item.label"
          :value="item.value"
      />
    </el-select>
    &nbsp;
    <el-select v-model="stateValue" class="m-2" :placeholder="$t('processCard.pleaseSelect')" clearable allow-create filterable style="width: 140px">
      <el-option
          v-for="item in stateOptions"
          :key="item.value"
          :label="item.label"
          :value="item.value"
      />
    </el-select>
    <vxe-grid
        ref="xGrid"
        class="mytable-scrollbar"
        height="100%"
        v-bind="gridOptions"
        v-on="gridEvents"
      <el-button
          id="select"
          :icon="Search"
          type="primary" @click="getWorkOrder">{{ $t('basicData.search') }}
      </el-button>
      &nbsp;&nbsp;
      <!--    <el-input clearable :placeholder="$t('processCard.mergePrinting')" v-model="printMerge" style="width: 90px"></el-input>-->
      <!--    &nbsp;-->
      <label>{{$t('processCard.labelStyle')}}:</label>
      <el-select v-model="printType" clearable default-value="default_city" :placeholder="$t('processCard.pleaseSelect')" style="width: 120px">
        <el-option
            v-for="item in titleSelectJson['dataType']"
            :key="item.id"
            :label="item.name"
            :value="item.name"
        />
      </el-select>
      &nbsp;
      <el-select v-model="lableType" class="m-2" :placeholder="lableTypeOptions[0].label" style="width: 140px">
        <el-option
            v-for="item in filteredOptions"
            :key="item.value"
            :label="item.label"
            :value="item.value"
        />
      </el-select>
      &nbsp;
      <el-select v-model="stateValue" class="m-2" :placeholder="$t('processCard.pleaseSelect')" clearable allow-create filterable style="width: 140px">
        <el-option
            v-for="item in stateOptions"
            :key="item.value"
            :label="item.label"
            :value="item.value"
        />
      </el-select>
    </div>
    <div class="main-table">
      <vxe-grid
          ref="xGrid"
          class="mytable-scrollbar"
          height="100%"
          v-bind="gridOptions"
          v-on="gridEvents"
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
      <template #content="{ row }">
        <ul class="expand-wrapper">
          <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
            <span style="font-weight: bold">{{ item.title + ':  ' }}</span>
            <span v-if="hasDecimal(item.field)">{{ row[item.field.split('.')[0]][item.field.split('.')[1]] }}</span>
            <span v-else>{{ row[item.field] }}</span>
      >
        <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
        <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
        <template #content="{ row }">
          <ul class="expand-wrapper">
            <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
              <span style="font-weight: bold">{{ item.title + ':  ' }}</span>
              <span v-if="hasDecimal(item.field)">{{ row[item.field.split('.')[0]][item.field.split('.')[1]] }}</span>
              <span v-else>{{ row[item.field] }}</span>
          </li>
        </ul>
      </template>
            </li>
          </ul>
        </template>
      <!--左边固定显示的插槽-->
      <!--      v-if="userStore.user.permissions.indexOf('SelectProductionBasicData.edit') > -1"-->
      <template #button_slot="{ row }">
        <el-button @click="getTableRow(row,'edit')"
                   link
                   type="primary"
                   size="small">
          {{ $t('basicData.edit') }}
        </el-button>
        <!--左边固定显示的插槽-->
        <!--      v-if="userStore.user.permissions.indexOf('SelectProductionBasicData.edit') > -1"-->
        <template #button_slot="{ row }">
          <el-button @click="getTableRow(row,'edit')"
                     link
                     type="primary"
                     size="small">
            {{ $t('basicData.edit') }}
          </el-button>
      </template>
        </template>
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input type="text"
                   v-model="option.data"
                   @keyup.enter.native="$panel.confirmFilter()"
                   @input="changeFilterEvent($event, option, $panel)"/>
        <template #num1_filter="{ column, $panel }">
          <div>
            <div v-for="(option, index) in column.filters" :key="index">
              <input type="text"
                     v-model="option.data"
                     @keyup.enter.native="$panel.confirmFilter()"
                     @input="changeFilterEvent($event, option, $panel)"/>
            </div>
          </div>
        </div>
      </template>
        </template>
    </vxe-grid>
      </vxe-grid>
    </div>
    <el-dialog
        id="sizePrintCalrd"
        v-model="dialogTableVisible"
@@ -849,11 +853,16 @@
</template>
<style scoped>
.main-div-customer {
  width: 99%;
  height: 94%;
.head{
  width: 100%;
  height: 35px;
}
.main-table{
  width: 100%;
  height: calc(100% - 35px);
}
:deep(#sizeCheck .el-dialog__body){
  height: 90%;
north-glass-erp/northglass-erp/src/views/pp/replenish/Replenish.vue
@@ -60,6 +60,5 @@
#main-body{
  width: 99%;
  height: 92%;
  margin-top: 1%;
}
</style>
north-glass-erp/northglass-erp/src/views/pp/replenish/SelectReplenish.vue
@@ -360,8 +360,8 @@
</script>
<template>
  <div class="main-div-customer">
    <el-header height="auto" style="padding: 0;margin:0">
  <div  style="width: 100%;height: 100%">
    <div class="head">
      <el-date-picker
          v-model="selectDate"
          type="daterange"
@@ -372,70 +372,71 @@
      />
      <el-button @click="changeDate" style="margin-top: -5px"  id="searchButton" type="primary" :icon="Search">{{$t('basicData.search')}}</el-button>
    </el-header>
    <vxe-grid
        @filter-change="filterChanged"
        height="100%"
        class="mytable-scrollbar"
        ref="xGrid"
        v-bind="gridOptions"
        v-on="gridEvents"
    </div>
    <div class="main-table">
      <vxe-grid
          @filter-change="filterChanged"
          height="100%"
          class="mytable-scrollbar"
          ref="xGrid"
          v-bind="gridOptions"
          v-on="gridEvents"
    >
      <!--  :checkbox-config="checkBoxConfig"     @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
      <template #content="{ row }">
        <ul class="expand-wrapper">
          <li  v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
            <span style="font-weight: bold">{{item.title+':  '}}</span>
            <span>{{ row[item.field] }}</span>
          </li>
        </ul>
      </template>
      >
        <!--  :checkbox-config="checkBoxConfig"     @toolbar-button-click="toolbarButtonClickEvent"-->
        <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
        <template #content="{ row }">
          <ul class="expand-wrapper">
            <li  v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
              <span style="font-weight: bold">{{item.title+':  '}}</span>
              <span>{{ row[item.field] }}</span>
            </li>
          </ul>
        </template>
      <!--左边固定显示的插槽-->
      <template #button_slot="{ row }">
        <el-button @click="getTableRow(row,'delete')" link type="primary" size="small">{{$t('basicData.delete')}}</el-button>
      </template>
        <!--左边固定显示的插槽-->
        <template #button_slot="{ row }">
          <el-button @click="getTableRow(row,'delete')" link type="primary" size="small">{{$t('basicData.delete')}}</el-button>
        </template>
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input type="type" v-model="option.data"
                   @keyup.enter.native="$panel.confirmFilter()"
                   @input="changeFilterEvent($event, option, $panel)"/>
        <template #num1_filter="{ column, $panel }">
          <div>
            <div v-for="(option, index) in column.filters" :key="index">
              <input type="type" v-model="option.data"
                     @keyup.enter.native="$panel.confirmFilter()"
                     @input="changeFilterEvent($event, option, $panel)"/>
            </div>
          </div>
        </div>
      </template>
        </template>
      <template #state="{ row,column}">
        <el-checkbox
            v-if="row[column.field] === 1"
            @click.native.prevent
            :checked="true"/>
        <el-checkbox
            v-else
            @click.native.prevent
            :checked="false"/>
      </template>
        <template #state="{ row,column}">
          <el-checkbox
              v-if="row[column.field] === 1"
              @click.native.prevent
              :checked="true"/>
          <el-checkbox
              v-else
              @click.native.prevent
              :checked="false"/>
        </template>
      <template #pager>
        <!--使用 pager æ’æ§½-->
        <vxe-pager
            @page-change="handlePageChange"
            :layouts="[  'PrevPage', 'Jump','PageCount', 'NextPage',  'Total']"
            v-model:current-page="pageNum"
            v-model:page-size="total.pageSize"
            v-model:pager-count="total.pageTotal"
            :total="total.dataTotal"
        >
        </vxe-pager>
      </template>
        <template #pager>
          <!--使用 pager æ’æ§½-->
          <vxe-pager
              @page-change="handlePageChange"
              :layouts="[  'PrevPage', 'Jump','PageCount', 'NextPage',  'Total']"
              v-model:current-page="pageNum"
              v-model:page-size="total.pageSize"
              v-model:pager-count="total.pageTotal"
              :total="total.dataTotal"
          >
          </vxe-pager>
        </template>
    </vxe-grid>
      </vxe-grid>
    </div>
  </div>
</template>
@@ -444,7 +445,13 @@
  width: 99%;
  height: 94%;
}
#head{
  width:40%;
.head{
  width: 100%;
  height: 35px;
}
.main-table{
  width: 100%;
  height: calc(100% - 35px);
}
</style>
north-glass-erp/northglass-erp/src/views/pp/report/DamageReport.vue
@@ -281,27 +281,25 @@
</script>
<template>
  <div class="main-div-customer">
    <div id="selectForm">
      <el-row :gutter="0">
  <div  style="width: 100%;height: 100%">
    <div class="head">
        <el-date-picker
            v-model="form.date1"
            :start-placeholder="$t('basicData.startDate')"
            :end-placeholder="$t('basicData.endDate')"
            format="YYYY/MM/DD"
            style="width: 100px"
            type="daterange"
            value-format="YYYY-MM-DD"
        />
        &nbsp;&nbsp;
        <el-button type="primary" @click="getWorkOrder">{{$t('basicData.search')}}</el-button>
      </el-row>
    </div>
    <div class="main-table">
    <vxe-grid
        ref="xGrid"
        class="mytable-scrollbar"
        max-height="100%"
        height="100%"
        v-bind="gridOptions"
        @filter-change="filterChanged"
@@ -350,12 +348,18 @@
    </vxe-grid>
  </div>
  </div>
</template>
<style scoped>
.main-div-customer {
  width: 99%;
  height: 100%;
.head{
  width: 100%;
  height: 35px;
}
.main-table{
  width: 100%;
  height: calc(100% - 35px);
}
#selectForm {
north-glass-erp/northglass-erp/src/views/pp/report/OrderPlanDecomposition.vue
@@ -291,71 +291,70 @@
</script>
<template>
  <div class="main-div-customer">
    <div id="selectForm">
      <el-row :gutter="0">
  <div  style="width: 100%;height: 100%">
    <div class="head">
        <el-date-picker
            v-model="form.date1"
            :start-placeholder="$t('basicData.startDate')"
            :end-placeholder="$t('basicData.endDate')"
            format="YYYY/MM/DD"
            style="width: 100px"
            type="daterange"
            value-format="YYYY-MM-DD"
        />
        &nbsp;&nbsp;
        <el-button type="primary" @click="getWorkOrder">{{$t('basicData.search')}}</el-button>
      </el-row>
    </div>
    <vxe-grid
        ref="xGrid"
        class="mytable-scrollbar"
        max-height="100%"
        v-bind="gridOptions"
    <div class="main-table">
      <vxe-grid
          ref="xGrid"
          class="mytable-scrollbar"
          height="100%"
          v-bind="gridOptions"
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
      <template #content="{ row }">
        <ul class="expand-wrapper">
          <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
            <span style="font-weight: bold">{{ item.title + ':  ' }}</span>
            <span>{{ row[item.field] }}</span>
          </li>
        </ul>
      </template>
      <template #toolbar_buttons>
        <vxe-button style="margin-right: 0.5rem"
                    @click="exportExcel('/report/orderPlanDecomposition',
      >
        <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
        <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
        <template #content="{ row }">
          <ul class="expand-wrapper">
            <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
              <span style="font-weight: bold">{{ item.title + ':  ' }}</span>
              <span>{{ row[item.field] }}</span>
            </li>
          </ul>
        </template>
        <template #toolbar_buttons>
          <vxe-button style="margin-right: 0.5rem"
                      @click="exportExcel('/report/orderPlanDecomposition',
                                          t('report.orderPlanDecomposition'),
                                          form.date1)">
          {{t('basicData.export')}}</vxe-button>
      </template>
            {{t('basicData.export')}}</vxe-button>
        </template>
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input v-model="option.data" type="text"
                   @keyup.enter.native="$panel.confirmFilter()"
                   @input="changeFilterEvent($event, option, $panel)"/>
        <template #num1_filter="{ column, $panel }">
          <div>
            <div v-for="(option, index) in column.filters" :key="index">
              <input v-model="option.data" type="text"
                     @keyup.enter.native="$panel.confirmFilter()"
                     @input="changeFilterEvent($event, option, $panel)"/>
            </div>
          </div>
        </div>
      </template>
        </template>
    </vxe-grid>
      </vxe-grid>
    </div>
  </div>
</template>
<style scoped>
.main-div-customer {
  width: 99%;
  height: 100%;
.head{
  width: 100%;
  height: 35px;
}
#selectForm {
  width: 60%;
  text-align: center;
.main-table{
  width: 100%;
  height: calc(100% - 35px);
}
</style>
north-glass-erp/northglass-erp/src/views/pp/report/ProcessCardProgress.vue
@@ -201,9 +201,8 @@
</script>
<template>
  <div class="main-div-customer" >
    <div id="selectForm">
      <el-row :gutter="0">
  <div  style="width: 100%;height: 100%">
    <div class="head">
        <el-input
            v-model="form.orderId"
            clearable
@@ -218,57 +217,59 @@
            type="primary" :icon="Search">{{$t('basicData.search')}}
        </el-button>
      </el-row>
    </div>
    <vxe-grid
       height="100%"
        class="mytable-scrollbar"
        ref="xGrid"
        v-bind="gridOptions"
        :merge-cells="mergeCells"
    <div class="main-table">
      <vxe-grid
          height="100%"
          class="mytable-scrollbar"
          ref="xGrid"
          v-bind="gridOptions"
          :merge-cells="mergeCells"
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
      <template #content="{ row }">
        <ul class="expand-wrapper">
          <li  v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
            <span style="font-weight: bold">{{item.title+':  '}}</span>
            <span>{{ row[item.field] }}</span>
          </li>
        </ul>
      </template>
      >
        <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
        <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
        <template #content="{ row }">
          <ul class="expand-wrapper">
            <li  v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
              <span style="font-weight: bold">{{item.title+':  '}}</span>
              <span>{{ row[item.field] }}</span>
            </li>
          </ul>
        </template>
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input v-model="option.data"
                   type="text"
                   @keyup.enter.native="$panel.confirmFilter()"
                   @input="changeFilterEvent($event, option, $panel)"/>
        <template #num1_filter="{ column, $panel }">
          <div>
            <div v-for="(option, index) in column.filters" :key="index">
              <input v-model="option.data"
                     type="text"
                     @keyup.enter.native="$panel.confirmFilter()"
                     @input="changeFilterEvent($event, option, $panel)"/>
            </div>
          </div>
        </div>
      </template>
        </template>
      <template #quantitySum="{ row,column }">
        <span>{{ quantitySum(row,column) }} </span>
      </template>
        <template #quantitySum="{ row,column }">
          <span>{{ quantitySum(row,column) }} </span>
        </template>
    </vxe-grid>
      </vxe-grid>
    </div>
  </div>
</template>
<style scoped>
.main-div-customer{
  width: 99%;
  height: 90%;
.head{
  width: 100%;
  height: 35px;
}
#selectForm {
  width: 60%;
  text-align: center;
.main-table{
  width: 100%;
  height: calc(100% - 35px);
}
</style>
north-glass-erp/northglass-erp/src/views/pp/report/ProcessToBeCompleted.vue
@@ -360,9 +360,8 @@
</script>
<template>
  <div class="main-div-customer">
    <div id="selectForm">
      <el-row :gutter="0">
  <div  style="width: 100%;height: 100%">
    <div class="head">
        <!--        <el-input placeholder="销售单号" v-model="form.name" style="width: 150px"/>-->
        <!--        <el-input placeholder="项目名称" v-model="form.name" style="width: 150px"/>-->
@@ -371,7 +370,6 @@
            :start-placeholder="$t('basicData.startDate')"
            :end-placeholder="$t('basicData.endDate')"
            format="YYYY/MM/DD"
            style="width: 100px"
            type="daterange"
            value-format="YYYY-MM-DD"
        />
@@ -389,65 +387,66 @@
          />
        </el-select>
        <el-button type="primary" @click="getWorkOrder">{{$t('basicData.search')}}</el-button>
      </el-row>
    </div>
    <vxe-grid
        ref="xGrid"
        class="mytable-scrollbar"
        max-height="100%"
        v-bind="gridOptions"
    <div class="main-table">
      <vxe-grid
          ref="xGrid"
          class="mytable-scrollbar"
          height="100%"
          v-bind="gridOptions"
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
      <template #content="{ row }">
        <ul class="expand-wrapper">
          <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
            <span style="font-weight: bold">{{ item.title + ':  ' }}</span>
            <span>{{ row[item.field] }}</span>
          </li>
        </ul>
      </template>
      >
        <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
        <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
        <template #content="{ row }">
          <ul class="expand-wrapper">
            <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
              <span style="font-weight: bold">{{ item.title + ':  ' }}</span>
              <span>{{ row[item.field] }}</span>
            </li>
          </ul>
        </template>
      <!--左边固定显示的插槽-->
      <template #button_slot="{ row }">
        <el-button link size="small" type="primary" @click="getTableRow(row,'edit')">{{$t('basicData.edit')}}</el-button>
        <el-button link size="small" type="primary" @click="getTableRow(row,'setType')">{{$t('basicData.cancelReview')}}</el-button>
        <el-button link size="small" type="primary" @click="getTableRow(row,'delete')">{{$t('basicData.delete')}}</el-button>
      </template>
        <!--左边固定显示的插槽-->
        <template #button_slot="{ row }">
          <el-button link size="small" type="primary" @click="getTableRow(row,'edit')">{{$t('basicData.edit')}}</el-button>
          <el-button link size="small" type="primary" @click="getTableRow(row,'setType')">{{$t('basicData.cancelReview')}}</el-button>
          <el-button link size="small" type="primary" @click="getTableRow(row,'delete')">{{$t('basicData.delete')}}</el-button>
        </template>
      <template #toolbar_buttons>
        <vxe-button style="margin-right: 0.5rem"
                    @click="exportExcel('/report/exportProcessToBeCompleted',
        <template #toolbar_buttons>
          <vxe-button style="margin-right: 0.5rem"
                      @click="exportExcel('/report/exportProcessToBeCompleted',
                                          t('report.processToBeCompleted'),
                                          form.date1)">
          {{t('basicData.export')}}</vxe-button>
      </template>
            {{t('basicData.export')}}</vxe-button>
        </template>
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input v-model="option.data" type="type"
                   @keyup.enter.native="$panel.confirmFilter()"
                   @input="changeFilterEvent($event, option, $panel)"/>
        <template #num1_filter="{ column, $panel }">
          <div>
            <div v-for="(option, index) in column.filters" :key="index">
              <input v-model="option.data" type="type"
                     @keyup.enter.native="$panel.confirmFilter()"
                     @input="changeFilterEvent($event, option, $panel)"/>
            </div>
          </div>
        </div>
      </template>
        </template>
    </vxe-grid>
      </vxe-grid>
    </div>
  </div>
</template>
<style scoped>
.main-div-customer {
  width: 99%;
  height: 93%;
.head{
  width: 100%;
  height: 35px;
}
#selectForm {
  width: 60%;
  text-align: center;
.main-table{
  width: 100%;
  height: calc(100% - 35px);
}
</style>
north-glass-erp/northglass-erp/src/views/pp/report/ProductionSchedule.vue
@@ -182,15 +182,14 @@
</script>
<template>
  <div class="main-div-customer" >
    <div id="selectForm">
      <el-row :gutter="0">
  <div  style="width: 100%;height: 100%">
    <div class="head">
        <el-input
            v-model="form.orderId"
            clearable
            :disabled="props.orderId"
            :placeholder="$t('order.orderId')"
            style="width: 130px"></el-input>
            style="width: 140px"
            :placeholder="$t('order.orderId')"></el-input>
        &nbsp;&nbsp;
        <el-button
            :disabled="props.orderId"
@@ -199,57 +198,59 @@
            type="primary" :icon="Search">{{$t('basicData.search')}}
        </el-button>
      </el-row>
    </div>
    <vxe-grid
        height="100%"
        @filter-change="filterChanged"
        class="mytable-scrollbar"
        ref="xGrid"
        v-bind="gridOptions"
        :merge-cells="mergeCells"
    <div class="main-table">
      <vxe-grid
          height="100%"
          @filter-change="filterChanged"
          class="mytable-scrollbar"
          ref="xGrid"
          v-bind="gridOptions"
          :merge-cells="mergeCells"
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
      <template #content="{ row }">
        <ul class="expand-wrapper">
          <li  v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
            <span style="font-weight: bold">{{item.title+':  '}}</span>
            <span>{{ row[item.field] }}</span>
          </li>
        </ul>
      </template>
      >
        <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
        <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
        <template #content="{ row }">
          <ul class="expand-wrapper">
            <li  v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
              <span style="font-weight: bold">{{item.title+':  '}}</span>
              <span>{{ row[item.field] }}</span>
            </li>
          </ul>
        </template>
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input v-model="option.data"
                   type="text"
                   @keyup.enter.native="$panel.confirmFilter()"
                   @input="changeFilterEvent($event, option, $panel)"/>
        <template #num1_filter="{ column, $panel }">
          <div>
            <div v-for="(option, index) in column.filters" :key="index">
              <input v-model="option.data"
                     type="text"
                     @keyup.enter.native="$panel.confirmFilter()"
                     @input="changeFilterEvent($event, option, $panel)"/>
            </div>
          </div>
        </div>
      </template>
        </template>
      <template #quantitySum="{ row,column }">
        <span>{{ quantitySum(row,column) }} </span>
      </template>
        <template #quantitySum="{ row,column }">
          <span>{{ quantitySum(row,column) }} </span>
        </template>
    </vxe-grid>
      </vxe-grid>
    </div>
  </div>
</template>
<style scoped>
.main-div-customer{
  width: 99%;
  height: 95%;
.head{
  width: 100%;
  height: 35px;
}
#selectForm {
  width: 60%;
  text-align: center;
.main-table{
  width: 100%;
  height: calc(100% - 35px);
}
</style>
north-glass-erp/northglass-erp/src/views/pp/report/QualityReport.vue
@@ -288,72 +288,71 @@
</script>
<template>
  <div class="main-div-customer">
    <div id="selectForm">
      <el-row :gutter="0">
  <div  style="width: 100%;height: 100%">
    <div class="head">
        <el-date-picker
            v-model="form.date1"
            :start-placeholder="$t('basicData.startDate')"
            :end-placeholder="$t('basicData.endDate')"
            format="YYYY/MM/DD"
            style="width: 100px"
            type="daterange"
            value-format="YYYY-MM-DD"
        />
        &nbsp;&nbsp;
        <el-button type="primary" @click="getWorkOrder">{{$t('basicData.search')}}</el-button>
      </el-row>
    </div>
    <vxe-grid
        ref="xGrid"
        class="mytable-scrollbar"
        max-height="100%"
        v-bind="gridOptions"
    <div class="main-table">
      <vxe-grid
          ref="xGrid"
          class="mytable-scrollbar"
          height="100%"
          v-bind="gridOptions"
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
      <template #content="{ row }">
        <ul class="expand-wrapper">
          <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
            <span style="font-weight: bold">{{ item.title + ':  ' }}</span>
            <span>{{ row[item.field] }}</span>
          </li>
        </ul>
      </template>
      >
        <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
        <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
        <template #content="{ row }">
          <ul class="expand-wrapper">
            <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
              <span style="font-weight: bold">{{ item.title + ':  ' }}</span>
              <span>{{ row[item.field] }}</span>
            </li>
          </ul>
        </template>
      <template #toolbar_buttons>
        <vxe-button style="margin-right: 0.5rem"
                    @click="exportExcel('/report/exportQualityReport',
        <template #toolbar_buttons>
          <vxe-button style="margin-right: 0.5rem"
                      @click="exportExcel('/report/exportQualityReport',
                                          t('report.qualityReport'),
                                          form.date1)">
          {{t('basicData.export')}}</vxe-button>
      </template>
            {{t('basicData.export')}}</vxe-button>
        </template>
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input v-model="option.data" type="text"
                   @keyup.enter.native="$panel.confirmFilter()"
                   @input="changeFilterEvent($event, option, $panel)"/>
        <template #num1_filter="{ column, $panel }">
          <div>
            <div v-for="(option, index) in column.filters" :key="index">
              <input v-model="option.data" type="text"
                     @keyup.enter.native="$panel.confirmFilter()"
                     @input="changeFilterEvent($event, option, $panel)"/>
            </div>
          </div>
        </div>
      </template>
        </template>
    </vxe-grid>
      </vxe-grid>
    </div>
  </div>
</template>
<style scoped>
.main-div-customer {
  width: 99%;
  height: 100%;
.head{
  width: 100%;
  height: 35px;
}
#selectForm {
  width: 60%;
  text-align: center;
.main-table{
  width: 100%;
  height: calc(100% - 35px);
}
</style>
north-glass-erp/northglass-erp/src/views/pp/report/RawMaterialRequisition.vue
@@ -269,72 +269,71 @@
</script>
<template>
  <div class="main-div-customer">
    <div id="selectForm">
      <el-row :gutter="0">
  <div  style="width: 100%;height: 100%">
    <div class="head">
        <el-date-picker
            v-model="form.date1"
            :start-placeholder="$t('basicData.startDate')"
            :end-placeholder="$t('basicData.endDate')"
            format="YYYY/MM/DD"
            style="width: 100px"
            type="daterange"
            value-format="YYYY-MM-DD"
        />
        &nbsp;&nbsp;
        <el-button type="primary" @click="getWorkOrder">{{$t('basicData.search')}}</el-button>
      </el-row>
    </div>
    <vxe-grid
        ref="xGrid"
        class="mytable-scrollbar"
        max-height="100%"
        v-bind="gridOptions"
    <div class="main-table">
      <vxe-grid
          ref="xGrid"
          class="mytable-scrollbar"
          height="100%"
          v-bind="gridOptions"
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
      <template #content="{ row }">
        <ul class="expand-wrapper">
          <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
            <span style="font-weight: bold">{{ item.title + ':  ' }}</span>
            <span>{{ row[item.field] }}</span>
          </li>
        </ul>
      </template>
      >
        <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
        <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
        <template #content="{ row }">
          <ul class="expand-wrapper">
            <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
              <span style="font-weight: bold">{{ item.title + ':  ' }}</span>
              <span>{{ row[item.field] }}</span>
            </li>
          </ul>
        </template>
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input v-model="option.data" type="text"
                   @keyup.enter.native="$panel.confirmFilter()"
                   @input="changeFilterEvent($event, option, $panel)"/>
        <template #num1_filter="{ column, $panel }">
          <div>
            <div v-for="(option, index) in column.filters" :key="index">
              <input v-model="option.data" type="text"
                     @keyup.enter.native="$panel.confirmFilter()"
                     @input="changeFilterEvent($event, option, $panel)"/>
            </div>
          </div>
        </div>
      </template>
        </template>
      <template #toolbar_buttons>
        <vxe-button style="margin-right: 0.5rem"
                    @click="exportExcel('/report/exportRawMaterialRequisition',
        <template #toolbar_buttons>
          <vxe-button style="margin-right: 0.5rem"
                      @click="exportExcel('/report/exportRawMaterialRequisition',
                                          t('report.rawMaterialRequisition'),
                                          form.date1)">
          {{t('basicData.export')}}</vxe-button>
      </template>
            {{t('basicData.export')}}</vxe-button>
        </template>
    </vxe-grid>
      </vxe-grid>
    </div>
  </div>
</template>
<style scoped>
.main-div-customer {
  width: 99%;
  height: 100%;
.head{
  width: 100%;
  height: 35px;
}
#selectForm {
  width: 60%;
  text-align: center;
.main-table{
  width: 100%;
  height: calc(100% - 35px);
}
</style>
north-glass-erp/northglass-erp/src/views/pp/report/ScheduleProductionSchedule.vue
@@ -284,15 +284,13 @@
</script>
<template>
  <div class="main-div-customer">
    <div id="selectForm">
      <el-row :gutter="0">
  <div  style="width: 100%;height: 100%">
    <div class="head">
        <el-date-picker
            v-model="form.date1"
            :end-placeholder="$t('basicData.endDate')"
            :start-placeholder="$t('basicData.startDate')"
            format="YYYY/MM/DD"
            style="width: 100px"
            type="daterange"
            value-format="YYYY-MM-DD"
        />
@@ -307,72 +305,73 @@
        </el-select>
        &nbsp;&nbsp;
        <el-button type="primary" @click="getWorkOrder">{{ $t('basicData.search') }}</el-button>
      </el-row>
    </div>
    <vxe-grid
        ref="xGrid"
        class="mytable-scrollbar"
        max-height="100%"
        v-bind="gridOptions"
        @filter-change="filterChanged"
    <div class="main-table">
      <vxe-grid
          ref="xGrid"
          class="mytable-scrollbar"
          height="100%"
          v-bind="gridOptions"
          @filter-change="filterChanged"
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
      <template #content="{ row }">
        <ul class="expand-wrapper">
          <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
            <span style="font-weight: bold">{{ item.title + ':  ' }}</span>
            <span>{{ row[item.field] }}</span>
          </li>
        </ul>
      </template>
      >
        <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
        <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
        <template #content="{ row }">
          <ul class="expand-wrapper">
            <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
              <span style="font-weight: bold">{{ item.title + ':  ' }}</span>
              <span>{{ row[item.field] }}</span>
            </li>
          </ul>
        </template>
      <template #toolbar_buttons>
        <vxe-button style="margin-right: 0.5rem"
                    @click="exportExcel('/report/exportScheduleReport',
        <template #toolbar_buttons>
          <vxe-button style="margin-right: 0.5rem"
                      @click="exportExcel('/report/exportScheduleReport',
                                          t('report.productionScheduling'),
                                          form)">
          {{ t('basicData.export') }}
        </vxe-button>
      </template>
            {{ t('basicData.export') }}
          </vxe-button>
        </template>
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input v-model="option.data" type="text"
                   @keyup.enter.native="$panel.confirmFilter()"
                   @input="changeFilterEvent($event, option, $panel)"/>
        <template #num1_filter="{ column, $panel }">
          <div>
            <div v-for="(option, index) in column.filters" :key="index">
              <input v-model="option.data" type="text"
                     @keyup.enter.native="$panel.confirmFilter()"
                     @input="changeFilterEvent($event, option, $panel)"/>
            </div>
          </div>
        </div>
      </template>
      <template #pager>
        <!--使用 pager æ’æ§½-->
        <!--        'PrevJump','NextJump', -->
        <vxe-pager
            v-model:current-page="pageNum"
            v-model:page-size="total.pageSize"
            v-model:pager-count="total.pageTotal"
            :layouts="[  'PrevPage', 'Jump','PageCount', 'NextPage',  'Total']"
            :total="total.dataTotal"
            @page-change="handlePageChange"
        >
        </vxe-pager>
      </template>
        </template>
        <template #pager>
          <!--使用 pager æ’æ§½-->
          <!--        'PrevJump','NextJump', -->
          <vxe-pager
              v-model:current-page="pageNum"
              v-model:page-size="total.pageSize"
              v-model:pager-count="total.pageTotal"
              :layouts="[  'PrevPage', 'Jump','PageCount', 'NextPage',  'Total']"
              :total="total.dataTotal"
              @page-change="handlePageChange"
          >
          </vxe-pager>
        </template>
    </vxe-grid>
      </vxe-grid>
    </div>
  </div>
</template>
<style scoped>
.main-div-customer {
  width: 99%;
  height: 100%;
.head{
  width: 100%;
  height: 35px;
}
#selectForm {
  width: 60%;
  text-align: center;
.main-table{
  width: 100%;
  height: calc(100% - 35px);
}
</style>
north-glass-erp/northglass-erp/src/views/pp/report/SplittingDetailsOutside.vue
@@ -253,60 +253,60 @@
</script>
<template>
  <div class="main-div-customer">
    <div id="selectForm">
      <el-row :gutter="0">
  <div  style="width: 100%;height: 100%">
    <div class="head">
        <el-input v-model="form.orderId" :placeholder="$t('order.orderId')" clearable style="width: 130px"></el-input>
        <el-input v-model="form.orderId" :placeholder="$t('order.orderId')" clearable style="width: 140px"></el-input>
        &nbsp;&nbsp;
        <el-button type="primary" @click="getWorkOrder">{{$t('basicData.search')}}</el-button>
      </el-row>
    </div>
    <vxe-grid
        ref="xGrid"
        class="mytable-scrollbar"
        max-height="100%"
        v-bind="gridOptions"
    <div class="main-table">
      <vxe-grid
          ref="xGrid"
          class="mytable-scrollbar"
          height="100%"
          v-bind="gridOptions"
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
      <template #content="{ row }">
        <ul class="expand-wrapper">
          <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
            <span style="font-weight: bold">{{ item.title + ':  ' }}</span>
            <span>{{ row[item.field] }}</span>
          </li>
        </ul>
      </template>
      >
        <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
        <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
        <template #content="{ row }">
          <ul class="expand-wrapper">
            <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
              <span style="font-weight: bold">{{ item.title + ':  ' }}</span>
              <span>{{ row[item.field] }}</span>
            </li>
          </ul>
        </template>
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input v-model="option.data" type="text"
                   @keyup.enter.native="$panel.confirmFilter()"
                   @input="changeFilterEvent($event, option, $panel)"/>
        <template #num1_filter="{ column, $panel }">
          <div>
            <div v-for="(option, index) in column.filters" :key="index">
              <input v-model="option.data" type="text"
                     @keyup.enter.native="$panel.confirmFilter()"
                     @input="changeFilterEvent($event, option, $panel)"/>
            </div>
          </div>
        </div>
      </template>
        </template>
    </vxe-grid>
      </vxe-grid>
    </div>
  </div>
</template>
<style scoped>
.main-div-customer {
  width: 99%;
  height: 100%;
.head{
  width: 100%;
  height: 35px;
}
#selectForm {
  width: 60%;
  text-align: center;
.main-table{
  width: 100%;
  height: calc(100% - 35px);
}
</style>
north-glass-erp/northglass-erp/src/views/pp/report/TaskCompletionStatus.vue
@@ -213,25 +213,25 @@
</script>
<template>
  <div class="main-div-customer" >
    <div id="selectForm">
      <el-row :gutter="0">
        <el-input
            v-model="form.orderId"
            clearable
            :disabled="props.orderId"
            :placeholder="$t('order.orderId')"
            style="width: 130px"></el-input>
  <div  style="width: 100%;height: 100%">
    <div class="head">
        <el-date-picker
            v-model="time.date1"
            :start-placeholder="$t('basicData.startDate')"
            :end-placeholder="$t('basicData.endDate')"
            format="YYYY/MM/DD"
            style="width: 100px"
            type="daterange"
            value-format="YYYY-MM-DD"
        />
        &nbsp;&nbsp;
      <el-input
          v-model="form.orderId"
          clearable
          :disabled="props.orderId"
          :placeholder="$t('order.orderId')"
          style="width: 130px"></el-input>&nbsp;
        <el-button
            :disabled="props.orderId"
            @click="getWorkOrder"
@@ -239,62 +239,64 @@
            type="primary" :icon="Search">{{$t('basicData.search')}}
        </el-button>
      </el-row>
    </div>
    <vxe-grid
        height="400px"
        @filter-change="filterChanged"
        class="mytable-scrollbar"
        ref="xGrid"
        v-bind="gridOptions"
        :merge-cells="mergeCells"
    <div class="main-table">
      <vxe-grid
          height="100%"
          @filter-change="filterChanged"
          class="mytable-scrollbar"
          ref="xGrid"
          v-bind="gridOptions"
          :merge-cells="mergeCells"
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
      <template #content="{ row }">
        <ul class="expand-wrapper">
          <li  v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
            <span style="font-weight: bold">{{item.title+':  '}}</span>
            <span>{{ row[item.field] }}</span>
          </li>
        </ul>
      </template>
      >
        <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
        <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
        <template #content="{ row }">
          <ul class="expand-wrapper">
            <li  v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
              <span style="font-weight: bold">{{item.title+':  '}}</span>
              <span>{{ row[item.field] }}</span>
            </li>
          </ul>
        </template>
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input type="text" v-model="option.data"
                   @keyup.enter.native="$panel.confirmFilter()"
                   @input="changeFilterEvent($event, option, $panel)"/>
        <template #num1_filter="{ column, $panel }">
          <div>
            <div v-for="(option, index) in column.filters" :key="index">
              <input type="text" v-model="option.data"
                     @keyup.enter.native="$panel.confirmFilter()"
                     @input="changeFilterEvent($event, option, $panel)"/>
            </div>
          </div>
        </div>
      </template>
        </template>
      <template #quantitySum="{ row,column }">
        <span>{{ quantitySum(row,column) }} </span>
      </template>
      <template #toolbar_buttons>
        <vxe-button style="margin-right: 0.5rem"
                    @click="exportExcel('/report/exportTaskCompletionStatus',
        <template #quantitySum="{ row,column }">
          <span>{{ quantitySum(row,column) }} </span>
        </template>
        <template #toolbar_buttons>
          <vxe-button style="margin-right: 0.5rem"
                      @click="exportExcel('/report/exportTaskCompletionStatus',
                                          t('report.TaskCompletionStatus'),
                                          time.date1)">
          {{t('basicData.export')}}</vxe-button>
      </template>
            {{t('basicData.export')}}</vxe-button>
        </template>
    </vxe-grid>
      </vxe-grid>
    </div>
  </div>
</template>
<style scoped>
.main-div-customer{
  width: 99%;
  height: 100%;
.head{
  width: 100%;
  height: 35px;
}
#selectForm {
  width: 60%;
  text-align: center;
.main-table{
  width: 100%;
  height: calc(100% - 35px);
}
</style>
north-glass-erp/northglass-erp/src/views/pp/report/TeamOutput.vue
@@ -334,9 +334,8 @@
</script>
<template>
  <div class="main-div-customer">
    <div id="selectForm">
      <el-row :gutter="0">
  <div  style="width: 100%;height: 100%">
    <div class="head">
        <!--        <el-input placeholder="销售单号" v-model="form.name" style="width: 150px"/>-->
        <!--        <el-input placeholder="项目名称" v-model="form.name" style="width: 150px"/>-->
@@ -359,70 +358,72 @@
          />
        </el-select>
        <el-button type="primary" @click="getWorkOrder">{{$t('basicData.search')}}</el-button>
      </el-row>
    </div>
    <vxe-grid
        ref="xGrid"
        class="mytable-scrollbar"
        height="100%"
        v-bind="gridOptions"
        @filter-change="filterChanged"
    <div class="main-table">
      <vxe-grid
          ref="xGrid"
          class="mytable-scrollbar"
          height="100%"
          v-bind="gridOptions"
          @filter-change="filterChanged"
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
      <template #content="{ row }">
        <ul class="expand-wrapper">
          <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
            <span style="font-weight: bold">{{ item.title + ':  ' }}</span>
            <span>{{ row[item.field] }}</span>
          </li>
        </ul>
      </template>
      >
        <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
        <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
        <template #content="{ row }">
          <ul class="expand-wrapper">
            <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
              <span style="font-weight: bold">{{ item.title + ':  ' }}</span>
              <span>{{ row[item.field] }}</span>
            </li>
          </ul>
        </template>
      <template #pager>
        <!--使用 pager æ’æ§½-->
        <!--        'PrevJump','NextJump', -->
        <vxe-pager
            v-model:current-page="pageNum"
            v-model:page-size="total.pageSize"
            v-model:pager-count="total.pageTotal"
            :layouts="[  'PrevPage', 'Jump','PageCount', 'NextPage',  'Total']"
            :total="total.dataTotal"
            @page-change="handlePageChange"
        >
        </vxe-pager>
      </template>
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input v-model="option.data" type="text"
                   @keyup.enter.native="$panel.confirmFilter()"
                   @input="changeFilterEvent($event, option, $panel)"/>
        <template #pager>
          <!--使用 pager æ’æ§½-->
          <!--        'PrevJump','NextJump', -->
          <vxe-pager
              v-model:current-page="pageNum"
              v-model:page-size="total.pageSize"
              v-model:pager-count="total.pageTotal"
              :layouts="[  'PrevPage', 'Jump','PageCount', 'NextPage',  'Total']"
              :total="total.dataTotal"
              @page-change="handlePageChange"
          >
          </vxe-pager>
        </template>
        <template #num1_filter="{ column, $panel }">
          <div>
            <div v-for="(option, index) in column.filters" :key="index">
              <input v-model="option.data" type="text"
                     @keyup.enter.native="$panel.confirmFilter()"
                     @input="changeFilterEvent($event, option, $panel)"/>
            </div>
          </div>
        </div>
      </template>
      <template #toolbar_buttons>
        <vxe-button style="margin-right: 0.5rem"
                    @click="exportExcel('/report/exportTeamOutput',
        </template>
        <template #toolbar_buttons>
          <vxe-button style="margin-right: 0.5rem"
                      @click="exportExcel('/report/exportTeamOutput',
                                          t('report.teamOutput'),
                                          form.date1)">
          {{t('basicData.export')}}</vxe-button>
      </template>
            {{t('basicData.export')}}</vxe-button>
        </template>
    </vxe-grid>
      </vxe-grid>
    </div>
  </div>
</template>
<style scoped>
.main-div-customer {
  width: 99%;
  height: 90%;
.head{
  width: 100%;
  height: 35px;
}
#selectForm {
  width: 60%;
  text-align: center;
.main-table{
  width: 100%;
  height: calc(100% - 35px);
}
</style>
north-glass-erp/northglass-erp/src/views/pp/report/WorkInProgress.vue
@@ -310,6 +310,8 @@
    {field: 'stockArea', width: 120, title: t('report.inventoryArea'),visible: true},
    {field: 'productName', width: 120, title:  t('order.product'),visible: true},
    {field: 'bendRadius', width: 120, title: t('order.bendRadius'),visible: true},
    {field: 'teamsGroupsName', width: 110,title: '上工序报工',showOverflow:"ellipsis",filters: [{data: ''}],
      slots: {filter: 'num1_filter'}},
  ],//表头按钮
  toolbarConfig: {
@@ -420,9 +422,8 @@
</script>
<template>
  <div class="main-div-customer">
    <div id="selectForm">
      <el-row :gutter="0">
  <div  style="width: 100%;height: 100%">
    <div class="head">
        <el-input v-model="form.orderId" :placeholder="$t('order.orderId')" clearable style="width: 130px"></el-input>
        &nbsp;&nbsp;
@@ -446,10 +447,8 @@
          />
        </el-select>
        <el-button type="primary" @click="getWorkOrder">{{$t('basicData.search')}}</el-button>
      </el-row>
    </div>
    <div style="height: 100%">
    <div class="main-table">
      <vxe-grid
          ref="xGrid"
          class="mytable-scrollbar"
@@ -513,13 +512,13 @@
</template>
<style scoped>
.main-div-customer {
  width: 99%;
  height: 90%;
.head{
  width: 100%;
  height: 35px;
}
#selectForm {
  width: 60%;
  text-align: center;
.main-table{
  width: 100%;
  height: calc(100% - 35px);
}
</style>
north-glass-erp/northglass-erp/src/views/pp/report/Yield.vue
@@ -327,15 +327,13 @@
</script>
<template>
  <div class="main-div-customer">
    <div id="selectForm">
      <el-row :gutter="0">
  <div  style="width: 100%;height: 100%">
    <div class="head">
        <el-date-picker
            v-model="form.date1"
            :start-placeholder="$t('basicData.startDate')"
            :end-placeholder="$t('basicData.endDate')"
            format="YYYY/MM/DD"
            style="width: 100px"
            type="daterange"
            value-format="YYYY-MM-DD"
        />
@@ -349,58 +347,59 @@
          />
        </el-select>
        <el-button type="primary" @click="getWorkOrder">{{$t('basicData.search')}}</el-button>
      </el-row>
    </div>
    <vxe-grid
        ref="xGrid"
        class="mytable-scrollbar"
        max-height="100%"
        v-bind="gridOptions"
    <div class="main-table">
      <vxe-grid
          ref="xGrid"
          class="mytable-scrollbar"
          height="100%"
          v-bind="gridOptions"
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
      <template #content="{ row }">
        <ul class="expand-wrapper">
          <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
            <span style="font-weight: bold">{{ item.title + ':  ' }}</span>
            <span>{{ row[item.field] }}</span>
          </li>
        </ul>
      </template>
      >
        <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
        <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
        <template #content="{ row }">
          <ul class="expand-wrapper">
            <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
              <span style="font-weight: bold">{{ item.title + ':  ' }}</span>
              <span>{{ row[item.field] }}</span>
            </li>
          </ul>
        </template>
      <template #toolbar_buttons>
        <vxe-button style="margin-right: 0.5rem"
                    @click="exportExcel('/report/exportYield',
        <template #toolbar_buttons>
          <vxe-button style="margin-right: 0.5rem"
                      @click="exportExcel('/report/exportYield',
                                          t('report.yieldReport'),
                                          form.date1)">
          {{t('basicData.export')}}</vxe-button>
      </template>
            {{t('basicData.export')}}</vxe-button>
        </template>
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input v-model="option.data" type="text"
                   @keyup.enter.native="$panel.confirmFilter()"
                   @input="changeFilterEvent($event, option, $panel)"/>
        <template #num1_filter="{ column, $panel }">
          <div>
            <div v-for="(option, index) in column.filters" :key="index">
              <input v-model="option.data" type="text"
                     @keyup.enter.native="$panel.confirmFilter()"
                     @input="changeFilterEvent($event, option, $panel)"/>
            </div>
          </div>
        </div>
      </template>
        </template>
    </vxe-grid>
      </vxe-grid>
    </div>
  </div>
</template>
<style scoped>
.main-div-customer {
  width: 99%;
  height: 95%;
.head{
  width: 100%;
  height: 35px;
}
#selectForm {
  width: 60%;
  text-align: center;
.main-table{
  width: 100%;
  height: calc(100% - 35px);
}
</style>
north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue
@@ -1317,8 +1317,8 @@
</script>
<template>
  <div style="height: 100%;width: 100%">
    <div id="head" style="height: 5%;width: 100%;margin-bottom: 5px">
  <div  style="width: 100%;height: 100%">
    <div class="head">
      <el-input :disabled="inputDisabled" v-if="titleUploadData.reportingWorkId" v-model="titleUploadData.reportingWorkId" :placeholder="$t('reportingWorks.reportingWorkId')" style="width: 200px" />
      <el-input :disabled="inputDisabled" v-model="titleUploadData.processId" :placeholder="$t('processCard.processId')" style="width: 200px" @keyup.enter.native="getWork();getQuantity()"/>
      &nbsp;
@@ -1342,7 +1342,7 @@
      &nbsp;
      <label>{{technologicalProcess}}</label>
    </div>
    <div style="background-color: white;margin-bottom: 5px;height: 17%;width: 100%">
    <div class="head1">
      <el-row>
        <el-col :span="2">
          <el-text>{{$t('order.orderId')}}:</el-text>
@@ -1478,12 +1478,11 @@
      </el-row>
    </div>
    <div class="main-div-customer" style="width: 100%;height: 70%">
    <div class="main-table">
      <vxe-grid
          ref="xGrid"
          class="mytable-scrollbar"
          :row-class-name="changeRowClass"
          max-height="100%"
          height="100%"
          size="small"
          v-bind="gridOptions"
@@ -1507,6 +1506,7 @@
      </vxe-grid>
    </div>
      <el-dialog
          @opened="openedBrokenTable"
          :before-close="checkClose"
@@ -1610,12 +1610,24 @@
        </vxe-grid>
      </el-dialog>
    </div>
  </div>
</template>
<style scoped>
.head{
  width: 100%;
  height: 35px;
}
.head1{
  width: 100%;
  height: 105px;
  background-color: white;
}
.main-table{
  width: 100%;
  height: calc(100% - 135px);
}
.processCard {
  width: 140px;
north-glass-erp/northglass-erp/src/views/pp/reportingWorks/QualityInspectionReview.vue
@@ -341,9 +341,8 @@
</script>
<template>
  <div class="main-div-customer">
    <div id="selectForm">
      <el-row :gutter="0">
  <div  style="width: 100%;height: 100%">
    <div class="head">
        <el-date-picker
            v-model="form.date1"
            type="daterange"
@@ -373,78 +372,81 @@
            type="primary" :icon="Search">{{$t('basicData.search')}}
        </el-button>
      </el-row>
    </div>
    <vxe-grid
        height="100%"
        @filter-change="filterChanged"
        class="mytable-scrollbar"
        ref="xGrid"
        v-bind="gridOptions"
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
      <template #content="{ row }">
        <ul class="expand-wrapper">
          <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
            <span style="font-weight: bold">{{ item.title + ':  ' }}</span>
            <span v-if="hasDecimal(item.field)">{{ row[item.field.split('.')[0]][item.field.split('.')[1]] }}</span>
            <span v-else>{{ row[item.field] }}</span>
    <div class="main-table">
      <vxe-grid
          height="100%"
          @filter-change="filterChanged"
          class="mytable-scrollbar"
          ref="xGrid"
          v-bind="gridOptions"
          </li>
        </ul>
      </template>
      >
        <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
        <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
        <template #content="{ row }">
          <ul class="expand-wrapper">
            <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
              <span style="font-weight: bold">{{ item.title + ':  ' }}</span>
              <span v-if="hasDecimal(item.field)">{{ row[item.field.split('.')[0]][item.field.split('.')[1]] }}</span>
              <span v-else>{{ row[item.field] }}</span>
      <!--左边固定显示的插槽-->
      <template #button_slot="{ row }">
<!--        <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">编辑</el-button>-->
        <el-button @click="getTableRow(row,'edit')"
                   v-if="userStore.user.permissions.indexOf('qualityInspectionReview.edit') > -1"
                   link
                   type="primary"
                   size="small">
          {{ $t('basicData.edit') }}
        </el-button>
        <el-button v-if="row.damageDetails.qualityInsStatus==='已质检'||row.damageDetails.qualityInsStatus==='无需质检'" disabled @click="getTableRow(row,'setType')" link type="primary" size="small">{{ $t('basicData.review') }}</el-button>
        <el-button v-else  @click="getTableRow(row,'setType')" link type="primary" size="small">{{ $t('basicData.review') }}</el-button>
      </template>
            </li>
          </ul>
        </template>
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input type="type" v-model="option.data"
                   @keyup.enter.native="$panel.confirmFilter()"
                   @input="changeFilterEvent($event, option, $panel)"/>
        <!--左边固定显示的插槽-->
        <template #button_slot="{ row }">
          <!--        <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">编辑</el-button>-->
          <el-button @click="getTableRow(row,'edit')"
                     v-if="userStore.user.permissions.indexOf('qualityInspectionReview.edit') > -1"
                     link
                     type="primary"
                     size="small">
            {{ $t('basicData.edit') }}
          </el-button>
          <el-button v-if="row.damageDetails.qualityInsStatus==='已质检'||row.damageDetails.qualityInsStatus==='无需质检'" disabled @click="getTableRow(row,'setType')" link type="primary" size="small">{{ $t('basicData.review') }}</el-button>
          <el-button v-else  @click="getTableRow(row,'setType')" link type="primary" size="small">{{ $t('basicData.review') }}</el-button>
        </template>
        <template #num1_filter="{ column, $panel }">
          <div>
            <div v-for="(option, index) in column.filters" :key="index">
              <input type="type" v-model="option.data"
                     @keyup.enter.native="$panel.confirmFilter()"
                     @input="changeFilterEvent($event, option, $panel)"/>
            </div>
          </div>
        </div>
      </template>
      <template #pager>
        <!--使用 pager æ’æ§½-->
        <!--        'PrevJump','NextJump', -->
        <vxe-pager
            @page-change="handlePageChange"
            :layouts="[  'PrevPage', 'Jump','PageCount', 'NextPage',  'Total']"
            v-model:current-page="pageNum"
            v-model:page-size="total.pageSize"
            v-model:pager-count="total.pageTotal"
            :total="total.dataTotal"
        >
        </vxe-pager>
      </template>
        </template>
        <template #pager>
          <!--使用 pager æ’æ§½-->
          <!--        'PrevJump','NextJump', -->
          <vxe-pager
              @page-change="handlePageChange"
              :layouts="[  'PrevPage', 'Jump','PageCount', 'NextPage',  'Total']"
              v-model:current-page="pageNum"
              v-model:page-size="total.pageSize"
              v-model:pager-count="total.pageTotal"
              :total="total.dataTotal"
          >
          </vxe-pager>
        </template>
    </vxe-grid>
      </vxe-grid>
    </div>
  </div>
</template>
<style scoped>
.main-div-customer{
  width: 99%;
  height: 95%;
.head{
  width: 100%;
  height: 35px;
}
#selectForm {
  width: 60%;
  text-align: center;
.main-table{
  width: 100%;
  height: calc(100% - 35px);
}
</style>
north-glass-erp/northglass-erp/src/views/pp/reportingWorks/SelectReportingWorks.vue
@@ -375,9 +375,8 @@
</script>
<template>
  <div class="main-div-customer">
    <div id="selectForm">
      <el-row :gutter="0">
  <div  style="width: 100%;height: 100%">
    <div class="head">
        <el-date-picker
            v-model="form.date1"
            type="daterange"
@@ -397,83 +396,83 @@
            type="primary" :icon="Search">{{$t('basicData.search')}}
        </el-button>
      </el-row>
    </div>
    <vxe-grid
        height="100%"
        @filter-change="filterChanged"
        class="mytable-scrollbar"
        ref="xGrid"
        v-bind="gridOptions"
    <div class="main-table">
      <vxe-grid
          height="100%"
          @filter-change="filterChanged"
          class="mytable-scrollbar"
          ref="xGrid"
          v-bind="gridOptions"
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
      <template #content="{ row }">
        <ul class="expand-wrapper">
          <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
            <span style="font-weight: bold">{{ item.title + ':  ' }}</span>
            <span v-if="hasDecimal(item.field)">{{ row[item.field.split('.')[0]][item.field.split('.')[1]] }}</span>
            <span v-else>{{ row[item.field] }}</span>
      >
        <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
        <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
        <template #content="{ row }">
          <ul class="expand-wrapper">
            <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
              <span style="font-weight: bold">{{ item.title + ':  ' }}</span>
              <span v-if="hasDecimal(item.field)">{{ row[item.field.split('.')[0]][item.field.split('.')[1]] }}</span>
              <span v-else>{{ row[item.field] }}</span>
          </li>
        </ul>
      </template>
            </li>
          </ul>
        </template>
      <!--左边固定显示的插槽-->
      <template #button_slot="{ row }">
<!--        <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">编辑</el-button>-->
        <el-button @click="getTableRow(row,'edit')"
                   v-if="userStore.user.permissions.indexOf('selectReportingWorks.edit') > -1"
                   link
                   type="primary"
                   size="small">
          {{ $t('basicData.edit') }}
        </el-button>
<!--        <el-button @click="getTableRow(row,'delete')"-->
<!--                   v-if="userStore.user.permissions.indexOf('basicData.delete') > -1"-->
<!--                   link-->
<!--                   type="primary"-->
<!--                   size="small">-->
<!--          {{ $t('basicData.delete') }}-->
<!--        </el-button>-->
        <el-popconfirm :title="$t('searchOrder.deleteConfirm')" @confirm="getTableRow(row,'delete')">
          <template #reference>
            <el-button link size="small" type="primary">{{ $t('basicData.delete') }}</el-button>
          </template>
        </el-popconfirm>
<!--        <el-popconfirm   @confirm="getTableRow(row,'delete')" :title="$t('searchOrder.deleteConfirm')">-->
<!--          <template #reference>-->
<!--            <el-button  link type="primary" size="small">{{ $t('basicData.delete') }}</el-button>-->
<!--          </template>-->
<!--        </el-popconfirm>-->
      </template>
        <!--左边固定显示的插槽-->
        <template #button_slot="{ row }">
          <!--        <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">编辑</el-button>-->
          <el-button @click="getTableRow(row,'edit')"
                     v-if="userStore.user.permissions.indexOf('selectReportingWorks.edit') > -1"
                     link
                     type="primary"
                     size="small">
            {{ $t('basicData.edit') }}
          </el-button>
          <!--        <el-button @click="getTableRow(row,'delete')"-->
          <!--                   v-if="userStore.user.permissions.indexOf('basicData.delete') > -1"-->
          <!--                   link-->
          <!--                   type="primary"-->
          <!--                   size="small">-->
          <!--          {{ $t('basicData.delete') }}-->
          <!--        </el-button>-->
          <el-popconfirm :title="$t('searchOrder.deleteConfirm')" @confirm="getTableRow(row,'delete')">
            <template #reference>
              <el-button link size="small" type="primary">{{ $t('basicData.delete') }}</el-button>
            </template>
          </el-popconfirm>
          <!--        <el-popconfirm   @confirm="getTableRow(row,'delete')" :title="$t('searchOrder.deleteConfirm')">-->
          <!--          <template #reference>-->
          <!--            <el-button  link type="primary" size="small">{{ $t('basicData.delete') }}</el-button>-->
          <!--          </template>-->
          <!--        </el-popconfirm>-->
        </template>
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input type="type" v-model="option.data"
                   @keyup.enter.native="$panel.confirmFilter()"
                   @input="changeFilterEvent($event, option, $panel)"/>
        <template #num1_filter="{ column, $panel }">
          <div>
            <div v-for="(option, index) in column.filters" :key="index">
              <input type="type" v-model="option.data"
                     @keyup.enter.native="$panel.confirmFilter()"
                     @input="changeFilterEvent($event, option, $panel)"/>
            </div>
          </div>
        </div>
      </template>
      <template #pager>
        <!--使用 pager æ’æ§½-->
        <!--        'PrevJump','NextJump', -->
        <vxe-pager
            @page-change="handlePageChange"
            :layouts="[  'PrevPage', 'Jump','PageCount', 'NextPage',  'Total']"
            v-model:current-page="pageNum"
            v-model:page-size="total.pageSize"
            v-model:pager-count="total.pageTotal"
            :total="total.dataTotal"
        >
        </vxe-pager>
      </template>
        </template>
        <template #pager>
          <!--使用 pager æ’æ§½-->
          <!--        'PrevJump','NextJump', -->
          <vxe-pager
              @page-change="handlePageChange"
              :layouts="[  'PrevPage', 'Jump','PageCount', 'NextPage',  'Total']"
              v-model:current-page="pageNum"
              v-model:page-size="total.pageSize"
              v-model:pager-count="total.pageTotal"
              :total="total.dataTotal"
          >
          </vxe-pager>
        </template>
    </vxe-grid>
      </vxe-grid>
    </div>
<!--    <el-dialog v-model="updateWork"  style="width: 80%;height:75% ">-->
<!--      <select-product :rowIndex="rowIndex" @getProductRow="getProductRow" style="width: 100%;height: 100%" />-->
<!--    </el-dialog>-->
@@ -481,12 +480,13 @@
</template>
<style scoped>
.main-div-customer{
  width: 99%;
  height: 96%;
.head{
  width: 100%;
  height: 35px;
}
#selectForm {
  width: 45%;
  text-align: center;
.main-table{
  width: 100%;
  height: calc(100% - 25px);
}
</style>
north-glass-erp/northglass-erp/src/views/pp/rework/AddRework.vue
@@ -297,63 +297,65 @@
</script>
<template>
  <div class="main-div-customer">
    <vxe-grid
        height="100%"
        class="mytable-scrollbar"
        ref="xGrid"
        v-bind="gridOptions"
        v-on="gridEvents"
        :edit-rules="validRules"
  <div  style="width: 100%;height: 100%">
    <div class="main-table">
      <vxe-grid
          height="100%"
          class="mytable-scrollbar"
          ref="xGrid"
          v-bind="gridOptions"
          v-on="gridEvents"
          :edit-rules="validRules"
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
      <template #content="{ row }">
        <ul class="expand-wrapper">
          <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
            <span style="font-weight: bold">{{ item.title + ':  ' }}</span>
            <span>{{ row[item.field] }}</span>
          </li>
        </ul>
      </template>
      >
        <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
        <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
        <template #content="{ row }">
          <ul class="expand-wrapper">
            <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
              <span style="font-weight: bold">{{ item.title + ':  ' }}</span>
              <span>{{ row[item.field] }}</span>
            </li>
          </ul>
        </template>
      <!--左边固定显示的插槽-->
      <template #button_slot="{ row }">
        <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">保存</el-button>
        <!--左边固定显示的插槽-->
        <template #button_slot="{ row }">
          <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">保存</el-button>
      </template>
        </template>
      <!--   ç­›é€‰æ’æ§½   -->
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input type="type" v-model="option.data"
                   @keyup.enter.native="$panel.confirmFilter()"
                   @input="changeFilterEvent($event, option, $panel)"/>
        <!--   ç­›é€‰æ’æ§½   -->
        <template #num1_filter="{ column, $panel }">
          <div>
            <div v-for="(option, index) in column.filters" :key="index">
              <input type="type" v-model="option.data"
                     @keyup.enter.native="$panel.confirmFilter()"
                     @input="changeFilterEvent($event, option, $panel)"/>
            </div>
          </div>
        </div>
      </template>
        </template>
      <!--        è¿”工班组-->
      <template #responsibleTeam="{ row }">
        <vxe-select v-model="row.reworkTeam" transfer >
          <vxe-option v-for="item in row.basicCategory" :key="item.basicName" :label="item.basicName" :value="item.basicName"/>
        </vxe-select>
      </template>
      <template #responsibleTeam_default="{ row }">
        <span>{{ row.reworkTeam }}</span>
      </template>
        <!--        è¿”工班组-->
        <template #responsibleTeam="{ row }">
          <vxe-select v-model="row.reworkTeam" transfer >
            <vxe-option v-for="item in row.basicCategory" :key="item.basicName" :label="item.basicName" :value="item.basicName"/>
          </vxe-select>
        </template>
        <template #responsibleTeam_default="{ row }">
          <span>{{ row.reworkTeam }}</span>
        </template>
    </vxe-grid>
  </div>
  <div class="vxe-table--cell-area" ref="cellArea" >
    <span  class="vxe-table--cell-main-area"  ></span>
      </vxe-grid>
    </div>
    <div class="vxe-table--cell-area" ref="cellArea" >
      <span  class="vxe-table--cell-main-area"  ></span>
    <span class="vxe-table--cell-active-area"  ></span>
      <span class="vxe-table--cell-active-area"  ></span>
    </div>
  </div>
</template>
@@ -369,4 +371,14 @@
  -ms-user-select: none;
  user-select: none;
}
.head{
  width: 100%;
  height: 35px;
}
.main-table{
  width: 100%;
  height: calc(100% - 0px);
}
</style>
north-glass-erp/northglass-erp/src/views/pp/rework/PrintReworkFlowCard.vue
@@ -651,99 +651,103 @@
</script>
<template>
  <div class="main-div-customer">
    <el-date-picker
        v-model="form.date1"
        :end-placeholder="$t('basicData.endDate')"
        :start-placeholder="$t('basicData.startDate')"
        format="YYYY/MM/DD"
        type="daterange"
        value-format="YYYY-MM-DD"
  <div  style="width: 100%;height: 100%">
    <div class="head">
      <el-date-picker
          v-model="form.date1"
          :end-placeholder="$t('basicData.endDate')"
          :start-placeholder="$t('basicData.startDate')"
          format="YYYY/MM/DD"
          type="daterange"
          value-format="YYYY-MM-DD"
    />
    <el-button
        id="select"
        :icon="Search"
        type="primary" @click="getWorkOrder">{{ $t('basicData.search') }}
    </el-button>
<!--    &nbsp;&nbsp;-->
<!--    <el-input clearable :placeholder="$t('processCard.mergePrinting')" v-model="printMerge" style="width: 90px"></el-input>-->
    &nbsp;
    <label>{{$t('processCard.labelStyle')}}:</label>
    <el-select v-model="printType" clearable default-value="default_city" :placeholder="$t('processCard.pleaseSelect')" style="width: 120px">
      <el-option
          v-for="item in titleSelectJson['dataType']"
          :key="item.id"
          :label="item.name"
          :value="item.name"
      />
    </el-select>
    &nbsp;
    <el-select v-model="lableType" class="m-2" :placeholder="lableTypeOptions[0].label" style="width: 140px">
      <el-option
          v-for="item in filteredOptions"
          :key="item.value"
          :label="item.label"
          :value="item.value"
      />
    </el-select>
    &nbsp;
    <el-select v-model="stateValue" class="m-2" :placeholder="$t('processCard.pleaseSelect')" clearable allow-create filterable style="width: 140px">
      <el-option
          v-for="item in stateOptions"
          :key="item.value"
          :label="item.label"
          :value="item.value"
      />
    </el-select>
    <vxe-grid
        ref="xGrid"
        class="mytable-scrollbar"
        height="100%"
        v-bind="gridOptions"
        v-on="gridEvents"
      <el-button
          id="select"
          :icon="Search"
          type="primary" @click="getWorkOrder">{{ $t('basicData.search') }}
      </el-button>
      <!--    &nbsp;&nbsp;-->
      <!--    <el-input clearable :placeholder="$t('processCard.mergePrinting')" v-model="printMerge" style="width: 90px"></el-input>-->
      &nbsp;
      <label>{{$t('processCard.labelStyle')}}:</label>
      <el-select v-model="printType" clearable default-value="default_city" :placeholder="$t('processCard.pleaseSelect')" style="width: 120px">
        <el-option
            v-for="item in titleSelectJson['dataType']"
            :key="item.id"
            :label="item.name"
            :value="item.name"
        />
      </el-select>
      &nbsp;
      <el-select v-model="lableType" class="m-2" :placeholder="lableTypeOptions[0].label" style="width: 140px">
        <el-option
            v-for="item in filteredOptions"
            :key="item.value"
            :label="item.label"
            :value="item.value"
        />
      </el-select>
      &nbsp;
      <el-select v-model="stateValue" class="m-2" :placeholder="$t('processCard.pleaseSelect')" clearable allow-create filterable style="width: 140px">
        <el-option
            v-for="item in stateOptions"
            :key="item.value"
            :label="item.label"
            :value="item.value"
        />
      </el-select>
    </div>
    <div class="main-table">
      <vxe-grid
          ref="xGrid"
          class="mytable-scrollbar"
          height="100%"
          v-bind="gridOptions"
          v-on="gridEvents"
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
      <template #content="{ row }">
        <ul class="expand-wrapper">
          <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
            <span style="font-weight: bold">{{ item.title + ':  ' }}</span>
            <span v-if="hasDecimal(item.field)">{{ row[item.field.split('.')[0]][item.field.split('.')[1]] }}</span>
            <span v-else>{{ row[item.field] }}</span>
      >
        <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
        <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
        <template #content="{ row }">
          <ul class="expand-wrapper">
            <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
              <span style="font-weight: bold">{{ item.title + ':  ' }}</span>
              <span v-if="hasDecimal(item.field)">{{ row[item.field.split('.')[0]][item.field.split('.')[1]] }}</span>
              <span v-else>{{ row[item.field] }}</span>
          </li>
        </ul>
      </template>
            </li>
          </ul>
        </template>
      <!--左边固定显示的插槽-->
      <!--      v-if="userStore.user.permissions.indexOf('SelectProductionBasicData.edit') > -1"-->
      <template #button_slot="{ row }">
        <el-button @click="getTableRow(row,'edit')"
                   link
                   type="primary"
                   size="small">
          {{ $t('basicData.edit') }}
        </el-button>
        <!--左边固定显示的插槽-->
        <!--      v-if="userStore.user.permissions.indexOf('SelectProductionBasicData.edit') > -1"-->
        <template #button_slot="{ row }">
          <el-button @click="getTableRow(row,'edit')"
                     link
                     type="primary"
                     size="small">
            {{ $t('basicData.edit') }}
          </el-button>
      </template>
        </template>
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input type="text"
                   v-model="option.data"
                   @keyup.enter.native="$panel.confirmFilter()"
                   @input="changeFilterEvent($event, option, $panel)"/>
        <template #num1_filter="{ column, $panel }">
          <div>
            <div v-for="(option, index) in column.filters" :key="index">
              <input type="text"
                     v-model="option.data"
                     @keyup.enter.native="$panel.confirmFilter()"
                     @input="changeFilterEvent($event, option, $panel)"/>
            </div>
          </div>
        </div>
      </template>
        </template>
    </vxe-grid>
      </vxe-grid>
    </div>
    <el-dialog
        id="sizePrintCalrd"
        v-model="dialogTableVisible"
@@ -789,9 +793,16 @@
</template>
<style scoped>
.main-div-customer {
  width: 99%;
  height: 94%;
.head{
  width: 100%;
  height: 35px;
}
.main-table{
  width: 100%;
  height: calc(100% - 35px);
}
north-glass-erp/northglass-erp/src/views/pp/workOrder/AddWorkOrder.vue
@@ -249,53 +249,60 @@
</script>
<template>
  <div class="main-div-customer">
    <vxe-grid
        max-height="100%"
        @filter-change="filterChanged"
        class="mytable-scrollbar"
        ref="xGrid"
        v-bind="gridOptions"
        v-on="gridEvents"
  <div  style="width: 100%;height: 100%">
    <div class="main-table">
      <vxe-grid
          height="100%"
          @filter-change="filterChanged"
          class="mytable-scrollbar"
          ref="xGrid"
          v-bind="gridOptions"
          v-on="gridEvents"
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
      <template #content="{ row }">
        <ul class="expand-wrapper">
          <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
            <span style="font-weight: bold">{{ item.title + ':  ' }}</span>
            <span v-if="hasDecimal(item.field)">{{ row[item.field.split('.')[0]][item.field.split('.')[1]] }}</span>
            <span v-else>{{ row[item.field] }}</span>
      >
        <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
        <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
        <template #content="{ row }">
          <ul class="expand-wrapper">
            <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
              <span style="font-weight: bold">{{ item.title + ':  ' }}</span>
              <span v-if="hasDecimal(item.field)">{{ row[item.field.split('.')[0]][item.field.split('.')[1]] }}</span>
              <span v-else>{{ row[item.field] }}</span>
          </li>
        </ul>
      </template>
            </li>
          </ul>
        </template>
      <!--左边固定显示的插槽-->
      <template #button_slot="{ row }">
        <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">{{ $t('workOrder.transferOrder') }}</el-button>
        <el-button @click="getTableRow(row,'delete')" link type="primary" size="small">{{ $t('basicData.delete') }}</el-button>
      </template>
        <!--左边固定显示的插槽-->
        <template #button_slot="{ row }">
          <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">{{ $t('workOrder.transferOrder') }}</el-button>
          <el-button @click="getTableRow(row,'delete')" link type="primary" size="small">{{ $t('basicData.delete') }}</el-button>
        </template>
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input type="type" v-model="option.data"
                   @keyup.enter.native="$panel.confirmFilter()"
                   @input="changeFilterEvent($event, option, $panel)"/>
        <template #num1_filter="{ column, $panel }">
          <div>
            <div v-for="(option, index) in column.filters" :key="index">
              <input type="type" v-model="option.data"
                     @keyup.enter.native="$panel.confirmFilter()"
                     @input="changeFilterEvent($event, option, $panel)"/>
            </div>
          </div>
        </div>
      </template>
        </template>
    </vxe-grid>
      </vxe-grid>
    </div>
  </div>
</template>
<style scoped>
.main-div-customer {
  width: 99%;
  height: 100%;
.head{
  width: 100%;
  height: 35px;
}
.main-table{
  width: 100%;
  height: calc(100% - 0px);
}
</style>
north-glass-erp/northglass-erp/src/views/pp/workOrder/SelectWorkOrder.vue
@@ -328,9 +328,8 @@
</script>
<template>
  <div class="main-div-customer">
    <div id="selectForm">
      <el-row :gutter="0">
  <div  style="width: 100%;height: 100%">
    <div class="head">
        <el-date-picker
            v-model="orderInfo.workOrderDate"
            type="daterange"
@@ -363,74 +362,75 @@
            id="select"
            type="primary" :icon="Search">{{$t('basicData.search')}}
        </el-button>
      </el-row>
    </div>
    <vxe-grid
        max-height="100%"
        @filter-change="filterChanged"
        class="mytable-scrollbar"
        ref="xGrid"
        v-bind="gridOptions"
        v-on="gridEvents"
    <div class="main-table">
      <vxe-grid
          height="100%"
          @filter-change="filterChanged"
          class="mytable-scrollbar"
          ref="xGrid"
          v-bind="gridOptions"
          v-on="gridEvents"
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
      <template #content="{ row }">
        <ul class="expand-wrapper">
          <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
            <span style="font-weight: bold">{{ item.title + ':  ' }}</span>
            <span v-if="hasDecimal(item.field)">{{ row[item.field.split('.')[0]][item.field.split('.')[1]] }}</span>
            <span v-else>{{ row[item.field] }}</span>
      >
        <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
        <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
        <template #content="{ row }">
          <ul class="expand-wrapper">
            <li v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
              <span style="font-weight: bold">{{ item.title + ':  ' }}</span>
              <span v-if="hasDecimal(item.field)">{{ row[item.field.split('.')[0]][item.field.split('.')[1]] }}</span>
              <span v-else>{{ row[item.field] }}</span>
          </li>
        </ul>
      </template>
            </li>
          </ul>
        </template>
      <!--左边固定显示的插槽-->
      <template #button_slot="{ row }">
<!--        <el-button :class="{disable: optionVal== 0}" :disabled="optionVal == 0" @click="getTableRow(row,'edit')" link type="primary" size="small">{{$t('workOrder.transferOrder')}}</el-button>-->
<!--        <el-button :class="{disable: optionVal== 0}" :disabled="optionVal == 0"-->
<!--                   @click="getTableRow(row,'edit')"-->
<!--                   v-if="userStore.user.permissions.indexOf('SelectWorkOrder.edit') > -1"-->
<!--                   link-->
<!--                   type="primary"-->
<!--                   size="small">-->
<!--          {{$t('workOrder.transferOrder')}}-->
<!--        </el-button>-->
        <!--左边固定显示的插槽-->
        <template #button_slot="{ row }">
          <!--        <el-button :class="{disable: optionVal== 0}" :disabled="optionVal == 0" @click="getTableRow(row,'edit')" link type="primary" size="small">{{$t('workOrder.transferOrder')}}</el-button>-->
          <!--        <el-button :class="{disable: optionVal== 0}" :disabled="optionVal == 0"-->
          <!--                   @click="getTableRow(row,'edit')"-->
          <!--                   v-if="userStore.user.permissions.indexOf('SelectWorkOrder.edit') > -1"-->
          <!--                   link-->
          <!--                   type="primary"-->
          <!--                   size="small">-->
          <!--          {{$t('workOrder.transferOrder')}}-->
          <!--        </el-button>-->
        <!--        <el-button :class="{disable: optionVal== 1}" :disabled="optionVal == 1" @click="getTableRow(row,'delete')" link type="primary" size="small">{{$t('basicData.delete')}}</el-button>-->
        <el-popconfirm   @confirm="getTableRow(row,'delete')" :title="$t('searchOrder.deleteConfirm')">
          <template #reference>
            <el-button :class="{disable: optionVal== 1}" :disabled="optionVal == 1" link type="primary" size="small">{{ $t('basicData.delete') }}</el-button>
          </template>
        </el-popconfirm>
      </template>
          <!--        <el-button :class="{disable: optionVal== 1}" :disabled="optionVal == 1" @click="getTableRow(row,'delete')" link type="primary" size="small">{{$t('basicData.delete')}}</el-button>-->
          <el-popconfirm   @confirm="getTableRow(row,'delete')" :title="$t('searchOrder.deleteConfirm')">
            <template #reference>
              <el-button :class="{disable: optionVal== 1}" :disabled="optionVal == 1" link type="primary" size="small">{{ $t('basicData.delete') }}</el-button>
            </template>
          </el-popconfirm>
        </template>
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input type="type" v-model="option.data"
                   @keyup.enter.native="$panel.confirmFilter()"
                   @input="changeFilterEvent($event, option, $panel)"/>
        <template #num1_filter="{ column, $panel }">
          <div>
            <div v-for="(option, index) in column.filters" :key="index">
              <input type="type" v-model="option.data"
                     @keyup.enter.native="$panel.confirmFilter()"
                     @input="changeFilterEvent($event, option, $panel)"/>
            </div>
          </div>
        </div>
      </template>
        </template>
    </vxe-grid>
      </vxe-grid>
    </div>
  </div>
</template>
<style scoped>
.main-div-customer {
  width: 99%;
  height: 100%;
.head{
  width: 100%;
  height: 35px;
}
#selectForm {
  width: 50%;
  text-align: center;
.main-table{
  width: 100%;
  height: calc(100% - 35px);
}
</style>
north-glass-erp/northglass-erp/src/views/sd/basicData/SearchBasicData.vue
@@ -162,9 +162,10 @@
  //表头按钮
  toolbarConfig: {
    buttons: [
      {'code': 'add', 'name': t('basicData.insert'),status: 'primary'},
    ],
    slots:{
      buttons: "toolbar_buttons",
      tools:'add'
    },
    // import: false,
    // export: true,
@@ -187,6 +188,11 @@
      }
    }
  }
}
const add = () => {
  rowIndex.value = null
  dialogTableVisible.value = true
}
request.get('/basicData/getBasicData').then(res => {
@@ -253,49 +259,56 @@
</script>
<template>
  <div>
    <el-row>
      <el-col :span="8">
        <el-cascader
            v-model="basic.basicType"
            @change="handleChange"
            :options="options"
            clearable
            :placeholder="$t('processCard.pleaseSelect')"
        />
      </el-col>
    </el-row>
    <vxe-grid
        style="width: 40vw;"
        class="mytable-scrollbar"
        max-height="500px"
        ref="xGrid"
        v-bind="gridOptions"
        v-on="gridEvents"
    >
      <template #button_slot="{ row }">
        <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">{{ $t('basicData.edit') }}</el-button>
        <el-popconfirm @confirm="getTableRow(row,'delete')" :title="$t('searchOrder.deleteConfirm')">
          <template #reference>
            <el-button  link type="primary" size="small">{{ $t('basicData.delete') }}</el-button>
          </template>
        </el-popconfirm>
      </template>
  <div  style="width: 100%;height: 100%">
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input
                v-model="option.data"
                type="text"
                @keyup.enter.native="$panel.confirmFilter()"
                @input="changeFilterEvent($event, option, $panel)"/>
    <div class="main-table">
      <vxe-grid
          class="mytable-scrollbar"
          height="100%"
          ref="xGrid"
          v-bind="gridOptions"
          v-on="gridEvents"
      >
        <template #button_slot="{ row }">
          <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">{{ $t('basicData.edit') }}</el-button>
          <el-popconfirm @confirm="getTableRow(row,'delete')" :title="$t('searchOrder.deleteConfirm')">
            <template #reference>
              <el-button  link type="primary" size="small">{{ $t('basicData.delete') }}</el-button>
            </template>
          </el-popconfirm>
        </template>
        <template #num1_filter="{ column, $panel }">
          <div>
            <div v-for="(option, index) in column.filters" :key="index">
              <input
                  v-model="option.data"
                  type="text"
                  @keyup.enter.native="$panel.confirmFilter()"
                  @input="changeFilterEvent($event, option, $panel)"/>
            </div>
          </div>
        </div>
      </template>
        </template>
        <template #toolbar_buttons>
          <el-col :span="8">
            <el-cascader
                v-model="basic.basicType"
                @change="handleChange"
                :options="options"
                clearable
                :placeholder="$t('processCard.pleaseSelect')"
            />
          </el-col>
        </template>
        <template #add>
          <el-button @click="add" type="primary" style="margin-right: 3px">新增</el-button>
        </template>
    </vxe-grid>
      </vxe-grid>
    </div>
    <el-dialog
        v-model="dialogTableVisible"
        destroy-on-close
@@ -306,5 +319,13 @@
</template>
<style scoped>
.head{
  width: 100%;
  height: 35px;
}
.main-table{
  width: 100%;
  height: calc(100% - 0px);
}
</style>
north-glass-erp/northglass-erp/src/views/sd/basicData/SearchGlassType.vue
@@ -153,11 +153,11 @@
</script>
<template>
  <div>
  <div  style="width: 100%;height: 100%">
    <div class="main-table">
    <vxe-grid
        style="width: 40vw;"
        class="mytable-scrollbar"
        max-height="500px"
        height="100%"
        ref="xGrid"
        v-bind="gridOptions"
        v-on="gridEvents"
@@ -171,6 +171,7 @@
        </el-popconfirm>
      </template>
    </vxe-grid>
  </div>
    <el-dialog
        v-model="dialogTableVisible"
        destroy-on-close
@@ -193,6 +194,7 @@
      </el-row>
    </el-dialog>
  </div>
</template>
@@ -201,4 +203,13 @@
.el-row{
  margin-top: 10px;
}
.head{
  width: 100%;
  height: 35px;
}
.main-table{
  width: 100%;
  height: calc(100% - 0px);
}
</style>
north-glass-erp/northglass-erp/src/views/sd/customer/SelectCustomerOrder.vue
@@ -306,84 +306,96 @@
<template>
  <div  style="width: 100%;height: 100%">
    <el-date-picker
        v-model="orderInfo.reportFormDate"
        type="daterange"
        :start-placeholder="t('basicData.startDate')"
        :end-placeholder="t('basicData.endDate')"
        format="YYYY-MM-DD"
        value-format="YYYY-MM-DD"
    <div class="head">
      <el-date-picker
          v-model="orderInfo.reportFormDate"
          type="daterange"
          :start-placeholder="t('basicData.startDate')"
          :end-placeholder="t('basicData.endDate')"
          format="YYYY-MM-DD"
          value-format="YYYY-MM-DD"
    />
      />
    <el-button @click="changeDate" style="margin-top: -5px"  id="searchButton" type="primary" :icon="Search">{{$t('basicData.search')}}</el-button>
      <el-button @click="changeDate" style="margin-top: -5px"  id="searchButton" type="primary" :icon="Search">{{$t('basicData.search')}}</el-button>
    </div>
    <div class="main-table">
      <vxe-grid
          height="100%"
          class="mytable-scrollbar"
          @filter-change="filterChanged"
          ref="xGrid"
          v-bind="gridOptions"
          v-on="gridEvents"
    <vxe-grid
        max-height="97%"
        class="mytable-scrollbar"
        @filter-change="filterChanged"
        ref="xGrid"
        v-bind="gridOptions"
        v-on="gridEvents"
      >
        <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
        <template #content="{ row }">
          <ul class="expand-wrapper">
            <li  v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
              <span style="font-weight: bold">{{item.title+':  '}}</span>
              <span>{{ row[item.field] }}</span>
            </li>
          </ul>
        </template>
    >
      <!--      ä¸‹æ‹‰æ˜¾ç¤ºæ‰€æœ‰ä¿¡æ¯æ’æ§½-->
      <template #content="{ row }">
        <ul class="expand-wrapper">
          <li  v-for="(item,index) in gridOptions.columns" v-show="item.field!=undefined ">
            <span style="font-weight: bold">{{item.title+':  '}}</span>
            <span>{{ row[item.field] }}</span>
          </li>
        </ul>
      </template>
        <template #state="{ row,column}">
          <el-checkbox @click.native.prevent :indeterminate="row[column.field]===1" :checked="row[column.field]===2"/>
        </template>
      <template #state="{ row,column}">
        <el-checkbox @click.native.prevent :indeterminate="row[column.field]===1" :checked="row[column.field]===2"/>
      </template>
        <!--左边固定显示的插槽-->
        <template #button_slot="{ row }">
          <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">{{$t('basicData.edit')}}</el-button>
          <el-button @click="getTableRow(row,'delete')" link type="primary" size="small">{{$t('basicData.delete')}}</el-button>
        </template>
      <!--左边固定显示的插槽-->
      <template #button_slot="{ row }">
        <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">{{$t('basicData.edit')}}</el-button>
        <el-button @click="getTableRow(row,'delete')" link type="primary" size="small">{{$t('basicData.delete')}}</el-button>
      </template>
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input
                type="type"
                v-model="option.data"
                @keyup.enter.native="$panel.confirmFilter()"
                @input="changeFilterEvent($event, option, $panel)"/>
        <template #num1_filter="{ column, $panel }">
          <div>
            <div v-for="(option, index) in column.filters" :key="index">
              <input
                  type="type"
                  v-model="option.data"
                  @keyup.enter.native="$panel.confirmFilter()"
                  @input="changeFilterEvent($event, option, $panel)"/>
            </div>
          </div>
        </div>
      </template>
        </template>
      <template #toolbar_buttons>
        <vxe-button style="margin-right: 0.5rem"
                    @click="exportExcel()">
          {{$t('basicData.export')}}</vxe-button>
      </template>
        <template #toolbar_buttons>
          <vxe-button style="margin-right: 0.5rem"
                      @click="exportExcel()">
            {{$t('basicData.export')}}</vxe-button>
        </template>
      <template #pager>
        <!--使用 pager æ’æ§½-->
        <vxe-pager
            @page-change="handlePageChange"
            :layouts="[  'PrevPage', 'Jump','PageCount', 'NextPage',  'Total']"
            v-model:current-page="pageNum"
            v-model:page-size="total.pageSize"
            v-model:pager-count="total.pageTotal"
            :total="total.dataTotal"
        >
        </vxe-pager>
      </template>
    </vxe-grid>
        <template #pager>
          <!--使用 pager æ’æ§½-->
          <vxe-pager
              @page-change="handlePageChange"
              :layouts="[  'PrevPage', 'Jump','PageCount', 'NextPage',  'Total']"
              v-model:current-page="pageNum"
              v-model:page-size="total.pageSize"
              v-model:pager-count="total.pageTotal"
              :total="total.dataTotal"
          >
          </vxe-pager>
        </template>
      </vxe-grid>
    </div>
  </div>
</template>
<style scoped>
.head{
  width: 100%;
  height: 35px;
}
.main-table{
  width: 100%;
  height: calc(100% - 35px);
}
</style>
north-glass-erp/northglass-erp/src/views/sd/delivery/SelectOrderList.vue
@@ -319,7 +319,7 @@
    </div>
    <div class="main-table">
      <vxe-grid
          max-height="100%"
          height="100%"
          class="mytable-scrollbar"
          @filter-change="filterChanged"
          ref="xGrid"
north-glass-erp/northglass-erp/src/views/system/role/RoleList.vue
@@ -278,35 +278,36 @@
</script>
<template>
  <div  style="width: 50%;height: 100% ;">
    <vxe-grid
        max-height="100%"
        class="mytable-scrollbar"
        ref="xGrid"
        v-bind="gridOptions"
    >
      <template #role_add>
      <vxe-button
          @click="addRole"
          status='primary'
          style="margin-right: 1rem"
      >{{$t('role.roleAdd')}}</vxe-button>
      </template>
  <div  style="width: 100%;height: 100%">
    <div class="main-table">
      <vxe-grid
          height="100%"
          class="mytable-scrollbar"
          ref="xGrid"
          v-bind="gridOptions"
      >
        <template #role_add>
          <vxe-button
              @click="addRole"
              status='primary'
              style="margin-right: 1rem"
          >{{$t('role.roleAdd')}}</vxe-button>
        </template>
      <template #filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input type="type" v-model="option.data" @input="changeFilterEvent($event, option, $panel)"/>
        <template #filter="{ column, $panel }">
          <div>
            <div v-for="(option, index) in column.filters" :key="index">
              <input type="type" v-model="option.data" @input="changeFilterEvent($event, option, $panel)"/>
            </div>
          </div>
        </div>
      </template>
        </template>
      <template #button_slot="{ row }">
        <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">{{$t('role.rolePermissions')}}</el-button>
      </template>
    </vxe-grid>
        <template #button_slot="{ row }">
          <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">{{$t('role.rolePermissions')}}</el-button>
        </template>
      </vxe-grid>
    </div>
    <el-dialog
        v-model="dialogVisible"
        @open="getPermissionList"
@@ -358,4 +359,13 @@
:deep(.el-dialog__body){
  height: 80%;
}
.head{
  width: 100%;
  height: 35px;
}
.main-table{
  width: 100%;
  height: calc(100% - 0px);
}
</style>
north-glass-erp/northglass-erp/src/views/system/user/UserList.vue
@@ -140,34 +140,36 @@
</script>
<template>
  <div  style="width: 100%;height: 100% ;">
    <vxe-grid
        max-height="100%"
        class="mytable-scrollbar"
        ref="xGrid"
        v-bind="gridOptions"
    >
      <template #filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
            <input
                type="type"
                v-model="option.data"
                @keyup.enter.native="$panel.confirmFilter()"
                @input="changeFilterEvent($event, option, $panel)"/>
  <div  style="width: 100%;height: 100%">
    <div class="main-table">
      <vxe-grid
          height="100%"
          class="mytable-scrollbar"
          ref="xGrid"
          v-bind="gridOptions"
      >
        <template #filter="{ column, $panel }">
          <div>
            <div v-for="(option, index) in column.filters" :key="index">
              <input
                  type="type"
                  v-model="option.data"
                  @keyup.enter.native="$panel.confirmFilter()"
                  @input="changeFilterEvent($event, option, $panel)"/>
            </div>
          </div>
        </div>
      </template>
        </template>
      <template #button_slot="{ row }">
        <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">{{ $t('user.setUpRoles') }}</el-button>
        <el-popconfirm @confirm="getTableRow(row,'delete')" :title="$t('searchOrder.deleteConfirm')">
          <template #reference>
            <el-button  link type="primary" size="small">{{ $t('basicData.delete') }}</el-button>
          </template>
        </el-popconfirm>
      </template>
    </vxe-grid>
        <template #button_slot="{ row }">
          <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">{{ $t('user.setUpRoles') }}</el-button>
          <el-popconfirm @confirm="getTableRow(row,'delete')" :title="$t('searchOrder.deleteConfirm')">
            <template #reference>
              <el-button  link type="primary" size="small">{{ $t('basicData.delete') }}</el-button>
            </template>
          </el-popconfirm>
        </template>
      </vxe-grid>
    </div>
    <el-dialog
        v-model="dialogVisible"
@@ -198,4 +200,13 @@
.dialog-footer button:first-child {
  margin-right: 10px;
}
.head{
  width: 100%;
  height: 35px;
}
.main-table{
  width: 100%;
  height: calc(100% - 0px);
}
</style>
north-glass-erp/src/main/java/com/example/erp/controller/mm/MaterialStoreController.java
@@ -35,6 +35,13 @@
        return Result.seccess(materialStoreService.getSelectMaterialStore(pageNum,pageSize,materialStore));
    }
    @ApiOperation("物料查询接口")
    @SaCheckPermission("selectIngredients.search")
    @PostMapping("/getSelectMaterialStore")
    public Result getSelectMaterialStores(@RequestBody MaterialStore materialStore){
        return Result.seccess(materialStoreService.getSelectMaterialStores(materialStore));
    }
    @ApiOperation("物料删除接口")
    @SaCheckPermission("selectIngredients.delete")
    @PostMapping("/deleteMaterialStore")
north-glass-erp/src/main/java/com/example/erp/controller/pp/ProcessCardController.java
@@ -385,4 +385,16 @@
    }
    @ApiOperation("修改工艺流程")
    @PostMapping("/updateProcess/{processId}/{technologyNumber}/{orderId}/{process}")
    public Result updateProcess(
            @PathVariable String processId,
            @PathVariable String technologyNumber,
            @PathVariable String orderId,
            @PathVariable String process,
            @RequestBody Map<String, Object> object
    ) {
        return Result.seccess(flowCardService.updateProcessSv(processId,technologyNumber,orderId,process,object));
    }
}
north-glass-erp/src/main/java/com/example/erp/dto/pp/WorkInProgressDTO.java
@@ -41,4 +41,6 @@
    private String bendRadius;
    @ExcelProperty("编号")
    private String glassNumber;
    @ExcelProperty("上工序报工班组")
    private String teamsGroupsName;
}
north-glass-erp/src/main/java/com/example/erp/mapper/mm/MaterialStoreMapper.java
@@ -18,6 +18,8 @@
                                     @Param("pageSize") Integer pageSize,
                                     @Param("materialStore") MaterialStore materialStore);
    List<MaterialStore> getSelectMaterialStores(@Param("materialStore") MaterialStore materialStore);
    MaterialStore getSelectMaterialStoreById(@Param("id") Long id);
north-glass-erp/src/main/java/com/example/erp/mapper/pp/FlowCardMapper.java
@@ -190,4 +190,10 @@
    List<Map<String, Object>> getPrintCustomDataProject(String projectNo);
    List<Map<String, String>> getPrintLabel3(String projectNo);
    Boolean updateProcessMp(String processId, String technologyNumber, String process, String number);
    Boolean deleteProcessMp(String processId, String technologyNumber);
    Boolean updateOrderProcessMp(String orderId, String number, String technologyNumber, String orderprocess);
}
north-glass-erp/src/main/java/com/example/erp/service/mm/MaterialStoreService.java
@@ -106,6 +106,14 @@
        return map;
    }
    public Map<String, Object> getSelectMaterialStores(MaterialStore materialStore) {
        Map<String, Object> map = new HashMap<>();
        map.put("data", materialStoreMapper.getSelectMaterialStores(materialStore));
        return map;
    }
    public String deleteMaterialStore(Map<String,Object> object) {
        String saveState = "true";
        //设置回滚点
north-glass-erp/src/main/java/com/example/erp/service/pp/FlowCardService.java
@@ -852,6 +852,36 @@
        map.put("title", flowCardMapper.getPrintTitle(type));
        return map;
    }
    public Boolean updateProcessSv(String processId, String technologyNumber, String orderId, String Orderprocess, Map<String, Object> object) {
        //判断该流程卡是否报工
        Integer count = flowCardMapper.reportingWorkCount(processId);
        if (count == 0) {
            //删除小片工艺表对应的数据
            flowCardMapper.deleteProcessMp(processId,technologyNumber);
            //重新插入修改好工艺流程卡的数据
            List<String> newCraftList = (List<String>) object.get("newCraft");
            List<String> numberList = (List<String>) object.get("technologyNumber");
            // åˆ¤æ–­ newCraftList æ˜¯å¦ä¸ºç©º
            if (newCraftList != null) {
                for (String number : numberList) {
                    //修改订单小片表工艺流程
                    flowCardMapper.updateOrderProcessMp(orderId,number,technologyNumber,Orderprocess);
                    for (String process : newCraftList) {
                        flowCardMapper.updateProcessMp(processId,technologyNumber,process,number);
                    }
                }
            }
            return true;
        }else {
            return false;
        }
    }
}
north-glass-erp/src/main/resources/mapper/mm/MaterialInventory.xml
@@ -154,7 +154,6 @@
            </if>
        </where>
        limit #{offset},#{pageSize};
    </select>
    <select id="getSelectMaterialInventoryPageTotal">
@@ -170,7 +169,6 @@
        </where>
        limit #{offset},#{pageSize};
    </select>
    <select id="getSelectMaterialInventoryEngineering">
@@ -205,7 +203,6 @@
        </where>
        limit #{offset},#{pageSize};
    </select>
    <select id="getSelectMaterialInventoryEngineeringPageTotal">
@@ -224,7 +221,6 @@
        </where>
        limit #{offset},#{pageSize};
    </select>
@@ -428,7 +424,6 @@
                and modd.material_outbound_id regexp #{materialOutboundDetail.materialOutboundId}
            </if>
        </where>
        limit #{offset},#{pageSize};
    </select>
    <select id="getSelectMaterialOutboundEngineering" >
@@ -459,7 +454,6 @@
                and modd.material_outbound_id regexp #{materialOutboundDetail.materialOutboundId}
            </if>
        </where>
        limit #{offset},#{pageSize};
    </select>
    <select id="getSelectMaterialOutboundDetailPageTotal">
@@ -473,7 +467,6 @@
                and modd.material_outbound_id regexp #{materialOutboundDetail.materialOutboundId}
            </if>
        </where>
        limit #{offset},#{pageSize};
    </select>
@@ -511,7 +504,6 @@
                and rwd.returning_id regexp #{returningWarehouseDetail.returningId}
            </if>
        </where>
        limit #{offset},#{pageSize};
    </select>
    <select id="getSelectReturningWarehouseDetailPageTotal">
north-glass-erp/src/main/resources/mapper/mm/MaterialStore.xml
@@ -21,6 +21,22 @@
        limit #{offset},#{pageSize};
    </select>
    <select id="getSelectMaterialStores">
        select
        *
        from
        mm.material_store m
        <where>
            <if test="materialStore.id != null and materialStore.id != ''">
                and m.id regexp #{materialStore.id}
            </if>
            <if test="materialStore.type != null and materialStore.type != ''">
                and m.type regexp #{materialStore.type}
            </if>
        </where>
        order by m.id desc
    </select>
    <select id="getSelectMaterialStoreById">
        select * from mm.material_store m where id=#{id}
    </select>
north-glass-erp/src/main/resources/mapper/pp/FolwCard.xml
@@ -308,7 +308,7 @@
    <select id="reportingWorkCount">
        select COUNT(rw.process_id)
        from reporting_work as rw
        where rw.process_id = #{processId}
        where rw.process_id = #{processId} and reviewed_state>=0
    </select>
    <!--    æ’å…¥Flow_card表-->
    <insert id="addFlowCardMp">
@@ -443,12 +443,18 @@
               od.product_name,
               ogd.glass_child,
               fc.founder,
               date(fc.splitFrame_time)                                             as splitFrame_time
               date(fc.splitFrame_time)                                             as splitFrame_time,
               ogd.process,
               c.concatNumber
        from flow_card as fc
                 left join sd.order_glass_detail as ogd
                           on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and
                              fc.technology_number = ogd.technology_number
                 left join sd.order_detail as od on od.order_id = ogd.order_id and od.order_number = ogd.order_number
                 left join (
            select process_id,technology_number, GROUP_CONCAT(order_number) as concatNumber from
            flow_card where process_id = #{processId} GROUP BY process_id,technology_number
                 ) as c on c.process_id=fc.process_id
        where fc.process_id = #{processId}
        GROUP BY fc.order_id, fc.process_id, fc.order_number, fc.technology_number
        order by fc.order_number, fc.technology_number
@@ -1582,6 +1588,7 @@
               round(ogd.child_width)                                as width,
               round(ogd.child_height)                               as height,
               fc.quantity,
               CONCAT(round(ogd.child_width)  , ' X ', round(ogd.child_height)   ,' = ',fc.quantity )           as size,
               od.order_number                                       as orderNumber,
               fc.technology_number                                  as technologyNumber,
               od.building_number                                    as buildingNumber,
@@ -2094,6 +2101,11 @@
               width,
               height,
               #{printQuantity}                                      as quantity,
               CONCAT(
                   TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(width AS CHAR))),
                   ' X ',
                   TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(height AS CHAR))),
                   ' = ',#{printQuantity} )      as size,
               od.order_number                                       as orderNumber,
               fc.technology_number                                  as technologyNumber,
               od.building_number                                    as buildingNumber,
@@ -2465,4 +2477,33 @@
        group by  order_id,od.order_number
        order by ogd.child_width desc,ogd.child_height desc
    </select>
    <delete id="deleteProcessMp">
        delete from sd.order_process_detail where process_id = #{processId} and technology_number= #{technologyNumber}
    </delete>
    <insert id="updateProcessMp">
        insert into sd.order_process_detail (order_id,
                                             process_id,
                                             order_number,
                                             technology_number,
                                             process,
                                             create_time)
        select fc.order_id,
               fc.process_id,
               fc.order_number,
               #{technologyNumber},
               #{process},
               NOW()
        from pp.flow_card as fc
        where fc.process_id = #{processId}
          and fc.order_number = #{number}
          and fc.technology_number = #{technologyNumber}
        GROUP BY fc.order_number
    </insert>
    <update id="updateOrderProcessMp">
        update sd.order_glass_detail set process=#{orderprocess}
        where order_id=#{orderId} and order_number=#{number} and technology_number=#{technologyNumber}
    </update>
</mapper>
north-glass-erp/src/main/resources/mapper/pp/Report.xml
@@ -152,6 +152,7 @@
        <result column="product_name" property="productName"/>
        <result column="bend_radius" property="bendRadius"/>
        <result column="glassNumber" property="glassNumber"/>
        <result column="teams_groups_name" property="teamsGroupsName"/>
    </resultMap>
    <!--    æµç¨‹å¡è¿›åº¦-->
@@ -338,7 +339,8 @@
        odpd.broken_num) / 1000000, 2) as stockArea,
        od.product_name,
        od.bend_radius,
        ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),'') AS glassNumber
        ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),'') AS glassNumber,
        rws.teams_groups_name
        from sd.order_detail AS od
        LEFT JOIN sd.order_glass_detail AS ogd
@@ -374,6 +376,14 @@
        and c.technology_number = fc.technology_number
        left join sd.`order` as o
        on o.order_id = od.order_id
        left join
        (
        select a.process_id,a.teams_groups_name,a.next_process,b.technology_number,b.order_number
        from reporting_work  as a
        left join reporting_work_detail as b on a.reporting_work_id=b.reporting_work_id
        GROUP BY a.process_id,a.teams_groups_name,a.next_process,b.order_number,b.technology_number
        ) as rws on rws.process_id=fc.process_id and rws.order_number=fc.order_number
                        and  rws.technology_number=fc.technology_number and rws.next_process=#{selectProcesses}
        where LENGTH(fc.process_id) = 14
        and odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count -
        odpd.broken_num != 0
@@ -447,6 +457,14 @@
        and c.technology_number = fc.technology_number
        left join sd.`order` as o
        on o.order_id = od.order_id
        left join
        (
        select a.process_id,a.teams_groups_name,a.next_process,b.technology_number,b.order_number
        from reporting_work  as a
        left join reporting_work_detail as b on a.reporting_work_id=b.reporting_work_id
        GROUP BY a.process_id,a.teams_groups_name,a.next_process,b.order_number,b.technology_number
        ) as rws on rws.process_id=fc.process_id and rws.order_number=fc.order_number
        and  rws.technology_number=fc.technology_number and rws.next_process=#{selectProcesses}
        where LENGTH(fc.process_id) = 14
        and odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count -
        odpd.broken_num != 0
@@ -1430,7 +1448,8 @@
        sum(ROUND(ogd.child_width * ogd.child_height *
        (odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count -
        odpd.broken_num) / 1000000, 2)) as stockArea,
        od.product_name
        od.product_name,
        rws.teams_groups_name
        from sd.order_detail AS od
        LEFT JOIN sd.order_glass_detail AS ogd
@@ -1466,6 +1485,14 @@
        and c.technology_number = fc.technology_number
        left join sd.`order` as o
        on o.order_id = od.order_id
        left join
        (
        select a.process_id,a.teams_groups_name,a.next_process,b.technology_number,b.order_number
        from reporting_work  as a
        left join reporting_work_detail as b on a.reporting_work_id=b.reporting_work_id
        GROUP BY a.process_id,a.teams_groups_name,a.next_process,b.order_number,b.technology_number
        ) as rws on rws.process_id=fc.process_id and rws.order_number=fc.order_number
        and  rws.technology_number=fc.technology_number and rws.next_process=#{selectProcesses}
        where LENGTH(fc.process_id) = 14
        and odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count -
        odpd.broken_num != 0
@@ -1527,6 +1554,14 @@
        and c.technology_number = fc.technology_number
        left join sd.`order` as o
        on o.order_id = od.order_id
        left join
        (
        select a.process_id,a.teams_groups_name,a.next_process,b.technology_number,b.order_number
        from reporting_work  as a
        left join reporting_work_detail as b on a.reporting_work_id=b.reporting_work_id
        GROUP BY a.process_id,a.teams_groups_name,a.next_process,b.order_number,b.technology_number
        ) as rws on rws.process_id=fc.process_id and rws.order_number=fc.order_number
        and  rws.technology_number=fc.technology_number and rws.next_process=#{selectProcesses}
        where LENGTH(fc.process_id) = 14
        and odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count -
        odpd.broken_num != 0
@@ -1562,7 +1597,8 @@
        sum(ROUND(ogd.child_width * ogd.child_height *
        (odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count -
        odpd.broken_num) / 1000000, 2)) as stockArea,
        od.product_name
        od.product_name,
        rws.teams_groups_name
        from sd.order_detail AS od
        LEFT JOIN sd.order_glass_detail AS ogd
@@ -1598,6 +1634,14 @@
        and c.technology_number = fc.technology_number
        left join sd.`order` as o
        on o.order_id = od.order_id
        left join
        (
        select a.process_id,a.teams_groups_name,a.next_process,b.technology_number,b.order_number
        from reporting_work  as a
        left join reporting_work_detail as b on a.reporting_work_id=b.reporting_work_id
        GROUP BY a.process_id,a.teams_groups_name,a.next_process,b.order_number,b.technology_number
        ) as rws on rws.process_id=fc.process_id and rws.order_number=fc.order_number
        and  rws.technology_number=fc.technology_number and rws.next_process=#{selectProcesses}
        where LENGTH(fc.process_id) = 14
        and odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count -
        odpd.broken_num != 0
@@ -1662,6 +1706,14 @@
        and c.technology_number = fc.technology_number
        left join sd.`order` as o
        on o.order_id = od.order_id
        left join
        (
        select a.process_id,a.teams_groups_name,a.next_process,b.technology_number,b.order_number
        from reporting_work  as a
        left join reporting_work_detail as b on a.reporting_work_id=b.reporting_work_id
        GROUP BY a.process_id,a.teams_groups_name,a.next_process,b.order_number,b.technology_number
        ) as rws on rws.process_id=fc.process_id and rws.order_number=fc.order_number
        and  rws.technology_number=fc.technology_number and rws.next_process=#{selectProcesses}
        where LENGTH(fc.process_id) = 14
        and odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count -
        odpd.broken_num != 0
north-glass-erp/src/main/resources/mapper/pp/ReportingWork.xml
@@ -987,7 +987,7 @@
        from reporting_work as a
        left join reporting_work_detail as b on a.reporting_work_id = b.reporting_work_id
        where this_process=#{previousProcess} and reviewed_state=0 and process_id= #{processIdStr}
        and  POSITION(b.technology_number in #{technologyStr})
        GROUP BY a.reporting_work_id,b.order_number,b.technology_number
        ) as rws
        on rws.process_id = fc.process_id and rws.order_number=fc.order_number and rws.technology_number=fc.technology_number
north-glass-erp/src/main/resources/mapper/sd/DeliveryMapper.xml
@@ -249,7 +249,8 @@
    <select id="getSelectShippingOrderDetailPrinting" >
        select
        d.order_id,d.quantity,round(d.money,0) as money ,d.area,d.project,
        d.customer_id,d.customer_name,d.creator,d.salesman,d.salesman_id
        d.customer_id,d.customer_name,d.creator,d.salesman,d.salesman_id,
        d.processing_note
        from sd.`order` d
        <where>
            <if test="orderDetail.orderId != null and orderDetail.orderId != ''">