| | |
| | | {field: 'technology_number', width: 90,title: '小片顺序',showOverflow:"ellipsis"}, |
| | | {field: 'quantity', width: 90,title: '数量'}, |
| | | {field: 'shippedQuantity',width: 120, title: '发货数量'}, |
| | | {field: 'inventory',width: 120, title: '入库数量'}, |
| | | {field: 'inventoryArea',width: 120, title: '入库面积'}, |
| | | {field: 'inventory',width: 120, title: '库存数量'}, |
| | | {field: 'inventoryArea',width: 120, title: '库存面积'}, |
| | | {field: 'broken_num',width: 90, title: '次破数量'}, |
| | | ] |
| | | let column = [0,1,3,6,7,8,9] |
New file |
| | |
| | | <script setup> |
| | | import {defineEmits, onMounted, reactive, ref, watch} from "vue"; |
| | | import {changeFilterEvent, filterChanged} from "@/hook" |
| | | import {useI18n} from "vue-i18n" |
| | | import request from "@/utils/request" |
| | | import {ElMessage} from "element-plus"; |
| | | const { t } = useI18n() |
| | | const xGrid = ref() |
| | | const gridOptions = reactive({ |
| | | loading:false, |
| | | border: "full",//表格加边框 |
| | | keepSource: true,//保持源数据 |
| | | align: 'center',//文字居中 |
| | | stripe:true,//斑马纹 |
| | | showOverflow:true, |
| | | id:'sizeCheck', |
| | | toolbarConfig: { |
| | | buttons: [ |
| | | {'code': 'review', 'name': '审核',status: 'primary'}, |
| | | ] |
| | | }, |
| | | |
| | | rowConfig: {isCurrent: true, isHover: true,height: 30},//鼠标移动或选择高亮 |
| | | virtualScroll: true, // 开启虚拟滚动功能 |
| | | scrollY:{ enabled: true,gt:13 },//开启虚拟滚动 |
| | | //scrollX:{ enabled: true,gt:15 },//开启虚拟滚动 |
| | | |
| | | columnConfig: { |
| | | useKey: true |
| | | }, |
| | | editConfig: { |
| | | trigger: 'dblclick', |
| | | mode: 'cell', |
| | | showStatus: true, |
| | | showIcon:false |
| | | }, |
| | | mouseConfig:{selected: true}, |
| | | keyboardConfig:{ |
| | | isArrow: true, |
| | | isDel: true, |
| | | isEnter: true, |
| | | isTab: true, |
| | | isEdit: true, |
| | | isChecked: true, |
| | | enterToTab:true |
| | | }, |
| | | |
| | | customConfig: { |
| | | storage: true |
| | | }, |
| | | columns:[ |
| | | {field: 'width', title: '宽',editRender: { name: 'input'}}, |
| | | {field: 'height', title:'高', editRender: { name: 'input'}}, |
| | | {field: 'quantity', title: '数量' ,editRender: { name: 'input'}, }, |
| | | ], |
| | | editRules: { |
| | | width: [ |
| | | { required: true, message: '必填,参数不一致' } |
| | | ], |
| | | height: [ |
| | | { required: true, message: '必填,参数不一致' } |
| | | ], |
| | | quantity: [ |
| | | { required: true, message: '必填,参数不一致' } |
| | | ] |
| | | } |
| | | }) |
| | | |
| | | const gridEvents = { |
| | | async toolbarButtonClick({code}) { |
| | | const $grid = xGrid.value |
| | | if ($grid) { |
| | | switch (code) { |
| | | case 'review' :{ |
| | | const errMap = await $grid.validate(true) |
| | | if (errMap) { |
| | | ElMessage.error(t('basicData.msg.checkoutLose')) |
| | | return |
| | | } |
| | | // const $table = props.OrderDetail |
| | | // $table.getTableData().fullData.forEach((row)=>{ |
| | | // if()row.computeGrossArea |
| | | // }) |
| | | |
| | | |
| | | emit('getParent') |
| | | break |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | const emit = defineEmits(['getParent']) |
| | | |
| | | let props = defineProps({ |
| | | OrderDetail:null |
| | | }) |
| | | onMounted(()=>{ |
| | | const length = props.OrderDetail.getTableData().fullData.length |
| | | const $grid = xGrid.value |
| | | let list = [] |
| | | for (let i = 0; i < length; i++) { |
| | | list.push({}) |
| | | } |
| | | xGrid.value.reloadData(list) |
| | | |
| | | }) |
| | | |
| | | const editClosedEvent = ({ row, column,rowIndex}) => { |
| | | const $table = props.OrderDetail |
| | | let checkVal = row[column.property]*1 |
| | | const oldVal = $table.getTableData().fullData[rowIndex][column.property]*1 |
| | | if(checkVal!=oldVal){ |
| | | row[column.property]=null |
| | | } |
| | | } |
| | | |
| | | </script> |
| | | |
| | | <template> |
| | | <div style="width: 100%;height: 100%"> |
| | | <vxe-grid |
| | | height="100%" |
| | | class="mytable-scrollbar" |
| | | ref="xGrid" |
| | | v-bind="gridOptions" |
| | | v-on="gridEvents" |
| | | @edit-closed="editClosedEvent" |
| | | > |
| | | </vxe-grid> |
| | | </div> |
| | | </template> |
| | | |
| | | <style scoped> |
| | | |
| | | </style> |
| | |
| | | import useUserInfoStore from '@/stores/userInfo' |
| | | import SelectProduct from "@/views/sd/product/SelectProduct.vue" |
| | | import OrderOtherMoney from "@/components/sd/order/OrderOtherMoney.vue" |
| | | import OrderSizeCheck from "@/components/sd/order/OrderSizeCheck.vue" |
| | | import {changeFilterEvent,filterChanged} from "@/hook" |
| | | import {addListener,toolbarButtonClickEvent} from "@/hook/mouseMove" |
| | | import downLoadFile from "@/hook/downLoadFile" |
| | |
| | | let productVisible = ref(false) |
| | | let errorAreaVisible = ref(false) |
| | | let otherMoneyVisible = ref(false) |
| | | let sizeCheckVisible = ref(false) |
| | | const maxTableLen =ref(150) |
| | | let errorArea = ref(0.4) |
| | | const userStore = useUserInfoStore() |
| | |
| | | { code: 'clearChecked', name: t('basicData.clearSelection'), prefixIcon: 'vxe-icon-indicator', visible: true, disabled: false }, |
| | | { code: 'computedMoney', name: t('basicData.calculateAmount'), prefixIcon: 'vxe-icon-chart-bar-x', visible: true, disabled: true }, |
| | | { code: 'errorArea', name: '误差结算面积', prefixIcon: 'vxe-icon-chart-bar-x', visible: true, disabled: false }, |
| | | { code: 'otherMoney', name: '其他金额', prefixIcon: 'vxe-icon-chart-bar-x', visible: true, disabled: false } |
| | | { code: 'otherMoney', name: '其他金额', prefixIcon: 'vxe-icon-chart-bar-x', visible: true, disabled: false }, |
| | | { code: 'sizeCheck', name: '尺寸审核', prefixIcon: 'vxe-icon-eye-fill', visible: true, disabled: true } |
| | | ] |
| | | ] |
| | | } |
| | |
| | | otherMoneyVisible.value=true |
| | | break |
| | | } |
| | | case 'sizeCheck' :{ |
| | | sizeCheckVisible.value=true |
| | | break |
| | | } |
| | | } |
| | | } |
| | | }, |
| | |
| | | if(res.data.order.processReview === 2){ |
| | | gridOptions.toolbarConfig.buttons[4].disabled = true |
| | | |
| | | |
| | | } |
| | | //取消审核按钮禁用 |
| | | //工艺审核后,订单未审核 取消审核按钮禁用和尺寸审核 |
| | | if(res.data.order.processReview === 2 && res.data.order.orderReview === 0){ |
| | | gridOptions.toolbarConfig.buttons[2].disabled = false |
| | | gridOptions.menuConfig.body.options[0][8].disabled =false |
| | | } |
| | | |
| | | //按钮审核过后变为反审 |
| | |
| | | gridOptions.toolbarConfig.buttons[2].code='reviews' |
| | | gridOptions.toolbarConfig.buttons[2].name=t('basicData.cancelReview') |
| | | gridOptions.toolbarConfig.buttons[3].disabled = false |
| | | |
| | | const button = {'code': 'cancelOrder', |
| | | status: 'primary', |
| | | 'name': (res.data.order.orderReview>0?t('basicData.cancel'):t('basicData.restore'))} |
| | |
| | | ElMessage.error(res.msg) |
| | | } |
| | | }) |
| | | } |
| | | |
| | | const gaveOrderSizeCheck = () => { |
| | | |
| | | |
| | | |
| | | reviewOrder(2) |
| | | } |
| | | |
| | | const changeCustomer = () => { |
| | |
| | | style="width: 100%;height: 100%" /> |
| | | </el-dialog> |
| | | |
| | | <!-- 尺寸审核窗口--> |
| | | <el-dialog |
| | | id="sizeCheck" |
| | | v-model="sizeCheckVisible" |
| | | :title="'尺寸校验'" |
| | | destroy-on-close |
| | | :close-on-click-modal="false" |
| | | :close-on-press-escape="false" |
| | | style="width: 614px;height:445px " |
| | | > |
| | | <order-size-check |
| | | @getParent="gaveOrderSizeCheck" |
| | | :OrderDetail="xGrid"/> |
| | | </el-dialog> |
| | | |
| | | </div> |
| | | </template> |
| | | |
| | |
| | | width: 100%; |
| | | } |
| | | |
| | | :deep(#sizeCheck .el-dialog__body){ |
| | | height: 90%; |
| | | width: 100%; |
| | | } |
| | | |
| | | </style> |