Merge branch 'master' of http://bore.pub:10439/r/ERP_override
| | |
| | | |
| | | const data = ref({ |
| | | printList: [], |
| | | isRepeat:true |
| | | isRepeat:false |
| | | }) |
| | | |
| | | let props = defineProps({ |
| | |
| | | <tr v-for="(qrCodeItem,index) in item.detail" :key="index"> |
| | | <td colspan="31"> |
| | | <span style="display: flex;"> |
| | | <span v-for="(qrCodeItems,index) in qrCodeItem.qrcodeList" :key="index" style="display: flex;width: 20%"> |
| | | <span v-for="(qrCodeItems,index) in qrCodeItem.qrcodeList" :key="index" style="display: flex;width: 250px"> |
| | | <div class='qrCode' style="width: 80px;height: 80px;"> |
| | | <img :src=qrCodeItems.qrcode> |
| | | </div> |
| | |
| | | } |
| | | //给数据进行分页 |
| | | pageData.value = groupArrayByFive(produceList2.value[0].data) |
| | | console.log(pageData.value) |
| | | delivery.value = produceList2.value[0].delivery |
| | | console.log(delivery.value) |
| | | |
| New file |
| | |
| | | <script setup> |
| | | import request from "@/utils/request" |
| | | import {computed, onMounted, ref} from "vue" |
| | | import PrintFoot from "@/components/sd/order/PrintFoot.vue" |
| | | import companyInfo from "@/stores/sd/companyInfo" |
| | | import deepClone from "@/utils/deepClone"; |
| | | import {ElMessage} from "element-plus"; |
| | | import {add,addAuto} from '@/utils/decimal'; |
| | | |
| | | const company = companyInfo() |
| | | let produceList = ref([]) |
| | | let otherMoney = [] |
| | | let otherMoney1 = [] |
| | | let delivery = ref([]) |
| | | let money = ref("") |
| | | let otherMoneys = 0 |
| | | let sumMoney = 0 |
| | | let takeCare =ref("具体规格详见清单") |
| | | let remark =ref(company.deliveryRemark) |
| | | |
| | | |
| | | |
| | | let props = defineProps({ |
| | | deliveryId:null, |
| | | type:null |
| | | }) |
| | | const form = ref({ |
| | | }) |
| | | let produceList2 = ref([]) |
| | | |
| | | |
| | | const deliveryId = ref() |
| | | |
| | | const pageData = ref() |
| | | const getData = () => { |
| | | if(props.deliveryId===null || props.deliveryId===undefined || props.deliveryId===''){ |
| | | return |
| | | } |
| | | deliveryId.value = props.deliveryId[0].deliveryId |
| | | form.value.deliveryId=props.deliveryId |
| | | form.value.type=company.productName |
| | | form.value.state=props.type |
| | | |
| | | |
| | | request.post(`/delivery/getSelectDeliveryPrinting`,form.value).then((res) => { |
| | | if(res.code==200){ |
| | | console.log(res.data) |
| | | produceList.value = deepClone(res.data) |
| | | for(let i=0;i<produceList.value.length;i++){ |
| | | produceList.value[i].data.forEach(item =>{ |
| | | |
| | | |
| | | }) |
| | | let produceList1= ({ |
| | | data:null, |
| | | otherMoney:null, |
| | | otherMoney1:null, |
| | | delivery:null, |
| | | money:null, |
| | | otherMoneys:0, |
| | | sumMoney:0 |
| | | }) |
| | | produceList1.data=produceList.value[i].data |
| | | produceList1.delivery=produceList.value[i].delivery |
| | | produceList1.money=produceList.value[i].money |
| | | produceList1.otherMoney=produceList.value[i].otherMoney |
| | | for(let j=0;j<produceList1.data.length;j++){ |
| | | produceList1.sumMoney+=produceList1.data[j].DeliveryDetail.money |
| | | } |
| | | otherMoney1=[] |
| | | for(let i=0;i<produceList1.otherMoney.length;i++){ |
| | | if(produceList1.otherMoney[i].DeliveryDetailOtherMoney.monery!=null){ |
| | | produceList1.otherMoneys+=produceList1.otherMoney[i].DeliveryDetailOtherMoney.monery |
| | | if(otherMoney1.length===0){ |
| | | otherMoney1.push(produceList1.otherMoney[i]) |
| | | } |
| | | else{ |
| | | for(let s=0;s<otherMoney1.length;s++){ |
| | | if(produceList1.otherMoney[i].DeliveryDetailOtherMoney.alias===otherMoney1[s].DeliveryDetailOtherMoney.alias){ |
| | | |
| | | otherMoney1[s].DeliveryDetailOtherMoney.count=add(produceList1.otherMoney[i].DeliveryDetailOtherMoney.count,otherMoney1[s].DeliveryDetailOtherMoney.count) |
| | | otherMoney1[s].DeliveryDetailOtherMoney.monery =add(produceList1.otherMoney[i].DeliveryDetailOtherMoney.monery,otherMoney1[s].DeliveryDetailOtherMoney.monery) |
| | | break |
| | | } |
| | | if(s+1===otherMoney1.length){ |
| | | otherMoney1.push(produceList1.otherMoney[i]) |
| | | break |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | produceList1.otherMoney1=otherMoney1 |
| | | produceList2.value.push(produceList1) |
| | | } |
| | | for(let j=0;j<produceList2.value.length;j++){ |
| | | |
| | | if(produceList2.value[j].delivery.money.toFixed(0)!==(produceList2.value[j].otherMoneys |
| | | +produceList2.value[j].sumMoney+produceList2.value[j].delivery.freight).toFixed(0)){ |
| | | console.log(produceList2.value[j]) |
| | | console.log(produceList2.value[j].delivery.money) |
| | | console.log((produceList2.value[j].otherMoneys |
| | | +produceList2.value[j].sumMoney).toFixed(0)) |
| | | console.log(produceList2.value[j].delivery.deliveryId) |
| | | } |
| | | |
| | | } |
| | | //给数据进行分页 |
| | | pageData.value = groupArrayByFive(produceList2.value[0].data) |
| | | console.log(pageData.value) |
| | | delivery.value = produceList2.value[0].delivery |
| | | console.log(delivery.value) |
| | | |
| | | |
| | | |
| | | }else{ |
| | | ElMessage.warning(res.msg) |
| | | router.push("/login") |
| | | } |
| | | }) |
| | | } |
| | | |
| | | function groupArrayByFive(arr) { |
| | | |
| | | let result = []; |
| | | let productName=ref() |
| | | arr.forEach(item=>{ |
| | | for (let i = 0; i < item.DeliveryDetailList.length; i += 8) { |
| | | let resultMap = { |
| | | id:null, |
| | | DeliveryDetail:null, |
| | | DeliveryDetailList:[] |
| | | }; |
| | | resultMap.DeliveryDetail=item.DeliveryDetail |
| | | resultMap.id=item.DeliveryDetailList.slice(i, i + 8).length |
| | | resultMap.DeliveryDetailList.push(item.DeliveryDetailList.slice(i, i + 8)) |
| | | result.push(resultMap) |
| | | } |
| | | |
| | | }) |
| | | |
| | | return result; |
| | | } |
| | | let deliveryDate = ref() |
| | | onMounted(() => { |
| | | const today = new Date |
| | | today.setTime(today.getTime()) |
| | | deliveryDate.value = today.getFullYear() + |
| | | '-' + ("0" + (today.getMonth() + 1)).slice(-2) |
| | | + '-' + ("0" + today.getDate()).slice(-2) |
| | | getData() |
| | | }) |
| | | |
| | | |
| | | |
| | | const printSheet = () => { |
| | | } |
| | | let companyName = ref('洛阳玻璃公司') |
| | | |
| | | const getQuantitySum = (page)=>{ |
| | | if(pageData.value[page] === undefined){ |
| | | return 0 |
| | | } |
| | | return pageData.value[page].DeliveryDetailList[0].reduce((accumulator, currentValue) => { |
| | | return add(accumulator,currentValue.quantity) |
| | | }, 0) |
| | | |
| | | |
| | | } |
| | | const getAreaSum = (page)=>{ |
| | | if(pageData.value[page] === undefined){ |
| | | return 0 |
| | | } |
| | | return pageData.value[page].DeliveryDetailList[0].reduce((accumulator, currentValue) => { |
| | | return addAuto(accumulator,currentValue.area,2) |
| | | }, 0) |
| | | } |
| | | const getMoneySum = (page)=>{ |
| | | if(pageData.value[page] === undefined){ |
| | | return 0 |
| | | } |
| | | return pageData.value[page].DeliveryDetailList[0].reduce((accumulator, currentValue) => { |
| | | return addAuto(accumulator,currentValue.money,2) |
| | | }, 0) |
| | | } |
| | | |
| | | |
| | | defineExpose({ |
| | | printSheet |
| | | }); |
| | | </script> |
| | | |
| | | <template> |
| | | <div > |
| | | <el-row id="footsum" :gutter="20" > |
| | | <el-col :span="20"></el-col> |
| | | <el-col :span="4" style="font-weight: bolder;font-size: 19px" >{{delivery.creator}}</el-col> |
| | | </el-row> |
| | | <el-row id="footsum1" :gutter="20" > |
| | | <el-col :span="2" ></el-col> |
| | | <el-col :span="5" style="font-weight: bolder;font-size: 19px">{{ delivery.contacts }}</el-col> |
| | | <el-col :span="5" style="font-weight: bolder;font-size: 19px">{{ delivery.contactNumber }}</el-col> |
| | | <el-col :span="1" ></el-col> |
| | | <el-col :span="11" style="font-weight: bolder;font-size: 19px">{{ delivery.deliveryAddress }}</el-col> |
| | | </el-row> |
| | | |
| | | <table class="content1" v-for="(page,pageIndex) in pageData" > |
| | | <thead> |
| | | <tr style="height: 3.2cm"><td></td></tr> |
| | | |
| | | <tr> |
| | | <td colspan="6" > |
| | | <el-row :gutter="20"> |
| | | <el-col :span="2"></el-col> |
| | | <el-col :span="9"> |
| | | <input v-model="companyName" |
| | | style="border: 0;width: 100%; |
| | | height: 100%;font-size:19px;font-weight: bolder "/> |
| | | </el-col> |
| | | <el-col :span="5" style="font-size:19px;font-weight: bolder"> {{deliveryId}} </el-col> |
| | | <el-col :span="5"></el-col> |
| | | <el-col :span="3" style="white-space: nowrap;font-size:19px;font-weight: bolder">{{deliveryDate}}</el-col> |
| | | </el-row> |
| | | </td> |
| | | </tr> |
| | | <tr style="height: 0.5cm"><td></td></tr> |
| | | |
| | | <tr style="margin-top: 20px"> |
| | | <td colspan="6"> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="3"></el-col> |
| | | <el-col :span="9" style="font-size: 21px;font-weight: bolder">{{delivery.customerName }}</el-col> |
| | | <el-col :span="3"> </el-col> |
| | | <el-col :span="9" style="font-size: 21px;font-weight: bolder;white-space: nowrap;"> {{delivery.project }}</el-col> |
| | | </el-row> |
| | | </td> |
| | | </tr> |
| | | <tr style="height: 0.3cm"><td></td></tr> |
| | | <tr> |
| | | <td colspan="6"> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="2"></el-col> |
| | | <el-col :span="12" style="font-size: 17px;font-weight: bolder"> {{delivery.orderId }}</el-col> |
| | | </el-row> |
| | | </td> |
| | | </tr> |
| | | |
| | | <tr style="height: 0.2cm"><td></td></tr> |
| | | |
| | | |
| | | |
| | | </thead> |
| | | <tbody > |
| | | <template v-for="(items,index1) in page.DeliveryDetailList[0]"> |
| | | <tr> |
| | | |
| | | <td style="width: 20cm" :rowspan="page.id" v-if="index1===0"> |
| | | <el-input class="textarea" type="textarea" |
| | | :autosize="{ minRows: 1, maxRows: 20 }" |
| | | v-model="page.DeliveryDetail.orderDetail.productName" /> |
| | | </td> |
| | | <td style="width: 0.8cm"></td> |
| | | |
| | | <td style="width: 10cm"> |
| | | <el-input class="textarea" type="textarea" |
| | | style="font-weight: bolder;" |
| | | :autosize="{ minRows: 1, maxRows: 20 }" |
| | | v-model="items.width" /> |
| | | |
| | | </td> |
| | | <td style="width: 10cm"> |
| | | <el-input class="textarea" type="textarea" |
| | | style="font-weight: bolder;" |
| | | :autosize="{ minRows: 1, maxRows: 20 }" |
| | | v-model="items.height" /> |
| | | |
| | | </td> |
| | | <td style="width: 60px"> |
| | | {{items.quantity}} |
| | | </td> |
| | | <td style="width: 100px"> |
| | | <input style="border: 0" v-model="items.area"> |
| | | </td> |
| | | |
| | | <td |
| | | v-if="props.type===1||props.type===3" |
| | | style="width: 80px" |
| | | > |
| | | {{items.price}} |
| | | </td> |
| | | <td |
| | | v-if="props.type===1||props.type===3" |
| | | > |
| | | {{items.money}} |
| | | </td> |
| | | |
| | | </tr> |
| | | </template> |
| | | <tr> |
| | | <td></td> |
| | | <td></td> |
| | | <td></td> |
| | | <td></td> |
| | | <td> |
| | | {{getQuantitySum(pageIndex)}} |
| | | </td> |
| | | <td> |
| | | <input style="border: 0" :value="getAreaSum(pageIndex)"> |
| | | </td> |
| | | <td></td> |
| | | <td v-if="props.type===1||props.type===3"> |
| | | {{getMoneySum(pageIndex)}} |
| | | </td> |
| | | |
| | | </tr> |
| | | |
| | | </tbody> |
| | | </table> |
| | | |
| | | |
| | | </div> |
| | | |
| | | |
| | | </template> |
| | | |
| | | |
| | | |
| | | |
| | | <style scoped> |
| | | *{ |
| | | color: rgba(0, 0, 0, 0.8); /* 更深的黑色 */ |
| | | font-family: 'Microsoft YaHei', '微软雅黑', sans-serif; |
| | | outline: none; |
| | | } |
| | | #sheet{ |
| | | width: 21cm; |
| | | } |
| | | table{ |
| | | width: 21cm |
| | | |
| | | } |
| | | .content1{ |
| | | page-break-after: always; |
| | | |
| | | } |
| | | span{ |
| | | width: 7cm; |
| | | text-align: center; |
| | | } |
| | | tbody *{ |
| | | font-size: 16px; font-weight: bolder; |
| | | } |
| | | tbody *{ |
| | | font-size: 16px; font-weight: bolder; |
| | | } |
| | | #footsum1,#footsum{ |
| | | font-weight: bolder;font-size: 17px; |
| | | } |
| | | |
| | | @media print { |
| | | #footsum{ |
| | | position: fixed; |
| | | bottom: 4.2cm; |
| | | width: 100%; /* 或者设置成具体的宽度 */ |
| | | font-size: 17px; |
| | | } |
| | | #footsum1{ |
| | | position: fixed; |
| | | bottom: 1.8cm; |
| | | width: 100%; /* 或者设置成具体的宽度 */ |
| | | } |
| | | } |
| | | |
| | | .textarea{ |
| | | --el-border-color: rgba(255,255,255,0.0); |
| | | --el-input-focus-border-color: rgba(255,255,255,0.0); |
| | | --el-input-focus-border-width: 0px; |
| | | --el-input-hover-border-color: rgba(255,255,255,0.0); |
| | | --el-input-hover-border-width: 0px; |
| | | } |
| | | /*textarea { |
| | | |
| | | font-size: 16px; |
| | | border:none; |
| | | text-align: right; |
| | | font-weight: bolder; |
| | | width: 100%; |
| | | height: 100%; |
| | | }*/ |
| | | :deep(.el-textarea__inner){ |
| | | font-weight: bolder; |
| | | color: #333333; |
| | | font-family: 'Microsoft YaHei', '微软雅黑', sans-serif; |
| | | } |
| | | |
| | | |
| | | </style> |
| | |
| | | const rawStart = new Date(form.date1[0]); |
| | | const rawEnd = new Date(form.date1[1]); |
| | | // 如果时间部分是 00:00,则设置为 08:00 |
| | | if (rawStart.getHours() === 8 || rawStart.getMinutes() === 0) { |
| | | if (rawStart.getHours() === 8 || rawStart.getHours() === 0) { |
| | | rawStart.setHours(8, 0, 0, 0); |
| | | } |
| | | if (rawEnd.getHours() === 8 || rawEnd.getMinutes() === 0) { |
| | | if (rawEnd.getHours() === 8 || rawEnd.getHours() === 0) { |
| | | rawEnd.setHours(8, 0, 0, 0); |
| | | } |
| | | const startTime = formatDateTime(rawStart); |
| | | const endPlusOne = new Date(rawEnd); |
| | | endPlusOne.setDate(endPlusOne.getDate() + 1); |
| | | endPlusOne.setDate(endPlusOne.getDate()); |
| | | const newEndTime = formatDateTime(endPlusOne); |
| | | const selectProcesses = procseeValue.value; |
| | | form.date1 = [startTime, newEndTime]; |
| | |
| | | const rawStart = new Date(form.date1[0]); |
| | | const rawEnd = new Date(form.date1[1]); |
| | | // 如果时间部分是 00:00,则设置为 08:00 |
| | | if (rawStart.getHours() === 8 || rawStart.getMinutes() === 0) { |
| | | if (rawStart.getHours() === 8 || rawStart.getHours() === 0) { |
| | | rawStart.setHours(8, 0, 0, 0); |
| | | } |
| | | if (rawEnd.getHours() === 8 || rawEnd.getMinutes() === 0) { |
| | | if (rawEnd.getHours() === 8 || rawEnd.getHours() === 0) { |
| | | rawEnd.setHours(8, 0, 0, 0); |
| | | } |
| | | |
| | | const startTime = formatDateTime(rawStart); |
| | | const endPlusOne = new Date(rawEnd); |
| | | endPlusOne.setDate(endPlusOne.getDate() + 1); |
| | | endPlusOne.setDate(endPlusOne.getDate()); |
| | | const newEndTime = formatDateTime(endPlusOne); |
| | | const selectProcesses = procseeValue.value; |
| | | form.date1 = [startTime, newEndTime]; |
| | |
| | | const rawStart = new Date(form.date1[0]); |
| | | const rawEnd = new Date(form.date1[1]); |
| | | // 如果时间部分是 00:00,则设置为 08:00 |
| | | if (rawStart.getHours() === 8 || rawStart.getMinutes() === 0) { |
| | | if (rawStart.getHours() === 8 || rawStart.getHours() === 0) { |
| | | rawStart.setHours(8, 0, 0, 0); |
| | | } |
| | | if (rawEnd.getHours() === 8 || rawEnd.getMinutes() === 0) { |
| | | if (rawEnd.getHours() === 8 || rawEnd.getHours() === 0) { |
| | | rawEnd.setHours(8, 0, 0, 0); |
| | | } |
| | | const startTime = formatDateTime(rawStart); |
| | | const endPlusOne = new Date(rawEnd); |
| | | endPlusOne.setDate(endPlusOne.getDate() + 1); |
| | | endPlusOne.setDate(endPlusOne.getDate()); |
| | | const newEndTime = formatDateTime(endPlusOne); |
| | | form.date1 = [startTime, newEndTime]; |
| | | request.post(`/report/teamOutput/1/${total.pageSize}/${startTime}/${newEndTime}/${selectProcesses}`, filterData.value).then((res) => { |
| | |
| | | import PrintSheet1 from "@/components/sd/delivery/PrintSheet1.vue"; |
| | | import PrintSheet2 from "@/components/sd/delivery/PrintSheet2.vue"; |
| | | import PrintSheetLuoyang from "@/components/sd/delivery/PrintSheetLuoyang.vue"; |
| | | import PrintSheetLuoyangDetails from "@/components/sd/delivery/PrintSheetLuoyangDetails.vue"; |
| | | import useOrderInfoStore from "@/stores/sd/order/orderInfo"; |
| | | import { saveAs } from "file-saver" |
| | | import companyInfo from "@/stores/sd/companyInfo"; |
| | |
| | | if(company.companyName=='洛阳北方玻璃技术股份有限公司'){ |
| | | xGrid.value.menuConfig.body.options[0][2].visible=true |
| | | xGrid.value.menuConfig.body.options[0][3].visible=true |
| | | xGrid.value.menuConfig.body.options[0][4].visible=true |
| | | xGrid.value.menuConfig.body.options[0][5].visible=true |
| | | } |
| | | xGrid.value.loadData(produceList) |
| | | gridOptions.loading=false |
| | |
| | | break |
| | | |
| | | } |
| | | case 'sheet5': { |
| | | const selectRecords = $grid.getCheckboxRecords() |
| | | if (selectRecords.length === 0) { |
| | | if(rowClickIndex.value.deliveryState>0){ |
| | | ElMessage.warning(t('order.printingNumber')+rowClickIndex.value.printingNumber) |
| | | let delivery=([]) |
| | | delivery.push(rowClickIndex.value) |
| | | flowData.value.delivery=delivery |
| | | dialogTableVisible.value = true |
| | | sheetIndex.value=5 |
| | | }else{ |
| | | ElMessage.warning(t('order.orderNotApproved')) |
| | | } |
| | | }else{ |
| | | let a=0 |
| | | selectRecords.forEach((item) => { |
| | | if(item.deliveryState==0){ |
| | | ElMessage.warning(t('order.orderNotApproved')) |
| | | a=1 |
| | | } |
| | | }) |
| | | if(a==0){ |
| | | flowData.value.delivery=selectRecords |
| | | dialogTableVisible.value = true |
| | | sheetIndex.value=5 |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | break |
| | | |
| | | } |
| | | case 'sheet6': { |
| | | const selectRecords = $grid.getCheckboxRecords() |
| | | if (selectRecords.length === 0) { |
| | | if(rowClickIndex.value.deliveryState>0){ |
| | | ElMessage.warning(t('order.printingNumber')+rowClickIndex.value.printingNumber) |
| | | let delivery=([]) |
| | | delivery.push(rowClickIndex.value) |
| | | flowData.value.delivery=delivery |
| | | dialogTableVisible.value = true |
| | | sheetIndex.value=6 |
| | | }else{ |
| | | ElMessage.warning(t('order.orderNotApproved')) |
| | | } |
| | | }else{ |
| | | let a=0 |
| | | selectRecords.forEach((item) => { |
| | | if(item.deliveryState==0){ |
| | | ElMessage.warning(t('order.orderNotApproved')) |
| | | a=1 |
| | | } |
| | | }) |
| | | if(a==0){ |
| | | flowData.value.delivery=selectRecords |
| | | dialogTableVisible.value = true |
| | | sheetIndex.value=6 |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | break |
| | | } |
| | | } |
| | | } |
| | | }, |
| | |
| | | [ |
| | | { code: 'sheet1', name: t('basicData.print'), prefixIcon: 'vxe-icon-file-txt', visible: true}, |
| | | { code: 'sheet2', name: t('basicData.print')+ t('delivery.noMoney'), prefixIcon: 'vxe-icon-file-txt', visible: true}, |
| | | { code: 'sheet3', name: t('洛阳打印'), prefixIcon: 'vxe-icon-file-txt', visible: false}, |
| | | { code: 'sheet4', name: t('洛阳打印')+ t('delivery.noMoney'), prefixIcon: 'vxe-icon-file-txt', visible: false}, |
| | | { code: 'sheet3', name: t('洛阳打印无尺寸'), prefixIcon: 'vxe-icon-file-txt', visible: false}, |
| | | { code: 'sheet4', name: t('洛阳打印无尺寸')+ t('delivery.noMoney'), prefixIcon: 'vxe-icon-file-txt', visible: false}, |
| | | { code: 'sheet5', name: t('洛阳打印有尺寸'), prefixIcon: 'vxe-icon-file-txt', visible: false}, |
| | | { code: 'sheet6', name: t('洛阳打印有尺寸')+ t('delivery.noMoney'), prefixIcon: 'vxe-icon-file-txt', visible: false}, |
| | | ] |
| | | ] |
| | | } |
| | |
| | | <print-sheet2 id="child" v-if="sheetIndex===2" :deliveryId="flowData.delivery" /> |
| | | <print-sheet-luoyang id="child" v-if="sheetIndex===3" :deliveryId="flowData.delivery" :type="1" /> |
| | | <print-sheet-luoyang id="child" v-if="sheetIndex===4" :deliveryId="flowData.delivery" :type="2" /> |
| | | <print-sheet-luoyang-details id="child" v-if="sheetIndex===5" :deliveryId="flowData.delivery" :type="3" /> |
| | | <print-sheet-luoyang-details id="child" v-if="sheetIndex===6" :deliveryId="flowData.delivery" :type="4" /> |
| | | |
| | | </el-dialog> |
| | | </div> |
| New file |
| | |
| | | { |
| | | "name": "north-glass-erp", |
| | | "lockfileVersion": 2, |
| | | "requires": true, |
| | | "packages": {} |
| | | } |
| | |
| | | |
| | | List<DeliveryDetail> getSelectDeliveryPrintingNoMoney(@Param("deliveryId") String deliveryId,@Param("type") String type); |
| | | |
| | | List<DeliveryDetail> getSelectDeliveryPrintingMoneySpecifications(@Param("deliveryId") String deliveryId,@Param("type") String type); |
| | | List<Map<String, Object>> getSelectDeliveryPrintingMoneySpecifications(@Param("deliveryId") String deliveryId, |
| | | @Param("productId") Integer productId,@Param("orderId") String orderId); |
| | | |
| | | List<DeliveryDetail> getSelectDeliveryPrintingNoMoneySpecifications(@Param("deliveryId") String deliveryId,@Param("type") String type); |
| | | List<Map<String, Object>> getSelectDeliveryPrintingNoMoneySpecifications(@Param("deliveryId") String deliveryId, |
| | | @Param("productId") Integer productId,@Param("orderId") String orderId); |
| | | |
| | | List<OrderDetail> getSelectOrderPrinting(Object productId, String orderId); |
| | | |
| | |
| | | orderId=detail.getOrderDetail().getOrderId(); |
| | | Map<String, Object> itemmap = new HashMap<>(); |
| | | |
| | | List<Map<String, Object>> deliveryDetailList2 = deliveryDetailMapper.getSelectDeliveryDetailPrinting(detail.getDeliveryId(), |
| | | List<Map<String, Object>> deliveryDetailList2; |
| | | if(state==3){ |
| | | deliveryDetailList2=deliveryDetailMapper.getSelectDeliveryPrintingMoneySpecifications(detail.getDeliveryId(), |
| | | detail.getOrderDetail().getProductId(), detail.getOrderDetail().getOrderId()); |
| | | }else if(state==4){ |
| | | deliveryDetailList2=deliveryDetailMapper.getSelectDeliveryPrintingNoMoneySpecifications(detail.getDeliveryId(), |
| | | detail.getOrderDetail().getProductId(), detail.getOrderDetail().getOrderId()); |
| | | }else{ |
| | | deliveryDetailList2 = deliveryDetailMapper.getSelectDeliveryDetailPrinting(detail.getDeliveryId(), |
| | | detail.getOrderDetail().getProductId(), detail.getOrderDetail().getOrderId()); |
| | | } |
| | | |
| | | for (Map<String, Object> stringObjectMap : deliveryDetailList2) { |
| | | if(stringObjectMap.get("other_columns")!=null){ |
| | |
| | | width, |
| | | height, |
| | | #{printQuantity} as quantity, |
| | | CONCAT( |
| | | TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(width AS CHAR))), |
| | | ' X ', |
| | | TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(height AS CHAR))), |
| | | ' = ',#{printQuantity} ) as size, |
| | | |
| | | CONCAT( |
| | | od.order_number,') ', |
| | | TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(width AS CHAR))), |
| | | ' X ', |
| | | TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(height AS CHAR))), |
| | | ' = ',#{printQuantity} ) as numberSize, |
| | | CONCAT( |
| | | od.order_number,')',' ', |
| | | TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(width AS CHAR))), |
| | | ' X ', |
| | | TRIM(TRAILING '.' FROM TRIM(TRAILING '0' FROM CAST(height AS CHAR)))) as numberSizeQuantity, |
| | | od.order_number as orderNumber, |
| | | fc.technology_number as technologyNumber, |
| | | od.building_number as buildingNumber, |
| | |
| | | od.other_columns, |
| | | ogd.glass_child as glassChild, |
| | | ogd.glass_address as glassAddress, |
| | | JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.color')) AS color |
| | | JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.color')) AS color, |
| | | '文本' as custom1, |
| | | '文本' as custom2, |
| | | '文本' as custom3, |
| | | '文本' as custom4, |
| | | '文本' as custom5 |
| | | from sd.order as o |
| | | left join sd.order_detail as od on o.order_id = od.order_id |
| | | left join flow_card as fc on o.order_id = fc.order_id and |
| | |
| | | </select> |
| | | |
| | | |
| | | <select id="getSelectDeliveryPrintingMoneySpecifications" resultMap="selectDeliveryDetailOrderDetail" > |
| | | select dd.delivery_id, |
| | | od.order_id, |
| | | IF(#{type} = 'product_abbreviation', pt.remarks, od.product_name) as product_name, |
| | | dd.price, |
| | | <select id="getSelectDeliveryPrintingMoneySpecifications" > |
| | | select od.order_id, |
| | | od.width, |
| | | od.height, |
| | | od.product_name, |
| | | sum(dd.area) as area, |
| | | sum(dd.money) as money, |
| | | sum(dd.quantity) as quantity, |
| | | o.contract_id, |
| | | od.width, |
| | | od.height |
| | | dd.price |
| | | from delivery_detail dd |
| | | left join (select product_name,order_id,product_id,order_number,width,height |
| | | from order_detail) as od on dd.order_id = od.order_id and dd.order_number = od.order_number |
| | | left join product pt on pt.id = od.product_id |
| | | left join sd.`order` o on o.order_id = dd.order_id |
| | | where dd.delivery_id like concat('%', #{deliveryId}, '%') |
| | | |
| | | group by od.order_id, od.product_name,od.width,od.height, dd.price |
| | | left join order_detail od on dd.order_id = od.order_id and dd.order_number = od.order_number |
| | | left join product p on od.product_id = p.id |
| | | where delivery_id = #{deliveryId} |
| | | and od.order_id = #{orderId} |
| | | and od.product_id = #{productId} |
| | | group by od.width,od.height, dd.price |
| | | </select> |
| | | |
| | | <select id="getSelectDeliveryPrintingNoMoneySpecifications" resultMap="selectDeliveryDetailOrderDetail" > |
| | | select dd.delivery_id, |
| | | od.order_id, |
| | | IF(#{type} = 'product_abbreviation', pt.remarks, od.product_name) as product_name, |
| | | sum(dd.area) as area, |
| | | sum(dd.quantity) as quantity, |
| | | o.contract_id, |
| | | <select id="getSelectDeliveryPrintingNoMoneySpecifications" > |
| | | select od.order_id, |
| | | od.width, |
| | | od.height |
| | | od.height, |
| | | od.product_name, |
| | | sum(dd.area) as area, |
| | | sum(dd.quantity) as quantity |
| | | from delivery_detail dd |
| | | left join (select product_name,order_id,product_id,order_number,width,height |
| | | from order_detail) as od on dd.order_id = od.order_id and dd.order_number = od.order_number |
| | | left join product pt on pt.id = od.product_id |
| | | left join sd.`order` o on o.order_id = dd.order_id |
| | | where dd.delivery_id like concat('%', #{deliveryId}, '%') |
| | | |
| | | group by od.order_id, od.product_name, width, height |
| | | left join order_detail od on dd.order_id = od.order_id and dd.order_number = od.order_number |
| | | left join product p on od.product_id = p.id |
| | | where delivery_id = #{deliveryId} |
| | | and od.order_id = #{orderId} |
| | | and od.product_id = #{productId} |
| | | group by od.width,od.height |
| | | </select> |
| | | |
| | | <select id="getSelectOrderPrinting" > |