1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261 |
- <template>
- <!-- 新增成衣 -->
- <div id="clothesAddDrawer">
- <a-drawer
- :title="(editDecide == 'add')?'新增成衣':'编辑成衣'"
- width="89%"
- placement="right"
- :closable="true"
- :visible="visible"
- @close="handleCancel">
- <!-- 主表信息 填写-->
- <a-card :bordered="true">
- <div class="table-page-search-wrapper">
- <a-form-model layout="inline" ref="formModel" :model="clothesAdd" :rules="validatorRules">
- <a-row :gutter="24">
- <a-col :md="6" :sm="8">
- <a-form-model-item label="订单号" prop="orderNum">
- {{clothesAdd.orderNum}}
- <!-- <a-input placeholder="请输入订单号" v-model="clothesAdd.orderNum" readOnly></a-input> -->
- </a-form-model-item>
- </a-col>
- <a-col :md="6" :sm="8">
- <a-form-model-item label="款号" prop="styleNum">
- {{clothesAdd.styleNum}}
- <!-- <a-input placeholder="请输入款号" v-model="clothesAdd.styleNum" readOnly></a-input> -->
- </a-form-model-item>
- </a-col>
- <a-col :md="6" :sm="8">
- <a-form-model-item label="中文品名" prop="name">
- {{clothesAdd.name}}
- <!-- <a-input placeholder="请输入中文品名" v-model="clothesAdd.name"></a-input> -->
- </a-form-model-item>
- </a-col>
- <a-col :md="6" :sm="8">
- <a-form-model-item label="英文品名" prop="englishProductName">
- {{clothesAdd.englishProductName}}
- <!-- <a-input placeholder="请输入英文品名" v-model="clothesAdd.englishProductName"></a-input> -->
- </a-form-model-item>
- </a-col>
- <a-col :md="6" :sm="8">
- <a-form-model-item label="尺码范围" prop="sizeRange">
- {{clothesAdd.sizeRange}}
- <!-- <a-input placeholder="请输入尺码范围" v-model="clothesAdd.sizeRange" readOnly></a-input> -->
- <!-- <a-select placeholder="请选择尺码范围">
- <a-select-option value="">请选择</a-select-option>
- <a-select-option value="0">客户1</a-select-option>
- <a-select-option value="1">客户2</a-select-option>
- <a-select-option value="2">客户3</a-select-option>
- </a-select> -->
- </a-form-model-item>
- </a-col>
- <a-col :md="6" :sm="8">
- <a-form-model-item label="客户" prop="customer" :title="clothesAdd.customer">
- {{clothesAdd.customer | ellipsis}}
- <!-- <a-input placeholder="请输入客户" v-model="clothesAdd.customer" ></a-input> -->
- </a-form-model-item>
- </a-col>
- <a-col :md="6" :sm="8">
- <a-form-model-item label="集装箱代号" prop="containerCode">
- {{clothesAdd.containerCode}}
- <!-- <a-input placeholder="请输入集装箱代号" v-model="clothesAdd.containerCode" readOnly></a-input> -->
- </a-form-model-item>
- </a-col>
- <a-col :md="6" :sm="8">
- <a-form-model-item label="集装箱号" prop="containerNo">
- {{clothesAdd.containerNo}}
- <!-- <a-input placeholder="请输入集装箱号" v-model="clothesAdd.containerNo" readOnly></a-input> -->
- </a-form-model-item>
- </a-col>
- <a-col :md="6" :sm="8">
- <a-form-model-item label="备注" prop="note">
- <a-input placeholder="请输入备注" v-model="clothesAdd.note"></a-input>
- </a-form-model-item>
- </a-col>
- <!-- <a-col :md="6" :sm="8">
- <a-form-model-item label="成衣工厂" prop="clothesFactory">
- <a-input placeholder="请输入成衣工厂" v-model="clothesAdd.clothesFactory"></a-input>
- </a-form-model-item>
- </a-col> -->
- <a-col :md="6" :sm="8">
- <a-form-model-item label="外销发票号" prop="exportInvoiceNo">
- {{clothesAdd.exportInvoiceNo}}
- <!-- <a-input placeholder="请输入外销发票号" v-model="clothesAdd.exportInvoiceNo"></a-input> -->
- </a-form-model-item>
- </a-col>
- <a-col :md="6" :sm="8">
- <a-form-model-item label="托书号" prop="bookNum">
- {{clothesAdd.shippingOrderNumber}}
- <!-- <a-input placeholder="请输入托书号" v-model="clothesAdd.bookNum" readOnly></a-input> -->
- </a-form-model-item>
- </a-col>
- <a-col :md="6" :sm="8">
- <a-form-model-item label="总箱数" prop="totalBoxes">
- {{clothesAdd.totalBoxes}}
- <!-- <a-input placeholder="请输入总箱数" v-model="clothesAdd.totalBoxes" readOnly></a-input> -->
- </a-form-model-item>
- </a-col>
- <a-col :md="6" :sm="8">
- <a-form-model-item label="总毛重" prop="totalGrossWeight">
- {{clothesAdd.totalGrossWeight}}
- <!-- <a-input placeholder="请输入总毛重" v-model="clothesAdd.totalGrossWeight" readOnly></a-input> -->
- </a-form-model-item>
- </a-col>
- <a-col :md="6" :sm="8">
- <a-form-model-item label="总净重" prop="totalNetWeight">
- {{clothesAdd.totalNetWeight}}
- <!-- <a-input placeholder="请输入总净重" v-model="clothesAdd.totalNetWeight" readOnly></a-input> -->
- </a-form-model-item>
- </a-col>
- <a-col :md="6" :sm="8">
- <a-form-model-item label="总体积" prop="totalVolume">
- {{clothesAdd.totalVolume}}
- <!-- <a-input placeholder="请输入总体积" v-model="clothesAdd.totalVolume" readOnly></a-input> -->
- </a-form-model-item>
- </a-col>
- <!-- <a-col :md="6" :sm="8">
- <a-form-model-item label="总价" prop="totalPrice">
- <a-input placeholder="请输入总价" v-model="clothesAdd.totalPrice"></a-input>
- </a-form-model-item>
- </a-col> -->
- <a-col :md="6" :sm="8">
- <a-form-model-item label="总件数" prop="total">
- {{clothesAdd.total}}
- <!-- <a-input placeholder="请输入总件数" v-model="clothesAdd.total" readOnly></a-input> -->
- </a-form-model-item>
- </a-col>
- </a-row>
- </a-form-model>
- </div>
- </a-card>
- <!--操作按钮区域 参照预装箱单 増行-->
- <a-card :bordered="true" style="margin:10px 0 60px 0;">
- <!-- <div class="table-operator">
- <a-button type="primary" @click="referadvancePackingList" icon="ordered-list">参照预装箱单</a-button>
- </div> -->
- <!-- 子表 :pagination="ipagination" -->
- <a-spin :spinning="confirmLoading">
- <a-form-model ref="formRef">
- <a-table
- bordered
- :row-dataIndex ="record => record.id"
- :columns="clothesAddColumns"
- :data-source="clothesAddData"
- :loading="loading"
- :pagination="ipagination"
- :scroll="{ x: 1500,y: 350 }"
- @change="handleTableChange"
- >
- <!-- 自定义表头 -->
- <span slot="startingBoxNumberTitle" class="form-table-heard">
- 起始箱号
- </span>
- <span slot="endCaseNumberTitle" class="form-table-heard">
- 结束箱号
- </span>
- <span slot="netWeightTitle" class="form-table-heard">
- 净重/箱
- </span>
- <span slot="grossWeightTitle" class="form-table-heard">
- 毛重/箱
- </span>
- <span slot="outerBoxLengthTitle" class="form-table-heard">
- 外箱长度
- </span>
- <span slot="outerBoxWidthTitle" class="form-table-heard">
- 外箱宽度
- </span>
- <span slot="outerBoxHeightTitle" class="form-table-heard">
- 外箱高度
- </span>
- <span slot="boxNumberTitle" class="form-table-heard">
- 箱数
- </span>
- <!-- <span slot="netWeightTooTitle" class="form-table-heard">
- 净净重
- </span> -->
- <!-- prepackSku -->
- <template slot="prepackSku" slot-scope="text, record, index">
- <a-form-model-item prop="prepackSku" :rules="rules.prepackSku">
- <a-input style="width:100%" type="text" v-model="record.prepackSku" />
- </a-form-model-item>
- </template>
- <!-- 起始箱号 -->
- <template slot="startingBoxNumber" slot-scope="text, record, index">
- <a-form-model-item prop="startingBoxNumber" :rules="rules.startingBoxNumber">
- <a-input style="width:100%" type="text" v-model="record.startingBoxNumber" @change="handleValueChange(record)"/>
- </a-form-model-item>
- </template>
- <!-- 结束箱号 -->
- <template slot="endCaseNumber" slot-scope="text, record, index">
- <a-form-model-item prop="endCaseNumber" :rules="rules.endCaseNumber">
- <a-input style="width:100%" type="text" v-model="record.endCaseNumber" @change="handleValueChange(record)"/>
- </a-form-model-item>
- </template>
- <!-- 净重 -->
- <template slot="netWeight" slot-scope="text, record, index">
- <a-form-model-item prop="netWeight" :rules="rules.netWeight">
- <a-input style="width:100%" type="text" v-model="record.netWeight" @change="handleValueChange(record)"/>
- </a-form-model-item>
- </template>
- <!-- 毛重 -->
- <template slot="grossWeight" slot-scope="text, record, index">
- <a-form-model-item prop="grossWeight" :rules="rules.grossWeight">
- <a-input style="width:100%" type="text" v-model="record.grossWeight" @change="handleValueChange(record)"/>
- </a-form-model-item>
- </template>
- <!-- 外箱长度 -->
- <template slot="outerBoxLength" slot-scope="text, record, index">
- <a-form-model-item prop="outerBoxLength" :rules="rules.outerBoxLength">
- <a-input style="width:100%" type="text" v-model="record.outerBoxLength" @change="handleValueChange(record)"/>
- </a-form-model-item>
- </template>
- <!-- 外箱宽度 -->
- <template slot="outerBoxWidth" slot-scope="text, record, index">
- <a-form-model-item prop="outerBoxWidth" :rules="rules.outerBoxWidth">
- <a-input style="width:100%" type="text" v-model="record.outerBoxWidth" @change="handleValueChange(record)" />
- </a-form-model-item>
- </template>
- <!-- 外箱高度 -->
- <template slot="outerBoxHeight" slot-scope="text, record, index">
- <a-form-model-item prop="outerBoxHeight" :rules="rules.outerBoxHeight">
- <a-input style="width:100%" type="text" v-model="record.outerBoxHeight" @change="handleValueChange(record)" />
- </a-form-model-item>
- </template>
- <!-- 净净重 -->
- <template slot="netWeightToo" slot-scope="text, record, index">
- <a-form-model-item prop="netWeightToo" :rules="rules.netWeightToo">
- <a-input style="width:100%" type="text" v-model="record.netWeightToo" @change="handleValueChange(record)"/>
- </a-form-model-item>
- </template>
- <!-- 尺码字段 -->
- <template v-for="i in inputName" :slot="i" slot-scope="text, record, index">
- <a-form-model-item prop="i" :rules="rules.i" :key="i">
- <a-input style="width:100%" type="text" v-model="record[i]" @change="handleValueChange(record)"/>
- </a-form-model-item>
- </template>
- <!-- 操作 -->
- <span slot="operation" slot-scope="text, record,index">
- <a @click="copy(record)">复制</a>
- <a-divider type="vertical"/>
- <a-popconfirm title="确定删除吗?" @confirm="handleDelete(record)">
- <a>删除</a>
- </a-popconfirm>
- </span>
- </a-table>
- <!-- <j-vxe-table
- ref="vTable"
- toolbar
- row-number
- row-selection
- drag-sort
- keep-source
- :height="350"
- :loading="loading"
- :dataSource="clothesAddData"
- :columns="clothesAddColumns"
- :alwaysEdit=true
- :bordered=true
- :scroll="{ x: 1500,y: 350 }"
- style="margin-top: 5px;"
- :toolbarConfig="toolbarConfig"
- @valueChange="handleValueChange"
- > -->
- <!-- 起始箱号 -->
- <!-- <template v-slot:startingBoxNumber="record" >
- <a-input v-model="record.row.startingBoxNumber" style="border-color: red;"></a-input>
- </template> -->
- <!-- 结束箱号 -->
- <!-- <template v-slot:endCaseNumber="record" >
- <a-input v-model="record.row.endCaseNumber" style="border-color: red;"></a-input>
- </template> -->
- <!-- 净重/箱 -->
- <!-- <template v-slot:netWeight="record" >
- <a-input v-model="record.row.netWeight" style="border-color: red;"></a-input>
- </template> -->
- <!-- 毛重/箱 -->
- <!-- <template v-slot:grossWeight="record" >
- <a-input v-model="record.row.grossWeight" style="border-color: red;"></a-input>
- </template> -->
- <!-- 外箱长度 -->
- <!-- <template v-slot:outerBoxLength="record" >
- <a-input v-model="record.row.outerBoxLength" style="border-color: red;"></a-input>
- </template> -->
- <!-- 外箱高度 -->
- <!-- <template v-slot:outerBoxHeight="record" >
- <a-input v-model="record.row.outerBoxHeight" style="border-color: red;"></a-input>
- </template> -->
- <!-- 外箱宽度 -->
- <!-- <template v-slot:outerBoxWidth="record" >
- <a-input v-model="record.row.outerBoxWidth" style="border-color: red;"></a-input>
- </template> -->
- <!-- 箱数 -->
- <!-- <template v-slot:boxNumber="record" >
- <a-input v-model="record.row.boxNumber" style="border-color: red;"></a-input>
- </template> -->
- <!-- 净净重 -->
- <!-- <template v-slot:netWeightToo="record" >
- <a-input v-model="record.row.netWeightToo" style="border-color: red;"></a-input>
- </template>
- <template v-slot:action="props">
- <a @click="copy(props)">复制</a>
- <a-divider type="vertical"/>
- <a-popconfirm title="确定删除吗?" @confirm="handleDelete(props)">
- <a>删除</a>
- </a-popconfirm>
- </template>
- <template v-slot:toolbarSuffix>
- <a-button type="primary" @click="referadvancePackingList" icon="ordered-list">参照预装箱单</a-button>
- </template>
- </j-vxe-table> -->
- </a-form-model>
- </a-spin>
- </a-card>
- <!-- 页面底部提交取消 -->
- <div
- :style="{
- position: 'absolute',
- right: 0,
- bottom: 0,
- width: '100%',
- borderTop: '1px solid #e9e9e9',
- padding: '10px 16px',
- background: '#fff',
- textAlign: 'right',
- zIndex: 999
- }"
- >
- <a-popconfirm title="确定放弃新增?" @confirm="handleCancel" okText="确定" cancelText="取消">
- <a-button :style="{ marginRight: '8px' }">取消</a-button>
- </a-popconfirm>
- <a-button type="primary" @click="submitAdd" v-preventReClick="2000">
- 保存
- </a-button>
- </div>
- </a-drawer>
- <!-- 参照预装箱单 -->
- <reference-pre-packlist ref="ReferencePrePacklist" @callback='referCallback' :father="aa" @ok="modalFormOk"></reference-pre-packlist>
- </div>
- </template>
- <script>
- import { JeecgListMixin } from '@/mixins/JeecgListMixin'
- import { JVXETypes } from '@/components/jeecg/JVxeTable'
- import JEllipsis from '@/components/jeecg/JEllipsis'
- import ReferencePrePacklist from '@views/packing-list/packinglist-clothes/referencePrePacklist'
- import { orderSpltListId,addSpltList,editSpltList } from '@api/document/packing-list/packinglist-clothes.js'
- export default {
- name: 'ClothesAddDrawer', // 新增-装箱单 -成衣
- mixins: [JeecgListMixin],
- computed: {},
- components: { ReferencePrePacklist, JEllipsis }, // 参照预装箱单 弹框
- data() {
- let ellipsis = (v, l = 20) => <j-ellipsis value={v} length={l} />
- return {
- toolbarConfig: {
- // add 新增按钮;remove 删除按钮;clearSelection 清空选择按钮
- btn: []
- },
- inputName:[],
- // 表头
- clothesAddColumns: [
- {
- title: '账套',
- dataIndex: 'acSetNo',
- width: 100,
- // fixed: 'left',
- className: 'replacecolor',
- ellipsis: true,
- },
- {
- title: '成衣工厂',
- dataIndex: 'garmentFactory',
- width: 120,
- // fixed: 'left',
- className: 'replacecolor',
- ellipsis: true,
- },
- {
- title: 'HOD',
- dataIndex: 'hod',
- width: 120,
- className: 'replacecolor',
- ellipsis: true,
- },
- {
- title: 'STYLE NO.',
- dataIndex: 'styleNo',
- width: 120,
- className: 'replacecolor',
- ellipsis: true,
- },
- {
- title: 'PO NO.',
- dataIndex: 'poNo',
- width: 90,
- className: 'replacecolor',
- ellipsis: true,
- },
- {
- title: 'ITEM NO./SKU NO./UPC NO./PACKS CODE',
- dataIndex: 'itemCode',
- width: 340,
- className: 'replacecolor',
- ellipsis: true,
- },
- {
- title: 'PREPACK SKU',
- dataIndex: 'prepackSku',
- width: 200,
- className: 'replacecolor',
- scopedSlots: { customRender: 'prepackSku' },
- ellipsis: true,
- },
- {
- title: '分销点/DC/LABEL',
- dataIndex: 'distributionPoint',
- width: 200,
- className: 'replacecolor',
- insertAfter:true,
- ellipsis: true,
- },
- {
- // title: '起始箱号',
- dataIndex: 'startingBoxNumber',
- className: 'replacecolor',
- scopedSlots: { customRender: 'startingBoxNumber' } ,
- slots:{title:'startingBoxNumberTitle'} ,
- width: 120,
- ellipsis: true,
- },
- {
- // title: '结束箱号',
- dataIndex: 'endCaseNumber',
- width: 120,
- className: 'replacecolor',
- scopedSlots: { customRender: 'endCaseNumber' } ,
- slots:{title:'endCaseNumberTitle'},
- ellipsis: true,
- },
- {
- title: '颜色(中英文)',
- dataIndex: 'colour',
- width: 140,
- className: 'replacecolor',
- ellipsis: true,
- },
- {
- title: '配码',
- dataIndex: 'withCode',
- width: 120,
- className: 'replacecolor',
- ellipsis: true,
- },
- {
- title: '件数/箱',
- dataIndex: 'piecesBox',
- width: 100,
- // type: JVXETypes.normal
- },
- {
- // title: '箱数',
- dataIndex: 'boxNumber',
- width: 120,
- className: 'replacecolor',
- scopedSlots: { customRender: 'boxNumber' } ,
- slots:{title:'boxNumberTitle'}
- },
- {
- title: '计划尺码数量',
- dataIndex: 'planSize',
- width: 180,
- className: 'replacecolor',
- customRender: t => ellipsis(t),
- },
- {
- title: '计划装箱数量',
- dataIndex: 'planQuantity',
- width: 180,
- className: 'replacecolor'
- },
- {
- title: '总件数',
- dataIndex: 'total',
- width: 90,
- className: 'replacecolor'
- },
- {
- // title: '净重/箱',
- dataIndex: 'netWeight',
- width: 120,
- className: 'replacecolor',
- scopedSlots: { customRender: 'netWeight' } ,
- slots:{title:'netWeightTitle'}
- },
- {
- title: '总净重',
- dataIndex: 'totalNetWeight',
- width: 90,
- className: 'replacecolor'
- },
- {
- // title: '毛重/箱',
- dataIndex: 'grossWeight',
- width: 120,
- className: 'replacecolor',
- scopedSlots: { customRender: 'grossWeight' } ,
- slots:{title:'grossWeightTitle'}
- },
- {
- title: '总毛重',
- dataIndex: 'totalGrossWeight',
- width: 90,
- className: 'replacecolor'
- },
- {
- // title: '外箱长度',
- dataIndex: 'outerBoxLength',
- width: 120,
- className: 'replacecolor',
- scopedSlots: { customRender: 'outerBoxLength' } ,
- slots:{title:'outerBoxWidthTitle'}
- },
- {
- // title: '外箱宽度',
- dataIndex: 'outerBoxWidth',
- width: 120,
- className: 'replacecolor',
- scopedSlots: { customRender: 'outerBoxWidth' } ,
- slots:{title:'outerBoxWidthTitle'}
- },
- {
- // title: '外箱高度',
- dataIndex: 'outerBoxHeight',
- width: 120,
- className: 'replacecolor',
- scopedSlots: { customRender: 'outerBoxHeight' } ,
- slots:{title:'outerBoxWidthTitle'}
- },
- {
- title: '总体积',
- dataIndex: 'totalVolume',
- width: 100,
- className: 'replacecolor'
- },
- {
- title: '净净重',
- dataIndex: 'netWeightToo',
- width: 120,
- className: 'replacecolor',
- scopedSlots: { customRender: 'netWeightToo' } ,
- },
- // {
- // title: '单价',
- // dataIndex: 'unitPrice',
- // width: 120,
- // className: 'replacecolor'
- // },
- // {
- // title: '总价',
- // dataIndex: 'totalPrice',
- // width: 120,
- // className: 'replacecolor'
- // },
- {
- title: '备注',
- dataIndex: 'remarks',
- width: 140,
-
- // fixed: 'right',
- className: 'replacecolor',
- scopedSlots: { customRender: 'remarks' } ,
- ellipsis: true,
- },
- {
- title: '操作',
- dataIndex: 'operation',
- className: 'replacecolor',
- width: 160,
- fixed: 'right',
- align: 'center',
- scopedSlots: { customRender: 'operation' } ,
- }
- ],
- clothesAddData: [],
- judge:0,
- loading: false, // 表格加载
- clothesAdd: {},
- pagination: {
- // total: '',
- // current: 0,
- // pageSize: 0
- },
- editDecide:'add',
- visible: false,
- sizeFields:[], // 尺码字段
- confirmLoading: false,
- validatorRules: {
- // orderNum: [{ required: true, message: '订单号不能为空', trigger: 'blur' }],
- // styleNum: [{ required: true, message: '款号不能为空', trigger: 'blur' }],
- // name: [{ required: true, message: '中文品名不能为空', trigger: 'blur' }],
- // // englishProductName: [{ required: true, message: '英文品名不能为空', trigger: 'blur' }],
- // // sizeRange: [{ required: true, message: '品名不能为空', trigger: 'blur' }],
- // // sizeRange
- // // 待确定还有哪些必填信息
- }
- // dateFormat: 'YYYY-MM-DD'
- }
- },
- // 接收父组件查询方法
- props: {
- fatherList: {
- type: Function,
- default: null
- }
- },
- created() {},
- mounted() {},
- methods: {
- // 参照回调
- referCallback(idArr){
- this.clothesAdd = {}
- this.clothesAddData = []
- this.sizeFields = []
- var preId = idArr[0]
- orderSpltListId({id:preId}).then(res => {
- var data = res.result
- if (res.success) {
- this.clothesAdd = {
- documentNo:data.documentNo,
- orderNum: data.orderNumber,
- styleNum: data.itemNumber,
- name: data.productName,
- englishProductName:data.englishProductName,
- sizeRange: data.sizeRange,
- customer: data.customer,
- containerCode: data.containerCode,
- containerNo: data.containerNumber,
- note: data.u8Remarks,
- // clothesFactory: data.garmentFactory,
- exportInvoiceNo: data.exportInvoiceNo,
- bookNum: data.shippingOrderNumber,
- syPreAssembledPackingListId:data.syPreAssembledPackingListId,
- elementsId:data.elementsId,
- business_Type_Value:data.business_Type_Value,
- salesman:data.salesman,
- salesDepartment:data.salesDepartment,
- ompoId:data.ompoId,
- purchase:data.purchase,
- customerAbbreviation:data.customerAbbreviation,
- depositaryReceiptNo:data.depositaryReceiptNo
- }
- this.setHeadCalField(data.syPackingListTailoringItemList)
- this.dynamicColumns(data.sizeTables)
- this.clothesAddData = data.syPackingListTailoringItemList
- this.clothesAddData.map(item =>{
- var str =item.hod
- var n=str.split(" ");
- item.hod = n[0]
- var row = item;
- var sizeTables = row.sizeTables;
- for (var j=0; j<sizeTables.length;j++){
- row['size-'+sizeTables[j].size] = sizeTables[j].proportion;
- }
- })
- }else {
- this.$message.error(res.message);
- }
- })
- },
- dynamicColumns(sizeTables){
- this.initializationColumns()
- var newColumns = this.clothesAddColumns
- this.sizeFields = [];
- if (sizeTables != null){
- var i = 0
- for(;i < newColumns.length ; i++){
- if(newColumns[i].insertAfter){
- break;
- }
- }
- // 插入数据
- for (var j=0;j<sizeTables.length;j++){
- this.sizeFields.push('size-'+sizeTables[j].size);
- var field = {
- title: sizeTables[j].size,
- dataIndex: 'size-'+sizeTables[j].size,
- type: JVXETypes.inputNumber ,
- width: 80,
- isSize:true,
- scopedSlots: { customRender: 'size-'+sizeTables[j].size },
- };
- this.inputName.push('size-'+sizeTables[j].size)
- newColumns.splice(i+1+j,0,field);
- }
-
- this.clothesAddColumns = newColumns
- }
- },
- //计算主表中所需计算的值
- setHeadCalField(data){
- var totalBoxes = 0;
- var totalNetWeight = 0;
- var totalGrossWeight = 0;
- var totalVolume = 0;
- var totalPrice = 0;
- var total = 0
- for(var i =0;i<data.length;i++){
- var rowData = data[i];
- totalBoxes += rowData.boxNumber;
- if (rowData.totalNetWeight != undefined && rowData.totalNetWeight != ""){
- totalNetWeight += rowData.totalNetWeight*1;
- }
- if (rowData.totalGrossWeight != undefined && rowData.totalGrossWeight != ""){
- totalGrossWeight += rowData.totalGrossWeight*1;
- }
- if (rowData.totalVolume != undefined && rowData.totalVolume != ""){
- totalVolume += rowData.totalVolume*1;
- }
- if (rowData.totalPrice != undefined && rowData.totalPrice != ""){
- totalPrice += rowData.totalPrice*1;
- }
- if (rowData.total != undefined && rowData.total != ""){
- total += rowData.total*1;
- }
- }
- this.clothesAdd.totalBoxes = totalBoxes
- this.clothesAdd.totalGrossWeight = totalGrossWeight
- this.clothesAdd.totalNetWeight = totalNetWeight
- this.clothesAdd.totalVolume = totalVolume
- this.clothesAdd.totalPrice = totalPrice
- this.clothesAdd.total = total
- this.$forceUpdate()
- },
- // 参照预装箱单
- referadvancePackingList() {
- console.log('打开参照订单数据')
- // 打开订单数据弹框
- this.$refs.ReferencePrePacklist.referencePrePacklist = true
- this.$refs.ReferencePrePacklist.queryParam = {}
- this.$refs.ReferencePrePacklist.searchQuery()
- },
-
- // -------------------------------------
- // 操作 删除
- handleDelete(ind) {
- var delectId = ind.rowIndex
- this.clothesAddData.splice(delectId, 1);
- console.log(this.clothesAddData)
- this.setHeadCalField(this.clothesAddData)
- },
- handleValueChange(record) {
- var dataRow = record
- if (dataRow.startingBoxNumber != undefined && dataRow.startingBoxNumber != "" &&
- dataRow.endCaseNumber != undefined && dataRow.endCaseNumber != ""){
- dataRow.boxNumber = dataRow.endCaseNumber*1-dataRow.startingBoxNumber*1+1;
- }
- var allSizeSum = this.getAllSizeSum(dataRow);
- dataRow.piecesBox = allSizeSum
- dataRow.total = dataRow.piecesBox*dataRow.boxNumber
- if (dataRow.netWeight != "" && dataRow.netWeight != undefined){
- dataRow.totalNetWeight = dataRow.netWeight * dataRow.boxNumber;
- }
- if (dataRow.grossWeight != "" && dataRow.grossWeight != undefined){
- dataRow.totalGrossWeight = dataRow.grossWeight * dataRow.boxNumber;
- }
- if (dataRow.outerBoxLength != "" && dataRow.outerBoxLength != undefined &&
- dataRow.outerBoxWidth != "" && dataRow.outerBoxWidth != undefined &&
- dataRow.outerBoxHeight != "" && dataRow.outerBoxHeight != undefined){
- dataRow.totalVolume = (dataRow.outerBoxLength * dataRow.outerBoxWidth * dataRow.outerBoxHeight * dataRow.boxNumber/1000000).toFixed(3)
- }
- if (dataRow.unitPrice != undefined && dataRow.unitPrice != ""){
- dataRow.totalPrice = (dataRow.unitPrice*dataRow.total).toFixed(2)
- }
- this.setHeadCalField(this.clothesAddData)
- },
- // 操作按钮 复制
- copy(record) {
- var newRow = JSON.parse(JSON.stringify(record));
- newRow.isAdd = 1
- this.clothesAddData.push(newRow);
- this.setHeadCalField(this.clothesAddData)
- },
- // -------------------------------------
- // 抽屉 取消
- handleCancel() {
- console.log('点击抽屉取消')
- this.close()
- },
- // 抽屉 提交
- submitAdd() {
- const that = this;
- // 触发表单验证
- that.$refs.formModel.validate(async valid => {
- if (valid) {
- if (this.sizeFields.length == 0){
- this.$message.error('当前记录没有尺码字段,无法保存');
- return;
- }
- // that.confirmLoading = true
- var newObj = {}
- newObj.itemNumber = this.clothesAdd.styleNum
- newObj.orderNumber = this.clothesAdd.orderNum
- newObj.productName = this.clothesAdd.name
- newObj.sizeRange = this.clothesAdd.sizeRange
- newObj.customer = this.clothesAdd.customer
- newObj.containerCode = this.clothesAdd.containerCode
- newObj.containerNumber = this.clothesAdd.containerNo
- newObj.u8Remarks = this.clothesAdd.note
- // newObj.garmentFactory = this.clothesAdd.clothesFactory
- newObj.exportInvoiceNo = this.clothesAdd.exportInvoiceNo
- newObj.shippingOrderNumber = this.clothesAdd.bookNum
- newObj.id = this.clothesAdd.id
- newObj.totalBoxes = this.clothesAdd.totalBoxes
- newObj.totalGrossWeight = this.clothesAdd.totalGrossWeight
- newObj.totalNetWeight = this.clothesAdd.totalNetWeight
- newObj.totalVolume = this.clothesAdd.totalVolume
- newObj.totalPrice = this.clothesAdd.totalPrice
- newObj.total = this.clothesAdd.total
- newObj.syPackingListTailoringItemList = this.clothesAddData
- newObj.syPreAssembledPackingListId=this.clothesAdd.syPreAssembledPackingListId,
- newObj.elementsId=this.clothesAdd.elementsId,
- newObj.business_Type_Value=this.clothesAdd.business_Type_Value,
- newObj.salesman=this.clothesAdd.salesman,
- newObj.salesDepartment=this.clothesAdd.salesDepartment,
- newObj.ompoId=this.clothesAdd.ompoId,
- newObj.purchase=this.clothesAdd.purchase,
- newObj.customerAbbreviation=this.clothesAdd.customerAbbreviation,
- newObj.depositaryReceiptNo = this.clothesAdd.depositaryReceiptNo
- await this.JudgeVluabled()
- if(this.judge == 0){
-
- if(this.editDecide === 'edit'){
- editSpltList(newObj).then(res => {
- if (res.success) {
- this.$message.success('编辑成功')
- this.close()
- //清空信息
- newObj = {};
- that.fatherList() // 调用父组件 查询方法
- }else{
- this.$message.error(res.message)
- }
- })
- }else {
- addSpltList(newObj).then(res => {
- if (res.success) {
- this.$message.success('新增成功')
- this.close()
- //清空信息
- newObj = {};
- that.fatherList() // 调用父组件 查询方法
- }else{
- this.$message.error(res.message)
- }
- })
- }
- }
-
- }
- })
- },
- JudgeVluabled(){
- var sort = 0
- this.judge = 0
- for (var i=0; i<this.clothesAddData.length;i++){
- var tableRow = this.clothesAddData[i];
- var allSizeSum = this.getAllSizeSum(tableRow);
- if (allSizeSum == 0){
- this.$message.error('第'+(i+1)+'行所有尺码数量为0,无法保存');
- this.judge+=1
- return;
- }
- //是否未填
- var Valuable=[
- {key:'startingBoxNumber',value:'起始箱号'},
- {key:'endCaseNumber',value:'结束箱号'},
- {key:'netWeight',value:'净重/箱'},
- {key:'grossWeight',value:'毛重/箱'},
- {key:'outerBoxLength',value:'外箱长度'},
- {key:'outerBoxWidth',value:'外箱宽度'},
- {key:'outerBoxHeight',value:'外箱高度'},
- // {key:'netWeightToo',value:'净净重'},
- {key:'boxNumber',value:'箱数'},
- ]
- for(var j=0 ; j<Valuable.length;j++){
-
- if(tableRow[Valuable[j].key] == null || tableRow[Valuable[j].key] == "" || tableRow[Valuable[j].key] == undefined){
- this.$message.error('第'+(i+1)+'行'+Valuable[j].value+'无值,无法保存');
- this.judge+=1
- return
- }
- }
- //是否为整
- var integer = [
- {key:'startingBoxNumber',value:'起始箱号'},
- {key:'piecesBox',value:'件数/箱'},
- {key:'endCaseNumber',value:'结束箱号'},
- {key:'boxNumber',value:'箱数'},
- ]
- for(var v=0 ; v<integer.length;v++){
- if(!Number.isInteger(Number(tableRow[integer[v].key]))){
- this.$message.error('第'+(i+1)+'行'+integer[v].value+'不为整数,无法保存');
- this.judge+=1
- return
- }
- }
- // //判断小数位数
- var Several = [
- {key:'netWeight',value:'净重/箱'},
- {key:'grossWeight',value:'毛重/箱'},
- ]
- for(var s=0 ; s<Several.length;s++){
- var position = tableRow[Several[s].key].toString().indexOf('.') + 1; //小数点的位置
- var digit = tableRow[Several[s].key].toString().length - position; //小数的位值
- if(digit > 2 && position!==0){
- this.$message.error('第'+(i+1)+'行'+Several[s].value+'小数超过两位,无法保存');
- this.judge+=1
- return
- }
- }
- if(Number(tableRow.startingBoxNumber) > Number(tableRow.endCaseNumber)) {
- this.$message.error('第'+(i+1)+'行起始箱号大于结束箱号,无法保存');
- this.judge+=1
- return;
- }
- if (tableRow.boxNumber == "" || tableRow.boxNumber == 0){
- this.$message.error('第'+(i+1)+'行箱数,无法保存');
- this.judge+=1
- return;
- }
- //尺码赋值
- for (var j=0; j<tableRow.sizeTables.length; j++){
- var sizeTable = tableRow.sizeTables[j];
- var field = 'size-'+sizeTable.size;
- tableRow.sizeTables[j].proportion = tableRow[field];
- }
- tableRow.sort = ++sort;
- }
- },
- // 获取不同尺码数量之和
- getAllSizeSum(record){
- var ret = 0;
- for (var i=0; i<this.sizeFields.length; i++){
- if (record[this.sizeFields[i]] != undefined && record[this.sizeFields[i]] != ""){
- ret += record[this.sizeFields[i]]*1;
- }
- }
- return ret;
- },
- // -------------------------------------
- close() {
- this.$emit('close')
- this.visible = false
- this.clothesAdd = {}
- this.clothesAddData = []
- this.sizeFields = []
- this.initializationColumns()
- this.editDecide = 'add'
- // this.$refs.form.resetFields()
- },
- //初始化表头
- initializationColumns(){
- this.clothesAddColumns= [
- {
- title: '账套',
- dataIndex : 'acSetNo',
- width: 100,
- // fixed: 'left',
- className: 'replacecolor',
- ellipsis: true,
- },
- {
- title: '成衣工厂',
- dataIndex : 'garmentFactory',
- width: 120,
- // fixed: 'left',
- className: 'replacecolor',
- ellipsis: true,
- },
- {
- title: 'HOD',
- dataIndex : 'hod',
- width: 120,
- className: 'replacecolor',
- ellipsis: true,
- },
- {
- title: 'STYLE NO.',
- dataIndex : 'styleNo',
- width: 120,
- className: 'replacecolor',
- ellipsis: true,
- },
- {
- title: 'PO NO.',
- dataIndex : 'poNo',
- width: 90,
- className: 'replacecolor',
- ellipsis: true,
- },
- {
- title: 'ITEM NO./SKU NO./UPC NO./PACKS CODE',
- dataIndex : 'itemCode',
- width: 340,
- className: 'replacecolor',
- ellipsis: true,
- },
- {
- title: 'PREPACK SKU',
- dataIndex : 'prepackSku',
- width: 200,
- className: 'replacecolor',
- scopedSlots: { customRender: 'prepackSku' } ,
- },
- {
- title: '分销点/DC/LABEL',
- dataIndex : 'distributionPoint',
- width: 200,
- className: 'replacecolor',
- insertAfter:true,
- ellipsis: true,
- },
- {
- // title: '起始箱号',
- dataIndex : 'startingBoxNumber',
- className: 'replacecolor',
- width: 120,
- scopedSlots: { customRender: 'startingBoxNumber' } ,
- slots:{title:'startingBoxNumberTitle'}
- },
- {
- // title: '结束箱号',
- dataIndex : 'endCaseNumber',
- width: 120,
- className: 'replacecolor',
- scopedSlots: { customRender: 'endCaseNumber' } ,
- slots:{title:'endCaseNumberTitle'}
- },
- {
- title: '颜色(中英文)',
- dataIndex : 'colour',
- width: 140,
- className: 'replacecolor',
- ellipsis: true,
- },
- {
- title: '配码',
- dataIndex : 'withCode',
- width: 120,
- className: 'replacecolor',
- ellipsis: true,
- },
- {
- title: '件数/箱',
- dataIndex : 'piecesBox',
- width: 100,
- // type: JVXETypes.normal
- ellipsis: true,
- },
- {
- title: '箱数',
- dataIndex : 'boxNumber',
- width: 120,
- className: 'replacecolor',
- scopedSlots: { customRender: 'replacecolor' } ,
- slots:{title:'boxNumberTitle'}
- },
- {
- title: '计划尺码数量',
- dataIndex : 'planSize',
- width: 180,
- className: 'replacecolor',
- ellipsis: true,
- },
- {
- title: '计划装箱数量',
- dataIndex : 'planQuantity',
- width: 140,
- className: 'replacecolor',
- ellipsis: true,
- },
- {
- title: '总件数',
- dataIndex : 'total',
- width: 90,
- className: 'replacecolor',
- ellipsis: true,
- },
- {
- // title: '净重/箱',
- dataIndex : 'netWeight',
- width: 120,
- className: 'replacecolor',
- scopedSlots: { customRender: 'netWeight' } ,
- slots:{title:'netWeightTitle'}
- },
- {
- title: '总净重',
- dataIndex : 'totalNetWeight',
- width: 90,
- className: 'replacecolor',
- ellipsis: true,
- },
- {
- // title: '毛重/箱',
- dataIndex : 'grossWeight',
- width: 120,
- className: 'replacecolor',
- scopedSlots: { customRender: 'grossWeight' } ,
- slots:{title:'grossWeightTitle'}
- },
- {
- title: '总毛重',
- dataIndex : 'totalGrossWeight',
- width: 90,
- className: 'replacecolor',
- ellipsis: true,
- },
- {
- // title: '外箱长度',
- dataIndex : 'outerBoxLength',
- width: 120,
- className: 'replacecolor',
- scopedSlots: { customRender: 'outerBoxLength' } ,
- slots:{title:'outerBoxLengthTitle'}
- },
- {
- // title: '外箱宽度',
- dataIndex : 'outerBoxWidth',
- width: 120,
- className: 'replacecolor',
- scopedSlots: { customRender: 'outerBoxWidth' } ,
- slots:{title:'outerBoxWidthTitle'}
- },
- {
- // title: '外箱高度',
- dataIndex : 'outerBoxHeight',
- width: 120,
- className: 'replacecolor',
- scopedSlots: { customRender: 'outerBoxHeight' } ,
- slots:{title:'outerBoxHeightTitle'}
-
- },
- {
- title: '总体积',
- dataIndex : 'totalVolume',
- width: 100,
- className: 'replacecolor',
- ellipsis: true,
- },
- {
- title: '净净重',
- dataIndex : 'netWeightToo',
- width: 120,
- className: 'replacecolor',
- scopedSlots: { customRender: 'netWeightToo' } ,
- },
- {
- title: '备注',
- dataIndex : 'remarks',
- width: 140,
-
- // fixed: 'right',
- className: 'replacecolor',
- scopedSlots: { customRender: 'remarks' } ,
- },
- {
- title: '操作',
- dataIndex : 'operation',
- className: 'replacecolor',
- width: 160,
- fixed: 'right',
- align: 'center',
- scopedSlots: { customRender: 'operation' } ,
- }
- ]
- },
- // - father------------------------------------
- aa() {},
- modalFormOk() {},
- // 分页、排序、筛选变化时触发
- handleTableChange(pagination, filters, sorter) {
- this.queryParam.pageNo = pagination.current
- this.referCallback()
- }
- }
- }
- </script>
- <style lang="less" scoped>
- @import '~@assets/less/common.less';
- @import '~@assets/less/overwriter.less';
- /deep/ .ant-table-thead > tr > th {
- text-align: center;
- // font-weight: 700;
- }
- /deep/ .ant-table-tbody {
- text-align: center;
- }
- // /deep/ th.replacecolor {
- // background-color: #ccc;
- // }
- // 抽屉里的card样式
- /deep/ .ant-drawer-content {
- background-color: #f0f2f5;
- }
- /deep/ .ant-drawer-body {
- padding: 10px;
- }
- /deep/.ant-table-row-cell-break-word >.ant-form-item{
- margin-bottom: 0px !important;
- }
- /deep/.ant-table-tbody .ant-table-row td{
- padding-top: 8px !important;
- padding-bottom: 8px !important;
- }
- </style>
|