Commit 40aa3ca7 authored by hiyon's avatar hiyon

销售订单修改

parent 64aaf36f
<template>
<el-form ref="form" class="sap-form" :label-width="labelWidth" size="mini">
<SapFormContext v-for="item in sapFieldList" v-model="sapForm[item.sapField]" :item="item" :key="item.id" :label-width="labelWidth"/>
<template v-for="item in sapFieldList">
<SapFormContext v-show="item.show" v-model="sapForm[item.sapField]" :item="item" :key="item.id" :label-width="labelWidth"/>
</template>
<div class="form-footer">
<el-button type="primary" @click="onConfirm">确认</el-button>
</div>
......@@ -65,7 +67,7 @@ export default {
sapForm[item.sapField][j] = this.initSapForm(item.children, subItemData)
}
} else {
sapForm[item.sapField] = itemData
sapForm[item.sapField] = itemData || item.defaultValue
}
}
return sapForm
......
......@@ -11,7 +11,7 @@
<!-- 对象 -->
<template v-if="item.dataType === 9">
<template v-for="child in item.children">
<sap-form-item :item="child" :label-width="labelWidth">
<sap-form-item v-show="child.show" :item="child" :label-width="labelWidth">
<el-input-all v-model="value[child.sapField]" :item="child"/>
</sap-form-item>
</template>
......@@ -22,13 +22,15 @@
<div style="width: 100%; overflow-x: auto">
<div>
<div class="item-head clearfix" style="width: max-content;">
<div v-for="child in item.children" :key="child.id + 'head'" class="item-label">{{ child.name }}</div>
<template v-for="child in item.children">
<div v-show="child.show" :key="child.id + 'head'" class="item-label">{{ child.name }}</div>
</template>
</div>
<template v-for="(sub, i) in value"><!-- ITEM -->
<div class="item-content" style="width: max-content;" :key="'sub' + '' + i">
<template v-for="(child, j) in item.children">
<div v-if="[1,2,3,4,5,6,7,8].some(dataType => dataType == child.dataType)" class="item-value" :key="child.id + j">
<sap-form-item :item="child" :label-width="labelWidth">
<div v-show="child.show" v-if="[1,2,3,4,5,6,7,8].some(dataType => dataType == child.dataType)" class="item-value" :key="child.id + j">
<sap-form-item :item="child" label-width="0px">
<el-input-all v-model="sub[child.sapField]" :item="child"/>
</sap-form-item>
</div>
......@@ -43,7 +45,7 @@
<!-- SIZE -->
<div v-for="leaf in sub[child.sapField]" class="item-child-content clearfix" style="width: max-content;">
<div v-for="(son, j) in child.children" class="item-value" :key="son.id + '' + j">
<sap-form-item :item="son" :label-width="labelWidth">
<sap-form-item :item="son" label-width="0px">
<el-input-all v-model="leaf[son.sapField]" :item="son"/>
</sap-form-item>
</div>
......@@ -121,8 +123,9 @@ export default {
}
.item-label, .item-value, .item-sub-label {
width: 150px;
height: 50px;
line-height: 28px;
float: left;
line-height: 50px;
overflow: hidden;
text-wrap: nowrap;
margin-left: 10px;
......
......@@ -8,305 +8,19 @@
</div>
</div>
<div class="page-body">
<el-form :model="sapInfo" ref="sapInfo" label-width="120px" size="mini">
<el-row :gutter="10">
<el-col :span="6">
<el-form-item label="销售凭证" prop="VBELN">
<el-input v-model="sapInfo.VBELN" placeholder="" clearable/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="销售凭证类型" prop="AUART" required>
<el-select v-model="sapInfo.AUART" clearable>
<el-option label="ZDO-国内标准订单" value="ZDO"/>
<el-option label="ZEO-出口标准订单" value="ZEO"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="销售组织" prop="VKORG" required>
<el-select v-model="sapInfo.VKORG" clearable>
<el-option label="1000-广州宝绅科技销售组织" value="1000"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="分销渠道" prop="VTWEG" required>
<el-select v-model="sapInfo.VTWEG" clearable>
<el-option label="10-内销" value="10"/>
<el-option label="20-外销" value="20"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="产品组" required prop="SPART">
<el-select v-model="sapInfo.SPART" clearable>
<el-option label="00-通用产品组" value="00"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="订单原因" prop="AUGRU">
<el-input v-model="sapInfo.AUGRU" placeholder="" clearable/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="销售办事处" prop="VKBUR">
<el-select v-model="sapInfo.VKBUR" clearable>
<el-option label="A10-业务一课" value="A10"/>
<el-option label="A20-业务二课" value="A20"/>
<el-option label="A90-外贸课" value="A90"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="销售组" prop="VKGRP">
<el-select v-model="sapInfo.VKGRP" clearable>
<template v-if="sapInfo.VKBUR == 'A10'">
<el-option label="A11-业务一课A组" value="A11"/>
<el-option label="A12-业务一课B组" value="A12"/>
</template>
<template v-if="sapInfo.VKBUR == 'A20'">
<el-option label="A21-业务二课A组" value="A21"/>
<el-option label="A22-业务二课B组" value="A22"/>
</template>
<template v-if="sapInfo.VKBUR == 'A90'">
<el-option label="A91-外贸A组" value="A91"/>
<el-option label="A92-外贸B组" value="A92"/>
</template>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="客户编号" prop="KUNNR" required>
<el-input v-model="sapInfo.KUNNR" placeholder="" clearable/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="客户参考" prop="BSTNK" required>
<el-input v-model="sapInfo.BSTNK" placeholder="" clearable/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="要求的交货日期" prop="VDATU">
<el-input v-model="sapInfo.VDATU" clearable/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="客户参考日期" prop="BSTDK">
<el-input v-model="sapInfo.BSTDK" clearable/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="国际贸易条款" prop="INCO1">
<el-select v-model="sapInfo.INCO1" placeholder="" clearable>
<el-option label="FOB-离岸价" value="FOB"/>
<el-option label="CIF-成本, 保险 & 运费" value="CIF"/>
<el-option label="EXW-工厂交货" value="EXW"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="国际贸易位置" prop="INCO2" :required="!!sapInfo.INCO2">
<el-input v-model="sapInfo.INCO2" placeholder="" clearable/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="付款条件代码" prop="ZTERM" required>
<el-select v-model="sapInfo.ZTERM" placeholder="" clearable>
<el-option value="Z009" label="月结15天"/>
<el-option value="Z010" label="月结30天"/>
<el-option value="Z011" label="月结45天"/>
<el-option value="Z012" label="月结60天"/>
<el-option value="Z013" label="月结90天"/>
<el-option value="Z014" label="月结20天"/>
<el-option value="Z015" label="月结75天"/>
<el-option value="Z016" label="月结50天"/>
<el-option value="Z018" label="月结35天"/>
<el-option value="Z019" label="月结55天"/>
<el-option value="Z020" label="月结25天"/>
<el-option value="Z021" label="月结68天"/>
<el-option value="Z022" label="月结105天"/>
<el-option value="Z023" label="月结120天"/>
<el-option value="Z024" label="月结180天"/>
<el-option value="Z025" label="次月20号前付款"/>
<el-option value="Z026" label="当月底结账"/>
<el-option value="Z027" label="款到发货"/>
<el-option value="Z028" label="隔月付现"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="记录创建日期" prop="ERDAT">
<el-input v-model="sapInfo.ERDAT" placeholder="" clearable/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="备注" prop="LTEXT">
<el-input v-model="sapInfo.LTEXT" placeholder="" clearable/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="跟单员" prop="ZKUNR">
<el-input v-model="sapInfo.ZKUNR" placeholder="" clearable/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="生产发货方式" prop="ZF14">
<el-select v-model="sapInfo.ZF14" placeholder="" clearable>
<el-option value="01" label="01款到发货"/>
<el-option value="02" label="02款到生产"/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="条码" prop="ZBARDE">
<el-input v-model="sapInfo.ZBARDE" placeholder="" clearable/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="申购号" prop="ZPONUM">
<el-input v-model="sapInfo.ZPONUM" placeholder="" clearable/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="款式" prop="ZSTYLE">
<el-input v-model="sapInfo.ZSTYLE" placeholder="" clearable/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="OSP订单号" prop="ZOSP">
<el-input v-model="sapInfo.ZOSP" placeholder="" clearable/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="交货冻结" prop="LIFSK">
<el-input v-model="sapInfo.LIFSK" placeholder="" clearable/>
</el-form-item>
</el-col>
<el-col :span="6">
<el-form-item label="开票冻结" prop="FAKSK">
<el-input v-model="sapInfo.FAKSK" placeholder="" clearable/>
</el-form-item>
</el-col>
<el-col :span="6" v-show="false">
<el-form-item label="更新标识" prop="UPDKZ" required>
<el-select v-model="sapInfo.UPDKZ" placeholder="" clearable>
<el-option value="I" label="新增"/>
<el-option value="U" label="修改"/>
</el-select>
</el-form-item>
</el-col>
</el-row>
</el-form>
<el-table :data="sapInfo.ITEM" max-height="800px" size="mini">
<el-table-column min-width="150" label="销售凭证项目" prop="POSNR"><template slot-scope="{row}"><el-input v-model=row.POSNR placeholder=""/></template></el-table-column>
<el-table-column min-width="150" label="* 物料编号" prop="MATNR"><template slot-scope="{row}"><el-input v-model=row.MATNR placeholder=""/></template></el-table-column>
<el-table-column min-width="150" label="* 工厂" prop="WERKS">
<template slot-scope="{row}">
<el-select v-model="row.WERKS" placeholder="">
<el-option label="1000-广州市宝绅科技印刷工厂" value="1000"/>
<el-option label="1010-广州市宝绅科技RFID工厂" value="1010"/>
</el-select>
</template>
</el-table-column>
<el-table-column min-width="150" label="总数量" title="以销售单位表示的累计订购数量" prop="KWMENG"><template slot-scope="{row}"><el-input type="number" v-model=row.KWMENG placeholder=""/></template></el-table-column>
<el-table-column min-width="150" label="客户物料编号" prop="KDMAT"><template slot-scope="{row}"><el-input v-model=row.KDMAT placeholder=""/></template></el-table-column>
<el-table-column min-width="150" label="客户物料名称" prop="ARKTX"><template slot-scope="{row}"><el-input v-model=row.ARKTX placeholder=""/></template></el-table-column>
<el-table-column min-width="150" label="折扣率(Z001的金额)" prop="NETPR"><template slot-scope="{row}"><el-input v-model=row.NETPR placeholder=""/></template></el-table-column>
<el-table-column min-width="150" label="* 装运点/收货点" prop="VSTEL"><template slot-scope="{row}">
<el-select v-model=row.VSTEL placeholder="">
<el-option label="1000-广州宝绅科技工厂装运点" value="1000"/>
</el-select>
</template></el-table-column>
<el-table-column min-width="150" label="存储地点" prop="LGORT"><template slot-scope="{row}">
<el-select v-model=row.LGORT placeholder="" clearable>
<el-option label="8001-成品一库" value="8001"/>
</el-select>
</template></el-table-column>
<el-table-column min-width="150" label="批次编号" prop="CHARG"><template slot-scope="{row}"><el-input v-model=row.CHARG placeholder=""/></template></el-table-column>
<el-table-column min-width="150" label="* 计划行日期" prop="EDATU"><template slot-scope="{row}">
<el-input v-model=row.EDATU placeholder=""/>
</template></el-table-column>
<el-table-column min-width="150" label="拒绝原因" prop="ABGRU"><template slot-scope="{row}">
<el-select v-model=row.ABGRU placeholder="">
<el-option value="Z1" label="Z1-订单已生产完成,客户取消订单,转为库存,申请完结"/>
<el-option value="Z2" label="Z2-订单已生产完成,客户取消订单,订单挪用完毕,申请完结"/>
<el-option value="Z3" label="Z3-客户取消或更新订单,生产开立领料单实际未生产,申请完结"/>
<el-option value="Z4" label="Z4-异常开错订单,申请完结"/>
<el-option value="Z5" label="Z5-现场找不到货,重新生产出货,申请完结"/>
</el-select>
</template></el-table-column>
<el-table-column min-width="150" label="工厂单价(PR01的金额)" prop="NETWR"><template slot-scope="{row}"><el-input v-model=row.NETWR placeholder=""/></template></el-table-column>
<el-table-column min-width="150" label="订单行折前总金额(Z002的定价值)" prop="KWERT"><template slot-scope="{row}"><el-input v-model=row.KWERT placeholder=""/></template></el-table-column>
<el-table-column min-width="150" label="定价单位" prop="KPEIN"><template slot-scope="{row}"><el-input v-model=row.KPEIN placeholder=""/></template></el-table-column>
<el-table-column min-width="150" label="货币" prop="KOEIN"><template slot-scope="{row}"><el-input v-model=row.KOEIN placeholder=""/></template></el-table-column>
<el-table-column min-width="150" label="尺码组" prop="ZSIZEGROUP"><template slot-scope="{row}"><el-input v-model=row.ZSIZEGROUP placeholder=""/></template></el-table-column>
<el-table-column min-width="150" label="尺码单位(客户)" prop="ZSIZEUNITC"><template slot-scope="{row}"><el-input v-model=row.ZSIZEUNITC placeholder=""/></template></el-table-column>
<el-table-column min-width="150" label="指令号" prop="ZINSTNUM"><template slot-scope="{row}"><el-input v-model=row.ZINSTNUM placeholder=""/></template></el-table-column>
<el-table-column min-width="150" label="型体号" prop="ZMOLD"><template slot-scope="{row}"><el-input v-model=row.ZMOLD placeholder=""/></template></el-table-column>
<el-table-column min-width="150" label="配色号" prop="ZMAPCOLOR"><template slot-scope="{row}"><el-input v-model=row.ZMAPCOLOR placeholder=""/></template></el-table-column>
<el-table-column min-width="150" label="颜色" prop="ZCLOLOR"><template slot-scope="{row}"><el-input v-model=row.ZCLOLOR placeholder=""/></template></el-table-column>
<el-table-column min-width="150" label="销线" prop="ZSALEAREA"><template slot-scope="{row}"><el-input v-model=row.ZSALEAREA placeholder=""/></template></el-table-column>
<el-table-column min-width="150" label="段别" prop="ZDUANBIE"><template slot-scope="{row}"><el-input v-model=row.ZDUANBIE placeholder=""/></template></el-table-column>
<el-table-column min-width="150" label="季度" prop="ZSEASON"><template slot-scope="{row}"><el-input v-model=row.ZSEASON placeholder=""/></template></el-table-column>
<el-table-column min-width="150" label="整/半码" prop="ZTOTALSIZE"><template slot-scope="{row}">
<el-select v-model=row.ZTOTALSIZE placeholder="">
<el-option value="01" label="01-整码"/>
<el-option value="02" label="02-整半码"/>
</el-select>
</template></el-table-column>
<el-table-column min-width="150" label="特殊SIZE" prop="ZSPECSIZE"><template slot-scope="{row}">
<el-select v-model=row.ZSPECSIZE placeholder="">
<el-option value="是" label="是"/>
<el-option value="否" label="否"/>
</el-select>
</template></el-table-column>
<el-table-column min-width="150" label="PO#" prop="ZCPONUM"><template slot-scope="{row}"><el-input v-model=row.ZCPONUM placeholder=""/></template></el-table-column>
<el-table-column min-width="150" label="WIP#" prop="ZWIPNUM"><template slot-scope="{row}"><el-input v-model=row.ZWIPNUM placeholder=""/></template></el-table-column>
<el-table-column min-width="150" label="装箱数" prop="ZBOXQUAN"><template slot-scope="{row}"><el-input v-model=row.ZBOXQUAN placeholder=""/></template></el-table-column>
<el-table-column min-width="150" label="产地" prop="ZORIGIN"><template slot-scope="{row}"><el-input v-model=row.ZORIGIN placeholder=""/></template></el-table-column>
<el-table-column min-width="150" label="周期" prop="ZCYCLE"><template slot-scope="{row}"><el-input v-model=row.ZCYCLE placeholder=""/></template></el-table-column>
<el-table-column min-width="150" label="SK编号" prop="ZSKCODE"><template slot-scope="{row}"><el-input v-model=row.ZSKCODE placeholder=""/></template></el-table-column>
<el-table-column min-width="150" label="专利号" prop="ZPATENTCODE"><template slot-scope="{row}"><el-input v-model=row.ZPATENTCODE placeholder=""/></template></el-table-column>
<el-table-column min-width="150" label="材质描述" prop="ZMATERIALDES"><template slot-scope="{row}"><el-input v-model=row.ZMATERIALDES placeholder=""/></template></el-table-column>
<el-table-column min-width="150" label="签收人" prop="ZSIGNPERSON"><template slot-scope="{row}"><el-input v-model=row.ZSIGNPERSON placeholder=""/></template></el-table-column>
<el-table-column min-width="150" label="SHIP TO ID" prop="ZSHIPID"><template slot-scope="{row}"><el-input v-model=row.ZSHIPID placeholder=""/></template></el-table-column>
<el-table-column min-width="150" label="产品规格" prop="ZPRODSPEC"><template slot-scope="{row}"><el-input v-model=row.ZPRODSPEC placeholder=""/></template></el-table-column>
<el-table-column min-width="150" label="产品用途" prop="ZPRODUSAGE"><template slot-scope="{row}">
<el-select v-model=row.ZPRODUSAGE placeholder="">
<el-option value="01" label="01-网布"/>
<el-option value="02" label="02-普通"/>
</el-select>
</template></el-table-column>
<el-table-column min-width="150" label="厚度(丝)" prop="ZTHICK"><template slot-scope="{row}">
<el-input v-model.number=row.ZTHICK max="10" min="1" placeholder=""/></template></el-table-column>
<el-table-column min-width="150" label="包装方式" prop="ZPACKINGMOT"><template slot-scope="{row}"><el-input v-model=row.ZPACKINGMOT placeholder=""/></template></el-table-column>
<el-table-column min-width="150" label="印刷方向" prop="ZPRINTDIRECT"><template slot-scope="{row}">
<el-select v-model=row.ZPRINTDIRECT placeholder="">
<el-option label="01-字体倒立" value="01"/>
</el-select>
</template></el-table-column>
<el-table-column min-width="150" label="工厂代号" prop="ZPLANTCODE"><template slot-scope="{row}"><el-input v-model=row.ZPLANTCODE placeholder=""/></template></el-table-column>
<el-table-column min-width="150" label="* 指令数(客户)汇总" prop="ZINCSUM"><template slot-scope="{row}"><el-input v-model=row.ZINCSUM placeholder=""/></template></el-table-column>
<el-table-column min-width="150" label="* LOSS数(客户)汇总" prop="ZLOSSUM"><template slot-scope="{row}"><el-input v-model=row.ZLOSSUM placeholder=""/></template></el-table-column>
<el-table-column min-width="150" label="* SIZE 序号" prop="SIZE.0.ZSIZE_NUM"><template slot-scope="{row}"><el-input v-model=row.SIZE[0].ZSIZE_NUM placeholder=""/></template></el-table-column>
<el-table-column min-width="150" label="* 尺码" prop="SIZE.0.ZSIZE"><template slot-scope="{row}"><el-input v-model=row.SIZE[0].ZSIZE placeholder=""/></template></el-table-column>
<el-table-column min-width="150" label="* 指令数(客户)" prop="SIZE.0.ZINSNUM"><template slot-scope="{row}"><el-input v-model=row.SIZE[0].ZINSNUM placeholder=""/></template></el-table-column>
<el-table-column min-width="150" label="LOSS数(客户)" prop="SIZE.0.ZLOSSC"><template slot-scope="{row}"><el-input v-model=row.SIZE[0].ZLOSSC placeholder=""/></template></el-table-column>
<el-table-column min-width="150" label="尺码备注" prop="SIZE.0.ZSIZECOM"><template slot-scope="{row}"><el-input v-model=row.SIZE[0].ZSIZECOM placeholder=""/></template>
</el-table-column>
</el-table>
<SapForm ref="sapForm"/>
</div>
</div>
</template>
<script>
import { getSapInfo, syncSapData } from '@/api/mes/od/salesOrder'
import { getOrder, getSapInfo, syncSapData } from '@/api/mes/od/salesOrder'
import SapForm from '@/views/mes/md/sapField/components/SapForm'
export default {
components: {
SapForm
},
data() {
return {
loading: false,
......@@ -357,6 +71,11 @@ export default {
this.sapInfo.id = id
console.log(this.sapInfo)
})
getOrder(id).then(res => {
this.$nextTick(() => this.$refs.sapForm.init(3, id, res.data))
this.sapInfo = res.data
})
}
},
},
......
......@@ -165,7 +165,7 @@
<el-col :span="6">
<el-form-item label="订单状态" prop="state">
<el-select v-model="form.state" class="form-item" clearable placeholder="请选择订单状态">
<el-option v-for="item in dict.type.sales_order_state" :key="item.value" :label="item.label" :value="item.value"/>
<el-option v-for="item in dict.type['sales_order_state']" :key="item.value" :label="item.label" :value="item.value"/>
</el-select>
</el-form-item>
</el-col>
......@@ -180,7 +180,7 @@
<div class="detail-body">
<el-tabs v-model="activeName" type="border-card" @tab-click="onTabClick">
<el-tabs v-model="activeName" type="border-card">
<el-tab-pane label="详情" name="detail">
<el-row :gutter="10" class="mb8">
<el-col :span="1.5">
......@@ -196,8 +196,7 @@
</el-col>
</el-row>
<div class="page-item">
<el-table :data="form.detailList" @selection-change="handleSelectionChange" max-height="600">
<el-table-column type="selection" width="55"/>
<el-table :data="form.detailList" max-height="600">
<el-table-column label="产品编码" prop="itemNo" show-overflow-tooltip/>
<el-table-column label="产品名称" prop="itemName" show-overflow-tooltip/>
<el-table-column label="总数量" prop="totalNum" show-overflow-tooltip/>
......@@ -224,7 +223,7 @@
<el-table-column label="季度" prop="quarter" show-overflow-tooltip/>
<el-table-column label="整/半码" prop="wholeSize" show-overflow-tooltip/>
<el-table-column label="特殊尺码" prop="specSize" show-overflow-tooltip/>
<el-table-column label="po号" prop="poNo" show-overflow-tooltip/>
<el-table-column label="po号" prop="poNo" show-overflow-tooltip/>
<el-table-column label="wip号" prop="wipNo" show-overflow-tooltip/>
<el-table-column label="装箱数" prop="packingNum" show-overflow-tooltip/>
<el-table-column label="周期" prop="cycle" show-overflow-tooltip/>
......@@ -244,25 +243,13 @@
<el-table-column label="备注" prop="remark" show-overflow-tooltip/>-->
<el-table-column label="状态" prop="state">
<template slot-scope="{row}">
{{ dict.type.sales_order_state.find(item => item.value == row.state).label }}
{{ dict.type['sales_order_state'].find(item => item.value == row.state).label }}
</template>
</el-table-column>
<el-table-column fixed="right" label="操作" width="100">
<el-table-column fixed="right" label="操作" width="85">
<template slot-scope="{row, $index}">
<el-button
v-hasPermi="['od:salesOrder:edit']"
size="mini"
type="text"
@click="onShowEditDetail(row, $index)"
>查看
</el-button>
<el-button
v-hasPermi="['od:salesOrder:edit']"
size="mini"
type="text"
@click="onShowSpecDetail(row, $index)"
>特性
</el-button>
<el-button v-hasPermi="['od:salesOrder:edit']" size="mini" type="text" @click="onShowEditDetail(row, $index)">编辑</el-button>
<el-button v-hasPermi="['od:salesOrder:edit']" size="mini" type="text" @click="onShowItemDetail(row, $index)">尺码</el-button>
</template>
</el-table-column>
</el-table>
......@@ -503,7 +490,7 @@
<el-col :span="8">
<el-form-item prop="" label="状态">
<el-select v-model="itemForm.state" class="form-item" clearable placeholder="请选择状态">
<el-option v-for="item in dict.type.sales_order_state" :key="item.value" :label="item.label" :value="item.value"/>
<el-option v-for="item in dict.type['sales_order_state']" :key="item.value" :label="item.label" :value="item.value"/>
</el-select>
</el-form-item>
</el-col>
......@@ -515,19 +502,53 @@
</div>
</el-dialog>
<el-dialog :visible.sync="showItemDetail" title="产品尺码详情" width="650px">
<el-table :data="itemDetailForm.itemList" max-height="600">
<el-table-column label="尺码" prop="size">
<template slot-scope="{row}">
<el-input v-model="row.size" clearable/>
</template>
</el-table-column>
<el-table-column label="数量" prop="num">
<template slot-scope="{row}">
<el-input v-model="row.num" clearable/>
</template>
</el-table-column>
<el-table-column label="loss数" prop="lossNum">
<template slot-scope="{row}">
<el-input v-model="row.lossNum" clearable/>
</template>
</el-table-column>
<el-table-column label="备注" prop="remark">
<template slot-scope="{row}">
<el-input v-model="row.remark" clearable/>
</template>
</el-table-column>
<el-table-column label="操作" prop="specJson" width="60">
<template slot-scope="{row, $index}">
<el-button v-hasPermi="['od:salesOrder:edit']" size="mini" type="text" @click="onShowSpecDetail(row, $index)">特性</el-button>
</template>
</el-table-column>
</el-table>
<div slot="footer">
<el-button @click="showItemDetail = false">取消</el-button>
<el-button type="primary" @click="onEditItem">确认</el-button>
</div>
</el-dialog>
<el-dialog :visible.sync="showSpecDetail" title="产品特性详情" width="650px">
<el-form :model="specForm" label-width="100px">
<el-row>
<el-col v-for="item in specForm.specList" :key="item.id" :span="12">
<el-form-item :label="item.specKey">
<el-input v-model="item.specVal"/>
<el-col v-for="item in specForm.specList" :key="item['specKey']" :span="12">
<el-form-item :label="item['specKey']">
<el-input v-model="item['specVal']"/>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer">
<el-button @click="showSpecDetail = false">取消</el-button>
<el-button @click="onEditSpec">确认</el-button>
<el-button type="primary" @click="onEditSpec">确认</el-button>
</div>
</el-dialog>
......@@ -536,7 +557,7 @@
</template>
<script>
import { addOrder, getOrder, getSapInfo, syncSapData, updateOrder } from '@/api/mes/od/salesOrder'
import { addOrder, getOrder, updateOrder } from '@/api/mes/od/salesOrder'
import { getSalesOrder } from '@/api/mes/od/purchaseOrder'
import { listUser } from '@/api/system/user'
import { listClient } from '@/api/mes/md/client'
......@@ -551,14 +572,13 @@ export default {
computed: {
totalAmount() {
return this.form.detailList.reduce((amount = 0, item) => {
amount += +item.price
amount += (item.price * item.totalNum)
return amount
}, 0) || 0
}
},
},
data() {
return {
sapInfo: {},
form: {
id: null,
purchaseNo: null,
......@@ -640,6 +660,9 @@ export default {
state: null,
specList: []
},
itemDetailForm: {
itemList: []
},
specForm: {
specList: []
},
......@@ -658,14 +681,13 @@ export default {
amount: { required: true, message: '请输入产品金额', trigger: ['blur'] },
state: { required: true, message: '请选择产品状态', trigger: ['change'] }
},
ids: {},
clientList: [],
userList: [],
showSpecDetail: false,
showItemDetail: false,
showEditDetail: false,
activeName: 'detail',
loading: false,
multiple: false,
saleChannel: [],
saleGroup: [],
......@@ -702,18 +724,41 @@ export default {
}
})
},
onItemSelect(row) {
if (row != undefined) {
this.itemForm.itemId = row.itemId;
this.itemForm.itemNo = row.itemCode;
this.itemForm.itemName = row.itemName;
checkedItem() {
let {detailList} = this.form
for (let i = 0; i < detailList.length; i++) {
let detail = detailList[i]
if (!detail.itemId) return '第' + i + '项缺少itemId'
// todo 检测未做
}
return null
},
onEditSpec() {
this.showSpecDetail = false
this.form.detailList.splice(this.specForm.index, 1, this.specForm)
console.log(this.specForm)
this.itemDetailForm.itemList[this.specForm.index]['specJson'] = JSON.stringify(this.specForm.specList)
},
onShowSpecDetail(row, index) {
this.specForm.specList = JSON.parse(row['specJson']) || []
this.specForm.index = index
if (this.specForm.specList.length) {
this.showSpecDetail = true
} else {
this.$message.error("暂无数据")
}
},
onEditItem() {
this.showItemDetail = false
this.form.detailList[this.itemDetailForm.index].itemList = this.itemDetailForm.itemList
},
onShowItemDetail(row, index) {
console.log(row)
this.showItemDetail = true
this.itemDetailForm.itemList = row.itemList
this.itemDetailForm.index = index
},
onEditDetail() {
this.showEditDetail = false
......@@ -724,23 +769,6 @@ export default {
}
})
},
checkedItem() {
let {detailList} = this.form
for (let i = 0; i < detailList.length; i++) {
let detail = detailList[i]
if (!detail.itemId) return '第' + i + '项缺少itemId'
// todo 检测未做
}
return null
},
onShowSpecDetail(row, index) {
console.log(row)
this.showSpecDetail = true
this.specForm = row
this.specForm.index = index
},
onShowEditDetail(item, $index) {
console.log(item)
this.showEditDetail = true
......@@ -749,28 +777,14 @@ export default {
this.itemForm.index = $index
},
onDeleteDetail(row) {
let { form } = this
this.$modal.confirm('是否确认删除?').then(() => {
let ids = row.itemId || this.ids
ids = (ids instanceof Array) ? ids : [ids]
for (let id of ids) {
let index = form.detailList.findIndex(item => item.itemId == id)
if (index != -1) {
form.detailList.splice(index, 1)
}
}
})
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.id)
this.single = selection.length !== 1
this.multiple = !selection.length
},
onSyncSapData() {
syncSapData(this.sapInfo).then(res => res)
onItemSelect(row) {
if (row != undefined) {
this.itemForm.itemId = row.itemId;
this.itemForm.itemNo = row.itemCode;
this.itemForm.itemName = row.itemName;
}
},
onGenCode() {
genCode('SALES_ORDER').then(response => {
this.form.orderNo = response
......@@ -789,11 +803,6 @@ export default {
getUserList(key) {
listUser({ nickName: key, pageNum: 1, pageSize: 100 }).then(res => this.userList = res.rows)
},
onTabClick() {
if (this.activeName == 'SapPropertyData') getSapInfo(this.form.id).then(res => {
this.sapInfo = JSON.parse(res.data)
})
},
getDetail() {
let { id: orderId, purchaseId } = this.$route.query
if (orderId) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment