Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override
62个文件已修改
11个文件已添加
1个文件已删除
New file |
| | |
| | | # Default ignored files |
| | | /shelf/ |
| | | /workspace.xml |
| | | # Editor-based HTTP Client requests |
| | | /httpRequests/ |
| | | # Datasource local storage ignored files |
| | | /dataSources/ |
| | | /dataSources.local.xml |
New file |
| | |
| | | <?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> |
New file |
| | |
| | | <?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> |
New file |
| | |
| | | <?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> |
New file |
| | |
| | | <?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> |
New file |
| | |
| | | <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> |
New file |
| | |
| | | <?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> |
New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <project version="4"> |
| | | <component name="VcsDirectoryMappings"> |
| | | <mapping directory="" vcs="Git" /> |
| | | </component> |
| | | </project> |
| | |
| | | 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' |
| | |
| | | > |
| | | <!-- @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> |
| | |
| | | <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"> |
| | |
| | | > |
| | | <!-- @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> |
| | |
| | | <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> |
| | | |
| | |
| | | > |
| | | <!-- @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> |
| | |
| | | > |
| | | <!-- @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> |
New file |
| | |
| | | <!--返库--> |
| | | |
| | | |
| | | <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> |
New file |
| | |
| | | <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> |
| | |
| | | > |
| | | <!-- @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> |
| | |
| | | > |
| | | <!-- @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> |
| | |
| | | > |
| | | <!-- @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> |
| | |
| | | > |
| | | <!-- @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> |
| | |
| | | > |
| | | <!-- @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> |
| | |
| | | > |
| | | <!-- @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> |
| | |
| | | > |
| | | <!-- @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> |
| | |
| | | > |
| | | <!-- @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> |
| | |
| | | > |
| | | <!-- @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> |
| | |
| | | > |
| | | <!-- @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> |
| | |
| | | > |
| | | <!-- @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> |
| | | <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> |
| | | |
| | |
| | | class="mytable-scrollbar" |
| | | ref="xGrid" |
| | | v-bind="gridOptions" |
| | | v-on="gridEvents" |
| | | @="gridEvents" |
| | | > |
| | | |
| | | <!-- @toolbar-button-click="toolbarButtonClickEvent"--> |
| | |
| | | <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> |
| | |
| | | |
| | | </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() |
| | | |
| | |
| | | //{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%', |
| | |
| | | width: '8%', |
| | | title: '高度', /*filters: [{data: ''}], slots: {filter: 'num1_filter'},*/ |
| | | editRender: {name: 'input', attrs: {placeholder: ''}}, |
| | | sortable: true |
| | | sortable: true, |
| | | type: 'number' |
| | | }, |
| | | { |
| | | field: 'h', |
| | |
| | | 'name': '入库', |
| | | status: 'primary', |
| | | 'code': 'Storage' |
| | | }, |
| | | }/*, |
| | | { |
| | | 'name': '退货', |
| | | status: 'primary', |
| | | 'code': 'Return' |
| | | }/*, |
| | | }, |
| | | { |
| | | 'name': '返回查询', |
| | | |
| | |
| | | const $grid = xGrid.value |
| | | if ($grid) { |
| | | switch (code) { |
| | | case 'Add': {//新增 |
| | | //新增 |
| | | case 'Add': { |
| | | const record = { |
| | | checked: false |
| | | } |
| | |
| | | }) |
| | | 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 |
| | | } |
| | |
| | | } |
| | | |
| | | |
| | | 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({ |
| | |
| | | buyType: '' |
| | | |
| | | }) |
| | | |
| | | const onSubmit = () => { |
| | | console.log('submit!') |
| | | } |
| | | |
| | | //供应商 |
| | | const buyerOptions = [ |
| | |
| | | |
| | | ] |
| | | |
| | | 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> |
New file |
| | |
| | | <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> |
| | |
| | | @="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> |
| | |
| | | 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({ |
| | |
| | | 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%', |
| | |
| | | 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, |
| | |
| | | custom: true, |
| | | style: 'paddling-left:10px' |
| | | },//表头按钮 |
| | | data: [{},{},{},{}],//table body实际数据 |
| | | data: [{}, {}, {}, {}],//table body实际数据 |
| | | mergeFooterItems: [ |
| | | {row: 0, col: 0, rowspan: 1, colspan: 3} |
| | | ],//合并脚 |
| | |
| | | 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 |
| | | } |
| | |
| | | }, |
| | | } |
| | | |
| | | const openAlert = (options) => { |
| | | if (options.type === 'message') { |
| | | VXETable.modal.message(options) |
| | | } else { |
| | | VXETable.modal.alert(options) |
| | | } |
| | | |
| | | } |
| | | |
| | | const datevalue = ref('') |
| | | |
| | | const shortcuts = [ |
| | | { |
| | |
| | | }, |
| | | }, |
| | | ] |
| | | |
| | | |
| | | //页面逻辑代码执行 |
| | | 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> |
| | | |
| | | |
| | |
| | | <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) |
| | | |
| | |
| | | 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> |
| | | |
| | | |
| | |
| | | |
| | | <!-- @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> |
| | |
| | | |
| | | |
| | | <!-- 详情框 部分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> |
| | |
| | | |
| | | |
| | | <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 |
| | | } |
| | | |
| | | } |
| | | } |
| | | }, |
| | |
| | | }, |
| | | } |
| | | |
| | | 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, |
| | |
| | | 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', |
| | | |
| | | }) |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | //组件接收参数 |
| | |
| | | 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, |
| | |
| | | |
| | | |
| | | //详情框 部分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 结束 |
| | |
| | | }, |
| | | ] |
| | | |
| | | |
| | | //页面逻辑代码执行 |
| | | 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> |
| | |
| | | </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> |
| | |
| | | <!--左边固定显示的插槽--> |
| | | <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> |
| | | |
| | | |
| | |
| | | </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> |
| | |
| | | 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) => { |
| | |
| | | case 'delete': { |
| | | |
| | | |
| | | |
| | | alert('我接收到子组件传送的删除信息'+row.id) |
| | | alert('我接收到子组件传送的删除信息' + row.id) |
| | | break |
| | | } |
| | | } |
| | |
| | | break |
| | | } |
| | | case 'AddNo': {//无单新增 |
| | | openAlert({type: 'alert', content: '点击了无单新增', status: 'success'}) |
| | | |
| | | MessageShow('点击了无单新增', 'success'); |
| | | break |
| | | } |
| | | |
| | |
| | | }, |
| | | } |
| | | |
| | | 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 ? '包' : '吨'; |
| | |
| | | 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', |
| | | |
| | | }) |
| | |
| | | |
| | | } |
| | | |
| | | |
| | | //页面逻辑代码执行 |
| | | 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; |
| | | } |
| | | |
| | | |
| | | //组件接收参数 |
| | |
| | | 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'}, |
| | |
| | | |
| | | 'code':'AddNo' |
| | | }*/ |
| | | ], |
| | | ], |
| | | import: false, |
| | | export: true, |
| | | print: true, |
| | |
| | | |
| | | }) |
| | | |
| | | /*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() |
| | |
| | | }, |
| | | ] |
| | | |
| | | |
| | | //提示信息 |
| | | //信息内容,显示方式,显示标题,类型 |
| | | 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> |
| | |
| | | </el-row> |
| | | |
| | | |
| | | |
| | | |
| | | </el-header> |
| | | <el-main style="padding-top: 5px;height:100%"> |
| | | <vxe-grid |
| | |
| | | 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> |
| | |
| | | </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> |
| | |
| | | border="inner" |
| | | auto-resize |
| | | show-overflow |
| | | max-height="420" |
| | | max-height="400" |
| | | :row-config="{isHover: true}" |
| | | :show-header="false" |
| | | :sync-resize="showDetails" |
| | |
| | | </el-container> |
| | | |
| | | |
| | | |
| | | |
| | | </template> |
| | | |
| | | |
| | |
| | | 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 |
| | | } |
| | | } |
| | |
| | | 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 |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | const openAlert = (options) => { |
| | | if(options.type==='message'){ |
| | | if (options.type === 'message') { |
| | | VXETable.modal.message(options) |
| | | }else{ |
| | | } else { |
| | | VXETable.modal.alert(options) |
| | | } |
| | | |
| | |
| | | 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, |
| | |
| | | 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', |
| | | |
| | | }) |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | //组件接收参数 |
| | |
| | | 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, |
| | |
| | | |
| | | }) |
| | | |
| | | 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() |
| | | |
| | |
| | | }, |
| | | ] |
| | | |
| | | |
| | | //页面逻辑代码执行 |
| | | 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> |
| | |
| | | :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> |
| | |
| | | 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'}, |
| | |
| | | }, |
| | | 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) { |
| | |
| | | |
| | | }) |
| | | |
| | | //产品种类下拉框 |
| | | const value = ref('') |
| | | const options = [ |
| | | { |
| | |
| | | },//表头参数 |
| | | 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: [{ |
| | | // |
| | |
| | | }, |
| | | 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) { |
| | |
| | | { 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'}, |
| | |
| | | }, |
| | | 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实际数据 |
| | | //脚部求和 |
| | |
| | | },//表头参数 |
| | | 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: [{ |
| | | // |
| | |
| | | }, |
| | | 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实际数据 |
| | | //脚部求和 |
| | |
| | | },//表头参数 |
| | | 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: [{ |
| | | // |
| | |
| | | }, |
| | | 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实际数据 |
| | | //脚部求和 |
| | |
| | | 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' }, |
| | |
| | | }, |
| | | 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) { |
| | |
| | | },//表头参数 |
| | | 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: { |
| | |
| | | }, |
| | | 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) { |
| | |
| | | > |
| | | <!-- @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> |
| | |
| | | },//表头参数 |
| | | 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' }}, |
| | |
| | | > |
| | | <!-- @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> |
| | |
| | | {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'}, |
| | |
| | | },//表头参数 |
| | | 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: { |
| | |
| | | }, |
| | | 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) { |
| | |
| | | },//表头参数 |
| | | 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: [{ |
| | | // |
| | |
| | | }, |
| | | 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) { |
| | |
| | | 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: { |
| | |
| | | }, |
| | | 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) { |
| | |
| | | {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: { |
| | |
| | | }, |
| | | 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) { |
| | |
| | | },//表头参数 |
| | | 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: { |
| | |
| | | }, |
| | | 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实际数据 |
| | | //脚部求和 |
| | |
| | | },//表头参数 |
| | | 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: { |
| | |
| | | }, |
| | | 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) { |
| | |
| | | },//表头参数 |
| | | 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: { |
| | |
| | | }, |
| | | 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) { |
| | |
| | | > |
| | | <!-- @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> |
| | |
| | | > |
| | | <!-- @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> |
| | |
| | | > |
| | | <!-- @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> |
| | |
| | | > |
| | | <!-- @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> |
| | |
| | | > |
| | | <!-- @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> |
| | |
| | | > |
| | | <!-- @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> |
| | |
| | | > |
| | | <!-- @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> |
| | |
| | | > |
| | | <!-- @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> |
| | |
| | | > |
| | | <!-- @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> |
| | |
| | | > |
| | | <!-- @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> |
| | |
| | | > |
| | | <!-- @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> |
| | |
| | | > |
| | | <!-- @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> |
| | |
| | | > |
| | | <!-- @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> |
| | |
| | | > |
| | | <!-- @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> |
| | |
| | | > |
| | | <!-- @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> |
| | |
| | | },//表头参数 |
| | | 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' }}, |
| | |
| | | > |
| | | <!-- @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> |
| | |
| | | },//表头参数 |
| | | 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' }}, |
| | |
| | | > |
| | | <!-- @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> |
| | |
| | | },//表头参数 |
| | | 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' }}, |
| | |
| | | > |
| | | <!-- @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> |
| | |
| | | },//表头参数 |
| | | 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' }}, |
| | |
| | | > |
| | | <!-- @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> |
| | |
| | | > |
| | | <!-- @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> |
| | |
| | | },//表头参数 |
| | | 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' }}, |
| | |
| | | > |
| | | <!-- @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> |