guoyuji
2024-01-08 d5868d38cd7d46c52da971d7d0388d229495d729
Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override
62个文件已修改
11个文件已添加
1个文件已删除
5141 ■■■■■ 已修改文件
.idea/.gitignore 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/ERP_override.iml 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/compiler.xml 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/encodings.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/jarRepositories.xml 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/misc.xml 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/modules.xml 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/vcs.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/router/index.js 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/mainIngredient/SelectIngredients.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/AccessoriesMonthlySettlement.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/CreateIngredientsStock.vue 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/IngredientsStock.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/MaterialOutbound.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/OriginalMonthlySettlement.vue 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/ReturnToStorage.vue 256 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/ReturnToStorageCreate.vue 193 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/SelectIngredientsStock.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/mainProductStock/FinishedGoodsIssue.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/mainProductStock/FinishedProductOut.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/mainProductStock/FinishedProductReturn.vue 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/mainProductStock/FinishedProductRework.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/mainProductStock/OrderAllocation.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/mainProductStock/ProductStockList.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/mainProductStock/ReworkRecord.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/mainProductStock/TakeOutRecord.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/mainProductStock/TransferRecord.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/mainTrader/SelectTrader.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/Create.vue 471 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/Details.vue 453 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/Payment.vue 164 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/PurchaseOrder.vue 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/Return.vue 400 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/Select.vue 377 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/Storage.vue 381 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/mm/stockReport/StockReport.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/BOM/BenchmarkBOM.vue 130 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/BOM/OrderBOM.vue 147 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/BOM/OrderBOMDetails.vue 112 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/BOM/SelectBOM.vue 122 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/BOM/StandardBOM.vue 108 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/BOM/StandardBOMDetail.vue 99 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/Replenish/AddReplenish.vue 289 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/Replenish/PrintReplenishFlowCard.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/Replenish/SelectReplenish.vue 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/machine/AddMachine.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/machine/MaintenanceAndRepair.vue 84 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/machine/SelectMachine.vue 131 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCard.vue 151 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/ProductionScheduling.vue 139 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/SelectAddProcess.vue 178 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/SelectProcessCard.vue 176 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/processCard/SplittingDetails.vue 69 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/report/DamageReport.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/report/EquipmentOutput.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/report/OrderBOMOutside.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/report/OrderPlanDecomposition.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/report/ProcessToBeCompleted.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/report/ProductionSchedule.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/report/QualityReport.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/report/RawMaterialRequisition.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/report/SplittingDetailsOutside.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/report/TaskCompletionStatus.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/report/TeamOutput.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/report/WorkInProgress.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/report/Yield.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/reportingWorks/QualityInReviewDetail.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/reportingWorks/QualityInspectionReview.vue 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/reportingWorks/SelectReportingWorks.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/rework/AddRework.vue 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/rework/SelectRework.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/workOrder/AddWorkOrder.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/workOrder/SelectWorkOrder.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
.idea/.gitignore
New file
@@ -0,0 +1,8 @@
# Default ignored files
/shelf/
/workspace.xml
# Editor-based HTTP Client requests
/httpRequests/
# Datasource local storage ignored files
/dataSources/
/dataSources.local.xml
.idea/ERP_override.iml
New file
@@ -0,0 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="JAVA_MODULE" version="4">
  <component name="NewModuleRootManager" inherit-compiler-output="true">
    <exclude-output />
    <content url="file://$MODULE_DIR$" />
    <orderEntry type="inheritedJdk" />
    <orderEntry type="sourceFolder" forTests="false" />
  </component>
</module>
.idea/compiler.xml
New file
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="CompilerConfiguration">
    <annotationProcessing>
      <profile name="Maven default annotation processors profile" enabled="true">
        <sourceOutputDir name="target/generated-sources/annotations" />
        <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
        <outputRelativeToContentRoot value="true" />
        <module name="erp" />
      </profile>
    </annotationProcessing>
  </component>
  <component name="JavacSettings">
    <option name="ADDITIONAL_OPTIONS_OVERRIDE">
      <module name="erp" options="-parameters" />
    </option>
  </component>
</project>
.idea/encodings.xml
New file
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="Encoding">
    <file url="file://$PROJECT_DIR$/north-glass-erp/src/main/java" charset="UTF-8" />
  </component>
</project>
.idea/jarRepositories.xml
New file
@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="RemoteRepositoriesConfiguration">
    <remote-repository>
      <option name="id" value="central" />
      <option name="name" value="Central Repository" />
      <option name="url" value="https://repo.maven.apache.org/maven2" />
    </remote-repository>
    <remote-repository>
      <option name="id" value="nexus-aliyun" />
      <option name="name" value="nexus-aliyun" />
      <option name="url" value="http://maven.aliyun.com/nexus/content/groups/public/" />
    </remote-repository>
    <remote-repository>
      <option name="id" value="central" />
      <option name="name" value="Maven Central repository" />
      <option name="url" value="https://repo1.maven.org/maven2" />
    </remote-repository>
    <remote-repository>
      <option name="id" value="jboss.community" />
      <option name="name" value="JBoss Community repository" />
      <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
    </remote-repository>
  </component>
</project>
.idea/misc.xml
New file
@@ -0,0 +1,13 @@
<project version="4">
  <component name="ExternalStorageConfigurationManager" enabled="true" />
  <component name="MavenProjectsManager">
    <option name="originalFiles">
      <list>
        <option value="$PROJECT_DIR$/north-glass-erp/pom.xml" />
      </list>
    </option>
  </component>
  <component name="ProjectRootManager" version="2" languageLevel="JDK_1_8" default="true" project-jdk-name="1.8" project-jdk-type="JavaSDK">
    <output url="file://$PROJECT_DIR$/out" />
  </component>
</project>
.idea/modules.xml
New file
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="ProjectModuleManager">
    <modules>
      <module fileurl="file://$PROJECT_DIR$/.idea/ERP_override.iml" filepath="$PROJECT_DIR$/.idea/ERP_override.iml" />
    </modules>
  </component>
</project>
.idea/vcs.xml
New file
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
  <component name="VcsDirectoryMappings">
    <mapping directory="" vcs="Git" />
  </component>
</project>
north-glass-erp/northglass-erp/src/router/index.js
@@ -660,11 +660,25 @@
              name: 'materialOutbound',
              component:()=>import('../views/mm/mainIngredientStock/MaterialOutbound.vue')
            },
              //出库新增
            {
              path:'createOutBound',
              name:'createOutBound',
              component:()=>import('../views/mm/mainIngredientStock/CreateOutBound.vue')
            },
            //返库
            {
              path:'returnToStorage',
              name:'returnToStorage',
              component:()=>import('../views/mm/mainIngredientStock/ReturnToStorage.vue')
            },
            //返库新增
            {
              path:'returnToStorageCreate',
              name:'returnToStorageCreate',
              component:()=>import('../views/mm/mainIngredientStock/ReturnToStorageCreate.vue')
            },
            {
              path: '',
              redirect:'/main/ingredientsStock/SelectIngredientsStock'
north-glass-erp/northglass-erp/src/views/mm/mainIngredient/SelectIngredients.vue
@@ -147,11 +147,11 @@
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      下拉显示所有信息插槽-->
      <template #content="{ row}">
      <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  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>
@@ -161,7 +161,7 @@
        <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">编辑</el-button>
        <el-button @click="getTableRow(row,'delete')" link type="primary" size="small">删除</el-button>
      </template>
      <!--      下拉详情循环显示中文   -->
      <template #num1_filter="{ column, $panel }">
        <div>
          <div v-for="(option, index) in column.filters" :key="index">
north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/AccessoriesMonthlySettlement.vue
@@ -216,11 +216,11 @@
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      下拉显示所有信息插槽-->
      <template #content="{ row}">
      <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  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>
north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/CreateIngredientsStock.vue
File was deleted
north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/IngredientsStock.vue
@@ -26,6 +26,7 @@
        <el-breadcrumb-item @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''" :to="{ path: '/main/ingredientsStock/MaterialOutbound' }">物料出库</el-breadcrumb-item>
        <el-breadcrumb-item @click="changeRouter(3)" :class="indexFlag===3?'indexTag':''" :to="{ path: '/main/ingredientsStock/OriginalMonthlySettlement' }">原片月结</el-breadcrumb-item>
        <el-breadcrumb-item @click="changeRouter(4)" :class="indexFlag===4?'indexTag':''" :to="{ path: '/main/ingredientsStock/AccessoriesMonthlySettlement' }">辅料月结</el-breadcrumb-item>
        <el-breadcrumb-item @click="changeRouter(5)" :class="indexFlag===5?'indexTag':''" :to="{ path: '/main/ingredientsStock/ReturnToStorage' }">返库</el-breadcrumb-item>
        <el-breadcrumb-item v-show="false" :to="{ path: '/main/order/orderReport' }">报表</el-breadcrumb-item>
      </el-breadcrumb>
north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/MaterialOutbound.vue
@@ -211,11 +211,11 @@
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      下拉显示所有信息插槽-->
      <template #content="{ row}">
      <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  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>
north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/OriginalMonthlySettlement.vue
@@ -217,15 +217,14 @@
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      下拉显示所有信息插槽-->
      <template #content="{ row}">
      <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  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>
north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/ReturnToStorage.vue
New file
@@ -0,0 +1,256 @@
<!--返库-->
<script setup>
import {reactive, ref} from "vue";
import {useRouter} from  'vue-router'
let router=useRouter()
const getTableRow = (row,type) =>{
  switch (type) {
    case 'edit' :{
      alert('我接收到子组件传送的编辑信息')
      router.push({path: '/main/ingredientsStock/CreateOutbound', query: { id: row.id }})
      break
    }
    case 'delete':{
      alert('我接收到子组件传送的删除信息')
      break
    }
  }
}
//子组件接收参数
const gridOptions = reactive({
  border:  "full",//表格加边框
  keepSource: true,//保持源数据
  align: 'center',//文字居中
  stripe:true,//斑马纹
  rowConfig: {isCurrent: true, isHover: true,height: 50},//鼠标移动或选择高亮
  id: 'CustomerList',
  showFooter: true,//显示脚
  printConfig: {},
  importConfig: {},
  exportConfig: {},
  scrollY:{ enabled: true },//开启虚拟滚动
  showOverflow:true,
  columnConfig: {
    resizable: true,
    useKey: true
  },
  filterConfig: {   //筛选配置项
    remote: true
  },
  customConfig: {
    storage: true
  },
  editConfig: {
    trigger: 'click',
    mode: 'row',
    showStatus: true
  },//表头参数
  columns:[
    {type:'expand',fixed:"left",slots: { content:'content' },width: '50'},
    {title: '操作', width: '110', slots: { default: 'button_slot' },fixed:"left"},
    // { type: 'checkbox',fixed:"left", title: '选择', width: '80' },
    { type: 'seq',fixed:"left", title: '自序', width: '80' },
    {title: '审核', width: 50, slots: { default: 'state' },},
    {field: 'ReturnNum', width:'150', title: '返库编号', sortable: true,editRender: { name: 'input', attrs: { placeholder: '' } } },
    {field: 'SalesNum', width: '150',title: '销售单号', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'ReturnType', width: '120',title: '返库类型', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'DocumentType',width: '100', title: '单据类型', sortable: true},
    {field: 'ProjectName', width:'150', title: '项目名称', sortable: true,editRender: { name: 'input', attrs: { placeholder: '' } } },
    {field: 'MaterialCode', width: '100',title: '物料编码', sortable: true},
    {field: 'MaterialName',width: '100', title: '物料名称', sortable: true,showOverflow:"ellipsis"},
    {field: 'Width', width: '80',title: '宽度', sortable: true},
    {field: 'Height',width: '100', title: '高度', sortable: true},
    {field: 'Thickness', width: '100',title: '厚度', sortable: true},
    {field: 'OriginPlace',width: '100', title: '产地', sortable: true},
    {field: 'SaveQuantity', width: '100',title: '节约数量', sortable: true},
    {field: 'Type', width: '100',title: '类型', sortable: true},
    {field: 'Supplier',width: '140', title: '领料员/供应商', sortable: true},
    {field: 'ClassGroup',width: '100', title: '班组/供应商', sortable: true},
    {field: 'WarehouseKeeper',width: '100', title: '仓管员', sortable: true},
    {field: 'Remark',width: '100', title: '备注', sortable: true},
    {field: 'MakingData',width: '100', title: '制单日期', sortable: true},
  ],//表头按钮
  toolbarConfig: {
    buttons: [{
      code:'add','name': '返库新增',status:'primary'
    }],
    import: false,
    export: true,
    print: true,
    zoom: true,
    custom: true
  },
  data:  [
    {
      "ReturnNum": "FK24010811",
      "SalesNum": "运输材料破损",
      "ReturnType": "采购破损",
      "DocumentType": "审核",
      "ProjectName": "",
      "MaterialCode": "80010128003308035401530000",
      "MaterialName": "白玻-3厘-制镜-优质加工级",
      "Width": '3540.00',
      "Height": "1530.00",
      "Thickness": "3.00",
      "OriginPlace": "广西南宁",
      "SaveQuantity": "1.000",
      "Type": "直接返库",
      "Supplier": "广西南宁伏法",
      "ClassGroup": "曲惠霞",
      "WarehouseKeeper": "曲惠霞",
      "Remark": "2401060345",
      "MakingData": "2024-01-08 08:41:09",
    },
    {
      "ReturnNum": "FK24010811",
      "SalesNum": "运输材料破损",
      "ReturnType": "采购破损",
      "DocumentType": "审核",
      "ProjectName": "",
      "MaterialCode": "80010128003308035401530000",
      "MaterialName": "白玻-3厘-制镜-优质加工级",
      "Width": '3540.00',
      "Height": "1530.00",
      "Thickness": "3.00",
      "OriginPlace": "广西南宁",
      "SaveQuantity": "1.000",
      "Type": "直接返库",
      "Supplier": "广西南宁伏法",
      "ClassGroup": "曲惠霞",
      "WarehouseKeeper": "曲惠霞",
      "Remark": "2401060345",
      "MakingData": "2024-01-08 08:41:09",
    },
    {
      "ReturnNum": "FK24010811",
      "SalesNum": "运输材料破损",
      "ReturnType": "采购破损",
      "DocumentType": "审核",
      "ProjectName": "",
      "MaterialCode": "80010128003308035401530000",
      "MaterialName": "白玻-3厘-制镜-优质加工级",
      "Width": '3540.00',
      "Height": "1530.00",
      "Thickness": "3.00",
      "OriginPlace": "广西南宁",
      "SaveQuantity": "1.000",
      "Type": "直接返库",
      "Supplier": "广西南宁伏法",
      "ClassGroup": "曲惠霞",
      "WarehouseKeeper": "曲惠霞",
      "Remark": "2401060345",
      "MakingData": "2024-01-08 08:41:09",
    },
  ],//table body实际数据
  footerMethod ({ columns, data }) {//页脚函数
    return[
      columns.map((column, columnIndex) => {
        if (columnIndex === 0) {
          return '合计:'
        }
        // if (props.tableProp.footList.includes(column.field)) {
        //   return sumNum(data, column.field)
        // }
        return ''
      })
    ]
  }
})
const  xGrid = ref();
const gridEvents = {
  toolbarButtonClick({ code }) {
    const $grid = xGrid.value
    if($grid){
      switch (code){
        case 'add':{
          /*VXETable.modal.confirm('点击了库存调拨');*/
          router.push({path: '/main/ingredientsStock/ReturnToStorageCreate'});
          return;
          break
        }
      }
    }
  }
}
</script>
<template>
  <div class="main-div-customer">
    <el-row gutter="10" >
      <el-col :span="2.5">
        <div class="label-text">优化日期</div>
      </el-col>
      <el-col :span="4">
        <el-date-picker
            type="daterange"
            start-placeholder="开始时间"
            end-placeholder="结束时间"
            style="width: 200px;"
        />
      </el-col>
      <el-col span="4">
        <el-button id="searchButton" type="primary" :icon="Search">查询</el-button>
      </el-col>
    </el-row>
    <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')" link type="primary" size="small">编辑</el-button>
        <el-button @click="getTableRow(row,'delete')" 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" @input="changeFilterEvent($event, option, $panel)"/>
          </div>
        </div>
      </template>
      <template #state="{ row}">
        <el-checkbox checked/>
      </template>
    </vxe-grid>
  </div>
</template>
<style scoped>
.main-div-customer{
  width: 99%;
  height: 100%;
}
</style>
north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/ReturnToStorageCreate.vue
New file
@@ -0,0 +1,193 @@
<script setup>
import {reactive, ref} from "vue"
import {VXETable} from "vxe-table"
import {useRouter} from "vue-router"
const router = useRouter()
const xGrid = ref()
const gridOptions = reactive({
  border:  "full",//表格加边框
  keepSource: true,//保持源数据
  align: 'center',//文字居中
  stripe:true,//斑马纹
  rowConfig: {isCurrent: true, isHover: true,height: 50},//鼠标移动或选择高亮
  id: 'OrderList',
  showFooter: true,//显示脚
  printConfig: {},
  importConfig: {},
  exportConfig: {},
  scrollY:{ enabled: true },//开启虚拟滚动
  showOverflow:true,
  columnConfig: {
    resizable: true,
    useKey: true
  },
  filterConfig: {   //筛选配置项
    remote: true
  },
  customConfig: {
    storage: true
  },
  editConfig: {
    trigger: 'click',
    mode: 'row',
    showStatus: true
  },//表头参数
  columns:[
    {type: 'seq',fixed:"left", title: '自序', width: 80 },
    {field: 'orderID',width:120,  title: '物料编码',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: 'orderID',width:120,  title: '物料名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: 'orderID',width:120,  title: '产地',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: 'orderID',width:120,  title: '宽度',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: 'orderID',width:120,  title: '高度',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: 'orderID',width:120,  title: '厚度',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: 'orderID',width:120,  title: '库存编号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: 'orderID',width:120,  title: '等级',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: 'orderID',width:120,  title: '面积',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: 'orderID',width:120,  title: '换算率',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: 'orderID',width:120,  title: '未领数量',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: 'orderID',width:120,  title: '返库数量',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: 'orderID',width:120,  title: '总数量',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: 'orderID',width:120,  title: '库区',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: 'orderID',width:120,  title: '库位',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: 'orderID',width:120,  title: '工程单号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: 'orderID',width:120,  title: '生产日期',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: 'orderID',width:120,  title: '备注',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
  ],//表头按钮
  toolbarConfig: {
    buttons: [
    ],
    import: false,
    export: true,
    print: true,
    zoom: true,
    custom: true
  },
  data:  [
  ],//table body实际数据
  footerMethod ({ columns, data }) {//页脚函数
    return[
      columns.map((column, columnIndex) => {
        if (columnIndex === 0) {
          return '合计:'
        }
        // if (props.tableProp.footList.includes(column.field)) {
        //   return sumNum(data, column.field)
        // }
        return ''
      })
    ]
  }
})
const gridEvents = {
  toolbarButtonClick ({ code }) {
    const $grid = xGrid.value
    if ($grid) {
      switch (code) {
        case 'Craft': {
          router.push({path: '/main/order/updateOrderCraft', query: { orderID: 12123 }})
          break
        }
      }
    }
  }
}
</script>
<template>
  <div class="main-div">
    <div class="order-primary" style="background-color: white">
      <el-row>
        <el-col  :span="2"><el-text>交货日期:</el-text></el-col>
        <el-col  :span="4">
          <el-date-picker
              type="week"
              format="[Week] ww"
              placeholder="选择日期"/>
        </el-col>
        <el-col  :span="2"><el-text>*退料员/供应商:</el-text></el-col>
        <el-col  :span="4"><el-input/></el-col>
        <el-col  :span="2"><el-text>*退料班组:</el-text></el-col>
        <el-col  :span="4">
          <el-select  clearable placeholder=" " >
            <el-option/>
          </el-select>
        </el-col>
        <el-col  :span="2"><el-text>*制单员:</el-text></el-col>
        <el-col  :span="4">
          <el-select  clearable placeholder=" " >
            <el-option />
          </el-select>
        </el-col>
        <!--      <el-col :span="2"><el-text  /></el-col>-->
      </el-row>
      <el-row>
        <el-col  :span="2"><el-text>*出库类型:</el-text></el-col>
        <el-col  :span="4">
          <el-select  clearable placeholder=" " >
            <el-option/>
          </el-select>
        </el-col>
        <el-col  :span="2"><el-text>订单编号:</el-text></el-col>
        <el-col  :span="4"><el-text /></el-col>
        <el-col  :span="2"><el-text>项目名称:</el-text></el-col>
        <el-col  :span="4"><el-text /></el-col>
        <el-col  :span="2"><el-text>批次号:</el-text></el-col>
        <el-col  :span="4"><el-text /></el-col>
      </el-row>
    </div>
    <div class="order-detail">
      <vxe-grid
          max-height="97%"
          class="mytable-scrollbar"
          ref="xGrid"
          v-bind="gridOptions"
          v-on="gridEvents"
      >
        <template #num1_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>
        </template>
      </vxe-grid>
      <el-row justify="center">
          <el-button  id="searchButton" type="primary" :icon="Search" style="margin-right:20px;">清除</el-button>
          <el-button  id="searchButton" type="primary" :icon="save" style="margin-left:20px;">确定</el-button>
      </el-row>
    </div>
  </div>
</template>
<style scoped>
.main-div {
  width: 100%;
  height: 100%;
  text-align: center;
}
.el-col{
  border: #181818 1px solid;
}
:deep(.el-input__wrapper) {
  box-shadow: 0 0 0 0 var(--el-input-border-color, var(--el-border-color)) inset;
  cursor: default;
  border: none !important;
  background-color: transparent;
}
.order-primary{
  width: 100%;
}
.order-detail{
  width: 100%;
  height: 80%;
}
</style>
north-glass-erp/northglass-erp/src/views/mm/mainIngredientStock/SelectIngredientsStock.vue
@@ -188,11 +188,11 @@
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      下拉显示所有信息插槽-->
      <template #content="{ row}">
      <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  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>
north-glass-erp/northglass-erp/src/views/mm/mainProductStock/FinishedGoodsIssue.vue
@@ -208,11 +208,11 @@
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      下拉显示所有信息插槽-->
      <template #content="{ row}">
      <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  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>
north-glass-erp/northglass-erp/src/views/mm/mainProductStock/FinishedProductOut.vue
@@ -281,11 +281,11 @@
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      下拉显示所有信息插槽-->
      <template #content="{ row}">
      <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  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>
north-glass-erp/northglass-erp/src/views/mm/mainProductStock/FinishedProductReturn.vue
@@ -149,15 +149,14 @@
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      下拉显示所有信息插槽-->
      <template #content="{ row}">
      <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  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>
north-glass-erp/northglass-erp/src/views/mm/mainProductStock/FinishedProductRework.vue
@@ -209,11 +209,11 @@
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      下拉显示所有信息插槽-->
      <template #content="{ row}">
      <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  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>
north-glass-erp/northglass-erp/src/views/mm/mainProductStock/OrderAllocation.vue
@@ -208,11 +208,11 @@
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      下拉显示所有信息插槽-->
      <template #content="{ row}">
      <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  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>
north-glass-erp/northglass-erp/src/views/mm/mainProductStock/ProductStockList.vue
@@ -255,11 +255,11 @@
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      下拉显示所有信息插槽-->
      <template #content="{ row}">
      <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  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>
north-glass-erp/northglass-erp/src/views/mm/mainProductStock/ReworkRecord.vue
@@ -195,11 +195,11 @@
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      下拉显示所有信息插槽-->
      <template #content="{ row}">
      <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  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>
north-glass-erp/northglass-erp/src/views/mm/mainProductStock/TakeOutRecord.vue
@@ -187,11 +187,11 @@
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      下拉显示所有信息插槽-->
      <template #content="{ row}">
      <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  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>
north-glass-erp/northglass-erp/src/views/mm/mainProductStock/TransferRecord.vue
@@ -166,11 +166,11 @@
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      下拉显示所有信息插槽-->
      <template #content="{ row}">
      <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  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>
north-glass-erp/northglass-erp/src/views/mm/mainTrader/SelectTrader.vue
@@ -183,11 +183,11 @@
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      下拉显示所有信息插槽-->
      <template #content="{ row}">
      <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  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>
north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/Create.vue
@@ -1,81 +1,103 @@
<template>
  <el-header height="auto">
    <el-form label-width="100px" :inline="true" :model="formInline" class="demo-form-inline">
      <el-row :gutter="10">
        <el-col :span="6">
          <el-form-item label="采购类型" class="item-style">
            <el-select v-model="form.buyType" class="m-2" placeholder="选择采购类型" clearable>
              <el-option
                  v-for="item in CGTypeOptions"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value"
              />
            </el-select>
          </el-form-item>
        </el-col>
        <el-col :span="6">
          <el-form-item label="采购部门" class="item-style">
            <el-select v-model="cgBuMen" class="m-2" placeholder="选择采购部门" clearable>
              <el-option
                  v-for="item in CGBuMenOptions"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value"
              />
            </el-select>
          </el-form-item>
        </el-col>
        <el-col :span="6">
          <el-form-item label="供应商" class="item-style">
            <el-cascader
                placeholder="选择供应商"
                :options="buyerOptions"
                filterable
                clearable
                empty-text="empty-text"
                :v-model="form.supplier"
            >
            </el-cascader>
          </el-form-item>
        </el-col>
        <el-col :span="6">
          <el-form-item label="采购员" class="item-style">
            <el-select v-model="form.buyer" class="m-2" placeholder="选择采购部门" clearable>
              <el-option
                  v-for="item in BuyerOptions"
                  :key="item.value"
                  :label="item.label"
                  :value="item.value"
              />
            </el-select>
          </el-form-item>
        </el-col>
    <el-descriptions
        class="margin-top"
        title=""
        :column="4"
        :size="'default'"
        border
        :rules="rules"
        :model="ruleForm"
    >
      </el-row>
      <el-descriptions-item label-class-name="label-diy" class-name="content-diy" prop="name">
        <template #label>
          <span style="color:red">*</span>
          采购类型
        </template>
<!--        <el-select v-model="form.buyType" class="m-2" placeholder="选择采购类型" clearable>-->
        <el-select v-model="ruleForm.name" class="m-2" placeholder="选择采购类型" clearable>
          <el-option
              v-for="item in CGTypeOptions"
              :key="item.value"
              :label="item.label"
              :value="item.value"
          />
        </el-select>
      </el-descriptions-item >
      <el-row :gutter="10">
        <el-col :span="6">
          <el-form-item label="采购组织" class="item-style">
            <el-input v-model="form.buyItem" placeholder="采购组织" clearable></el-input>
          </el-form-item>
        </el-col>
        <el-col :span="6">
          <el-form-item label="制表日期" class="item-style">
      <el-descriptions-item label-class-name="label-diy" class-name="content-diy">
        <template #label>
          <span style="color:red">*</span>
          采购组织
        </template>
        <el-input v-model="ruleForm.name" placeholder="采购组织" clearable prop="name"></el-input>
      </el-descriptions-item>
            <el-date-picker
                v-model="form.date"
                type="date"
                placeholder="选择制表日期"
                style="width: 100%"
            />
      <el-descriptions-item label-class-name="label-diy" class-name="content-diy">
        <template #label>
          <span style="color:red">*</span>
          供应商
        </template>
        <el-cascader
            placeholder="选择供应商"
            :options="buyerOptions"
            filterable
            clearable
            empty-text="empty-text"
            :v-model="form.supplier"
        >
        </el-cascader>
      </el-descriptions-item>
          </el-form-item>
        </el-col>
        <el-col :span="6"></el-col>
      <el-descriptions-item label-class-name="label-diy" class-name="content-diy">
        <template #label>
          <span style="color:red">*</span>
          采购部门
        </template>
        <el-select v-model="cgBuMen" class="m-2" placeholder="选择采购部门" clearable>
          <el-option
              v-for="item in CGBuMenOptions"
              :key="item.value"
              :label="item.label"
              :value="item.value"
          />
        </el-select>
      </el-descriptions-item>
      </el-row>
    </el-form>
      <el-descriptions-item label-class-name="label-diy" class-name="content-diy">
        <template #label>
          <span style="color:red">*</span>
          采购员
        </template>
        <el-select v-model="form.buyer" class="m-2" placeholder="选择采购员" clearable>
          <el-option
              v-for="item in BuyerOptions"
              :key="item.value"
              :label="item.label"
              :value="item.value"
          />
        </el-select>
      </el-descriptions-item>
      <el-descriptions-item label-class-name="label-diy" class-name="content-diy"
      >
        <template #label>
          <span style="color:red">*</span>
          制表日期
        </template>
        <el-date-picker
            v-model="form.date"
            type="date"
            placeholder="选择制表日期"
        />
      </el-descriptions-item>
      <el-descriptions-item label-class-name="label-diy" class-name="content-diy"></el-descriptions-item>
    </el-descriptions>
  </el-header>
@@ -91,7 +113,7 @@
        class="mytable-scrollbar"
        ref="xGrid"
        v-bind="gridOptions"
        v-on="gridEvents"
        @="gridEvents"
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
@@ -115,7 +137,7 @@
      <template #num1_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)"/>
            <el-input v-model="option.data" @input="changeFilterEvent($event, option, $panel)" />
          </div>
        </div>
      </template>
@@ -125,8 +147,10 @@
</template>
<script setup>
<script lang="ts" setup>
import {ref, reactive} from 'vue'
import {useRouter} from "vue-router";
import {ElMessage, ElMessageBox} from "element-plus";
let router = useRouter()
@@ -163,7 +187,7 @@
    //{title: '操作', width: '8%', slots: {default: 'button_slot'}, fixed: "left"},
    {type: 'seq', fixed: "left", title: ' ', width: 50},
    {type: 'checkbox', fixed: "left", title: '', width: 50},
    {type: 'expand', title: '详情', fixed: "left", slots: {content: 'content'}, width: 50},
    //{type: 'expand', title: '详情', fixed: "left", slots: {content: 'content'}, width: 50},
    {
      field: 'cgdh',
      width: '10%',
@@ -203,7 +227,8 @@
      width: '8%',
      title: '高度', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/
      editRender: {name: 'input', attrs: {placeholder: ''}},
      sortable: true
      sortable: true,
      type: 'number'
    },
    {
      field: 'h',
@@ -310,12 +335,12 @@
        'name': '入库',
        status: 'primary',
        'code': 'Storage'
      },
      }/*,
      {
        'name': '退货',
        status: 'primary',
        'code': 'Return'
      }/*,
      },
      {
        'name': '返回查询',
@@ -356,7 +381,8 @@
    const $grid = xGrid.value
    if ($grid) {
      switch (code) {
        case 'Add': {//新增
//新增
        case 'Add': {
          const record = {
            checked: false
          }
@@ -365,83 +391,57 @@
          })
          break
        }
        case 'Remove': {//移除
//移除
        case 'Remove': {
          if ($grid.getCheckboxRecords().length === 0) {
            openAlert({type: 'message', content: '请选择至少一条数据', status: 'warning'})
            //VXETable.modal.message( '请选择一条数据!')
            MessageShow('请选择至少一条数据','warning');
            return
          } else {
            const type = VXETable.modal.confirm('您移除了' + $grid.getCheckboxRecords().length + '条数据!');
            //openAlert({type:'alert', content: '成功入库'+$grid.getCheckboxRecords().length+'条数据!', status: 'success' })
            //VXETable.modal.message( '请选择一条数据!')
            return
            MessageConfirmShow('移除','是否确认移除选中的' + $grid.getCheckboxRecords().length + '条数据!');
          }
          break
        }
        case 'Save': {//保存
          if (form.buyItem === null || form.buyItem === '') {
            openAlert({type: 'message', content: '采购组织不可为空', status: 'warning'})
//保存
        case 'Save': {
          /*if (form.buyItem === null || form.buyItem === '') {
            MessageShow('采购组织不可为空','warning');
            return;
          }
          return
          if (buyerOptions.values() <= 0) {
          }
          const type = VXETable.modal.confirm('是否确定保存当前订单信息?');
          openAlert({type: 'message', content: $grid.rows.number + '', status: 'warning'})
          return
          break
        }
        case 'GoSelect': {
          router.push({path: '/main/purchaseOrder/SelectPurchaseOrder'})
          break
        }
        case 'Storage': {//入库
          if ($grid.getCheckboxRecords().length === 0) {
            openAlert({type: 'message', content: '请选择至少一条数据', status: 'warning'})
            //VXETable.modal.message( '请选择一条数据!')
            return
          } else {
            const type = VXETable.modal.confirm('您选择了' + $grid.getCheckboxRecords().length + '条数据!,是否确认入库?');
            //openAlert({type:'alert', content: '成功入库'+$grid.getCheckboxRecords().length+'条数据!', status: 'success' })
            //VXETable.modal.message( '请选择一条数据!')
            return
          }
          break
        }
        case 'Return': {//退库
          if ($grid.getCheckboxRecords().length === 0) {
            openAlert({type: 'message', content: '请选择至少一条数据', status: 'warning'})
            //VXETable.modal.message( '请选择一条数据!')
            return
          } else {
            /*            async ()=>{
              const type = await.VXETable.modal.confirm('您选择了'+$grid.getCheckboxRecords().length+'条数据!,是否确认退库?');
            }*/
            const type = VXETable.modal.confirm('您选择了' + $grid.getCheckboxRecords().length + '条数据!,是否确认退库?');
            /* if(VXETable.modal.confirm('您选择了'+$grid.getCheckboxRecords().length+'条数据!,是否确认退库?' )){
              //openAlert({type:'message', content: '成功退库'+$grid.getCheckboxRecords().length+'条数据!', status: 'success',lockView: false, mask: false })
            }*/
            /* if(type==='confirm'){
              openAlert({type:'message', content: '成功退库'+$grid.getCheckboxRecords().length+'条数据!', status: 'success' })
            }
*/
            //openAlert({type:'alert', content: '成功退库'+$grid.getCheckboxRecords().length+'条数据!', status: 'success' })
            //VXETable.modal.message( '请选择一条数据!')
          //选中数据
          /* const $table = this.$refs.xTable
           const selectRecords = $table.getCheckboxRecords()*/
//+$grid.rows.number
          if ($grid.getCheckboxRecords().length === 0) {
            MessageShow('请选择至少一条数据','warning');
            return
          } else {
            MessageConfirmShow('保存订单','是否确定保存当前订单信息');
          }
          break
        }
//入库
        case 'Storage': {
          if ($grid.getCheckboxRecords().length === 0) {
            MessageShow('请选择至少一条数据','warning');
            return
          } else {
            MessageConfirmShow('入库','您选择了' + $grid.getCheckboxRecords().length + '条数据!,是否确认入库?')
          }
          break
        }
//退库
        case 'Return': {
          if ($grid.getCheckboxRecords().length === 0) {
            MessageShow('请选择至少一条数据','warning');
            return
          } else {
          }
          break
        }
@@ -463,14 +463,88 @@
}
const openAlert = (options) => {
  if (options.type === 'message') {
    VXETable.modal.message(options)
  } else {
    VXETable.modal.alert(options)
  }
import type { FormInstance, FormRules } from 'element-plus'
interface RuleForm {
  name: string
  region: string
  count: string
  date1: string
  date2: string
  delivery: boolean
  type: string[]
  resource: string
  desc: string
}
const ruleFormRef = ref<FormInstance>()
const ruleForm = reactive<RuleForm>({
  name: '',
  region: '',
  count: '',
  date1: '',
  date2: '',
  delivery: false,
  type: [],
  resource: '',
  desc: '',
})
const rules = reactive<FormRules<RuleForm>>({
  name: [
    { required: true, message: 'Please input Activity name', trigger: 'blur' },
    { min: 3, max: 5, message: 'Length should be 3 to 5', trigger: 'blur' },
  ],
  region: [
    {
      required: true,
      message: 'Please select Activity zone',
      trigger: 'change',
    },
  ],
  count: [
    {
      required: true,
      message: 'Please select Activity count',
      trigger: 'change',
    },
  ],
  date1: [
    {
      type: 'date',
      required: true,
      message: 'Please pick a date',
      trigger: 'change',
    },
  ],
  date2: [
    {
      type: 'date',
      required: true,
      message: 'Please pick a time',
      trigger: 'change',
    },
  ],
  type: [
    {
      type: 'array',
      required: true,
      message: 'Please select at least one activity type',
      trigger: 'change',
    },
  ],
  resource: [
    {
      required: true,
      message: 'Please select activity resource',
      trigger: 'change',
    },
  ],
  desc: [
    { required: true, message: 'Please input activity form', trigger: 'blur' },
  ],
})
const form = reactive({
@@ -487,10 +561,6 @@
  buyType: ''
})
const onSubmit = () => {
  console.log('submit!')
}
//供应商
const buyerOptions = [
@@ -573,23 +643,82 @@
]
import dayjs from 'dayjs'
import {VXETable} from "vxe-table";
import {useRouter} from "vue-router";
//页面逻辑代码执行
function logicExecute(type){
  const $grid = xGrid.value
  switch (type) {
    case '入库':
      //入库逻辑代码TODO
      MessageShow('入库成功!', 'success');
      break;
    case '退货':
      //退货逻辑代码TODO
      MessageShow('退货成功!', 'success');
      break;
    case '保存订单':
      //保存订单逻辑代码TODO
      const submitForm = async (formEl: FormInstance | undefined) => {
        if (!formEl) return
        await formEl.validate((valid, fields) => {
          if (valid) {
            console.log('submit!')
          } else {
            console.log('error submit!', fields)
          }
        })
      }
      MessageShow('订单保存成功!', 'success');
      break;
    case '移除':
      $grid.removeCheckboxRow();
      break;
    default:
      MessageShow('未知操作!', 'error');
      break;
  }
  return true;
}
//提示信息
const MessageShow = (content, type ) => {
  ElMessage({
    message: content,
    type: type,
    showClose: true,
  })
}
//操作确认类信息:操作类型,提示内容,提示标头,提示类型
const MessageConfirmShow = (czType, content, title='操作确认提示', type='warning') => {
  ElMessageBox.confirm(
      content,
      title,
      {
        cancelButtonText: '取消',
        confirmButtonText: '确定',
        type: type,
        center: true,
      }
  )
      //点击了确定
      .then(() => {
        return logicExecute(czType);
      })
      //点击了取消
      .catch(() => {
        return false;
      })
}
</script>
<style scoped>
.custom-header {
  .el-checkbox {
    display: flex;
    height: unset;
  }
}
.item-style {
  width: 300px;
:deep(.el-descriptions__table .label-diy) {
  text-align: center;
  width: 100px;
  /*font-size: large;*/
}
</style>
north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/Details.vue
New file
@@ -0,0 +1,453 @@
<template>
  <el-header height="auto">
    <el-descriptions
        class="margin-top"
        title=""
        :column="4"
        :size="'default'"
        border
    >
      <el-descriptions-item label-class-name="label-diy" class-name="content-diy">
        <template #label>
          操作单号
        </template>
        <el-input v-model="form.buyItem" placeholder="单号" disabled></el-input>
      </el-descriptions-item>
      <el-descriptions-item label-class-name="label-diy" class-name="content-diy">
        <template #label>
          采购类型
        </template>
        <el-input v-model="form.buyItem" placeholder="采购类型" disabled></el-input>
      </el-descriptions-item>
      <el-descriptions-item label-class-name="label-diy" class-name="content-diy">
        <template #label>
          采购部门
        </template>
        <el-input v-model="form.buyItem" placeholder="采购部门" disabled></el-input>
      </el-descriptions-item>
      <el-descriptions-item label-class-name="label-diy" class-name="content-diy">
        <template #label>
          供应商
        </template>
        <el-input v-model="form.buyItem" placeholder="供应商" disabled></el-input>
      </el-descriptions-item>
      <el-descriptions-item label-class-name="label-diy" class-name="content-diy">
        <template #label>
          采购员
        </template>
        <el-input v-model="form.buyItem" placeholder="采购员" disabled></el-input>
      </el-descriptions-item>
      <el-descriptions-item label-class-name="label-diy" class-name="content-diy">
        <template #label>
          采购组织
        </template>
        <el-input v-model="form.buyItem" placeholder="采购组织" disabled></el-input>
      </el-descriptions-item>
      <el-descriptions-item label-class-name="label-diy" class-name="content-diy">
        <template #label>
          制表日期
        </template>
        <el-date-picker
            v-model="form.date"
            type="date"
            placeholder="选择制表日期"
        />
      </el-descriptions-item>
      <el-descriptions-item label-class-name="label-diy" class-name="content-diy"></el-descriptions-item>
    </el-descriptions>
  </el-header>
  <el-main style="padding-top: 5px;height:100%">
    <vxe-grid
        max-height="500"
        @filter-change="filterChanged"
        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>
    </vxe-grid>
  </el-main>
</template>
<script setup>
import {ref, reactive} from 'vue'
let router = useRouter()
import {useRouter} from "vue-router";
import { ElMessage, ElMessageBox} from "element-plus";
const value = ref('')
//组件接收参数
const gridOptions = reactive({
  border: "full",//表格加边框
  keepSource: true,//保持源数据
  align: 'center',//文字居中
  stripe: true,//斑马纹
  rowConfig: {isCurrent: true, isHover: true, height: 50},//鼠标移动或选择高亮
  id: 'CustomerList',
  showFooter: true,//显示脚
  printConfig: {},
  importConfig: {},
  exportConfig: {},
  //开启虚拟滚动
  scrollY: {enabled: true},
  showOverflow: true,
  columnConfig: {
    resizable: true,
    useKey: true
  },
  //筛选配置项
  filterConfig: {
    remote: true
  },
  customConfig: {
    storage: true
  },
  editConfig: {
    trigger: 'click',
    mode: 'row',
    showStatus: true
  },
  //表头参数、列名
  columns: [
    {type: 'seq', fixed: "left", title: ' ', width: 50},
    {type: 'checkbox', fixed: "left", title: '', width: 50},
    {
      field: 'cgdh',
      width: '10%',
      title: '物料编码',
      filters: [{data: ''}],
      sortable: true
    },
    {
      field: 'cgzt',
      width: '10%',
      title: '物料名称',
      filters: [{data: ''}],
      sortable: true
    },
    {
      field: 'gys',
      width: '10%',
      title: '产地',
      filters: [{data: ''}],
      sortable: true
    },
    {
      field: 'w',
      width: '8%',
      title: '宽度',
      filters: [{data: ''}],
      sortable: true
    },
    {
      field: 'g',
      width: '8%',
      title: '高度',
      filters: [{data: ''}],
      sortable: true,
    },
    {
      field: 'h',
      width: '8%',
      title: '厚度',
      filters: [{data: ''}],
      sortable: true
    },
    {
      field: 'xh',
      width: '8%',
      title: '型号',
      filters: [{data: ''}],
      sortable: true
    },
    {
      field: 'dw',
      width: '8%',
      title: '单位',
      filters: [{data: ''}],
      sortable: true
    },
    {
      field: 'sl',
      width: '8%',
      title: '数量',
      filters: [{data: ''}],
      sortable: true
    },
    {
      field: 'czsl',
      width: '8%',
      title: '操作数量',
      type: 'number',
      editRender: {name: 'input', type: 'number', attrs: {placeholder: ''}}
    },
    {
      field: 'sl',
      width: '12%',
      title: '箱数',
      filters: [{data: ''}],
      sortable: true
    },
    {
      field: 'je',
      width: '8%',
      title: '单片面积',
      filters: [{data: ''}],
      sortable: true
    },
    {
      field: 'je',
      width: '12%',
      title: '单价',
      filters: [{data: ''}],
      sortable: true
    },
    {
      field: 'sl',
      width: '8%',
      title: '总面积',
      filters: [{data: ''}],
      sortable: true
    },
    {
      field: 'yl',
      width: '10%',
      title: '总金额',
      filters: [{data: ''}],
      sortable: true
    },
    {
      field: 'yl',
      width: '10%',
      title: '备注',
      filters: [{data: ''}],
      sortable: true
    }
  ],
  //表头按钮
  toolbarConfig: {
    buttons: [
      {type: 'text'},
      {
        'name': '保存订单',
        status: 'primary',
        'code': 'Save'
      }, {
        'name': '入库',
        status: 'primary',
        'code': 'Storage'
      },
      {
        'name': '退货',
        status: 'primary',
        'code': 'Return'
      },
      {
        'name': '取消',
        status: '',
        'code': 'Cancel'
      }],
    import: false,
    export: true,
    print: true,
    zoom: true,
    custom: true,
    tools: [],
  },
  //table body实际数据
  data: [{}, {}, {}],
  //脚合并
  mergeFooterItems: [
    {row: 0, col: 0, rowspan: 1, colspan: 3}
  ],
  //合并脚
  footerMethod({columns, data}) {//页脚函数
    return [
      columns.map((column, columnIndex) => {
        if (columnIndex === 0) {
          return '合计:'
        }
        /* if (props.tableProp.footList.includes(column.field)) {
           return sumNum(data, column.field)
         }*/
        return ''
      })
    ]
  },
})
const xGrid = ref()
const gridEvents = {
  toolbarButtonClick({code}) {
    const $grid = xGrid.value
    if ($grid) {
      switch (code) {
//保存
        case 'Save': {
          MessageAlertShow('点击了保存订单','操作提示');
          //MessageShow('点击了保存订单!', 'error');
          break;
        }
//取消,返回查询页面
        case 'Cancel': {
          router.push({path: '/main/purchaseOrder/StoragePurchaseOrder'})
          break
        }
//入库
        case 'Storage': {
          if ($grid.getCheckboxRecords().length === 0) {
            MessageShow('请选择至少一条数据!', 'warning');
            return
          } else {
            MessageConfirmShow('入库', '是否确认对选中的' + $grid.getCheckboxRecords().length + '物料进行入库操作!');
          }
          break
        }
//退货
        case 'Return': {
          if ($grid.getCheckboxRecords().length === 0) {
            MessageShow('请选择至少一条数据!', 'warning');
            return
          } else {
            MessageConfirmShow('退货', '是否确认对选中的' + $grid.getCheckboxRecords().length + '物料进行退货操作!');
          }
          break
        }
      }
    }
  },
  toolbarToolClick({code}) {
    const $grid = xGrid.value
    if ($grid) {
      switch (code) {
        case 'myPrint': {
          $grid.print()
          break
        }
      }
    }
  },
}
//表单数据
const form = reactive({
  name: '',
  region: '',
  date: '',
  delivery: false,
  type: [],
  resource: '',
  desc: '',
  supplier: '',
  buyer: '',
  buyItem: '',
  buyType: ''
})
//页面逻辑代码执行
function logicExecute(type){
  const $grid = xGrid.value
  switch (type) {
    case '入库':
      //入库逻辑代码TODO
      MessageShow('入库成功!', 'success');
      break;
    case '退货':
      //退货逻辑代码TODO
      MessageShow('退货成功!', 'success');
      break;
    default:
      MessageShow('未知操作!', 'error');
      break;
  }
  return true;
}
//提示信息
//信息内容,显示方式,显示标题,类型
const MessageShow = (content,type='success') => {
    ElMessage({
      message: content,
      type: type,
      showClose: true,
    })
}
//操作确认类信息:操作类型,提示内容,提示标头,提示类型
const MessageConfirmShow = (czType, content, title='操作确认提示', type='warning') => {
  ElMessageBox.confirm(
      content,
      title,
      {
        cancelButtonText: '取消',
        confirmButtonText: '确定',
        type: type,
        center: true,
      }
  )
      //点击了确定
      .then(() => {
        return logicExecute(czType);
      })
      //点击了取消
      .catch(() => {
        return false;
      })
}
//弹窗信息
const MessageAlertShow=(content,title,type='info')=>{
  ElMessageBox.alert(content, title, {
    // 禁止自动对焦
    //autofocus: false,
    confirmButtonText: 'OK',
    /*callback: (action: Action) => {
      MessageShow(`action: ${action}`,type)
    },*/
  })
}
</script>
<style scoped>
:deep(.el-descriptions__table .label-diy) {
  text-align: center;
  width: 100px;
  /*  font-size: large;*/
}
</style>
north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/Payment.vue
@@ -39,14 +39,13 @@
          @="gridEvents"
      >
        <!--            @="gridEvents"-->
        <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
        <!--      下拉显示所有信息插槽-->
        <template #content="{ row}">
        <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  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>
@@ -79,6 +78,9 @@
import {VXETable} from "vxe-table";
import {reactive} from "vue";
import {useRouter} from 'vue-router'
import {ElMessage, ElMessageBox} from "element-plus";
const datevalue = ref('')//时间
//组件接收参数
const PayOptions = reactive({
@@ -110,10 +112,10 @@
    showStatus: true
  },
  columns: [
   /* {title: '操作', width: '8%', slots: {default: 'button_slot'}, fixed: "left"},*/
    {type: 'seq', fixed: "left", title: ' ', width: '5%'},
    /* {title: '操作', width: '8%', slots: {default: 'button_slot'}, fixed: "left"},*/
    {type: 'expand', title: '', fixed: "left", slots: {content: 'content'}, width: '5%'},//详情
    {type: 'checkbox', fixed: "left", title: '', width: '5%'},
    {type: 'expand', title: '详情', fixed: "left", slots: {content: 'content'}, width: '5%'},
    {type: 'seq', fixed: "left", title: ' ', width: '5%'},
    {
      field: 'cgdh',
      width: '10%',
@@ -147,15 +149,29 @@
      slots: {filter: 'num1_filter'},
      sortable: true
    },
    {field: 'w', width: '10%', title: '本期已付', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'g', width: '10%', title: '期末余额', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {
      field: 'w',
      width: '10%',
      title: '本期已付',
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      sortable: true
    },
    {
      field: 'g',
      width: '10%',
      title: '期末余额',
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      sortable: true
    },
    {field: 'h', width: '9%', title: '税率', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: '6', width: '10%', title: '备注', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true}
  ],//表头参数
  toolbarConfig: {
    buttons: [{type:'text'},{
    buttons: [{type: 'text'}, {
      'name': '应付确认',
      status:'primary',
      status: 'primary',
      'code': 'Sure',
    }],
    import: false,
@@ -165,7 +181,7 @@
    custom: true,
    style: 'paddling-left:10px'
  },//表头按钮
  data: [{},{},{},{}],//table body实际数据
  data: [{}, {}, {}, {}],//table body实际数据
  mergeFooterItems: [
    {row: 0, col: 0, rowspan: 1, colspan: 3}
  ],//合并脚
@@ -192,49 +208,13 @@
    const $grid = xGrid.value
    if ($grid) {
      switch (code) {
        case 'Add': {//新增
          router.push({path: '/main/purchaseOrder/CreatePurchaseOrder'})
          break
        }
        case 'Storage': {//入库
          //应付确认
        case 'Sure': {
          if ($grid.getCheckboxRecords().length === 0) {
            openAlert({type: 'message', content: '请选择至少一条数据', status: 'warning'})
            //VXETable.modal.message( '请选择一条数据!')
            MessageShow("请选择至少一条数据!", 'warning');
            return
          } else {
            const type = VXETable.modal.confirm('您选择了' + $grid.getCheckboxRecords().length + '条数据!,是否确认入库?');
            //openAlert({type:'alert', content: '成功入库'+$grid.getCheckboxRecords().length+'条数据!', status: 'success' })
            //VXETable.modal.message( '请选择一条数据!')
            return
          }
          break
        }
        case 'Return': {//退库
          if ($grid.getCheckboxRecords().length === 0) {
            openAlert({type: 'message', content: '请选择至少一条数据', status: 'warning'})
            //VXETable.modal.message( '请选择一条数据!')
            return
          } else {
            /*            async ()=>{
              const type = await.VXETable.modal.confirm('您选择了'+$grid.getCheckboxRecords().length+'条数据!,是否确认退库?');
            }*/
            const type = VXETable.modal.confirm('您选择了' + $grid.getCheckboxRecords().length + '条数据!,是否确认退库?');
            /* if(VXETable.modal.confirm('您选择了'+$grid.getCheckboxRecords().length+'条数据!,是否确认退库?' )){
              //openAlert({type:'message', content: '成功退库'+$grid.getCheckboxRecords().length+'条数据!', status: 'success',lockView: false, mask: false })
            }*/
            /* if(type==='confirm'){
              openAlert({type:'message', content: '成功退库'+$grid.getCheckboxRecords().length+'条数据!', status: 'success' })
            }
*/
            //openAlert({type:'alert', content: '成功退库'+$grid.getCheckboxRecords().length+'条数据!', status: 'success' })
            //VXETable.modal.message( '请选择一条数据!')
            return
            MessageConfirmShow("确认应付", '您选择了' + $grid.getCheckboxRecords().length + '条数据!,是否确认应付?')
          }
          break
        }
@@ -254,16 +234,7 @@
  },
}
const openAlert = (options) => {
  if (options.type === 'message') {
    VXETable.modal.message(options)
  } else {
    VXETable.modal.alert(options)
  }
}
const datevalue = ref('')
const shortcuts = [
  {
@@ -294,6 +265,73 @@
    },
  },
]
//页面逻辑代码执行
function logicExecute(type){
  const $grid = xGrid.value
  switch (type) {
    case '确认应付':
      //入库逻辑代码TODO
      MessageShow('操作成功!', 'success');
      break;
    default:
      MessageShow('未知操作!', 'error');
      break;
  }
  return true;
}
//提示信息
//信息内容,显示方式,显示标题,类型
const MessageShow = (content, type = 'success') => {
  ElMessage({
    message: content,
    type: type,
    showClose: true,
  })
}
//操作确认类信息:操作类型,提示内容,提示标头,提示类型
const MessageConfirmShow = (czType, content, title = '操作确认提示', type = 'warning') => {
  ElMessageBox.confirm(
      content,
      title,
      {
        cancelButtonText: '取消',
        confirmButtonText: '确定',
        type: type,
        center: true,
      }
  )
      //点击了确定
      .then(() => {
        return  logicExecute(czType);
      })
      //点击了取消
      .catch(() => {
        return false;
      })
}
//弹窗信息
const MessageAlertShow = (content, title, type = 'info') => {
  ElMessageBox.alert(content, title, {
    // 禁止自动对焦
    //autofocus: false,
    confirmButtonText: 'OK',
    /*callback: (action: Action) => {
      MessageShow(`action: ${action}`,type)
    },*/
  })
}
</script>
north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/PurchaseOrder.vue
@@ -39,6 +39,7 @@
<script setup>
import {nextTick, ref} from 'vue'
import {ArrowRight, Search} from "@element-plus/icons-vue";
import {ElMessage, ElMessageBox} from "element-plus";
let indexFlag = $ref(1)
@@ -46,6 +47,69 @@
  indexFlag = index
}
/*
//提示信息
//信息内容,显示方式,显示标题,类型
const MessageShow = (content, type = 'success') =>{
  ElMessage({
    message: content,
    type: type,
    showClose: true,
  })
}
//操作确认类信息:操作类型,提示内容,提示标头,提示类型
const MessageConfirmShow = (czType, content, title = '操作确认提示', type = 'warning') => {
  ElMessageBox.confirm(
      content,
      title,
      {
        cancelButtonText: '取消',
        confirmButtonText: '确定',
        type: type,
        center: true,
      }
  )
      //点击了确定
      .then(() => {
        switch (czType) {
          case '确定':
            //多选退货逻辑代码TODO
            MessageShow('操作成功!', 'success');
            break;
          case '退货':
            //单退货逻辑代码TODO
            MessageShow('操作成功!', 'success');
            break;
          default:
            MessageShow('未知操作!', 'error');
            break;
        }
        return true;
      })
      //点击了取消
      .catch(() => {
        return false;
      })
}
//弹窗信息
const MessageAlertShow = (content, title, type = 'info') => {
  ElMessageBox.alert(content, title, {
    // 禁止自动对焦
    //autofocus: false,
    confirmButtonText: 'OK',
    /!*callback: (action: Action) => {
      MessageShow(`action: ${action}`,type)
    },*!/
  })
}
*/
</script>
north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/Return.vue
@@ -42,11 +42,11 @@
        <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
        <!--      下拉显示所有信息插槽-->
        <template #content="{ row}">
        <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 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>
@@ -70,12 +70,13 @@
      <!--      详情框 部分1-->
      <vxe-modal v-model="showDetails" title="查看详情" width="600" height="80%" :mask="false" :lock-view="false" resize>
        <el-container >
      <vxe-modal v-model="showDetails" title="查看详情" width="600" height="80%" :mask="false" :lock-view="false"
                 resize>
        <el-container>
          <el-header height="35px"
                     style="margin: 0;padding: 0">
            <el-input  v-model="showCGDH" placeholder="采购单号" disabled >
            <el-input v-model="showCGDH" placeholder="采购单号" disabled>
              <template #prepend>采购单号:</template>
            </el-input>
          </el-header>
@@ -119,60 +120,55 @@
<script setup>
import {ref} from "vue";
import {reactive} from "vue";
import {useRouter} from 'vue-router'
import {Search} from "@element-plus/icons-vue";
import dayjs from "dayjs";
import {VXETable} from "vxe-table";
import {ElMessage, ElMessageBox} from "element-plus";
let router = useRouter()
const getTableRow = (row, type) => {
  switch (type) {
    case 'edit' : {
      //alert('我接收到子组件传送的编辑信息')
      router.push({path: '/main/purchaseOrder/CreatePurchaseOrder', query: {id: row.id}})
      router.push({path: '/main/purchaseOrder/DetailsPurchaseOrder', query: {id: row.id}})
      break
    }
    case 'delete': {
      alert('我接收到子组件传送的删除信息'+row.id)
      alert('我接收到子组件传送的删除信息' + row.id)
      break
    }
  }
}
const xGrid = ref()
const gridEvents = {
  toolbarButtonClick({code}) {
    const $grid = xGrid.value
    if ($grid) {
      switch (code) {
        case 'Add': {//新增
          router.push({path: '/main/purchaseOrder/CreatePurchaseOrder'})
          break
        }
        case 'Sure':{
        case 'Sure': {
          if ($grid.getCheckboxRecords().length === 0) {
            openAlert({type: 'message', content: '请选择至少一条数据', status: 'warning'})
            //VXETable.modal.message( '请选择一条数据!')
            MessageShow('请选择至少一条数据!', 'warning');
            return
          } else {
            const type = VXETable.modal.confirm('您选择了' + $grid.getCheckboxRecords().length + '条数据!,是否确认退货?');
            //openAlert({type:'alert', content: '成功入库'+$grid.getCheckboxRecords().length+'条数据!', status: 'success' })
            //VXETable.modal.message( '请选择一条数据!')
            return
            MessageConfirmShow('确定', '您选择了' + $grid.getCheckboxRecords().length + '条数据!,是否确认退货?')
          }
          break
        }
        case 'Log':{
          openAlert({type: 'alert', content: '点击了退货记录', status: 'success'})
        case 'Log': {
          MessageAlertShow('点击了退货记录!', '操作提示');
          break
        }
      }
    }
  },
@@ -189,44 +185,33 @@
  },
}
const openAlert = (options) => {
  if(options.type==='message'){
    VXETable.modal.message(options)
  }else{
    VXETable.modal.alert(options)
  }
}
const closeAlert = (id) => {
  VXETable.modal.close(id)
}
//查询按钮方法
const BtnSearchPurchaseOrder = () => {
const confirmEvent = async () => {
  const type = await VXETable.modal.confirm('您确定要删除吗?')
  VXETable.modal.message({ content: `点击了 ${type}` })
}
  //开始时间,结束时间获取
  //MessageShow("开始时间"+datevalue._rawValue[0]+"\r\n结束时间\r\n"+datevalue._rawValue[1]);
const BtnSearchPurchaseOrder =()=>{
  for (let i = 1; i < 6; i++) {
    const randomInt = Math.floor(Math.random() * 999) + 1000;//4位数随机数
    const randomSumInt = Math.floor(Math.random() * 99) + 10;//2位数随机数
    const randomOrderInt = Math.floor(Math.random() * 99) + 100;//3位数随机数
    const t = i % 2 === 0 ? 5 : 6;
    const s = i % 2 === 0 ?  '入库' :i % 3 === 0?'退货':'部分入库';
    const thdh = i % 2 === 0 ?  '' :i % 3 === 0?'THID'+randomOrderInt:'';
    const s = i % 2 === 0 ? '入库' : i % 3 === 0 ? '退货' : '部分入库';
    const thdh = i % 2 === 0 ? '' : i % 3 === 0 ? 'THID' + randomOrderInt : '';
    const CGNo = 'NGCG231200' + randomOrderInt;//采购编号
    const wlNo = 'NGWL1000' + randomInt;
    const xh = 'NGXH' + randomSumInt;
    const wlmc = 'WLMC' + randomInt;
    const gys = '供应商' + randomSumInt;
    const xhdh='NG231200'+randomOrderInt;
    const xhdh = 'NG231200' + randomOrderInt;
    const w = i % 2 === 0 ? '3300' : i % 3 === 0 ? '3660' : i % 4 === 0 ? '2250' : '2580';
    const h = i % 2 === 0 ? '2440' : i % 3 === 0 ? '2440' : i % 4 === 0 ? '2000' : '2300';
    const dw = i % 2 === 0 ? '片' : i % 3 === 0 ? '平米' : i % 4 === 0 ? '包' : '吨';
    now.setDate(now.getDate() + 1);
    gridOptions.data.push({
      cgdh: CGNo,
      thdh:thdh,
      thdh: thdh,
      h: t,
      xh: xh,
      wlbh: wlNo,
@@ -235,19 +220,18 @@
      w: w,
      g: h,
      dw: dw,
      cgzt:s,
      rq:dayjs(now).format('YYYY-MM-DD'),
      yl:randomSumInt,
      sl:randomOrderInt,
      xsdh:xhdh,
      je:randomInt,
      cgzt: s,
      rq: dayjs(now).format('YYYY-MM-DD'),
      yl: randomSumInt,
      sl: randomOrderInt,
      xsdh: xhdh,
      je: randomInt,
      6: '139xxxxxxxx',
    })
  }
}
//组件接收参数
@@ -280,48 +264,141 @@
    showStatus: true
  },
  columns: [
    {type: 'expand', title: '', fixed: "left", slots: {content: 'content'}, width: 50},//详情
    {title: '操作', width: '8%', slots: {default: 'button_slot'}, fixed: "left"},
    {type: 'checkbox', fixed: "left", title: '', width: 50},
    {type: 'seq', fixed: "left", title: ' ', width: 50},
    { type: 'checkbox',fixed:"left", title: '', width: 50 },
    {type: 'expand', title:'详情', fixed: "left", slots: {content: 'content'}, width: 50},
    {field: 'thdh', width: '10%', title: '退货单号', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'cgdh', width: '10%', title: '采购单号', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {
      field: 'thdh',
      width: '10%',
      title: '退货单号',
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      sortable: true
    },
    {
      field: 'cgdh',
      width: '10%',
      title: '采购单号',
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      sortable: true
    },
    {field: 'cgzt', width: '10%', title: '状态', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'gys', width: '10%',title: '供应商', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'wlbh', width: '10%',title: '物料编号', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'wlmc', width: '10%', title: '物料名称', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'w', width: '8%',title: '宽度', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'g', width: '8%',title: '高度', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'h', width: '8%',title: '厚度', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'xh', width: '8%',title: '型号', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'dw', width: '8%',title: '单位', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: '6', width: '12%',title: '不含税单价', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'sl', width: '8%',title: '数量', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'sl', width: '12%',title: '已采购数量', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'je', width: '8%',title: '金额', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'je', width: '12%',title: '不含税金额', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: '6', width: '8%',title: '税率', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'sl', width: '8%',title: '库存', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'yl', width: '10%',title: '周用量', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'yl', width: '10%',title: '月用量', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'cgzt', width: '10%',title: '单据状态', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'xsdh', width: '10%',title: '销售单号', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'rq', width: '10%',title: '制单日期', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {
      field: 'gys',
      width: '10%',
      title: '供应商',
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      sortable: true
    },
    {
      field: 'wlbh',
      width: '10%',
      title: '物料编号',
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      sortable: true
    },
    {
      field: 'wlmc',
      width: '10%',
      title: '物料名称',
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      sortable: true
    },
    {field: 'w', width: '8%', title: '宽度', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'g', width: '8%', title: '高度', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'h', width: '8%', title: '厚度', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'xh', width: '8%', title: '型号', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'dw', width: '8%', title: '单位', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {
      field: '6',
      width: '12%',
      title: '不含税单价',
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      sortable: true
    },
    {field: 'sl', width: '8%', title: '数量', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {
      field: 'sl',
      width: '12%',
      title: '已采购数量',
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      sortable: true
    },
    {field: 'je', width: '8%', title: '金额', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {
      field: 'je',
      width: '12%',
      title: '不含税金额',
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      sortable: true
    },
    {field: '6', width: '8%', title: '税率', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'sl', width: '8%', title: '库存', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'yl', width: '10%', title: '周用量', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'yl', width: '10%', title: '月用量', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {
      field: 'cgzt',
      width: '10%',
      title: '单据状态',
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      sortable: true
    },
    {
      field: 'xsdh',
      width: '10%',
      title: '销售单号',
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      sortable: true
    },
    {
      field: 'rq',
      width: '10%',
      title: '制单日期',
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      sortable: true
    },
    {field: '6', width: '10%', title: '制单人', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: '6', width: '10%',title: '采购部门', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: '6', width: '10%',title: '采购组织', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: '6', width: '10%',title: '备注', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true}
    {
      field: '6',
      width: '10%',
      title: '采购部门',
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      sortable: true
    },
    {
      field: '6',
      width: '10%',
      title: '采购组织',
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      sortable: true
    },
    {field: '6', width: '10%', title: '备注', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true}
  ],//表头参数
  toolbarConfig: {
    buttons: [{type:'text'},{
        'name': '退货记录',
    buttons: [{type: 'text'}, {
      'name': '退货记录',
        'code':'Log'
      },
      'code': 'Log'
    },
      {
        'name': '确认退货',
        status:'primary',
        'code':'Sure'
        status: 'primary',
        'code': 'Sure'
      }],
    import: false,
    export: true,
@@ -352,65 +429,52 @@
//详情框 部分2
const showCGDH =ref();
const showDetails =ref(false);
let detailData =[];
const showCGDH = ref();
const showDetails = ref(false);
let detailData = [];
const cellClickEvent = ({row}) => {
  detailData = ['cgdh', 'thdh', 'h', 'xh', 'wlbh', 'wlmc', 'gys','w','g','dw','cgzt','rq','yl','sl','xsdh','je','6'].map(field => {
    return { label: ModelColumnContent(field) , value: row[field] }
  if (isQueryColumnId === false) {
    queryColumnId();
  }
  detailData = list.map(field => {
    return {label: queryColumnsTitle(field), value: row[field]}
  })
  showDetails.value = true;
  showCGDH.value = row['cgdh'];
}
const ModelColumnContent = (text) => {
  switch (text) {
    case 'cgdh':
      return "采购单号";
    case 'thdh':
      return "退货单号";
    case 'h':
      return "厚";
    case 'xh':
      return "型号";
    case 'wlbh':
      return "物料编码";
    case 'wlmc':
      return "物料名称";
    case 'gys':
      return "供应商";
    case 'w':
      return "宽";
    case 'g':
      return "高";
    case 'dw':
      return "单位";
    case 'cgzt':
      return "采购状态";
    case 'rq':
      return "日期";
    case 'yl':
      return "余量";
    case 'sl':
      return "数量";
    case 'xsdh':
      return "销售单号";
    case 'je':
      return "金额";
    case '6':
      return "其他";
//获取表列
let list = [];
let columnIndex = 4;//列标头从第几列开始的
let isQueryColumnId = false;
const queryColumnId = () => {
    default:
      return text;
  while (columnIndex < gridOptions.columns.length) {
    list.push(gridOptions.columns[columnIndex].field);
    columnIndex++;
  }
  isQueryColumnId = true;
  return list;
}
const SureReturn=()=>{
//获取表列名
function queryColumnsTitle(cn) {
  let i = 0;
  while (i < gridOptions.columns.length + 1) {
    if (gridOptions.columns[i].field === cn) {
      return gridOptions.columns[i].title;
    }
    i++;
  }
}
  const type = VXETable.modal.confirm('是否确认退货?');
// 详情框部分2 结束
const SureReturn = () => {
  MessageConfirmShow('退货', '是否确认退货?')
}
//详情框 部分2 结束
@@ -450,12 +514,80 @@
  },
]
//页面逻辑代码执行
function logicExecute(type) {
  const $grid = xGrid.value
  switch (type) {
    case '确定':
      //多选退货逻辑代码TODO
      MessageShow('操作成功!', 'success');
      break;
    case '退货':
      //单退货逻辑代码TODO
      MessageShow('操作成功!', 'success');
      break;
    default:
      MessageShow('未知操作!', 'error');
      break;
  }
  return true;
}
//提示信息
//信息内容,显示方式,显示标题,类型
const MessageShow = (content, type = 'success') => {
  ElMessage({
    message: content,
    type: type,
    showClose: true,
  })
}
//操作确认类信息:操作类型,提示内容,提示标头,提示类型
const MessageConfirmShow = (czType, content, title = '操作确认提示', type = 'warning') => {
  ElMessageBox.confirm(
      content,
      title,
      {
        cancelButtonText: '取消',
        confirmButtonText: '确定',
        type: type,
        center: true,
      }
  )
      //点击了确定
      .then(() => {
        logicExecute(czType);
        return true;
      })
      //点击了取消
      .catch(() => {
        return false;
      })
}
//弹窗信息
const MessageAlertShow = (content, title, type = 'info') => {
  ElMessageBox.alert(content, title, {
    // 禁止自动对焦
    //autofocus: false,
    confirmButtonText: 'OK',
    /*callback: (action: Action) => {
      MessageShow(`action: ${action}`,type)
    },*/
  })
}
</script>
<style scoped>
:deep(.v-column-label div span){
:deep(.v-column-label div span) {
  font-weight: bold;
  font-align:center;
}
</style>
north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/Select.vue
@@ -28,24 +28,24 @@
        </el-col>
      </el-row>
    </el-header>
    <el-main style="padding-top: 5px;height:100%">
      <vxe-grid
          max-height="600"
          @filter-change="filterChanged"
          class="mytable-scrollbar"
          ref="xGrid"
          v-bind="gridOptions"
          v-on="gridEvents"
          @cell-dblclick="cellClickEvent"
      >
        <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
        <!--      下拉显示所有信息插槽-->
        <template #content="{ row}">
        <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  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>
@@ -53,8 +53,8 @@
        <!--左边固定显示的插槽-->
        <template #button_slot="{ row }">
          <el-button @click="getTableRow(row,'edit')" link type="primary" size="small">编辑</el-button>
<!--          <el-button @click="getTableRow(row,'delete')" link type="primary" size="small">删除</el-button>-->
<!--          <el-button @click="cellClickEvent" link type="primary" size="small">详情</el-button>-->
          <!--          <el-button @click="getTableRow(row,'delete')" link type="primary" size="small">删除</el-button>-->
          <!--          <el-button @click="cellClickEvent" link type="primary" size="small">详情</el-button>-->
        </template>
@@ -67,23 +67,49 @@
        </template>
      </vxe-grid>
      <!--      详情框 部分1-->
      <vxe-modal v-model="showDetails" title="查看详情" width="600" height="80%" :mask="false" :lock-view="false"
                 resize>
        <el-container>
          <el-header height="35px"
                     style="margin: 0;padding: 0">
      <vxe-modal v-model="showDetails" title="查看详情" width="600" height="400" :mask="false" :lock-view="false" resize>
        <template #default>
          <vxe-table
              border="inner"
              auto-resize
              show-overflow
              height="auto"
              :row-config="{isHover: true}"
              :show-header="false"
              :sync-resize="showDetails"
              :data="detailData">
            <vxe-column field="label" width="40%"></vxe-column>
            <vxe-column field="value"></vxe-column>
          </vxe-table>
        </template>
            <el-input v-model="showCGDH" placeholder="采购单号" disabled>
              <template #prepend>采购单号:</template>
            </el-input>
          </el-header>
          <el-main>
            <template #default>
              <vxe-table
                  border="inner"
                  auto-resize
                  show-overflow
                  max-height="400"
                  :row-config="{isHover: true}"
                  :show-header="false"
                  :sync-resize="showDetails"
                  :data="detailData">
                <vxe-column field="label" width="30%" class-name="v-column-label"></vxe-column>
                <vxe-column field="value"></vxe-column>
              </vxe-table>
            </template>
          </el-main>
          <el-footer height="40px">
            <el-row>
              <el-col :offset="20" :span="4">
                <el-button
                    id="Sure"
                    type="primary"
                    @click="logicExecute('编辑')"
                >编辑
                </el-button>
              </el-col>
            </el-row>
          </el-footer>
        </el-container>
      </vxe-modal>
      <!--      详情框 部分1 结束-->
    </el-main>
@@ -97,7 +123,9 @@
import {useRouter} from 'vue-router'
import {Search} from "@element-plus/icons-vue";
import dayjs from "dayjs";
import {VXETable} from "vxe-table";
import {ElMessage} from "element-plus";
let router = useRouter()
const getTableRow = (row, type) => {
@@ -110,8 +138,7 @@
    case 'delete': {
      alert('我接收到子组件传送的删除信息'+row.id)
      alert('我接收到子组件传送的删除信息' + row.id)
      break
    }
  }
@@ -128,7 +155,8 @@
          break
        }
        case 'AddNo': {//无单新增
          openAlert({type: 'alert', content: '点击了无单新增', status: 'success'})
          MessageShow('点击了无单新增', 'success');
          break
        }
@@ -148,36 +176,19 @@
  },
}
const openAlert = (options) => {
  if(options.type==='message'){
    VXETable.modal.message(options)
  }else{
    VXETable.modal.alert(options)
  }
}
const closeAlert = (id) => {
  VXETable.modal.close(id)
}
const confirmEvent = async () => {
  const type = await VXETable.modal.confirm('您确定要删除吗?')
  VXETable.modal.message({ content: `点击了 ${type}` })
}
const BtnSearchPurchaseOrder =()=>{
const BtnSearchPurchaseOrder = () => {
  for (let i = 1; i < 6; i++) {
    const randomInt = Math.floor(Math.random() * 999) + 1000;//4位数随机数
    const randomSumInt = Math.floor(Math.random() * 99) + 10;//2位数随机数
    const randomOrderInt = Math.floor(Math.random() * 99) + 100;//3位数随机数
    const t = i % 2 === 0 ? 5 : 6;
    const s = i % 2 === 0 ? '入库':i % 3 === 0 ? '待审核' : i % 5 === 0 ? '已采购' :'退库';
    const s = i % 2 === 0 ? '入库' : i % 3 === 0 ? '待审核' : i % 5 === 0 ? '已采购' : '退库';
    const CGNo = 'NGCG231200' + randomOrderInt;//采购编号
    const wlNo = 'NGWL1000' + randomInt;
    const xh = 'NGXH' + randomSumInt;
    const wlmc = 'WLMC' + randomInt;
    const gys = '供应商' + randomSumInt;
    const xhdh='NG231200'+randomOrderInt;
    const xhdh = 'NG231200' + randomOrderInt;
    const w = i % 2 === 0 ? '3300' : i % 3 === 0 ? '3660' : i % 4 === 0 ? '2250' : '2580';
    const h = i % 2 === 0 ? '2440' : i % 3 === 0 ? '2440' : i % 4 === 0 ? '2000' : '2300';
    const dw = i % 2 === 0 ? '片' : i % 3 === 0 ? '平米' : i % 4 === 0 ? '包' : '吨';
@@ -192,12 +203,12 @@
      w: w,
      g: h,
      dw: dw,
      cgzt:s,
      rq:dayjs(now).format('YYYY-MM-DD'),
      yl:randomSumInt,
      sl:randomOrderInt,
      xsdh:xhdh,
      je:randomInt,
      cgzt: s,
      rq: dayjs(now).format('YYYY-MM-DD'),
      yl: randomSumInt,
      sl: randomOrderInt,
      xsdh: xhdh,
      je: randomInt,
      6: '139xxxxxxxx',
    })
@@ -205,6 +216,26 @@
}
//页面逻辑代码执行
function logicExecute(type) {
  const $grid = xGrid.value
  switch (type) {
    case '编辑':
      //MessageShow('操作成功!', 'success');
      //编辑逻辑代码TODO
      router.push({path: '/main/purchaseOrder/CreatePurchaseOrder'})
      break;
    case '退货':
      //单退货逻辑代码TODO
      MessageShow('操作成功!', 'success');
      break;
    default:
      MessageShow('未知操作!', 'error');
      break;
  }
  return true;
}
//组件接收参数
@@ -237,36 +268,122 @@
    showStatus: true
  },
  columns: [
    {type: 'expand', title: '', fixed: "left", slots: {content: 'content'}, width: 50},//详情
    {title: '操作', width: '8%', slots: {default: 'button_slot'}, fixed: "left"},
    /* {type: 'checkbox',fixed:"left", title: '', width: 50 },*/
    {type: 'seq', fixed: "left", title: ' ', width: 50},
    { type: 'checkbox',fixed:"left", title: '', width: 50 },
    {type: 'expand', title:'详情', fixed: "left", slots: {content: 'content'}, width: 50},
    {field: 'cgdh', width: '10%', title: '采购单号', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {
      field: 'cgdh',
      width: '10%',
      title: '采购单号',
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      sortable: true
    },
    {field: 'cgzt', width: '10%', title: '状态', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'gys', width: '10%',title: '供应商', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'wlbh', width: '10%',title: '物料编号', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'wlmc', width: '10%', title: '物料名称', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'w', width: '8%',title: '宽度', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'g', width: '8%',title: '高度', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'h', width: '8%',title: '厚度', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'xh', width: '8%',title: '型号', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'dw', width: '8%',title: '单位', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: '6', width: '12%',title: '不含税单价', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'sl', width: '8%',title: '数量', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'sl', width: '12%',title: '已采购数量', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'je', width: '8%',title: '金额', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'je', width: '12%',title: '不含税金额', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: '6', width: '8%',title: '税率', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'sl', width: '8%',title: '库存', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'yl', width: '10%',title: '周用量', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'yl', width: '10%',title: '月用量', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'cgzt', width: '10%',title: '单据状态', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'xsdh', width: '10%',title: '销售单号', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'rq', width: '10%',title: '制单日期', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {
      field: 'gys',
      width: '10%',
      title: '供应商',
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      sortable: true
    },
    {
      field: 'wlbh',
      width: '10%',
      title: '物料编号',
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      sortable: true
    },
    {
      field: 'wlmc',
      width: '10%',
      title: '物料名称',
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      sortable: true
    },
    {field: 'w', width: '8%', title: '宽度', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'g', width: '8%', title: '高度', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'h', width: '8%', title: '厚度', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'xh', width: '8%', title: '型号', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'dw', width: '8%', title: '单位', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {
      field: '6',
      width: '12%',
      title: '不含税单价',
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      sortable: true
    },
    {field: 'sl', width: '8%', title: '数量', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {
      field: 'sl',
      width: '12%',
      title: '已采购数量',
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      sortable: true
    },
    {field: 'je', width: '8%', title: '金额', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {
      field: 'je',
      width: '12%',
      title: '不含税金额',
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      sortable: true
    },
    {field: '6', width: '8%', title: '税率', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'sl', width: '8%', title: '库存', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'yl', width: '10%', title: '周用量', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'yl', width: '10%', title: '月用量', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {
      field: 'cgzt',
      width: '10%',
      title: '单据状态',
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      sortable: true
    },
    {
      field: 'xsdh',
      width: '10%',
      title: '销售单号',
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      sortable: true
    },
    {
      field: 'rq',
      width: '10%',
      title: '制单日期',
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      sortable: true
    },
    {field: '6', width: '10%', title: '制单人', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: '6', width: '10%',title: '采购部门', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: '6', width: '10%',title: '采购组织', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: '6', width: '10%',title: '备注', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true}
    {
      field: '6',
      width: '10%',
      title: '采购部门',
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      sortable: true
    },
    {
      field: '6',
      width: '10%',
      title: '采购组织',
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      sortable: true
    },
    {field: '6', width: '10%', title: '备注', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true}
  ],//表头参数
  toolbarConfig: {
    buttons: [/*{type:'text'},
@@ -281,7 +398,7 @@
        'code':'AddNo'
      }*/
      ],
    ],
    import: false,
    export: true,
    print: true,
@@ -309,14 +426,47 @@
})
/*const showDetails = ref(false)
const detailData = ref([])
const cellClickEvent = ({ row }) => {
  detailData.value = ['采购单号', 'wlbh', 'wlmc', 'gys', 'h', 'k', 'g'].map(field => {
    return { label: field, value: row[field] }
//详情框 部分2
const showCGDH = ref();
const showDetails = ref(false);
let detailData = [];
const cellClickEvent = ({row}) => {
  if(isQueryColumnId===false){
    queryColumnId();
  }
  detailData = list.map(field => {
    return {label: queryColumnsTitle(field), value: row[field]}
  })
  showDetails.value = true
}*/
  showDetails.value = true;
  showCGDH.value = row['cgdh'];
}
//获取表列
let list = [];
let columnIndex = 3;//列标头从第几列开始的
let isQueryColumnId = false;
const queryColumnId = () => {
  while (columnIndex < gridOptions.columns.length) {
    list.push(gridOptions.columns[columnIndex].field);
    columnIndex++;
  }
  isQueryColumnId = true;
  return list;
}
//获取表列名
function queryColumnsTitle(cn) {
  let i = 0;
  while (i < gridOptions.columns.length + 1) {
    if (gridOptions.columns[i].field === cn) {
      return gridOptions.columns[i].title;
    }
    i++;
  }
}
//详情框 部分2 结束
const now = new Date()
@@ -353,9 +503,60 @@
  },
]
//提示信息
//信息内容,显示方式,显示标题,类型
const MessageShow = (content, type = 'success') => {
  ElMessage({
    message: content,
    type: type,
    showClose: true,
  })
}
//操作确认类信息:操作类型,提示内容,提示标头,提示类型
const MessageConfirmShow = (czType, content, title = '操作确认提示', type = 'warning') => {
  ElMessageBox.confirm(
      content,
      title,
      {
        cancelButtonText: '取消',
        confirmButtonText: '确定',
        type: type,
        center: true,
      }
  )
      //点击了确定
      .then(() => {
        logicExecute(czType);
        return true;
      })
      //点击了取消
      .catch(() => {
        return false;
      })
}
//弹窗信息
const MessageAlertShow = (content, title, type = 'info') => {
  ElMessageBox.alert(content, title, {
    // 禁止自动对焦
    //autofocus: false,
    confirmButtonText: 'OK',
    /*callback: (action: Action) => {
      MessageShow(`action: ${action}`,type)
    },*/
  })
}
</script>
<style scoped>
:deep(.v-column-label div span) {
  font-weight: bold;
}
</style>
north-glass-erp/northglass-erp/src/views/mm/purchaseOrder/Storage.vue
@@ -29,8 +29,6 @@
      </el-row>
    </el-header>
    <el-main style="padding-top: 5px;height:100%">
      <vxe-grid
@@ -42,16 +40,16 @@
          v-bind="gridOptions"
          v-on="gridEvents"
          @cell-click ="cellClickEvent"
          @cell-dblclick="cellClickEvent"
      >
        <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
        <!--      下拉显示所有信息插槽-->
        <template #content="{ row}">
        <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 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>
@@ -74,13 +72,14 @@
        </template>
      </vxe-grid>
<!--      详情框 部分1-->
      <vxe-modal v-model="showDetails" title="查看详情" width="600" height="80%" :mask="false" :lock-view="false" resize>
        <el-container >
      <!--      详情框 部分1-->
      <vxe-modal v-model="showDetails" title="查看详情" width="600" height="80%" :mask="false" :lock-view="false"
                 resize>
        <el-container>
          <el-header height="35px"
              style="margin: 0;padding: 0">
                     style="margin: 0;padding: 0">
            <el-input  v-model="showCGDH" placeholder="采购单号" disabled >
            <el-input v-model="showCGDH" placeholder="采购单号" disabled>
              <template #prepend>采购单号:</template>
            </el-input>
          </el-header>
@@ -90,7 +89,7 @@
                  border="inner"
                  auto-resize
                  show-overflow
                  max-height="420"
                  max-height="400"
                  :row-config="{isHover: true}"
                  :show-header="false"
                  :sync-resize="showDetails"
@@ -122,8 +121,6 @@
  </el-container>
</template>
@@ -134,27 +131,29 @@
import {Search} from "@element-plus/icons-vue";
import dayjs from "dayjs";
import {VXETable} from "vxe-table";
let router = useRouter()
import {ElMessage, ElMessageBox} from "element-plus";
import ERPMessage from '@/components/basic/ERPMessage.vue'
let router = useRouter()
const getTableRow = (row, type) => {
  switch (type) {
    case 'edit' : {
      //alert('我接收到子组件传送的编辑信息')
      router.push({path: '/main/purchaseOrder/CreatePurchaseOrder', query: {id: row.id}});
      router.push({path: '/main/purchaseOrder/DetailsPurchaseOrder', query: {id: row.id}});
      break
    }
    case 'look':{
    case 'look': {
      /*this.detailData = ['name', 'nickname', 'role', 'sex', 'age', 'amount', 'address'].map(field => {
        return { label: field, value: row[field] }
      })*/
      //this.showDetails = true
break
      break
    }
    case 'delete': {
      alert('我接收到子组件传送的删除信息'+row.id)
      alert('我接收到子组件传送的删除信息' + row.id)
      break
    }
  }
@@ -166,22 +165,24 @@
    const $grid = xGrid.value
    if ($grid) {
      switch (code) {
        case 'Sure':{
        case 'Sure': {
          if ($grid.getCheckboxRecords().length === 0) {
            openAlert({type: 'message', content: '请选择至少一条数据', status: 'warning'})
            MessageShow('请选择至少一条数据', 'warning');
            //openAlert({type: 'message', content: '请选择至少一条数据', status: 'warning'})
            //VXETable.modal.message( '请选择一条数据!')
            return
          } else {
            const type = VXETable.modal.confirm('您选择了' + $grid.getCheckboxRecords().length + '条数据!,是否确认退货?');
            const type = VXETable.modal.confirm('您选择了' + $grid.getCheckboxRecords().length + '条数据!,是否确认入库?');
            //openAlert({type:'alert', content: '成功入库'+$grid.getCheckboxRecords().length+'条数据!', status: 'success' })
            //VXETable.modal.message( '请选择一条数据!')
            return
          }
          break
        }
        case 'Log':{
        case 'Log': {
          openAlert({type: 'alert', content: '点击了退货记录', status: 'success'})
          //openAlert({type: 'alert', content: '点击了退货记录', status: 'success'})
          MessageConfirmShow("退货记录", "点击了退货记录", "", 'success')
          break
        }
      }
@@ -201,9 +202,9 @@
}
const openAlert = (options) => {
  if(options.type==='message'){
  if (options.type === 'message') {
    VXETable.modal.message(options)
  }else{
  } else {
    VXETable.modal.alert(options)
  }
@@ -212,32 +213,32 @@
  VXETable.modal.close(id)
}
const confirmEvent = async () => {
  const type = await VXETable.modal.confirm('您确定要删除吗?')
  VXETable.modal.message({ content: `点击了 ${type}` })
}
const BtnSearchPurchaseOrder =()=>{
//查询调用事件
const BtnSearchPurchaseOrder = () => {
  //开始时间,结束时间获取
  //MessageShow(datevalue._rawValue[0]+"\r\n时间2\r\n"+datevalue._rawValue[1]);
  for (let i = 1; i < 6; i++) {
    const randomInt = Math.floor(Math.random() * 999) + 1000;//4位数随机数
    const randomSumInt = Math.floor(Math.random() * 99) + 10;//2位数随机数
    const randomOrderInt = Math.floor(Math.random() * 99) + 100;//3位数随机数
    const t = i % 2 === 0 ? 5 : 6;
    const s = i % 2 === 0 ? '入库':i % 3 === 0 ? '待审核' : '已采购';
    const rkdh = i % 2 === 0 ? 'RKID'+randomOrderInt:i % 3 === 0 ? '' : '';
    const s = i % 2 === 0 ? '入库' : i % 3 === 0 ? '待审核' : '已采购';
    const rkdh = i % 2 === 0 ? 'RKID' + randomOrderInt : i % 3 === 0 ? '' : '';
    const CGNo = 'NGCG231200' + randomOrderInt;//采购编号
    const wlNo = 'NGWL1000' + randomInt;
    const xh = 'NGXH' + randomSumInt;
    const wlmc = 'WLMC' + randomInt;
    const gys = '供应商' + randomSumInt;
    const xhdh='NG231200'+randomOrderInt;
    const xhdh = 'NG231200' + randomOrderInt;
    const w = i % 2 === 0 ? '3300' : i % 3 === 0 ? '3660' : i % 4 === 0 ? '2250' : '2580';
    const h = i % 2 === 0 ? '2440' : i % 3 === 0 ? '2440' : i % 4 === 0 ? '2000' : '2300';
    const dw = i % 2 === 0 ? '片' : i % 3 === 0 ? '平米' : i % 4 === 0 ? '包' : '吨';
    now.setDate(now.getDate() + 1);
    gridOptions.data.push({
      cgdh: CGNo,
      rkdh:rkdh,
      rkdh: rkdh,
      h: t,
      xh: xh,
      wlbh: wlNo,
@@ -246,19 +247,18 @@
      w: w,
      g: h,
      dw: dw,
      cgzt:s,
      rq:dayjs(now).format('YYYY-MM-DD'),
      yl:randomSumInt,
      sl:randomOrderInt,
      xsdh:xhdh,
      je:randomInt,
      cgzt: s,
      rq: dayjs(now).format('YYYY-MM-DD'),
      yl: randomSumInt,
      sl: randomOrderInt,
      xsdh: xhdh,
      je: randomInt,
      6: '139xxxxxxxx',
    })
  }
}
//组件接收参数
@@ -292,48 +292,141 @@
    showStatus: true
  },
  columns: [
    {type: 'expand', title: '', fixed: "left", slots: {content: 'content'}, width: 50},//详情
    {title: '操作', width: '8%', slots: {default: 'button_slot'}, fixed: "left"},
    {type: 'checkbox', fixed: "left", title: '', width: 50},
    {type: 'seq', fixed: "left", title: ' ', width: 50},
    { type: 'checkbox',fixed:"left", title: '', width: 50 },
    {type: 'expand', title:'详情', fixed: "left", slots: {content: 'content'}, width: 50},
    {field: 'rkdh', width: '10%', title: '入库单号', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'cgdh', width: '10%', title: '采购单号', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {
      field: 'rkdh',
      width: '10%',
      title: '入库单号',
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      sortable: true
    },
    {
      field: 'cgdh',
      width: '10%',
      title: '采购单号',
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      sortable: true
    },
    {field: 'cgzt', width: '10%', title: '状态', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'gys', width: '10%',title: '供应商', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'wlbh', width: '10%',title: '物料编号', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'wlmc', width: '10%', title: '物料名称', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'w', width: '8%',title: '宽度', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'g', width: '8%',title: '高度', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'h', width: '8%',title: '厚度', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'xh', width: '8%',title: '型号', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'dw', width: '8%',title: '单位', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: '6', width: '12%',title: '不含税单价', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'sl', width: '8%',title: '数量', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'sl', width: '12%',title: '已采购数量', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'je', width: '8%',title: '金额', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'je', width: '12%',title: '不含税金额', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: '6', width: '8%',title: '税率', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'sl', width: '8%',title: '库存', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'yl', width: '10%',title: '周用量', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'yl', width: '10%',title: '月用量', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'cgzt', width: '10%',title: '单据状态', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'xsdh', width: '10%',title: '销售单号', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'rq', width: '10%',title: '制单日期', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {
      field: 'gys',
      width: '10%',
      title: '供应商',
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      sortable: true
    },
    {
      field: 'wlbh',
      width: '10%',
      title: '物料编号',
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      sortable: true
    },
    {
      field: 'wlmc',
      width: '10%',
      title: '物料名称',
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      sortable: true
    },
    {field: 'w', width: '8%', title: '宽度', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'g', width: '8%', title: '高度', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'h', width: '8%', title: '厚度', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'xh', width: '8%', title: '型号', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'dw', width: '8%', title: '单位', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {
      field: '6',
      width: '12%',
      title: '不含税单价',
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      sortable: true
    },
    {field: 'sl', width: '8%', title: '数量', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {
      field: 'sl',
      width: '12%',
      title: '已采购数量',
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      sortable: true
    },
    {field: 'je', width: '8%', title: '金额', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {
      field: 'je',
      width: '12%',
      title: '不含税金额',
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      sortable: true
    },
    {field: '6', width: '8%', title: '税率', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'sl', width: '8%', title: '库存', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'yl', width: '10%', title: '周用量', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'yl', width: '10%', title: '月用量', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {
      field: 'cgzt',
      width: '10%',
      title: '单据状态',
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      sortable: true
    },
    {
      field: 'xsdh',
      width: '10%',
      title: '销售单号',
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      sortable: true
    },
    {
      field: 'rq',
      width: '10%',
      title: '制单日期',
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      sortable: true
    },
    {field: '6', width: '10%', title: '制单人', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: '6', width: '10%',title: '采购部门', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: '6', width: '10%',title: '采购组织', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: '6', width: '10%',title: '备注', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true}
    {
      field: '6',
      width: '10%',
      title: '采购部门',
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      sortable: true
    },
    {
      field: '7',
      width: '10%',
      title: '采购组织',
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      sortable: true
    },
    {field: '8', width: '10%', title: '备注', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true}
  ],//表头参数
  toolbarConfig: {
    buttons: [{type:'text'/*,name:'订单入库'*/},{
    buttons: [{type: 'text'/*,name:'订单入库'*/}, {
      'name': '入库记录',
      'code':'Log'
      'code': 'Log'
    },
      {
        'name': '确认入库',
        status:'primary',
        'code':'Sure'
        status: 'primary',
        'code': 'Sure'
      }],
    import: false,
    export: true,
@@ -362,70 +455,56 @@
})
const showCGDH = ref();
//详情框 部分2
const showDetails =ref(false);
let detailData =[];
const showCGDH = ref();
const showDetails = ref(false);
let detailData = [];
const cellClickEvent = ({row}) => {
 detailData = ['cgdh', 'rkdh', 'h', 'xh', 'wlbh', 'wlmc', 'gys','w','g','dw','cgzt','rq','yl','sl','xsdh','je','6'].map(field => {
    return { label: ModelColumnContent(field) , value: row[field] }
 })
  if(isQueryColumnId===false){
    queryColumnId();
  }
  detailData = list.map(field => {
    return {label: queryColumnsTitle(field), value: row[field]}
  })
  showDetails.value = true;
  showCGDH.value = row['cgdh'];
}
const ModelColumnContent = (text) => {
  switch (text) {
    case 'cgdh':
      return "采购单号";
    case 'rkdh':
      return "入库单号";
    case 'h':
      return "厚";
    case 'xh':
      return "型号";
    case 'wlbh':
      return "物料编码";
    case 'wlmc':
      return "物料名称";
    case 'gys':
      return "供应商";
    case 'w':
      return "宽";
    case 'g':
      return "高";
    case 'dw':
      return "单位";
    case 'cgzt':
      return "采购状态";
    case 'rq':
      return "日期";
    case 'yl':
      return "余量";
    case 'sl':
      return "数量";
      case 'xsdh':
      return "销售单号";
    case 'je':
      return "金额";
    case '6':
      return "其他";
    default:
      return text;
//获取表列
let list = [];
let columnIndex = 4;//列标头从第几列开始的
let isQueryColumnId = false;
const queryColumnId = () => {
  while (columnIndex < gridOptions.columns.length) {
    list.push(gridOptions.columns[columnIndex].field);
    columnIndex++;
  }
  isQueryColumnId = true;
  return list;
}
//获取表列名
function queryColumnsTitle(cn) {
  let i = 0;
  while (i < gridOptions.columns.length + 1) {
    if (gridOptions.columns[i].field === cn) {
      return gridOptions.columns[i].title;
    }
    i++;
  }
}
//详情框 部分2 结束
const SureStorage=()=>{
  openAlert({type: 'alert', content: '确认入库成功', status: 'success'})
const SureStorage = () => {
  MessageShow('确认入库成功');
}
const now = new Date()
@@ -461,15 +540,65 @@
  },
]
//页面逻辑代码执行
function logicExecute(type) {
  const $grid = xGrid.value
  switch (type) {
    case '入库':
      //入库逻辑代码TODO
      MessageShow('入库成功!', 'success');
      break;
    case '退货':
      //退货逻辑代码TODO
      MessageShow('退货成功!', 'success');
      break;
    default:
      MessageShow('未知操作!', 'error');
      break;
  }
  return true;
}
//提示信息
const MessageShow = (content, type = 'success') => {
  ElMessage({
    message: content,
    type: type,
    showClose: true,
  })
}
//操作确认类信息:操作类型,提示内容,提示标头,提示类型
const MessageConfirmShow = (czType, content, title = '操作确认提示', type = 'warning') => {
  ElMessageBox.confirm(
      content,
      title,
      {
        cancelButtonText: '取消',
        confirmButtonText: '确定',
        type: type,
        center: true,
      }
  )
      //点击了确定
      .then(() => {
        return logicExecute(czType);
      })
      //点击了取消
      .catch(() => {
        return false;
      })
}
</script>
<style scoped>
:deep(.v-column-label div span){
:deep(.v-column-label div span) {
  font-weight: bold;
}
</style>
north-glass-erp/northglass-erp/src/views/mm/stockReport/StockReport.vue
@@ -10,11 +10,11 @@
                              :to="{path:'/main/stockReport/StockWarehouseReport'}">成品报表
          </el-breadcrumb-item>
          <el-breadcrumb-item @click="changeRouter(3)" :class="indexFlag===3?'indexTag':''"
                              :to="{path:'/main/stockReport/StockMonthReport'}">原片月结
                              :to="{path:'/main/stockReport/StockMonthReport'}">原片月结报表
          </el-breadcrumb-item>
          <el-breadcrumb-item @click="changeRouter(4)" :class="indexFlag===4?'indexTag':''"
                              :to="{path:'/main/stockReport/SubsidiaryMonthReport'}">
            辅料月结
            辅料月结报表
          </el-breadcrumb-item>
          <el-breadcrumb-item style="display: none"></el-breadcrumb-item>
        </el-breadcrumb>
north-glass-erp/northglass-erp/src/views/pp/BOM/BenchmarkBOM.vue
@@ -63,27 +63,19 @@
  columns:[
    {type:'expand',fixed:"left",slots: { content:'content' },width: 50},
    { type: 'seq',fixed:"left", title: '自序', width: 50 },
    {field: 'materialCode',  title: '物料编码',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
    {field: 'materialName', title: '物料名称', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'number',title: '数量', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'materialRequisitionProcess', title: '领料工序',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: 'mainUnit',title: '主单位', sortable: true,showOverflow:"ellipsis"},
    {field: 'conversionRate', title: '换算率', sortable: true},
    {field: 'deputyUnit', title: '副单位', sortable: true},
    {field: 'producer', title: '产地', sortable: true,showOverflow:"ellipsis"},
    {field: '物料编码',  title: '物料编码',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
    {field: '物料名称', title: '物料名称', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: '数量',title: '数量', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: '领料工序', title: '领料工序',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: '主单位',title: '主单位', sortable: true,showOverflow:"ellipsis"},
    {field: '换算率', title: '换算率', sortable: true},
    {field: '副单位', title: '副单位', sortable: true},
    {field: '产地', title: '产地', sortable: true,showOverflow:"ellipsis"},
  ],//表头按钮
  toolbarConfig: {
    //表格上方功能按钮
    buttons: [
      // {
      //   name:'产品种类',
      //   dropdowns: [
      //     { code: 'other1', name: '种类一', type: 'text', },
      //     { code: 'other2', name: '种类二', type: 'text',  },
      //     { code: 'other2', name: '种类三', type: 'text',  },
      //   ]
      // },
      {code: 'print_lck', name: '添加一行' },
      {code: 'print_lck', name: '减少一行' },
      {code: 'print_lck', name: '保存',status:'primary' ,icon:'vxe-icon-save'},
@@ -96,50 +88,81 @@
  },
  data:  [
    {
      materialCode: '70020000000000000000000004',
      materialName: '预洗剂7600TRO-DS',
      number: '4',
      materialRequisitionProcess: '制镜',
      mainUnit:'L',
      conversionRate:'0.001000',
      deputyUnit:'ml',
      producer:'四川',
      //物料编码
      物料编码: '70020000000000000000000004',
      //物料名称
      物料名称: '预洗剂7600TRO-DS',
      //数量
      数量: '4',
      //领料工序
      领料工序: '制镜',
      //主单位
      主单位:'L',
      //换算率
      换算率:'0.001000',
      //副单位
      副单位:'ml',
      //产地
      产地:'四川',
    },
    {
      materialCode: '70020000000000000000000004',
      materialName: '预洗剂7600TRO-DS',
      number: '4',
      materialRequisitionProcess: '制镜',
      mainUnit:'L',
      conversionRate:'0.001000',
      deputyUnit:'ml',
      producer:'四川',
    },
    {
      materialCode: '70020000000000000000000004',
      materialName: '预洗剂7600TRO-DS',
      number: '4',
      materialRequisitionProcess: '制镜',
      mainUnit:'L',
      conversionRate:'0.001000',
      deputyUnit:'ml',
      producer:'四川',
      //物料编码
      物料编码: '70020000000000000000000004',
      //物料名称
      物料名称: '预洗剂7600TRO-DS',
      //数量
      数量: '4',
      //领料工序
      领料工序: '制镜',
      //主单位
      主单位:'L',
      //换算率
      换算率:'0.001000',
      //副单位
      副单位:'ml',
      //产地
      产地:'四川',
    },
    {
      materialCode: '70020000000000000000000004',
      materialName: '预洗剂7600TRO-DS',
      number: '4',
      materialRequisitionProcess: '制镜',
      mainUnit:'L',
      conversionRate:'0.001000',
      deputyUnit:'ml',
      producer:'四川',
      //物料编码
      物料编码: '70020000000000000000000004',
      //物料名称
      物料名称: '预洗剂7600TRO-DS',
      //数量
      数量: '4',
      //领料工序
      领料工序: '制镜',
      //主单位
      主单位:'L',
      //换算率
      换算率:'0.001000',
      //副单位
      副单位:'ml',
      //产地
      产地:'四川',
    },
    {
      //物料编码
      物料编码: '70020000000000000000000004',
      //物料名称
      物料名称: '预洗剂7600TRO-DS',
      //数量
      数量: '4',
      //领料工序
      领料工序: '制镜',
      //主单位
      主单位:'L',
      //换算率
      换算率:'0.001000',
      //副单位
      副单位:'ml',
      //产地
      产地:'四川',
    },
  ],//table body实际数据
  //脚部求和
  footerMethod ({ columns, data }) {//页脚函数
    let footList=['number']
    let footList=['数量']
    return[
      columns.map((column, columnIndex) => {
        if (columnIndex === 0) {
@@ -155,6 +178,7 @@
})
//产品种类下拉框
const value = ref('')
const options = [
  {
north-glass-erp/northglass-erp/src/views/pp/BOM/OrderBOM.vue
@@ -71,20 +71,21 @@
  },//表头参数
  columns:[
    {type:'expand',fixed:"left",slots: { content:'content' },width: 50},
    { type: 'seq',fixed:"left", title: '自序', width: 50 },
    {title: '操作', width: 70, slots: { default: 'button_slot' },fixed:"left"},
    { field: 'salesOrderNo',width: 130, title: '销售单号',sortable: true, filters:[{ data: '' }],slots: { filter: 'num1_filter' } },
    { field: 'customerName',width: 130, title: '客户名称',sortable: true,  filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    { field: 'entryName',width: 130, title: '项目名称',sortable: true, filters:[{ data: '' }],slots: { filter: 'num1_filter' } },
    { field: 'batch',width: 75, title: '批次',sortable: true, },
    {field: 'number',width: 83,  title: '订单数', sortable: true, },
    {field: 'area',width: 100, title: '订单面积', sortable: true,showOverflow:"ellipsis" ,},
    {field: 'types',width: 110, title: '订单类型', sortable: true,},
    {field: 'salesman',width: 85, title: '业务员', sortable: true},
    {field: 'orderBOMGenerationTime',width: 160,title: '工单BOM生成时间', sortable: true,showOverflow:"ellipsis"},
    {field: 'orderBOMAuditTime',width: 160,title: '工单BOM审核时间', sortable: true},
  ],//表头按钮
    { type: 'seq',fixed:"left", title: '自序', width: 50 },
    { field: '销售单号',width: 130, title: '销售单号',sortable: true, filters:[{ data: '' }],slots: { filter: 'num1_filter' } },
    { field: '客户名称',width: 130, title: '客户名称',sortable: true,  filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    { field: '项目名称',width: 130, title: '项目名称',sortable: true, filters:[{ data: '' }],slots: { filter: 'num1_filter' } },
    { field: '批次',width: 75, title: '批次',sortable: true, },
    {field: '订单数',width: 83,  title: '订单数', sortable: true, },
    {field: '订单面积',width: 100, title: '订单面积', sortable: true,showOverflow:"ellipsis" ,},
    {field: '订单类型',width: 110, title: '订单类型', sortable: true,},
    {field: '业务员',width: 85, title: '业务员', sortable: true},
    {field: '工单BOM生成时间',width: 160,title: '工单BOM生成时间', sortable: true,showOverflow:"ellipsis"},
    {field: '工单BOM审核时间',width: 160,title: '工单BOM审核时间', sortable: true},
  ],
  //表头按钮
  toolbarConfig: {
    // buttons: [{
    //
@@ -97,57 +98,97 @@
  },
  data:  [
    {
      salesOrderNo: 'NG23121201',
      customerName: '江门馗达特玻科技有限公司',
      entryName: '大板镜',
      batch: '1批一',
      number:'1212',
      area:'442.21',
      types:'内部',
      salesman:'XX',
      orderBOMGenerationTime:'2020-01-01',
      orderBOMAuditTime:'2020-01-02',
      //销售单号
      销售单号: 'NG23121201',
      //客户名称
      客户名称: '江门馗达特玻科技有限公司',
      //项目名称
      项目名称: '大板镜',
      //批次
      批次: '1批一',
      //订单数
      订单数:'1212',
      //订单面积
      订单面积:'442.21',
      //订单类型
      订单类型:'内部',
      //业务员
      业务员:'XX',
      //工单BOM生成时间
      工单BOM生成时间:'2020-01-01',
      //工单BOM审核时间
      工单BOM审核时间:'2020-01-02',
    },
    {
      salesOrderNo: 'NG23121201',
      customerName: '江门馗达特玻科技有限公司',
      entryName: '大板镜',
      batch: '1批一',
      number:'1212',
      area:'442.21',
      types:'内部',
      salesman:'XX',
      orderBOMGenerationTime:'2020-01-01',
      orderBOMAuditTime:'2020-01-02',
      //销售单号
      销售单号: 'NG23121201',
      //客户名称
      客户名称: '江门馗达特玻科技有限公司',
      //项目名称
      项目名称: '大板镜',
      //批次
      批次: '1批一',
      //订单数
      订单数:'1212',
      //订单面积
      订单面积:'442.21',
      //订单类型
      订单类型:'内部',
      //业务员
      业务员:'XX',
      //工单BOM生成时间
      工单BOM生成时间:'2020-01-01',
      //工单BOM审核时间
      工单BOM审核时间:'2020-01-02',
    },
    {
      salesOrderNo: 'NG23121201',
      customerName: '江门馗达特玻科技有限公司',
      entryName: '大板镜',
      batch: '1批一',
      number:'1212',
      area:'442.21',
      types:'内部',
      salesman:'XX',
      orderBOMGenerationTime:'2020-01-01',
      orderBOMAuditTime:'2020-01-02',
      //销售单号
      销售单号: 'NG23121201',
      //客户名称
      客户名称: '江门馗达特玻科技有限公司',
      //项目名称
      项目名称: '大板镜',
      //批次
      批次: '1批一',
      //订单数
      订单数:'1212',
      //订单面积
      订单面积:'442.21',
      //订单类型
      订单类型:'内部',
      //业务员
      业务员:'XX',
      //工单BOM生成时间
      工单BOM生成时间:'2020-01-01',
      //工单BOM审核时间
      工单BOM审核时间:'2020-01-02',
    },
    {
      salesOrderNo: 'NG23121201',
      customerName: '江门馗达特玻科技有限公司',
      entryName: '大板镜',
      batch: '1批一',
      number:'1212',
      area:'442.21',
      types:'内部',
      salesman:'XX',
      orderBOMGenerationTime:'2020-01-01',
      orderBOMAuditTime:'2020-01-02',
      //销售单号
      销售单号: 'NG23121201',
      //客户名称
      客户名称: '江门馗达特玻科技有限公司',
      //项目名称
      项目名称: '大板镜',
      //批次
      批次: '1批一',
      //订单数
      订单数:'1212',
      //订单面积
      订单面积:'442.21',
      //订单类型
      订单类型:'内部',
      //业务员
      业务员:'XX',
      //工单BOM生成时间
      工单BOM生成时间:'2020-01-01',
      //工单BOM审核时间
      工单BOM审核时间:'2020-01-02',
    },
  ],//table body实际数据
  //脚部求和
  footerMethod ({ columns, data }) {//页脚函数
    let footList=['finishedNumber','finishedArea','wornNumber','wornArea']
    let footList=['订单数','订单面积']
    return[
      columns.map((column, columnIndex) => {
        if (columnIndex === 0) {
north-glass-erp/northglass-erp/src/views/pp/BOM/OrderBOMDetails.vue
@@ -76,20 +76,20 @@
    { slots: { default: 'state' }, title: '基准BOM', width: 110 },
    { slots: { default: 'state' }, title: '标准BOM', width: 110 },
    { slots: { default: 'state' }, title: '审核', width: 80 },
    {field: 'customerNumber', width: 120, title: '客户编号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
    {field: 'customerName',width: 120, title: '客户名称', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'productNumber', width: 130,title: '产品编号', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'productName',width: 120, title: '产品名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: 'glassLength', width: 100,title: '玻璃长', sortable: true,showOverflow:"ellipsis"},
    {field: 'glassWidth', width: 100,title: '玻璃宽', sortable: true},
    {field: 'thickness',width: 100, title: '厚度', sortable: true},
    {field: 'shape',width: 120, title: '形状', sortable: true,showOverflow:"ellipsis"},
    {field: 'notes', width: 120,title: '备注', sortable: true},
    {field: 'productCreator',width: 120, title: '产品创建人', sortable: true},
    {field: 'BOMCreator',width: 120, title: 'BOM创建人', sortable: true},
    {field: 'auditor',width: 120, title: '审核员', sortable: true}
  ],//表头按钮
    {field: '客户编号', width: 120, title: '客户编号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
    {field: '客户名称',width: 120, title: '客户名称', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: '产品编号', width: 130,title: '产品编号', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: '产品名称',width: 120, title: '产品名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: '玻璃长', width: 100,title: '玻璃长', sortable: true,showOverflow:"ellipsis"},
    {field: '玻璃宽', width: 100,title: '玻璃宽', sortable: true},
    {field: '厚度',width: 100, title: '厚度', sortable: true},
    {field: '形状',width: 120, title: '形状', sortable: true,showOverflow:"ellipsis"},
    {field: '备注', width: 120,title: '备注', sortable: true},
    {field: '产品创建人',width: 120, title: '产品创建人', sortable: true},
    {field: 'BOM创建人',width: 120, title: 'BOM创建人', sortable: true},
    {field: '审核员',width: 120, title: '审核员', sortable: true}
  ],
  //表头按钮
  toolbarConfig: {
    buttons: [
      {code: 'print_lck', name: '转采购单' ,status:'primary'},
@@ -106,52 +106,52 @@
  },
  data:  [
    {
      customerNumber: 'D123123',
      customerName: 'XXXX公司',
      productNumber: '06040000022',
      productName:'10mm超白UD60平钢(外)+12Ar(结)+10mm超白平钢(内)',
      glassLength:'1440',
      glassWidth:'3660',
      thickness:'30',
      shape:'普形',
      notes:'111',
      productCreator:'张三',
      BOMCreator:'李四',
      auditor:'王五',
      //客户编号
      客户编号: 'D123123',
      //客户名称
      客户名称: 'XXXX公司',
      产品编号: '06040000022',
      产品名称:'10mm超白UD60平钢(外)+12Ar(结)+10mm超白平钢(内)',
      玻璃长:'1440',
      玻璃宽:'3660',
      厚度:'30',
      形状:'普形',
      备注:'111',
      产品创建人:'张三',
      BOM创建人:'李四',
      审核员:'王五',
    },
    {
      customerNumber: 'D123123',
      customerName: 'XXXX公司',
      productNumber: '06040000022',
      productName:'10mm超白UD60平钢(外)+12Ar(结)+10mm超白平钢(内)',
      glassLength:'1440',
      glassWidth:'3660',
      thickness:'30',
      shape:'普形',
      notes:'111',
      productCreator:'张三',
      BOMCreator:'李四',
      auditor:'王五',
      //客户编号
      客户编号: 'D123123',
      //客户名称
      客户名称: 'XXXX公司',
      产品编号: '06040000022',
      产品名称:'10mm超白UD60平钢(外)+12Ar(结)+10mm超白平钢(内)',
      玻璃长:'1440',
      玻璃宽:'3660',
      厚度:'30',
      形状:'普形',
      备注:'111',
      产品创建人:'张三',
      BOM创建人:'李四',
      审核员:'王五',
    },
    {
      customerNumber: 'D123123',
      customerName: 'XXXX公司',
      productNumber: '06040000022',
      productName:'10mm超白UD60平钢(外)+12Ar(结)+10mm超白平钢(内)',
      glassLength:'1440',
      glassWidth:'3660',
      thickness:'30',
      shape:'普形',
      notes:'111',
      productCreator:'张三',
      BOMCreator:'李四',
      auditor:'王五',
      //客户编号
      客户编号: 'D123123',
      //客户名称
      客户名称: 'XXXX公司',
      产品编号: '06040000022',
      产品名称:'10mm超白UD60平钢(外)+12Ar(结)+10mm超白平钢(内)',
      玻璃长:'1440',
      玻璃宽:'3660',
      厚度:'30',
      形状:'普形',
      备注:'111',
      产品创建人:'张三',
      BOM创建人:'李四',
      审核员:'王五',
    },
  ],//table body实际数据
  //脚部求和
north-glass-erp/northglass-erp/src/views/pp/BOM/SelectBOM.vue
@@ -71,25 +71,25 @@
  },//表头参数
  columns:[
    {type:'expand',fixed:"left",slots: { content:'content' },width: 50},
    { type: 'seq',fixed:"left", title: '自序', width: 50 },
    {title: '操作', width: 80, slots: { default: 'button_slot' },fixed:"left"},
    { type: 'seq',fixed:"left", title: '自序', width: 50 },
    { slots: { default: 'state' }, title: '基准BOM', width: 110 },
    { slots: { default: 'state' }, title: '标准BOM', width: 110 },
    { slots: { default: 'state' }, title: '审核', width: 80 },
    {field: 'customerNumber', width: 120, title: '客户编号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
    {field: 'customerName',width: 120, title: '客户名称', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'productNumber', width: 130,title: '产品编号', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'productName',width: 120, title: '产品名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: 'glassLength', width: 100,title: '玻璃长', sortable: true,showOverflow:"ellipsis"},
    {field: 'glassWidth', width: 100,title: '玻璃宽', sortable: true},
    {field: 'thickness',width: 100, title: '厚度', sortable: true},
    {field: 'shape',width: 120, title: '形状', sortable: true,showOverflow:"ellipsis"},
    {field: 'notes', width: 120,title: '备注', sortable: true},
    {field: 'productCreator',width: 120, title: '产品创建人', sortable: true},
    {field: 'BOMCreator',width: 120, title: 'BOM创建人', sortable: true},
    {field: 'auditor',width: 120, title: '审核员', sortable: true}
  ],//表头按钮
    {field: '客户编号', width: 120, title: '客户编号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
    {field: '客户名称',width: 120, title: '客户名称', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: '产品编号', width: 130,title: '产品编号', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: '产品名称',width: 120, title: '产品名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: '玻璃长', width: 100,title: '玻璃长', sortable: true,showOverflow:"ellipsis"},
    {field: '玻璃宽', width: 100,title: '玻璃宽', sortable: true},
    {field: '厚度',width: 100, title: '厚度', sortable: true},
    {field: '形状',width: 120, title: '形状', sortable: true,showOverflow:"ellipsis"},
    {field: '备注', width: 120,title: '备注', sortable: true},
    {field: '产品创建人',width: 120, title: '产品创建人', sortable: true},
    {field: 'BOM创建人',width: 120, title: 'BOM创建人', sortable: true},
    {field: '审核员',width: 120, title: '审核员', sortable: true}
  ],
  //表头按钮
  toolbarConfig: {
    // buttons: [{
    //
@@ -102,52 +102,60 @@
  },
  data:  [
    {
      customerNumber: 'D123123',
      customerName: 'XXXX公司',
      productNumber: '06040000022',
      productName:'10mm超白UD60平钢(外)+12Ar(结)+10mm超白平钢(内)',
      glassLength:'1440',
      glassWidth:'3660',
      thickness:'30',
      shape:'普形',
      notes:'111',
      productCreator:'张三',
      BOMCreator:'李四',
      auditor:'王五',
      客户编号: 'D123123',
      客户名称: 'XXXX公司',
      产品编号: '06040000022',
      产品名称:'10mm超白UD60平钢(外)+12Ar(结)+10mm超白平钢(内)',
      玻璃长:'1440',
      玻璃宽:'3660',
      厚度:'30',
      形状:'普形',
      备注:'111',
      产品创建人:'张三',
      BOM创建人:'李四',
      审核员:'王五',
    },
    {
      customerNumber: 'D123123',
      customerName: 'XXXX公司',
      productNumber: '06040000022',
      productName:'10mm超白UD60平钢(外)+12Ar(结)+10mm超白平钢(内)',
      glassLength:'1440',
      glassWidth:'3660',
      thickness:'30',
      shape:'普形',
      notes:'111',
      productCreator:'张三',
      BOMCreator:'李四',
      auditor:'王五',
      客户编号: 'D123123',
      客户名称: 'XXXX公司',
      产品编号: '06040000022',
      产品名称:'10mm超白UD60平钢(外)+12Ar(结)+10mm超白平钢(内)',
      玻璃长:'1440',
      玻璃宽:'3660',
      厚度:'30',
      形状:'普形',
      备注:'111',
      产品创建人:'张三',
      BOM创建人:'李四',
      审核员:'王五',
    },
    {
      customerNumber: 'D123123',
      customerName: 'XXXX公司',
      productNumber: '06040000022',
      productName:'10mm超白UD60平钢(外)+12Ar(结)+10mm超白平钢(内)',
      glassLength:'1440',
      glassWidth:'3660',
      thickness:'30',
      shape:'普形',
      notes:'111',
      productCreator:'张三',
      BOMCreator:'李四',
      auditor:'王五',
      客户编号: 'D123123',
      客户名称: 'XXXX公司',
      产品编号: '06040000022',
      产品名称:'10mm超白UD60平钢(外)+12Ar(结)+10mm超白平钢(内)',
      玻璃长:'1440',
      玻璃宽:'3660',
      厚度:'30',
      形状:'普形',
      备注:'111',
      产品创建人:'张三',
      BOM创建人:'李四',
      审核员:'王五',
    },
    {
      客户编号: 'D123123',
      客户名称: 'XXXX公司',
      产品编号: '06040000022',
      产品名称:'10mm超白UD60平钢(外)+12Ar(结)+10mm超白平钢(内)',
      玻璃长:'1440',
      玻璃宽:'3660',
      厚度:'30',
      形状:'普形',
      备注:'111',
      产品创建人:'张三',
      BOM创建人:'李四',
      审核员:'王五',
    },
  ],//table body实际数据
  //脚部求和
north-glass-erp/northglass-erp/src/views/pp/BOM/StandardBOM.vue
@@ -71,25 +71,25 @@
  },//表头参数
  columns:[
    {type:'expand',fixed:"left",slots: { content:'content' },width: 50},
    { type: 'seq',fixed:"left", title: '自序', width: 50 },
    {title: '操作', width: 80, slots: { default: 'button_slot' },fixed:"left"},
    { type: 'seq',fixed:"left", title: '自序', width: 50 },
    { slots: { default: 'state' }, title: '基准BOM', width: 110 },
    { slots: { default: 'state' }, title: '标准BOM', width: 110 },
    { slots: { default: 'state' }, title: '审核', width: 80 },
    {field: 'customerNumber', width: 120, title: '客户编号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
    {field: 'customerName',width: 120, title: '客户名称', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'productNumber', width: 130,title: '产品编号', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'productName',width: 120, title: '产品名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: 'glassLength', width: 100,title: '玻璃长', sortable: true,showOverflow:"ellipsis"},
    {field: 'glassWidth', width: 100,title: '玻璃宽', sortable: true},
    {field: 'thickness',width: 100, title: '厚度', sortable: true},
    {field: 'shape',width: 120, title: '形状', sortable: true,showOverflow:"ellipsis"},
    {field: 'notes', width: 120,title: '备注', sortable: true},
    {field: 'productCreator',width: 120, title: '产品创建人', sortable: true},
    {field: 'BOMCreator',width: 120, title: 'BOM创建人', sortable: true},
    {field: 'auditor',width: 120, title: '审核员', sortable: true}
  ],//表头按钮
    {field: '客户编号', width: 120, title: '客户编号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
    {field: '客户名称',width: 120, title: '客户名称', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: '产品编号', width: 130,title: '产品编号', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: '产品名称',width: 120, title: '产品名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: '玻璃长', width: 100,title: '玻璃长', sortable: true,showOverflow:"ellipsis"},
    {field: '玻璃宽', width: 100,title: '玻璃宽', sortable: true},
    {field: '厚度',width: 100, title: '厚度', sortable: true},
    {field: '形状',width: 120, title: '形状', sortable: true,showOverflow:"ellipsis"},
    {field: '备注', width: 120,title: '备注', sortable: true},
    {field: '产品创建人',width: 120, title: '产品创建人', sortable: true},
    {field: 'BOM创建人',width: 120, title: 'BOM创建人', sortable: true},
    {field: '审核员',width: 120, title: '审核员', sortable: true}
  ],
  //表头按钮
  toolbarConfig: {
    // buttons: [{
    //
@@ -102,52 +102,46 @@
  },
  data:  [
    {
      customerNumber: 'D123123',
      customerName: 'XXXX公司',
      productNumber: '06040000022',
      productName:'10mm超白UD60平钢(外)+12Ar(结)+10mm超白平钢(内)',
      glassLength:'1440',
      glassWidth:'3660',
      thickness:'30',
      shape:'普形',
      notes:'111',
      productCreator:'张三',
      BOMCreator:'李四',
      auditor:'王五',
      客户编号: 'D123123',
      客户名称: 'XXXX公司',
      产品编号: '06040000022',
      产品名称:'10mm超白UD60平钢(外)+12Ar(结)+10mm超白平钢(内)',
      玻璃长:'1440',
      玻璃宽:'3660',
      厚度:'30',
      形状:'普形',
      备注:'111',
      产品创建人:'张三',
      BOM创建人:'李四',
      审核员:'王五',
    },
    {
      customerNumber: 'D123123',
      customerName: 'XXXX公司',
      productNumber: '06040000022',
      productName:'10mm超白UD60平钢(外)+12Ar(结)+10mm超白平钢(内)',
      glassLength:'1440',
      glassWidth:'3660',
      thickness:'30',
      shape:'普形',
      notes:'111',
      productCreator:'张三',
      BOMCreator:'李四',
      auditor:'王五',
      客户编号: 'D123123',
      客户名称: 'XXXX公司',
      产品编号: '06040000022',
      产品名称:'10mm超白UD60平钢(外)+12Ar(结)+10mm超白平钢(内)',
      玻璃长:'1440',
      玻璃宽:'3660',
      厚度:'30',
      形状:'普形',
      备注:'111',
      产品创建人:'张三',
      BOM创建人:'李四',
      审核员:'王五',
    },
    {
      customerNumber: 'D123123',
      customerName: 'XXXX公司',
      productNumber: '06040000022',
      productName:'10mm超白UD60平钢(外)+12Ar(结)+10mm超白平钢(内)',
      glassLength:'1440',
      glassWidth:'3660',
      thickness:'30',
      shape:'普形',
      notes:'111',
      productCreator:'张三',
      BOMCreator:'李四',
      auditor:'王五',
      客户编号: 'D123123',
      客户名称: 'XXXX公司',
      产品编号: '06040000022',
      产品名称:'10mm超白UD60平钢(外)+12Ar(结)+10mm超白平钢(内)',
      玻璃长:'1440',
      玻璃宽:'3660',
      厚度:'30',
      形状:'普形',
      备注:'111',
      产品创建人:'张三',
      BOM创建人:'李四',
      审核员:'王五',
    },
  ],//table body实际数据
  //脚部求和
north-glass-erp/northglass-erp/src/views/pp/BOM/StandardBOMDetail.vue
@@ -62,27 +62,19 @@
  columns:[
    {type:'expand',fixed:"left",slots: { content:'content' },width: 50},
    { type: 'seq',fixed:"left", title: '自序', width: 50 },
    {field: 'materialCode',  title: '物料编码',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
    {field: 'materialName', title: '物料名称', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'number',title: '数量', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'materialRequisitionProcess', title: '领料工序',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: 'mainUnit',title: '主单位', sortable: true,showOverflow:"ellipsis"},
    {field: 'conversionRate', title: '换算率', sortable: true},
    {field: 'deputyUnit', title: '副单位', sortable: true},
    {field: 'producer', title: '产地', sortable: true,showOverflow:"ellipsis"},
  ],//表头按钮
    {field: '物料编码',  title: '物料编码',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
    {field: '物料名称', title: '物料名称', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: '数量',title: '数量', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: '领料工序', title: '领料工序',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: '主单位',title: '主单位', sortable: true,showOverflow:"ellipsis"},
    {field: '换算率', title: '换算率', sortable: true},
    {field: '副单位', title: '副单位', sortable: true},
    {field: '产地', title: '产地', sortable: true,showOverflow:"ellipsis"},
  ],
  //表头按钮
  toolbarConfig: {
    buttons: [
      // {
      //   name:'产品种类',
      //   dropdowns: [
      //     { code: 'other1', name: '种类一', type: 'text', },
      //     { code: 'other2', name: '种类二', type: 'text',  },
      //     { code: 'other2', name: '种类三', type: 'text',  },
      //   ]
      // },
      {code: 'print_lck', name: '添加一行' },
      {code: 'print_lck', name: '减少一行' },
      {code: 'print_lck', name: '审核',status:'primary' },
@@ -97,50 +89,49 @@
  },
  data:  [
    {
      materialCode: '70020000000000000000000004',
      materialName: '预洗剂7600TRO-DS',
      number: '4',
      materialRequisitionProcess: '制镜',
      mainUnit:'L',
      conversionRate:'0.001000',
      deputyUnit:'ml',
      producer:'四川',
      物料编码: '70020000000000000000000004',
      物料名称: '预洗剂7600TRO-DS',
      数量: '4',
      领料工序: '制镜',
      主单位:'L',
      换算率:'0.001000',
      副单位:'ml',
      产地:'四川',
    },
    {
      materialCode: '70020000000000000000000004',
      materialName: '预洗剂7600TRO-DS',
      number: '4',
      materialRequisitionProcess: '制镜',
      mainUnit:'L',
      conversionRate:'0.001000',
      deputyUnit:'ml',
      producer:'四川',
    },
    {
      materialCode: '70020000000000000000000004',
      materialName: '预洗剂7600TRO-DS',
      number: '4',
      materialRequisitionProcess: '制镜',
      mainUnit:'L',
      conversionRate:'0.001000',
      deputyUnit:'ml',
      producer:'四川',
      物料编码: '70020000000000000000000004',
      物料名称: '预洗剂7600TRO-DS',
      数量: '4',
      领料工序: '制镜',
      主单位:'L',
      换算率:'0.001000',
      副单位:'ml',
      产地:'四川',
    },
    {
      materialCode: '70020000000000000000000004',
      materialName: '预洗剂7600TRO-DS',
      number: '4',
      materialRequisitionProcess: '制镜',
      mainUnit:'L',
      conversionRate:'0.001000',
      deputyUnit:'ml',
      producer:'四川',
      物料编码: '70020000000000000000000004',
      物料名称: '预洗剂7600TRO-DS',
      数量: '4',
      领料工序: '制镜',
      主单位:'L',
      换算率:'0.001000',
      副单位:'ml',
      产地:'四川',
    },
    {
      物料编码: '70020000000000000000000004',
      物料名称: '预洗剂7600TRO-DS',
      数量: '4',
      领料工序: '制镜',
      主单位:'L',
      换算率:'0.001000',
      副单位:'ml',
      产地:'四川',
    },
  ],//table body实际数据
  //脚部求和
  footerMethod ({ columns, data }) {//页脚函数
    let footList=['number']
    let footList=['数量']
    return[
      columns.map((column, columnIndex) => {
        if (columnIndex === 0) {
north-glass-erp/northglass-erp/src/views/pp/Replenish/AddReplenish.vue
@@ -62,33 +62,33 @@
  },//表头参数
  columns:[
    {type:'expand',fixed:"left",slots: { content:'content' },width: 50},
    { type: 'seq',fixed:"left", title: '自序', width: 50 },
    { type: 'checkbox',fixed:"left", title: '选择', width: 80 },
    {field: 'salesOrderNo', width: 120, title: '销售单号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
    {field: 'processCardNo',width: 120, title: '流程卡号', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'entryName', width: 130,title: '项目名称', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'productName',width: 120, title: '产品名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: 'reportingWorkNo', width: 100,title: '报工编号', sortable: true,showOverflow:"ellipsis"},
    {field: 'serialNumber', width: 70,title: '序号', sortable: true},
    {field: 'singlePieceName',width: 100, title: '单片名称', sortable: true},
    {field: 'floorNumber',width: 120, title: '楼层编号', sortable: true,showOverflow:"ellipsis"},
    {field: 'marking', width: 80,title: '标记', sortable: true},
    {field: 'pieces',width: 90, title: '片标记', sortable: true},
    {field: 'processCardNumber',width: 120, title: '流程卡数量', sortable: true},
    {field: 'width',width: 80, title: '宽', sortable: true},
    {field: 'height',width: 80, title: '高', sortable: true},
    {field: 'area',width: 80, title: '面积', sortable: true},
    {field: 'shape',width: 80, title: '形状', sortable: true},
    {field: 'numberBroken',width: 120, title: '次破数量', sortable: true},
    {field: 'reasonType',width: 120, title: '次破类型', sortable: true},
    {field: 'reasonDamage',width: 120, title: '次破原因', sortable: true},
    {field: 'responsibilityDevice',width: 120, title: '责任设备', sortable: true},
    {field: 'reportingProcess',width: 120, title: '报工工序', sortable: true},
    {field: 'responsibilityProcess',width: 120, title: '责任工序', sortable: true},
    {field: 'responsibilityTeams',width: 120, title: '责任班组', sortable: true},
    {field: 'responsibilityPersonnel',width: 120, title: '责任人员', sortable: true},
    {field: 'qualityInspector',width: 100, title: '质检员', sortable: true}
    { type: 'seq',fixed:"left", title: '自序', width: 50 },
    {field: '报工时间', width: 120,title: '报工时间', sortable: true},
    {field: '销售单号', width: 120, title: '销售单号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
    {field: '流程卡号',width: 120, title: '流程卡号', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: '项目名称', width: 130,title: '项目名称', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: '产品名称',width: 120, title: '产品名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: '报工编号', width: 100,title: '报工编号', sortable: true,showOverflow:"ellipsis"},
    {field: '序号', width: 70,title: '序号', sortable: true},
    {field: '单片名称',width: 100, title: '单片名称', sortable: true},
    {field: '楼层编号',width: 120, title: '楼层编号', sortable: true,showOverflow:"ellipsis"},
    {field: '标记', width: 80,title: '标记', sortable: true},
    {field: '片标记',width: 90, title: '片标记', sortable: true},
    {field: '流程卡数量',width: 120, title: '流程卡数量', sortable: true},
    {field: '宽',width: 80, title: '宽', sortable: true},
    {field: '高',width: 80, title: '高', sortable: true},
    {field: '面积',width: 80, title: '面积', sortable: true},
    {field: '形状',width: 80, title: '形状', sortable: true},
    {field: '次破数量',width: 120, title: '次破数量', sortable: true},
    {field: '次破类型',width: 120, title: '次破类型', sortable: true},
    {field: '次破原因',width: 120, title: '次破原因', sortable: true},
    {field: '责任设备',width: 120, title: '责任设备', sortable: true},
    {field: '报工工序',width: 120, title: '报工工序', sortable: true},
    {field: '责任工序',width: 120, title: '责任工序', sortable: true},
    {field: '责任班组',width: 120, title: '责任班组', sortable: true},
    {field: '责任人员',width: 120, title: '责任人员', sortable: true},
    {field: '质检员',width: 100, title: '质检员', sortable: true}
  ],//表头按钮
  toolbarConfig: {
@@ -103,125 +103,144 @@
  },
  data:  [
    {
      reportingWorkTime:'2021-01-01',
      salesOrderNo:'NG23010101',
      processCardNo:'NG23010101A01',
      entryName:'xxxx',
      productName:"xxxxxxxxx",
      reportingWorkNo:"BG2301010001",
      floorNumber:"D4-010-01",
      area:'23.11',
      reportingProcess:'钢化',
      qualityInspector:"张三",
      serialNumber:'1',
      singlePieceName: '6mm白玻平钢(外)',
      marking: '1',
      pieces: '(外)',
      processCardNumber: '11',
      width: '575',
      height:"2241",
      shape: '普形',
      upCompletedQuantity: '12',
      completedQuantity: '1',
      numberBroken:'2',
      reasonType: '机器',
      reasonDamage:'气泡超标',
      responsibilityProcess:'中空',
      responsibilityTeams:'中空一班',
      responsibilityPersonnel:'',
      responsibilityDevice:'中空3#线',
      报工时间:'2021-01-01',
      销售单号:'NG23010101',
      流程卡号:'NG23010101A01',
      项目名称:'xxxx',
      产品名称:"xxxxxxxxx",
      报工编号:"BG2301010001",
      楼层编号:"D4-010-01",
      面积:'23.11',
      报工工序:'钢化',
      质检员:"张三",
      序号:'1',
      单片名称: '6mm白玻平钢(外)',
      标记: '1',
      片标记: '(外)',
      流程卡数量: '11',
      宽: '575',
      高:"2241",
      形状: '普形',
      次破数量: '12',
      次破类型: '机器',
      次破原因:'气泡超标',
      责任工序:'中空',
      责任班组:'中空一班',
      责任人员:'',
      责任设备:'中空3#线',
    },
    {
      reportingWorkTime:'2021-01-01',
      salesOrderNo:'NG23010101',
      processCardNo:'NG23010101A01',
      entryName:'xxxx',
      productName:"xxxxxxxxx",
      reportingWorkNo:"BG2301010001",
      floorNumber:"D4-010-01",
      area:'23.11',
      reportingProcess:'钢化',
      qualityInspector:"张三",
      serialNumber:'1',
      singlePieceName: '6mm白玻平钢(外)',
      marking: '1',
      pieces: '(外)',
      processCardNumber: '11',
      width: '575',
      height:"2241",
      shape: '普形',
      upCompletedQuantity: '12',
      completedQuantity: '1',
      numberBroken:'2',
      reasonType: '机器',
      reasonDamage:'气泡超标',
      responsibilityProcess:'中空',
      responsibilityTeams:'中空一班',
      responsibilityPersonnel:'',
      responsibilityDevice:'中空3#线',
      报工时间:'2021-01-01',
      销售单号:'NG23010101',
      流程卡号:'NG23010101A01',
      项目名称:'xxxx',
      产品名称:"xxxxxxxxx",
      报工编号:"BG2301010001",
      楼层编号:"D4-010-01",
      面积:'23.11',
      报工工序:'钢化',
      质检员:"张三",
      序号:'1',
      单片名称: '6mm白玻平钢(外)',
      标记: '1',
      片标记: '(外)',
      流程卡数量: '11',
      宽: '575',
      高:"2241",
      形状: '普形',
      次破数量: '12',
      次破类型: '机器',
      次破原因:'气泡超标',
      责任工序:'中空',
      责任班组:'中空一班',
      责任人员:'',
      责任设备:'中空3#线',
    },
    {
      reportingWorkTime:'2021-01-01',
      salesOrderNo:'NG23010101',
      processCardNo:'NG23010101A01',
      entryName:'xxxx',
      productName:"xxxxxxxxx",
      reportingWorkNo:"BG2301010001",
      floorNumber:"D4-010-01",
      area:'23.11',
      reportingProcess:'钢化',
      qualityInspector:"张三",
      serialNumber:'1',
      singlePieceName: '6mm白玻平钢(外)',
      marking: '1',
      pieces: '(外)',
      processCardNumber: '11',
      width: '575',
      height:"2241",
      shape: '普形',
      upCompletedQuantity: '12',
      completedQuantity: '1',
      numberBroken:'2',
      reasonType: '机器',
      reasonDamage:'气泡超标',
      responsibilityProcess:'中空',
      responsibilityTeams:'中空一班',
      responsibilityPersonnel:'',
      responsibilityDevice:'中空3#线',
      报工时间:'2021-01-01',
      销售单号:'NG23010101',
      流程卡号:'NG23010101A01',
      项目名称:'xxxx',
      产品名称:"xxxxxxxxx",
      报工编号:"BG2301010001",
      楼层编号:"D4-010-01",
      面积:'23.11',
      报工工序:'钢化',
      质检员:"张三",
      序号:'1',
      单片名称: '6mm白玻平钢(外)',
      标记: '1',
      片标记: '(外)',
      流程卡数量: '11',
      宽: '575',
      高:"2241",
      形状: '普形',
      次破数量: '12',
      次破类型: '机器',
      次破原因:'气泡超标',
      责任工序:'中空',
      责任班组:'中空一班',
      责任人员:'',
      责任设备:'中空3#线',
    },
    {
      reportingWorkTime:'2021-01-01',
      salesOrderNo:'NG23010101',
      processCardNo:'NG23010101A01',
      entryName:'xxxx',
      productName:"xxxxxxxxx",
      reportingWorkNo:"BG2301010001",
      floorNumber:"D4-010-01",
      area:'23.11',
      reportingProcess:'钢化',
      qualityInspector:"张三",
      serialNumber:'1',
      singlePieceName: '6mm白玻平钢(外)',
      marking: '1',
      pieces: '(外)',
      processCardNumber: '11',
      width: '575',
      height:"2241",
      shape: '普形',
      upCompletedQuantity: '12',
      completedQuantity: '1',
      numberBroken:'2',
      reasonType: '机器',
      reasonDamage:'气泡超标',
      responsibilityProcess:'中空',
      responsibilityTeams:'中空一班',
      responsibilityPersonnel:'',
      responsibilityDevice:'中空3#线',
      报工时间:'2021-01-01',
      销售单号:'NG23010101',
      流程卡号:'NG23010101A01',
      项目名称:'xxxx',
      产品名称:"xxxxxxxxx",
      报工编号:"BG2301010001",
      楼层编号:"D4-010-01",
      面积:'23.11',
      报工工序:'钢化',
      质检员:"张三",
      序号:'1',
      单片名称: '6mm白玻平钢(外)',
      标记: '1',
      片标记: '(外)',
      流程卡数量: '11',
      宽: '575',
      高:"2241",
      形状: '普形',
      次破数量: '12',
      次破类型: '机器',
      次破原因:'气泡超标',
      责任工序:'中空',
      责任班组:'中空一班',
      责任人员:'',
      责任设备:'中空3#线',
    },
    {
      报工时间:'2021-01-01',
      销售单号:'NG23010101',
      流程卡号:'NG23010101A01',
      项目名称:'xxxx',
      产品名称:"xxxxxxxxx",
      报工编号:"BG2301010001",
      楼层编号:"D4-010-01",
      面积:'23.11',
      报工工序:'钢化',
      质检员:"张三",
      序号:'1',
      单片名称: '6mm白玻平钢(外)',
      标记: '1',
      片标记: '(外)',
      流程卡数量: '11',
      宽: '575',
      高:"2241",
      形状: '普形',
      次破数量: '12',
      次破类型: '机器',
      次破原因:'气泡超标',
      责任工序:'中空',
      责任班组:'中空一班',
      责任人员:'',
      责任设备:'中空3#线',
    },
  ],//table body实际数据
  //脚部求和
  footerMethod ({ columns, data }) {//页脚函数
    let footList=['processCardNumber','numberBroken']
    let footList=['流程卡数量','面积','次破数量']
    return[
      columns.map((column, columnIndex) => {
        if (columnIndex === 0) {
north-glass-erp/northglass-erp/src/views/pp/Replenish/PrintReplenishFlowCard.vue
@@ -211,11 +211,11 @@
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      下拉显示所有信息插槽-->
      <template #content="{ row}">
      <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  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>
north-glass-erp/northglass-erp/src/views/pp/Replenish/SelectReplenish.vue
@@ -62,8 +62,9 @@
  },//表头参数
  columns:[
    {type:'expand',fixed:"left",slots: { content:'content' },width: 50},
    { type: 'seq',fixed:"left", title: '自序', width: 50 },
    {title: '操作', width: 80, slots: { default: 'button_slot' },fixed:"left"},
    { type: 'seq',fixed:"left", title: '自序', width: 50 },
    {field: 'salesOrderNo', width: 120, title: '销售单号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
    {field: 'processCardNo',width: 120, title: '流程卡号', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'entryName', width: 130,title: '项目名称', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
@@ -292,11 +293,11 @@
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      下拉显示所有信息插槽-->
      <template #content="{ row}">
      <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  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>
north-glass-erp/northglass-erp/src/views/pp/machine/AddMachine.vue
@@ -69,8 +69,8 @@
    {field: 'installationTime',title: '安装时间',editRender: { name: 'input', attrs: { placeholder: '' } } },
    {field: 'serviceInterval', title: '保养周期',editRender: { name: 'input', attrs: { placeholder: '' } }},
    {field: 'process', title: '所在工艺', editRender: { name: 'input', attrs: { placeholder: '' } }},
  ],//表头按钮
  ],
  //表头按钮
  toolbarConfig: {
    buttons: [
      {code: 'print_lck', name: '保存',status:'primary' ,icon:'vxe-icon-save'},
north-glass-erp/northglass-erp/src/views/pp/machine/MaintenanceAndRepair.vue
@@ -62,19 +62,20 @@
  },//表头参数
  columns:[
    {type:'expand',fixed:"left",slots: { content:'content' },width: 50},
    { type: 'seq',fixed:"left", title: '自序', width: 50 },
    {title: '操作', width: 140, slots: { default: 'button_slot' },fixed:"left"},
    {field: 'deviceName', width: 130,title: '设备名称', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'types',width: 120, title: '类型',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: 'faultDate', width: 100,title: '故障日期', sortable: true,showOverflow:"ellipsis"},
    {field: 'failureCause', width: 100,title: '故障原因', sortable: true},
    {field: 'maintenanceDate',width: 100, title: '保养日期', sortable: true},
    {field: 'maintenanceInstructions',width: 120, title: '保养说明', sortable: true,showOverflow:"ellipsis"},
    {field: 'RepairMaintenanceStartTime', width: 160,title: '维修/保养开始时间', sortable: true},
    {field: 'RepairMaintenanceEndTime',width: 160, title: '维修/保养结束时间', sortable: true},
    {field: 'process',width: 120, title: '所在工艺', sortable: true},
    {field: 'RepairMaintenancePersonnel',width: 150, title: '维修/保养人员', sortable: true},
    {field: 'cost',width: 120, title: '费用', sortable: true},
    { type: 'seq',fixed:"left", title: '自序', width: 50 },
    {field: '设备名称', width: 130,title: '设备名称', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: '类型',width: 120, title: '类型',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: '故障日期', width: 100,title: '故障日期', sortable: true,showOverflow:"ellipsis"},
    {field: '故障原因', width: 100,title: '故障原因', sortable: true},
    {field: '保养日期',width: 100, title: '保养日期', sortable: true},
    {field: '保养说明',width: 120, title: '保养说明', sortable: true,showOverflow:"ellipsis"},
    {field: '维修保养开始时间', width: 160,title: '维修/保养开始时间', sortable: true},
    {field: '维修保养结束时间',width: 160, title: '维修/保养结束时间', sortable: true},
    {field: '所在工艺',width: 120, title: '所在工艺', sortable: true},
    {field: '维修保养人员',width: 150, title: '维修/保养人员', sortable: true},
    {field: '费用',width: 120, title: '费用', sortable: true},
  ],//表头按钮
  toolbarConfig: {
@@ -89,35 +90,48 @@
  },
  data:  [
    {
      deviceName: '钢化炉(22E)',
      types: '维修',
      faultDate: '2022-03-16',
      failureCause: '坏了',
      maintenanceDate:'',
      maintenanceInstructions:'',
      RepairMaintenanceStartTime:'2022-03-16',
      RepairMaintenanceEndTime:'2022-03-16',
      process:'钢化',
      RepairMaintenancePersonnel:'SSS',
      cost:'112',
      设备名称: '钢化炉(22E)',
      类型: '维修',
      故障日期: '2022-03-16',
      故障原因: '坏了',
      保养日期:'',
      保养说明:'',
      维修保养开始时间:'2022-03-16',
      维修保养结束时间:'2022-03-16',
      所在工艺:'钢化',
      维修保养人员:'SSS',
      费用:'112',
    },
    {
      deviceName: '钢化炉(22E)',
      types: '保养',
      faultDate: '',
      failureCause: '',
      maintenanceDate:'2022-03-16',
      maintenanceInstructions:'保养',
      RepairMaintenanceStartTime:'2022-03-16',
      RepairMaintenanceEndTime:'2022-03-16',
      process:'钢化',
      RepairMaintenancePersonnel:'SSS',
      cost:'112',
      设备名称: '钢化炉(22E)',
      类型: '维修',
      故障日期: '2022-03-16',
      故障原因: '坏了',
      保养日期:'',
      保养说明:'',
      维修保养开始时间:'2022-03-16',
      维修保养结束时间:'2022-03-16',
      所在工艺:'钢化',
      维修保养人员:'SSS',
      费用:'112',
    },
    {
      设备名称: '钢化炉(22E)',
      类型: '维修',
      故障日期: '2022-03-16',
      故障原因: '坏了',
      保养日期:'',
      保养说明:'',
      维修保养开始时间:'2022-03-16',
      维修保养结束时间:'2022-03-16',
      所在工艺:'钢化',
      维修保养人员:'SSS',
      费用:'112',
    },
  ],//table body实际数据
  //脚部求和
  footerMethod ({ columns, data }) {//页脚函数
    let footList=['maintenanceFrequency','MaintenancesFrequency']
    let footList=['费用']
    return[
      columns.map((column, columnIndex) => {
        if (columnIndex === 0) {
north-glass-erp/northglass-erp/src/views/pp/machine/SelectMachine.vue
@@ -62,25 +62,25 @@
  },//表头参数
  columns:[
    {type:'expand',fixed:"left",slots: { content:'content' },width: 50},
    { type: 'seq',fixed:"left", title: '自序', width: 50 },
    {title: '操作', width: 140, slots: { default: 'button_slot' },fixed:"left"},
    {field: 'equipmentNumber', width: 120, title: '设备编号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
    {field: 'standardName',width: 120, title: '标准名称', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'deviceName', width: 130,title: '设备名称', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'buyingTime',width: 120, title: '购买时间',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: 'installationTime', width: 100,title: '安装时间', sortable: true,showOverflow:"ellipsis"},
    {field: 'usageCycle', width: 100,title: '使用周期(年)', sortable: true},
    {field: 'onState',width: 100, title: '使用状态', sortable: true},
    {field: 'maintenanceFrequency',width: 120, title: '维修次数', sortable: true,showOverflow:"ellipsis"},
    {field: 'MaintenancesFrequency', width: 120,title: '保养次数', sortable: true},
    {field: 'finalRepairTime',width: 120, title: '最后维修时间', sortable: true},
    {field: 'finalMaintenanceTime',width: 120, title: '最后保养时间', sortable: true},
    {field: 'maintenanceCosts',width: 120, title: '维修费用', sortable: true},
    {field: 'maintenancesCosts',width: 120, title: '保养费用', sortable: true},
    {field: 'process',width: 120, title: '所在工艺', sortable: true},
    {field: 'cancel',width: 120, title: '作废状态', sortable: true},
  ],//表头按钮
    { type: 'seq',fixed:"left", title: '自序', width: 50 },
    {field: '设备编号', width: 120, title: '设备编号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
    {field: '标准名称',width: 120, title: '标准名称', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: '设备名称', width: 130,title: '设备名称', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: '购买时间',width: 120, title: '购买时间',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: '安装时间', width: 100,title: '安装时间', sortable: true,showOverflow:"ellipsis"},
    {field: '使用周期', width: 100,title: '使用周期(年)', sortable: true},
    {field: '使用状态',width: 100, title: '使用状态', sortable: true},
    {field: '维修次数',width: 120, title: '维修次数', sortable: true,showOverflow:"ellipsis"},
    {field: '保养次数', width: 120,title: '保养次数', sortable: true},
    {field: '最后维修时间',width: 120, title: '最后维修时间', sortable: true},
    {field: '最后保养时间',width: 120, title: '最后保养时间', sortable: true},
    {field: '维修费用',width: 120, title: '维修费用', sortable: true},
    {field: '保养费用',width: 120, title: '保养费用', sortable: true},
    {field: '所在工艺',width: 120, title: '所在工艺', sortable: true},
    {field: '作废状态',width: 120, title: '作废状态', sortable: true},
  ],
  //表头按钮
  toolbarConfig: {
    // buttons: [{
    //
@@ -93,63 +93,60 @@
  },
  data:  [
    {
      equipmentNumber: 'SB2209211',
      standardName: '钢化炉(22E)',
      deviceName: '钢化炉(22E)',
      buyingTime: '2022-03-16',
      installationTime:'2022-03-16',
      usageCycle:'313',
      onState:'使用中',
      maintenanceFrequency:'0',
      MaintenancesFrequency:'0',
      finalRepairTime:'',
      finalMaintenanceTime:'',
      maintenanceCosts:'',
      maintenancesCosts:'',
      process:'钢化',
      cancel:'正常',
      "设备编号": 'SB2209211',
      '标准名称': '钢化炉(22E)',
      '设备名称': '钢化炉(22E)',
      '购买时间': '2022-03-16',
      '安装时间':'2022-03-16',
      '使用周期':'313',
      '使用状态':'使用中',
      '维修次数':'0',
      '保养次数':'0',
      '最后维修时间':'',
      '最后保养时间':'',
      '维修费用':'',
      '保养费用':'',
      '所在工艺':'钢化',
      '作废状态':'正常',
    },
    {
      equipmentNumber: 'SB2209211',
      standardName: '钢化炉(22E)',
      deviceName: '钢化炉(22E)',
      buyingTime: '2022-03-16',
      installationTime:'2022-03-16',
      usageCycle:'313',
      onState:'使用中',
      maintenanceFrequency:'0',
      MaintenancesFrequency:'0',
      finalRepairTime:'',
      finalMaintenanceTime:'',
      maintenanceCosts:'',
      maintenancesCosts:'',
      process:'钢化',
      cancel:'正常',
      "设备编号": 'SB2209211',
      '标准名称': '钢化炉(22E)',
      '设备名称': '钢化炉(22E)',
      '购买时间': '2022-03-16',
      '安装时间':'2022-03-16',
      '使用周期':'313',
      '使用状态':'使用中',
      '维修次数':'0',
      '保养次数':'0',
      '最后维修时间':'',
      '最后保养时间':'',
      '维修费用':'',
      '保养费用':'',
      '所在工艺':'钢化',
      '作废状态':'正常',
    },
    {
      equipmentNumber: 'SB2209211',
      standardName: '钢化炉(22E)',
      deviceName: '钢化炉(22E)',
      buyingTime: '2022-03-16',
      installationTime:'2022-03-16',
      usageCycle:'313',
      onState:'使用中',
      maintenanceFrequency:'0',
      MaintenancesFrequency:'0',
      finalRepairTime:'',
      finalMaintenanceTime:'',
      maintenanceCosts:'',
      maintenancesCosts:'',
      process:'钢化',
      cancel:'正常',
      "设备编号": 'SB2209211',
      '标准名称': '钢化炉(22E)',
      '设备名称': '钢化炉(22E)',
      '购买时间': '2022-03-16',
      '安装时间':'2022-03-16',
      '使用周期':'313',
      '使用状态':'使用中',
      '维修次数':'0',
      '保养次数':'0',
      '最后维修时间':'',
      '最后保养时间':'',
      '维修费用':'',
      '保养费用':'',
      '所在工艺':'钢化',
      '作废状态':'正常',
    },
  ],//table body实际数据
  //脚部求和
  footerMethod ({ columns, data }) {//页脚函数
    let footList=['maintenanceFrequency','MaintenancesFrequency']
    let footList=['维修次数','保养次数','维修费用','保养费用']
    return[
      columns.map((column, columnIndex) => {
        if (columnIndex === 0) {
north-glass-erp/northglass-erp/src/views/pp/processCard/PrintFlowCard.vue
@@ -63,20 +63,21 @@
  columns:[
    {type:'expand',fixed:"left",slots: { content:'content' },width: 50},
    { type: 'seq',fixed:"left", title: '自序', width: 50 },
  //  {title: '操作', width: 140, slots: { default: 'button_slot' },fixed:"left"},
    {field: 'salesOrderNo',width: 120, title: '销售单号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
    {field: 'productionOrderNo',width: 120, title: '流程卡号', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'customerName',width: 120, title: '客户名称', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'entryName',width: 120, title: '项目名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: 'sliceMarking',width: 90, title: '片标记', sortable: true,showOverflow:"ellipsis"},
    {field: 'marking',width: 80, title: '标记', sortable: true},
    {field: 'pieces',width: 80, title: '片数', sortable: true},
    {field: 'area',width: 80, title: '面积', sortable: true,showOverflow:"ellipsis"},
    {field: 'productName',width: 120, title: '产品名称', sortable: true},
    {field: 'floorNumber',width: 120, title: '楼层编号', sortable: true},
    {field: 'divider', width: 120,title: '分架员', sortable: true},
    {field: 'splittingTime',width: 120, title: '分架时间', sortable: true},
    {field: 'notes',width: 120, title: '备注', sortable: true}
    {field: '销售单号',width: 120, title: '销售单号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
    {field: '生产订单号',width: 140, title: '生产订单号', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: '流程卡号',width: 120, title: '流程卡号', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: '客户名称',width: 120, title: '客户名称', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: '项目名称',width: 120, title: '项目名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: '片标记',width: 90, title: '片标记', sortable: true,showOverflow:"ellipsis"},
    {field: '标记',width: 80, title: '标记', sortable: true},
    {field: '片数',width: 80, title: '片数', sortable: true},
    {field: '面积',width: 80, title: '面积', sortable: true,showOverflow:"ellipsis"},
    {field: '产品名称',width: 120, title: '产品名称', sortable: true},
    {field: '单片名称',width: 120, title: '单片名称', sortable: true},
    {field: '楼层编号',width: 120, title: '楼层编号', sortable: true},
    {field: '分架员', width: 120,title: '分架员', sortable: true},
    {field: '分架时间',width: 120, title: '分架时间', sortable: true},
    {field: '备注',width: 120, title: '备注', sortable: true}
  ],//表头按钮
  toolbarConfig: {
@@ -106,77 +107,77 @@
  },
  data:  [
    {
      salesOrderNo: 'NG231201',
      productionOrderNo:'NG231201A',
      processCard: 'NG231201A01',
      customerName:'西安高科幕墙门窗有限公司',
      entryName:'银隆广场',
      sliceMarking:'(外)',
      marking:'1',
      pieces:'16',
      area:'24.14',
      productName: '10mm超白UD60平钢(外)+12Ar(结)+10mm超白平钢(内)',
      singlePieceName: '10mm超白UD60平钢(外)',
      floorNumber: '16-BSGB05',
      divider: '普形',
      splittingTime: '2023-01-11',
      notes: '',
      销售单号: 'NG231201',
      生产订单号:'NG231201A',
      流程卡号: 'NG231201A01',
      客户名称:'西安高科幕墙门窗有限公司',
      项目名称:'银隆广场',
      片标记:'(外)',
      标记:'1',
      片数:'16',
      面积:'24.14',
      产品名称: '10mm超白UD60平钢(外)+12Ar(结)+10mm超白平钢(内)',
      单片名称: '10mm超白UD60平钢(外)',
      楼层编号: '16-BSGB05',
      分架员: '张三',
      分架时间: '2023-01-11',
      备注: '',
    },
    {
      salesOrderNo: 'NG231201',
      productionOrderNo:'NG231201A',
      processCard: 'NG231201A01',
      customerName:'西安高科幕墙门窗有限公司',
      entryName:'银隆广场',
      sliceMarking:'(内)',
      marking:'2',
      pieces:'16',
      area:'24.14',
      productName: '10mm超白UD60平钢(外)+12Ar(结)+10mm超白平钢(内)',
      singlePieceName: '10mm超白平钢(内)',
      floorNumber: '16-BSGB05',
      divider: '普形',
      splittingTime: '2023-01-11',
      notes: '',
      销售单号: 'NG231201',
      生产订单号:'NG231201A',
      流程卡号: 'NG231201A01',
      客户名称:'西安高科幕墙门窗有限公司',
      项目名称:'银隆广场',
      片标记:'(外)',
      标记:'1',
      片数:'16',
      面积:'24.14',
      产品名称: '10mm超白UD60平钢(外)+12Ar(结)+10mm超白平钢(内)',
      单片名称: '10mm超白UD60平钢(外)',
      楼层编号: '16-BSGB05',
      分架员: '张三',
      分架时间: '2023-01-11',
      备注: '',
    },
    {
      salesOrderNo: 'NG231201',
      productionOrderNo:'NG231201A',
      processCard: 'NG231201A02',
      customerName:'西安高科幕墙门窗有限公司',
      entryName:'银隆广场',
      sliceMarking:'(外)',
      marking:'1',
      pieces:'6',
      area:'24.14',
      productName: '10mm超白UD60平钢(外)+12Ar(结)+10mm超白平钢(内)',
      singlePieceName: '10mm超白UD60平钢(外)',
      floorNumber: '16-BSGB05',
      divider: '普形',
      splittingTime: '2023-01-11',
      notes: '',
      销售单号: 'NG231201',
      生产订单号:'NG231201A',
      流程卡号: 'NG231201A01',
      客户名称:'西安高科幕墙门窗有限公司',
      项目名称:'银隆广场',
      片标记:'(外)',
      标记:'1',
      片数:'16',
      面积:'24.14',
      产品名称: '10mm超白UD60平钢(外)+12Ar(结)+10mm超白平钢(内)',
      单片名称: '10mm超白UD60平钢(外)',
      楼层编号: '16-BSGB05',
      分架员: '张三',
      分架时间: '2023-01-11',
      备注: '',
    },
    {
      salesOrderNo: 'NG231201',
      productionOrderNo:'NG231201A',
      processCard: 'NG231201A02',
      customerName:'西安高科幕墙门窗有限公司',
      entryName:'银隆广场',
      sliceMarking:'(内)',
      marking:'2',
      pieces:'6',
      area:'24.14',
      productName: '10mm超白UD60平钢(外)+12Ar(结)+10mm超白平钢(内)',
      singlePieceName: '10mm超白平钢(内)',
      floorNumber: '16-BSGB05',
      divider: '普形',
      splittingTime: '2023-01-11',
      notes: '',
      销售单号: 'NG231201',
      生产订单号:'NG231201A',
      流程卡号: 'NG231201A01',
      客户名称:'西安高科幕墙门窗有限公司',
      项目名称:'银隆广场',
      片标记:'(外)',
      标记:'1',
      片数:'16',
      面积:'24.14',
      产品名称: '10mm超白UD60平钢(外)+12Ar(结)+10mm超白平钢(内)',
      单片名称: '10mm超白UD60平钢(外)',
      楼层编号: '16-BSGB05',
      分架员: '张三',
      分架时间: '2023-01-11',
      备注: '',
    },
  ],//table body实际数据
  //脚部求和
  footerMethod ({ columns, data }) {//页脚函数
    let footList=['pieces','area']
    let footList=['片数','面积']
    return[
      columns.map((column, columnIndex) => {
        if (columnIndex === 0) {
north-glass-erp/northglass-erp/src/views/pp/processCard/ProductionScheduling.vue
@@ -66,24 +66,23 @@
    {type:'expand',fixed:"left",slots: { content:'content' },width: 50},
    { type: 'checkbox',fixed:"left", title: '选择', width: 80 },
    { type: 'seq',fixed:"left", title: '自序', width: 50 },
    {field: 'id', title: '排产编号', sortable: true, width: 120 },
    {field: 'salesOrderNo', title: '销售单号',slots: { filter: 'num1_filter' }, sortable: true, width: 100 },
    {field: 'customerName', title: '客户名称', sortable: true, width: 110},
    {field: 'EntryName', title: '项目名称', sortable: true , width: 100},
    {field: 'serialNumber', title: '序号', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }, width: 90},
    {field: 'productName', title: '产品名称', sortable: true, width: 140},
    {field: 'width', title: '宽', sortable: true , width: 70},
    {field: 'height', title: '高', sortable: true , width: 70},
    {field: 'number', title: '数量', sortable: true , width: 70},
    {field: 'area', title: '面积', sortable: true , width: 90},
    {field: 'productionSchedulingQuantity' , width: 120,editRender: { name: 'input', attrs: { placeholder: '' } }, title: '排产数量', sortable: true},
    {field: 'availableQuantity', title: '已排产数量', sortable: true , width: 120},
    {field: 'availableQuantityArea', title: '已排产面积', sortable: true , width: 120},
    {field: 'usedQuantity', title: '未排产数量', sortable: true , width: 120},
    {field: 'usedQuantityArea', title: '未排产面积', sortable: true , width: 120},
    {field: 'shape', title: '形状', sortable: true , width: 80},
    {field: 'notes', title: '备注', sortable: true , width: 120},
    {field: '排产编号', title: '排产编号', sortable: true, width: 120 },
    {field: '销售单号', title: '销售单号',slots: { filter: 'num1_filter' }, sortable: true, width: 100 },
    {field: '客户名称', title: '客户名称', sortable: true, width: 110},
    {field: '项目名称', title: '项目名称', sortable: true , width: 100},
    {field: '序号', title: '序号', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }, width: 90},
    {field: '产品名称', title: '产品名称', sortable: true, width: 140},
    {field: '宽', title: '宽', sortable: true , width: 70},
    {field: '高', title: '高', sortable: true , width: 70},
    {field: '数量', title: '数量', sortable: true , width: 70},
    {field: '面积', title: '面积', sortable: true , width: 90},
    {field: '排产数量' , width: 120,editRender: { name: 'input', attrs: { placeholder: '' } }, title: '排产数量', sortable: true},
    {field: '已排产数量', title: '已排产数量', sortable: true , width: 120},
    {field: '已排产面积', title: '已排产面积', sortable: true , width: 120},
    {field: '未排产数量', title: '未排产数量', sortable: true , width: 120},
    {field: '未排产面积', title: '未排产面积', sortable: true , width: 120},
    {field: '形状', title: '形状', sortable: true , width: 80},
    {field: '备注', title: '备注', sortable: true , width: 120},
  ],//表头按钮
  toolbarConfig: {
@@ -99,66 +98,66 @@
  },
  data:  [
    {
      id:"PC20230100001",
      salesOrderNo: 'NG231207',
      customerName:'XXX公司',
      EntryName:"XXXX公园",
      serialNumber: '1',
      productName: '6mm超白Low-E(外)+A12+6mm超白平钢(内)',
      width: '2000',
      height: '1000',
      number: '10',
      area: '20000',
      productionSchedulingQuantity: '',
      availableQuantity: '10000',
      availableQuantityArea: '10000',
      usedQuantity: '',
      usedQuantityArea: '',
      shape: '矩形',
      notes: '备注'
      排产编号:"PC20230100001",
      销售单号: 'NG231207',
      客户名称:'XXX公司',
      项目名称:"XXXX公园",
      序号: '1',
      产品名称: '6mm超白Low-E(外)+A12+6mm超白平钢(内)',
      宽: '2000',
      高: '1000',
      数量: '10',
      面积: '20000',
      排产数量: '',
      已排产数量: '10000',
      已排产面积: '10000',
      未排产数量: '',
      未排产面积: '',
      形状: '矩形',
      备注: '备注'
    },
    {
      id:"PC20230100001",
      salesOrderNo: 'NG231207',
      customerName:'XXX公司',
      EntryName:"XXXX公园",
      serialNumber: '1',
      productName: '12mm超白Low-E(外)+A12+12mm超白平钢(内)',
      width: '2000',
      height: '1000',
      number: '10',
      area: '20000',
      productionSchedulingQuantity: '',
      availableQuantity: '10000',
      availableQuantityArea: '10000',
      usedQuantity: '123',
      usedQuantityArea: '123',
      shape: '矩形',
      notes: '备注'
      排产编号:"PC20230100001",
      销售单号: 'NG231207',
      客户名称:'XXX公司',
      项目名称:"XXXX公园",
      序号: '1',
      产品名称: '6mm超白Low-E(外)+A12+6mm超白平钢(内)',
      宽: '2000',
      高: '1000',
      数量: '10',
      面积: '20000',
      排产数量: '',
      已排产数量: '10000',
      已排产面积: '10000',
      未排产数量: '',
      未排产面积: '',
      形状: '矩形',
      备注: '备注'
    },
    {
      id:"",
      salesOrderNo: 'NG231207',
      customerName:'XXX公司',
      EntryName:"XXXX公园",
      serialNumber: '1',
      productName: '8mm超白Low-E(外)+A12+8mm超白平钢(内)',
      width: '2000',
      height: '1000',
      number: '10',
      area: '20000',
      productionSchedulingQuantity: '',
      availableQuantity: '10000',
      availableQuantityArea: '10000',
      usedQuantity: '',
      usedQuantityArea: '',
      shape: '矩形',
      notes: '备注'
      排产编号:"PC20230100001",
      销售单号: 'NG231207',
      客户名称:'XXX公司',
      项目名称:"XXXX公园",
      序号: '1',
      产品名称: '6mm超白Low-E(外)+A12+6mm超白平钢(内)',
      宽: '2000',
      高: '1000',
      数量: '10',
      面积: '20000',
      排产数量: '',
      已排产数量: '10000',
      已排产面积: '10000',
      未排产数量: '',
      未排产面积: '',
      形状: '矩形',
      备注: '备注'
    },
  ],//table body实际数据
  //脚部求和
  footerMethod ({ columns, data }) {//页脚函数
    let footList=['number','productionSchedulingQuantity','availableQuantity','availableQuantityArea','usedQuantity','area','usedQuantityArea']
    let footList=['数量','面积','排产数量','已排产数量','已排产面积','未排产数量','未排产面积']
    return[
      columns.map((column, columnIndex) => {
        if (columnIndex === 0) {
north-glass-erp/northglass-erp/src/views/pp/processCard/SelectAddProcess.vue
@@ -62,18 +62,19 @@
  },//表头参数
  columns:[
    {type:'expand',fixed:"left",slots: { content:'content' },width: 50},
    { type: 'seq',fixed:"left", title: '自序', width: 50 },
    {title: '操作', width: 80, slots: { default: 'button_slot' },fixed:"left"},
    {field: 'salesOrderNo',  title: '销售单号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
    {field: 'customerName', title: '客户名称', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'entryName', title: '项目名称', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'batch', title: '批次',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: 'originalFilmRequired', title: '原片要求', sortable: true,showOverflow:"ellipsis"},
    {field: 'trademark', title: '商标选项', sortable: true},
    {field: 'salesman', title: '业务员', sortable: true},
    {field: 'processRequirements', title: '加工要求', sortable: true,showOverflow:"ellipsis"},
    {field: 'shipTo', title: '送货地址', sortable: true},
    {field: 'deliveryDate', title: '交货日期', sortable: true}
    { type: 'seq',fixed:"left", title: '自序', width: 50 },
    {field: '销售单号',  title: '销售单号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
    {field: '客户名称', title: '客户名称', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: '项目名称', title: '项目名称', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: '批次', title: '批次',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: '原片要求', title: '原片要求', sortable: true,showOverflow:"ellipsis"},
    {field: '商标选项', title: '商标选项', sortable: true},
    {field: '订单类型', title: '订单类型', sortable: true},
    {field: '业务员', title: '业务员', sortable: true},
    {field: '加工要求', title: '加工要求', sortable: true,showOverflow:"ellipsis"},
    {field: '送货地址', title: '送货地址', sortable: true},
    {field: '交货日期', title: '交货日期', sortable: true}
  ],//表头按钮
  toolbarConfig: {
@@ -88,96 +89,95 @@
  },
  data:  [
    {
      salesOrderNo: 'NG231201',
      customerName:"慕墙公司",
      entryName: '信合春天里',
      batch: '23批',
      originalFilmRequired: '2022/5/24XFPO202205202',
      trademark:'北玻商标',
      orderType: '普通订单',
      salesman: 'XXX',
      processRequirements: '1)按企标2)每片玻璃标签贴室外面。内片玻璃打“3C商标”,统一打在玻璃“宽度”方向右下角4)按批次单独落架。',
      shipTo:'工地',
      deliveryDate:'2024-01-12'
      销售单号: 'NG231201',
      客户名称:"慕墙公司",
      项目名称: '信合春天里',
      批次: '23批',
      原片要求: '2022/5/24XFPO202205202',
      商标选项:'北玻商标',
      订单类型: '普通订单',
      业务员: 'XXX',
      加工要求: '1)按企标2)每片玻璃标签贴室外面。内片玻璃打“3C商标”,统一打在玻璃“宽度”方向右下角4)按批次单独落架。',
      送货地址:'工地',
      交货日期:'2024-01-12'
    },
    {
      salesOrderNo: 'NG231202',
      customerName:"大荒建材有限公司",
      entryName: '信合春天里',
      batch: '23批',
      originalFilmRequired: '2022/5/24XFPO202205202',
      trademark:'北玻商标',
      orderType: '普通订单',
      salesman: 'XXX',
      processRequirements: '1)按企标2)每片玻璃标签贴室外面。内片玻璃打“3C商标”,统一打在玻璃“宽度”方向右下角4)按批次单独落架。',
      shipTo:'工地',
      deliveryDate:'2024-01-12'
      销售单号: 'NG231201',
      客户名称:"慕墙公司",
      项目名称: '信合春天里',
      批次: '23批',
      原片要求: '2022/5/24XFPO202205202',
      商标选项:'北玻商标',
      订单类型: '普通订单',
      业务员: 'XXX',
      加工要求: '1)按企标2)每片玻璃标签贴室外面。内片玻璃打“3C商标”,统一打在玻璃“宽度”方向右下角4)按批次单独落架。',
      送货地址:'工地',
      交货日期:'2024-01-12'
    },
    {
      salesOrderNo: 'NG231203',
      customerName:"建筑工程集团有限公司",
      entryName: '信合春天里',
      batch: '23批',
      originalFilmRequired: '2022/5/24XFPO202205202',
      trademark:'北玻商标',
      orderType: '普通订单',
      salesman: 'XXX',
      processRequirements: '1)按企标2)每片玻璃标签贴室外面。内片玻璃打“3C商标”,统一打在玻璃“宽度”方向右下角4)按批次单独落架。',
      shipTo:'工地',
      deliveryDate:'2024-01-12'
      销售单号: 'NG231201',
      客户名称:"慕墙公司",
      项目名称: '信合春天里',
      批次: '23批',
      原片要求: '2022/5/24XFPO202205202',
      商标选项:'北玻商标',
      订单类型: '普通订单',
      业务员: 'XXX',
      加工要求: '1)按企标2)每片玻璃标签贴室外面。内片玻璃打“3C商标”,统一打在玻璃“宽度”方向右下角4)按批次单独落架。',
      送货地址:'工地',
      交货日期:'2024-01-12'
    },
    {
      salesOrderNo: 'NG231204',
      customerName:"慕墙公司",
      entryName: '信合春天里',
      batch: '23批',
      originalFilmRequired: '2022/5/24XFPO202205202',
      trademark:'北玻商标',
      orderType: '普通订单',
      salesman: 'XXX',
      processRequirements: '1)按企标2)每片玻璃标签贴室外面。内片玻璃打“3C商标”,统一打在玻璃“宽度”方向右下角4)按批次单独落架。',
      shipTo:'工地',
      deliveryDate:'2024-01-12'
      销售单号: 'NG231201',
      客户名称:"慕墙公司",
      项目名称: '信合春天里',
      批次: '23批',
      原片要求: '2022/5/24XFPO202205202',
      商标选项:'北玻商标',
      订单类型: '普通订单',
      业务员: 'XXX',
      加工要求: '1)按企标2)每片玻璃标签贴室外面。内片玻璃打“3C商标”,统一打在玻璃“宽度”方向右下角4)按批次单独落架。',
      送货地址:'工地',
      交货日期:'2024-01-12'
    },
    {
      salesOrderNo: 'NG231205',
      customerName:"慕墙公司",
      entryName: '信合春天里',
      batch: '23批',
      originalFilmRequired: '2022/5/24XFPO202205202',
      trademark:'北玻商标',
      orderType: '普通订单',
      salesman: 'XXX',
      processRequirements: '1)按企标2)每片玻璃标签贴室外面。内片玻璃打“3C商标”,统一打在玻璃“宽度”方向右下角4)按批次单独落架。',
      shipTo:'工地',
      deliveryDate:'2024-01-12'
      销售单号: 'NG231201',
      客户名称:"慕墙公司",
      项目名称: '信合春天里',
      批次: '23批',
      原片要求: '2022/5/24XFPO202205202',
      商标选项:'北玻商标',
      订单类型: '普通订单',
      业务员: 'XXX',
      加工要求: '1)按企标2)每片玻璃标签贴室外面。内片玻璃打“3C商标”,统一打在玻璃“宽度”方向右下角4)按批次单独落架。',
      送货地址:'工地',
      交货日期:'2024-01-12'
    },
    {
      salesOrderNo: 'NG231206',
      customerName:"慕墙公司",
      entryName: '信合春天里',
      batch: '23批',
      originalFilmRequired: '2022/5/24XFPO202205202',
      trademark:'北玻商标',
      orderType: '普通订单',
      salesman: 'XXX',
      processRequirements: '1)按企标2)每片玻璃标签贴室外面。内片玻璃打“3C商标”,统一打在玻璃“宽度”方向右下角4)按批次单独落架。',
      shipTo:'工地',
      deliveryDate:'2024-01-12'
      销售单号: 'NG231201',
      客户名称:"慕墙公司",
      项目名称: '信合春天里',
      批次: '23批',
      原片要求: '2022/5/24XFPO202205202',
      商标选项:'北玻商标',
      订单类型: '普通订单',
      业务员: 'XXX',
      加工要求: '1)按企标2)每片玻璃标签贴室外面。内片玻璃打“3C商标”,统一打在玻璃“宽度”方向右下角4)按批次单独落架。',
      送货地址:'工地',
      交货日期:'2024-01-12'
    },
    {
      salesOrderNo: 'NG231207',
      customerName:"慕墙公司",
      entryName: '信合春天里',
      batch: '23批',
      originalFilmRequired: '2022/5/24XFPO202205202',
      trademark:'北玻商标',
      orderType: '普通订单',
      salesman: 'XXX',
      processRequirements: '1)按企标2)每片玻璃标签贴室外面。内片玻璃打“3C商标”,统一打在玻璃“宽度”方向右下角4)按批次单独落架。',
      shipTo:'工地',
      deliveryDate:'2024-01-12'
      销售单号: 'NG231201',
      客户名称:"慕墙公司",
      项目名称: '信合春天里',
      批次: '23批',
      原片要求: '2022/5/24XFPO202205202',
      商标选项:'北玻商标',
      订单类型: '普通订单',
      业务员: 'XXX',
      加工要求: '1)按企标2)每片玻璃标签贴室外面。内片玻璃打“3C商标”,统一打在玻璃“宽度”方向右下角4)按批次单独落架。',
      送货地址:'工地',
      交货日期:'2024-01-12'
    },
  ],//table body实际数据
  //脚部求和
north-glass-erp/northglass-erp/src/views/pp/processCard/SelectProcessCard.vue
@@ -62,18 +62,18 @@
  },//表头参数
  columns:[
    {type:'expand',fixed:"left",slots: { content:'content' },width: 50},
    { type: 'seq',fixed:"left", title: '自序', width: 50 },
    {title: '操作', width: 140, slots: { default: 'button_slot' },fixed:"left"},
    {field: 'salesOrderNo', title: '销售单号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
    {field: 'productionOrderNo', width: 120, title: '流程卡号', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'productID', title: '产品编号', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'productName', title: '产品名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: 'entryName', title: '项目名称', sortable: true,showOverflow:"ellipsis"},
    {field: 'total', title: '总数量', sortable: true},
    {field: 'TotalArea', title: '总面积', sortable: true},
    {field: 'Cases', title: '分箱', sortable: true,showOverflow:"ellipsis"},
    {field: 'divider', title: '分架员', sortable: true},
    {field: 'processRequirements', title: '加工要求', sortable: true}
    { type: 'seq',fixed:"left", title: '自序', width: 50 },
    {field: '销售单号', title: '销售单号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
    {field: '流程卡号', width: 120, title: '流程卡号', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: '产品编号', title: '产品编号', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: '产品名称', title: '产品名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: '项目名称', title: '项目名称', sortable: true,showOverflow:"ellipsis"},
    {field: '总数量', title: '总数量', sortable: true},
    {field: '总面积', title: '总面积', sortable: true},
    {field: '分箱数', title: '分箱数', sortable: true,showOverflow:"ellipsis"},
    {field: '分架员', title: '分架员', sortable: true},
    {field: '加工要求', title: '加工要求', sortable: true}
  ],//表头按钮
  toolbarConfig: {
@@ -88,105 +88,93 @@
  },
  data:  [
    {
      salesOrderNo: 'NG231201',
      productionOrderNo: 'NG231201A01 ',
      productID: '9001010203000008',
      productName: '5mm白玻平钢(外)+0.76PVB透明+5mm白玻平钢(内)',
      entryName: '信合春天里',
      total: '169',
      TotalArea: '175.31',
      Cases: '3',
      divider: 'xxx',
      processRequirements: '1)按企标2)每片玻璃标签贴室外面。内片玻璃打“3C商标”,统一打在玻璃“宽度”方向右下角4)按批次单独落架。',
      销售单号: 'NG231201',
      流程卡号: 'NG231201A01 ',
      产品编号: '9001010203000008',
      产品名称: '5mm白玻平钢(外)+0.76PVB透明+5mm白玻平钢(内)',
      项目名称: '信合春天里',
      总数量: '169',
      总面积: '175.31',
      分箱数: '3',
      分架员: 'xxx',
      加工要求: '1)按企标2)每片玻璃标签贴室外面。内片玻璃打“3C商标”,统一打在玻璃“宽度”方向右下角4)按批次单独落架。',
    },
    {
      salesOrderNo: 'NG231201',
      productionOrderNo: 'NG231201B01',
      productID: '9001010203000008',
      productName: '5mm白玻平钢(外)+0.76PVB透明+5mm白玻平钢(内)',
      entryName: '信合春天里',
      total: '169',
      TotalArea: '175.31',
      Cases: '3',
      divider: 'xxx',
      processRequirements: '1)按企标2)每片玻璃标签贴室外面。内片玻璃打“3C商标”,统一打在玻璃“宽度”方向右下角4)按批次单独落架。',
      销售单号: 'NG231201',
      流程卡号: 'NG231201A01 ',
      产品编号: '9001010203000008',
      产品名称: '5mm白玻平钢(外)+0.76PVB透明+5mm白玻平钢(内)',
      项目名称: '信合春天里',
      总数量: '169',
      总面积: '175.31',
      分箱数: '3',
      分架员: 'xxx',
      加工要求: '1)按企标2)每片玻璃标签贴室外面。内片玻璃打“3C商标”,统一打在玻璃“宽度”方向右下角4)按批次单独落架。',
    },
    {
      salesOrderNo: 'NG231202',
      productionOrderNo: 'NG231202A01',
      productID: '9001010203000008',
      productName: '5mm白玻平钢(外)+0.76PVB透明+5mm白玻平钢(内)',
      entryName: '信合春天里',
      total: '169',
      TotalArea: '175.31',
      Cases: '3',
      divider: 'xxx',
      processRequirements: '1)按企标2)每片玻璃标签贴室外面。内片玻璃打“3C商标”,统一打在玻璃“宽度”方向右下角4)按批次单独落架。',
      销售单号: 'NG231201',
      流程卡号: 'NG231201A01 ',
      产品编号: '9001010203000008',
      产品名称: '5mm白玻平钢(外)+0.76PVB透明+5mm白玻平钢(内)',
      项目名称: '信合春天里',
      总数量: '169',
      总面积: '175.31',
      分箱数: '3',
      分架员: 'xxx',
      加工要求: '1)按企标2)每片玻璃标签贴室外面。内片玻璃打“3C商标”,统一打在玻璃“宽度”方向右下角4)按批次单独落架。',
    },
    {
      salesOrderNo: 'NG231203',
      productionOrderNo: 'NG231203A01',
      productID: '9001010203000008',
      productName: '5mm白玻平钢(外)+0.76PVB透明+5mm白玻平钢(内)',
      entryName: '信合春天里',
      total: '169',
      TotalArea: '175.31',
      Cases: '3',
      divider: 'xxx',
      processRequirements: '1)按企标2)每片玻璃标签贴室外面。内片玻璃打“3C商标”,统一打在玻璃“宽度”方向右下角4)按批次单独落架。',
      销售单号: 'NG231201',
      流程卡号: 'NG231201A01 ',
      产品编号: '9001010203000008',
      产品名称: '5mm白玻平钢(外)+0.76PVB透明+5mm白玻平钢(内)',
      项目名称: '信合春天里',
      总数量: '169',
      总面积: '175.31',
      分箱数: '3',
      分架员: 'xxx',
      加工要求: '1)按企标2)每片玻璃标签贴室外面。内片玻璃打“3C商标”,统一打在玻璃“宽度”方向右下角4)按批次单独落架。',
    },
    {
      salesOrderNo: 'NG231204',
      productionOrderNo: 'NG231204A01',
      productID: '9001010203000008',
      productName: '5mm白玻平钢(外)+0.76PVB透明+5mm白玻平钢(内)',
      entryName: '信合春天里',
      total: '169',
      TotalArea: '175.31',
      Cases: '3',
      divider: 'xxx',
      processRequirements: '1)按企标2)每片玻璃标签贴室外面。内片玻璃打“3C商标”,统一打在玻璃“宽度”方向右下角4)按批次单独落架。',
      销售单号: 'NG231201',
      流程卡号: 'NG231201A01 ',
      产品编号: '9001010203000008',
      产品名称: '5mm白玻平钢(外)+0.76PVB透明+5mm白玻平钢(内)',
      项目名称: '信合春天里',
      总数量: '169',
      总面积: '175.31',
      分箱数: '3',
      分架员: 'xxx',
      加工要求: '1)按企标2)每片玻璃标签贴室外面。内片玻璃打“3C商标”,统一打在玻璃“宽度”方向右下角4)按批次单独落架。',
    },
    {
      salesOrderNo: 'NG231205',
      productionOrderNo: 'NG231205A01',
      productID: '9001010203000008',
      productName: '5mm白玻平钢(外)+0.76PVB透明+5mm白玻平钢(内)',
      entryName: '信合春天里',
      total: '169',
      TotalArea: '175.31',
      Cases: '3',
      divider: 'xxx',
      processRequirements: '1)按企标2)每片玻璃标签贴室外面。内片玻璃打“3C商标”,统一打在玻璃“宽度”方向右下角4)按批次单独落架。',
      销售单号: 'NG231201',
      流程卡号: 'NG231201A01 ',
      产品编号: '9001010203000008',
      产品名称: '5mm白玻平钢(外)+0.76PVB透明+5mm白玻平钢(内)',
      项目名称: '信合春天里',
      总数量: '169',
      总面积: '175.31',
      分箱数: '3',
      分架员: 'xxx',
      加工要求: '1)按企标2)每片玻璃标签贴室外面。内片玻璃打“3C商标”,统一打在玻璃“宽度”方向右下角4)按批次单独落架。',
    },
    {
      salesOrderNo: 'NG231206',
      productionOrderNo: 'NG231206A01',
      productID: '9001010203000008',
      productName: '5mm白玻平钢(外)+0.76PVB透明+5mm白玻平钢(内)',
      entryName: '信合春天里',
      total: '169',
      TotalArea: '175.31',
      Cases: '3',
      divider: 'xxx',
      processRequirements: '1)按企标2)每片玻璃标签贴室外面。内片玻璃打“3C商标”,统一打在玻璃“宽度”方向右下角4)按批次单独落架。',
    },
    {
      salesOrderNo: 'NG231207',
      productionOrderNo: 'NG231207A01',
      productID: '9001010203000008',
      productName: '5mm白玻平钢(外)+0.76PVB透明+5mm白玻平钢(内)',
      entryName: '信合春天里',
      total: '169',
      TotalArea: '175.31',
      Cases: '3',
      divider: 'xxx',
      processRequirements: '1)按企标2)每片玻璃标签贴室外面。内片玻璃打“3C商标”,统一打在玻璃“宽度”方向右下角4)按批次单独落架。',
      销售单号: 'NG231201',
      流程卡号: 'NG231201A01 ',
      产品编号: '9001010203000008',
      产品名称: '5mm白玻平钢(外)+0.76PVB透明+5mm白玻平钢(内)',
      项目名称: '信合春天里',
      总数量: '169',
      总面积: '175.31',
      分箱数: '3',
      分架员: 'xxx',
      加工要求: '1)按企标2)每片玻璃标签贴室外面。内片玻璃打“3C商标”,统一打在玻璃“宽度”方向右下角4)按批次单独落架。',
    },
  ],//table body实际数据
  //脚部求和
  footerMethod ({ columns, data }) {//页脚函数
    let footList=['total','TotalArea','Cases']
    let footList=['总数量','总面积','分箱数']
    return[
      columns.map((column, columnIndex) => {
        if (columnIndex === 0) {
north-glass-erp/northglass-erp/src/views/pp/processCard/SplittingDetails.vue
@@ -62,15 +62,15 @@
  },//表头参数
  columns:[
    {type:'expand',fixed:"left",slots: { content:'content' },width: 50},
    { type: 'seq',fixed:"left", title: '自序', width: 50 },
    {title: '操作', width: 80, slots: { default: 'button_slot' },fixed:"left"},
    {field: 'salesOrderNo',  title: '销售单号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
    {field: 'productionOrderNo', title: '生产订单号', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'productID', title: '产品编号', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'productName', title: '产品名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: 'total', title: '总数量', sortable: true,showOverflow:"ellipsis"},
    {field: 'TotalArea', title: '总面积', sortable: true},
    {field: 'perimeter', title: '周长', sortable: true},
    { type: 'seq',fixed:"left", title: '自序', width: 50 },
    {field: '销售单号',  title: '销售单号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
    {field: '生产订单号', title: '生产订单号', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: '产品编号', title: '产品编号', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: '产品名称', title: '产品名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true},
    {field: '总数量', title: '总数量', sortable: true,showOverflow:"ellipsis"},
    {field: '总面积', title: '总面积', sortable: true},
    {field: '周长', title: '周长', sortable: true},
  ],//表头按钮
  toolbarConfig: {
@@ -85,36 +85,45 @@
  },
  data:  [
    {
      salesOrderNo: 'NG231201',
      productionOrderNo: 'NG231201A',
      productID: '9001010203000008',
      productName: '5mm白玻平钢(外)+0.76PVB透明+5mm白玻平钢(内)',
      total: '169',
      TotalArea: '175.31',
      perimeter: '99.84',
      销售单号: 'NG231201',
      生产订单号: 'NG231201A',
      产品编号: '9001010203000008',
      产品名称: '5mm白玻平钢(外)+0.76PVB透明+5mm白玻平钢(内)',
      总数量: '169',
      总面积: '175.31',
      周长: '99.84',
    },
    {
      salesOrderNo: 'NG231201',
      productionOrderNo: 'NG231201B',
      productID: '9001010208000018',
      productName: '6mm可钢LOW-E-85平钢(外)+12A(结)+6mm白玻平钢(内)',
      total: '169',
      TotalArea: '175.31',
      perimeter: '99.84',
      销售单号: 'NG231201',
      生产订单号: 'NG231201A',
      产品编号: '9001010203000008',
      产品名称: '5mm白玻平钢(外)+0.76PVB透明+5mm白玻平钢(内)',
      总数量: '169',
      总面积: '175.31',
      周长: '99.84',
    },
    {
      salesOrderNo: 'NG231201',
      productionOrderNo: 'NG231201C',
      productID: '9001010203000021',
      productName: '6mm超白UD60平钢(外)+12A(结)+6mm超白平钢(内)',
      total: '169',
      TotalArea: '175.31',
      perimeter: '99.84',
      销售单号: 'NG231201',
      生产订单号: 'NG231201A',
      产品编号: '9001010203000008',
      产品名称: '5mm白玻平钢(外)+0.76PVB透明+5mm白玻平钢(内)',
      总数量: '169',
      总面积: '175.31',
      周长: '99.84',
    },
    {
      销售单号: 'NG231201',
      生产订单号: 'NG231201A',
      产品编号: '9001010203000008',
      产品名称: '5mm白玻平钢(外)+0.76PVB透明+5mm白玻平钢(内)',
      总数量: '169',
      总面积: '175.31',
      周长: '99.84',
    },
  ],//table body实际数据
  //脚部求和
  footerMethod ({ columns, data }) {//页脚函数
    let footList=['total','TotalArea']
    let footList=['总数量','总面积']
    return[
      columns.map((column, columnIndex) => {
        if (columnIndex === 0) {
north-glass-erp/northglass-erp/src/views/pp/report/DamageReport.vue
@@ -240,11 +240,11 @@
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      下拉显示所有信息插槽-->
      <template #content="{ row}">
      <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  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>
north-glass-erp/northglass-erp/src/views/pp/report/EquipmentOutput.vue
@@ -215,11 +215,11 @@
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      下拉显示所有信息插槽-->
      <template #content="{ row}">
      <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  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>
north-glass-erp/northglass-erp/src/views/pp/report/OrderBOMOutside.vue
@@ -236,11 +236,11 @@
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      下拉显示所有信息插槽-->
      <template #content="{ row}">
      <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  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>
north-glass-erp/northglass-erp/src/views/pp/report/OrderPlanDecomposition.vue
@@ -241,11 +241,11 @@
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      下拉显示所有信息插槽-->
      <template #content="{ row}">
      <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  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>
north-glass-erp/northglass-erp/src/views/pp/report/ProcessToBeCompleted.vue
@@ -192,11 +192,11 @@
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      下拉显示所有信息插槽-->
      <template #content="{ row}">
      <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  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>
north-glass-erp/northglass-erp/src/views/pp/report/ProductionSchedule.vue
@@ -301,11 +301,11 @@
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      下拉显示所有信息插槽-->
      <template #content="{ row}">
      <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  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>
north-glass-erp/northglass-erp/src/views/pp/report/QualityReport.vue
@@ -227,11 +227,11 @@
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      下拉显示所有信息插槽-->
      <template #content="{ row}">
      <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  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>
north-glass-erp/northglass-erp/src/views/pp/report/RawMaterialRequisition.vue
@@ -223,11 +223,11 @@
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      下拉显示所有信息插槽-->
      <template #content="{ row}">
      <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  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>
north-glass-erp/northglass-erp/src/views/pp/report/SplittingDetailsOutside.vue
@@ -217,11 +217,11 @@
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      下拉显示所有信息插槽-->
      <template #content="{ row}">
      <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  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>
north-glass-erp/northglass-erp/src/views/pp/report/TaskCompletionStatus.vue
@@ -245,11 +245,11 @@
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      下拉显示所有信息插槽-->
      <template #content="{ row}">
      <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  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>
north-glass-erp/northglass-erp/src/views/pp/report/TeamOutput.vue
@@ -250,11 +250,11 @@
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      下拉显示所有信息插槽-->
      <template #content="{ row}">
      <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  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>
north-glass-erp/northglass-erp/src/views/pp/report/WorkInProgress.vue
@@ -240,11 +240,11 @@
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      下拉显示所有信息插槽-->
      <template #content="{ row}">
      <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  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>
north-glass-erp/northglass-erp/src/views/pp/report/Yield.vue
@@ -216,11 +216,11 @@
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      下拉显示所有信息插槽-->
      <template #content="{ row}">
      <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  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>
north-glass-erp/northglass-erp/src/views/pp/reportingWorks/AddReportingWork.vue
@@ -324,11 +324,11 @@
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      下拉显示所有信息插槽-->
      <template #content="{ row}">
      <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  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>
north-glass-erp/northglass-erp/src/views/pp/reportingWorks/QualityInReviewDetail.vue
@@ -237,11 +237,11 @@
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      下拉显示所有信息插槽-->
      <template #content="{ row}">
      <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  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>
north-glass-erp/northglass-erp/src/views/pp/reportingWorks/QualityInspectionReview.vue
@@ -62,8 +62,9 @@
  },//表头参数
  columns:[
    {type:'expand',fixed:"left",slots: { content:'content' },width: 50},
    { type: 'seq',fixed:"left", title: '自序', width: 50 },
    {title: '操作', width: 120, slots: { default: 'button_slot' },fixed:"left"},
    { type: 'seq',fixed:"left", title: '自序', width: 50 },
    {field: 'reportingWorkNo',width: 120,  title: '报工编号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
    {field: 'reportingWorkTime',width: 120, title: '报工时间', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'entryName',width: 120, title: '项目名称', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
@@ -216,11 +217,11 @@
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      下拉显示所有信息插槽-->
      <template #content="{ row}">
      <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  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>
north-glass-erp/northglass-erp/src/views/pp/reportingWorks/SelectReportingWorks.vue
@@ -62,8 +62,8 @@
  },//表头参数
  columns:[
    {type:'expand',fixed:"left",slots: { content:'content' },width: 50},
    { type: 'seq',fixed:"left", title: '自序', width: 50 },
    {title: '操作', width: 140, slots: { default: 'button_slot' },fixed:"left"},
    { type: 'seq',fixed:"left", title: '自序', width: 50 },
    {field: 'reportingWorkNo', width: 120, title: '报工编号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
    {field: 'reportingWorkTime',width: 120, title: '报工时间', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'processCard', width: 130,title: '流程卡号', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
@@ -231,11 +231,11 @@
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      下拉显示所有信息插槽-->
      <template #content="{ row}">
      <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  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>
north-glass-erp/northglass-erp/src/views/pp/rework/AddRework.vue
@@ -62,8 +62,9 @@
  },//表头参数
  columns:[
    {type:'expand',fixed:"left",slots: { content:'content' },width: 50},
    { type: 'seq',fixed:"left", title: '自序', width: 50 },
    {title: '操作', width: 70, slots: { default: 'button_slot' },fixed:"left"},
    { type: 'seq',fixed:"left", title: '自序', width: 50 },
    {field: 'reworkTeams',width: 90, title: '返工班组', editRender: { name: 'input', attrs: { placeholder: '' } }},
    {field: 'reworkNumber',width: 120, title: '返工编号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
    {field: 'salesOrderNo',width: 120, title: '销售单号', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
@@ -177,11 +178,11 @@
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      下拉显示所有信息插槽-->
      <template #content="{ row}">
      <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  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>
north-glass-erp/northglass-erp/src/views/pp/rework/SelectRework.vue
@@ -77,8 +77,8 @@
  },//表头参数
  columns:[
    {type:'expand',fixed:"left",slots: { content:'content' },width: 50},
    { type: 'seq',fixed:"left", title: '自序', width: 50 },
    {title: '操作', width: 110, slots: { default: 'button_slot' },fixed:"left"},
    { type: 'seq',fixed:"left", title: '自序', width: 50 },
    {field: 'reworkNumber',width: 120, title: '返工编号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
    {field: 'salesOrderNo',width: 120, title: '销售单号', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'processCardNo',width: 120, title: '流程卡号', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
@@ -206,11 +206,11 @@
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      下拉显示所有信息插槽-->
      <template #content="{ row}">
      <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  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>
north-glass-erp/northglass-erp/src/views/pp/workOrder/AddWorkOrder.vue
@@ -130,11 +130,11 @@
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      下拉显示所有信息插槽-->
      <template #content="{ row}">
      <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  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>
north-glass-erp/northglass-erp/src/views/pp/workOrder/SelectWorkOrder.vue
@@ -58,8 +58,8 @@
  },//表头参数
  columns:[
    {type:'expand',fixed:"left",slots: { content:'content' },width: 50},
    { type: 'seq',fixed:"left", title: '自序', width: 50 },
    {title: '操作', width: 110, slots: { default: 'button_slot' },fixed:"left"},
    { type: 'seq',fixed:"left", title: '自序', width: 50 },
    {field: 'salesOrderNo', title: '销售单号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, },
    {field: 'productionOrderNo', title: '生产订单号', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
    {field: 'batch', title: '批次', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }},
@@ -257,11 +257,11 @@
    >
      <!--      @toolbar-button-click="toolbarButtonClickEvent"-->
      <!--      下拉显示所有信息插槽-->
      <template #content="{ row}">
      <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  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>