@ -1,16 +1,16 @@
< template >
< template >
<!-- 公共详情 -- >
<!-- 公共详情 -- >
< el -card class = "hl-card" >
< el -card class = "hl-card" style = "position: relative" >
< template # header >
< template # header >
< span > < span v-html ="dialogTitle" > < / span > 页 < / span >
< span > < span v-html ="dialogTitle" > < / span > 页 < / span >
< / template >
< / template >
< el-form
< div class = "abstatus" >
ref = "formRef"
< div v-if ="formData.deliverStatus == 2" >
: model = "formData"
< img src = "/src/assets/imgs/status/deliver.png" alt = "" / >
: rules = "formRules"
< / div >
label - width = "140px"
v - loading = "formLoading"
< / div >
>
< el -form ref ="formRef" :model ="formData" :rules ="formRules" label -width = " 140px " v-loading ="formLoading" >
<!-- 基础信息 横向布局 -- >
<!-- 基础信息 横向布局 -- >
< el -card class = "hl-card-info" >
< el -card class = "hl-card-info" >
< template # header >
< template # header >
@ -19,47 +19,41 @@
< el -row >
< el -row >
< el -col :span ="6" >
< el -col :span ="6" >
< el -form -item label = "发货单号" prop = "code" >
< el -form -item label = "发货单号" prop = "code" >
< el -input disabled v -model = " formData.code " placeholder = "系统自动生成" / >
< el -input disabled v -model = " formData.code " placeholder = "系统自动生成" class = "!w-250px" / >
< / e l - f o r m - i t e m >
< / e l - f o r m - i t e m >
< / e l - c o l >
< / e l - c o l >
< el -col :span ="6" >
< el -col :span ="6" >
< el -form -item label = "项目编号" prop = "saleOrderIds" >
< el -form -item label = "项目编号" prop = "saleOrderIds" >
< el -input disabled v -model = " formData.saleOrderCode " placeholder = "请输入项目编号" >
< el -input disabled v-model ="formData.saleOrderCode" placeholder="请输入项目编号" class="!w-250px" >
< template # append > < el -button : disabled = " query. active != 'create'" @click ="openProjectOrderDialog" :icon ="Search" / > < / template >
< template # append > < el -button : disabled = " active != 'create'" @click ="openProjectOrderDialog" :icon ="Search" / > < / template >
< / e l - i n p u t >
< / e l - i n p u t >
< / e l - f o r m - i t e m >
< / e l - f o r m - i t e m >
< / e l - c o l >
< / e l - c o l >
< el -col :span ="6" >
< el -col :span ="6" >
< el -form -item prop = "contractNo" label = "合同号" >
< el -form -item prop = "contractNo" label = "合同号" >
< el -input v -model = " formData.contractNo " disabled / >
< el -input v -model = " formData.contractNo " disabled class = "!w-250px" / >
< / e l - f o r m - i t e m >
< / e l - f o r m - i t e m >
< / e l - c o l >
< / e l - c o l >
< el -col :span ="6" >
< el -col :span ="6" >
< el -form -item prop = "property" label = "性质" >
< el -form -item prop = "property" label = "性质" >
< el -input v -model = " formData.property " disabled / >
< el -input v -model = " formData.property " disabled class = "!w-250px" / >
< / e l - f o r m - i t e m >
< / e l - f o r m - i t e m >
< / e l - c o l >
< / e l - c o l >
< / e l - r o w >
< / e l - r o w >
< el -row >
< el -row >
< el -col :span ="6" >
< el -col :span ="6" >
< el -form -item label = "发货日期" prop = "deliverDate" >
< el -form -item label = "发货日期" prop = "deliverDate" >
< el -date -picker
< el -date -picker :disabled ="detailDisabled" v -model = " formData.deliverDate " type = "date" value -format = " x " placeholder = "选择发货日期" class = "!w-250px" / >
: disabled = "detailDisabled"
v - model = "formData.deliverDate"
type = "date"
value - format = "x"
placeholder = "选择发货日期"
/ >
< / e l - f o r m - i t e m >
< / e l - f o r m - i t e m >
< / e l - c o l >
< / e l - c o l >
< el -col :span ="6" >
< el -col :span ="6" >
< el -form -item prop = "customerId" label = "客户名称" >
< el -form -item prop = "customerId" label = "客户名称" >
< el -input v -model = " formData.customerName " disabled / >
< el -input v -model = " formData.customerName " disabled class = "!w-250px" / >
< / e l - f o r m - i t e m >
< / e l - f o r m - i t e m >
< / e l - c o l >
< / e l - c o l >
< el -col :span ="6" >
< el -col :span ="6" >
< el -form -item prop = " mouldName" label = "模具 名称">
< el -form -item prop = " projectName" label = "项目 名称">
< el -input disabled v -model = " formData. mouldName" / >
< el -input disabled v -model = " formData. projectName" class = "!w-250px" / >
< / e l - f o r m - i t e m >
< / e l - f o r m - i t e m >
< / e l - c o l >
< / e l - c o l >
< el -col :span ="6" >
< el -col :span ="6" >
@ -71,13 +65,7 @@
< el -row >
< el -row >
< el -col :span ="12" >
< el -col :span ="12" >
< el -form -item label = "发货备注" prop = "remark" >
< el -form -item label = "发货备注" prop = "remark" >
< el -input
< el -input :disabled ="detailDisabled" type = "textarea" v -model = " formData.remark " show -word -limit maxlength = "200" / >
: disabled = "detailDisabled"
type = "textarea"
v - model = "formData.remark"
show - word - limit
maxlength = "200"
/ >
< / e l - f o r m - i t e m >
< / e l - f o r m - i t e m >
< / e l - c o l >
< / e l - c o l >
< / e l - r o w >
< / e l - r o w >
@ -89,78 +77,50 @@
< el -row >
< el -row >
< el -col :span ="6" >
< el -col :span ="6" >
< el -form -item label = "发货人姓名" prop = "deliverPerson" >
< el -form -item label = "发货人姓名" prop = "deliverPerson" >
< UserSelect :disabled ="detailDisabled" v -model = " formData.deliverPerson " @update:newValue ="handleSelectedUser" / >
< UserSelect :disabled ="detailDisabled" v -model = " formData.deliverPerson " @update:newValue ="handleSelectedUser" class = "!w-250px" / >
< / e l - f o r m - i t e m >
< / e l - f o r m - i t e m >
< / e l - c o l >
< / e l - c o l >
< el -col :span ="6" >
< el -col :span ="6" >
< el -form -item label = "发货人电话" prop = "deliverPersonMobile" >
< el -form -item label = "发货人电话" prop = "deliverPersonMobile" >
< el -input :disabled ="detailDisabled" v -model = " formData.deliverPersonMobile " / >
< el -input :disabled ="detailDisabled" v -model = " formData.deliverPersonMobile " class = "!w-250px" / >
< / e l - f o r m - i t e m >
< / e l - f o r m - i t e m >
< / e l - c o l >
< / e l - c o l >
< el -col :span ="6" >
< el -col :span ="6" >
< el -form -item label = "发货方式" prop = "deliverMode" >
< el -form -item label = "发货方式" prop = "deliverMode" >
< el -select :disabled ="detailDisabled" v-model ="formData.deliverMode" placeholder="请选择发货方式" >
< el -select :disabled ="detailDisabled" v-model ="formData.deliverMode" placeholder="请选择发货方式" class="!w-250px" >
< el -option
< el -option v -for = " dict in getStrDictOptions ( DICT_TYPE.HELI_DELIVER_MODE ) " :key ="dict.value" :label ="dict.label" :value ="dict.value" / >
v - for = "dict in getStrDictOptions(DICT_TYPE.HELI_DELIVER_MODE)"
: key = "dict.value"
: label = "dict.label"
: value = "dict.value"
/ >
< / e l - s e l e c t >
< / e l - s e l e c t >
< / e l - f o r m - i t e m >
< / e l - f o r m - i t e m >
< / e l - c o l >
< / e l - c o l >
< el -col :span ="6" >
< el -col :span ="6" >
< el -form -item label = "发货单位" prop = "deliverCompany" >
< el -form -item label = "发货单位" prop = "deliverCompany" >
< el -input v -model = " formData.deliverCompany " disabled / >
< el -input v -model = " formData.deliverCompany " disabled class = "!w-250px" / >
< / e l - f o r m - i t e m >
< / e l - f o r m - i t e m >
< / e l - c o l >
< / e l - c o l >
< / e l - r o w >
< / e l - r o w >
< / e l - c a r d >
< / e l - c a r d >
< el -card class = "hl-card-info" v-if =" formTyp e != 'create'">
< el -card class = "hl-card-info" v-if =" activ e != 'create'">
< template # header >
< template # header >
< div class = "hl-card-info-icona" > < / div > < span class = "hl-card-info-text" > 收货信息 < / span >
< div class = "hl-card-info-icona" > < / div > < span class = "hl-card-info-text" > 收货信息 < / span >
< / template >
< / template >
< el -row >
< el -row >
< el -col :span ="6" >
< el -col :span ="6" >
< el -form -item label = "收货人姓名" prop = "receivePersonName" >
< el -form -item label = "收货人姓名" prop = "receivePersonName" >
< el -select :disabled ="detailDisabled" v -model = " formData.receivePersonName "
< el -select :disabled ="detailDisabled" v-model ="formData.receivePersonName" filterable allow-create clearable @change="receiveOnChange" @blur="e => { if(e.target.value) formData.receivePersonName = e.target.value;}" >
filterable
< el -option v -for = " dict in receivePersonOptions " :key ="dict.name" :label ="dict.name" :value ="dict.name" / >
allow - create
clearable
@ change = "receiveOnChange"
@ blur = "e => { if(e.target.value) formData.receivePersonName = e.target.value;}"
>
< el -option
v - for = "dict in receivePersonOptions"
: key = "dict.name"
: label = "dict.name"
: value = "dict.name"
/ >
< / e l - s e l e c t >
< / e l - s e l e c t >
< / e l - f o r m - i t e m >
< / e l - f o r m - i t e m >
< / e l - c o l >
< / e l - c o l >
< el -col :span ="6" >
< el -col :span ="6" >
< el -form -item label = "收货人电话" prop = "receivePersonMobile" >
< el -form -item label = "收货人电话" prop = "receivePersonMobile" >
< el -input :disabled ="detailDisabled" v -model = " formData.receivePersonMobile " / >
< el -input :disabled ="detailDisabled" v -model = " formData.receivePersonMobile " class = "!w-250px" / >
< / e l - f o r m - i t e m >
< / e l - f o r m - i t e m >
< / e l - c o l >
< / e l - c o l >
< el -col :span ="12" >
< el -col :span ="12" >
< el -form -item label = "收货详细地址" prop = "receiveAddress" >
< el -form -item label = "收货详细地址" prop = "receiveAddress" >
< el -select v -model = " formData.receiveAddress "
< el -select v-model ="formData.receiveAddress" filterable allow-create :disabled="detailDisabled" @blur="e => { if(e.target.value) formData.receiveAddress = e.target.value;}" clearable style="width: 100%;margin-right: 1.5%" >
filterable
< el -option v -for = " dict in receivePersonAddressOptions " :key ="dict.address" :label ="dict.address" :value ="dict.address" / >
allow - create
: disabled = "detailDisabled"
@ blur = "e => { if(e.target.value) formData.receiveAddress = e.target.value;}"
clearable
style = "width: 100%"
>
< el -option
v - for = "dict in receivePersonAddressOptions"
: key = "dict.address"
: label = "dict.address"
: value = "dict.address"
/ >
< / e l - s e l e c t >
< / e l - s e l e c t >
< / e l - f o r m - i t e m >
< / e l - f o r m - i t e m >
< / e l - c o l >
< / e l - c o l >
@ -174,52 +134,43 @@
< el -row >
< el -row >
< el -col :span ="6" >
< el -col :span ="6" >
< el -form -item label = "司机姓名" prop = "transportDriverName" >
< el -form -item label = "司机姓名" prop = "transportDriverName" >
< el -input :disabled ="detailDisabled" v -model = " formData.transportDriverName " / >
< el -input :disabled ="detailDisabled" v -model = " formData.transportDriverName " class = "!w-250px" / >
< / e l - f o r m - i t e m >
< / e l - f o r m - i t e m >
< / e l - c o l >
< / e l - c o l >
< el -col :span ="6" >
< el -col :span ="6" >
< el -form -item label = "司机电话" prop = "transportDriverMobile" >
< el -form -item label = "司机电话" prop = "transportDriverMobile" >
< el -input :disabled ="detailDisabled" v -model = " formData.transportDriverMobile " / >
< el -input :disabled ="detailDisabled" v -model = " formData.transportDriverMobile " class = "!w-250px" / >
< / e l - f o r m - i t e m >
< / e l - f o r m - i t e m >
< / e l - c o l >
< / e l - c o l >
< el -col :span ="6" >
< el -col :span ="6" >
< el -form -item label = "车牌号" prop = "transportBusNumber" >
< el -form -item label = "车牌号" prop = "transportBusNumber" >
< el -input :disabled ="detailDisabled" v -model = " formData.transportBusNumber " / >
< el -input :disabled ="detailDisabled" v -model = " formData.transportBusNumber " class = "!w-250px" / >
< / e l - f o r m - i t e m >
< / e l - f o r m - i t e m >
< / e l - c o l >
< / e l - c o l >
< / e l - r o w >
< / e l - r o w >
< el -row >
< el -row >
< el -col :span ="6" >
< el -col :span ="6" >
< el -form -item label = "重量(T)" prop = "transportWeight" >
< el -form -item label = "重量(T)" prop = "transportWeight" >
< el -input :disabled ="detailDisabled" v -model = " formData.transportWeight " / >
< el -input :disabled ="detailDisabled" v -model = " formData.transportWeight " class = "!w-250px" / >
< / e l - f o r m - i t e m >
< / e l - f o r m - i t e m >
< / e l - c o l >
< / e l - c o l >
< el -col :span ="6" >
< el -col :span ="6" >
< el -form -item label = "位置(米)" prop = "transportSize" >
< el -form -item label = "位置(米)" prop = "transportSize" >
< el -input :disabled ="detailDisabled" v -model = " formData.transportSize " / >
< el -input :disabled ="detailDisabled" v -model = " formData.transportSize " class = "!w-250px" / >
< / e l - f o r m - i t e m >
< / e l - f o r m - i t e m >
< / e l - c o l >
< / e l - c o l >
< / e l - r o w >
< / e l - r o w >
< / e l - c a r d >
< / e l - c a r d >
< el -card class = "hl-card-info" v-if =" formTyp e != 'create'">
< el -card class = "hl-card-info" v-if =" activ e != 'create'">
< template # header >
< template # header >
< div class = "hl-card-info-icona" > < / div > < span class = "hl-card-info-text" > 发货清单 < / span >
< div class = "hl-card-info-icona" > < / div > < span class = "hl-card-info-text" > 发货清单 < / span >
< / template >
< / template >
< el -row >
< el -row >
< el -col >
< el -col >
< el -card class = "hl-incard" >
< el -card class = "hl-incard" >
< el -form
< el -form ref = "subFormRef" :model ="formData.deliverOrderSubs" :rules ="subFormRules" v-loading ="subFormLoading" label-width="0" >
ref = "subFormRef"
< el -table :data ="formData.deliverOrderSubs" class = "hl-table" >
: model = "formData.deliverOrderSubs"
: rules = "subFormRules"
v - loading = "subFormLoading"
label - width = "0"
>
< el -table
: data = "formData.deliverOrderSubs"
class = "hl-table"
>
< el -table -column label = "序号" type = "index" width = "100" / >
< el -table -column label = "序号" type = "index" width = "100" / >
< el -table -column min -width = " 150 " align = "center" >
< el -table -column min -width = " 150 " align = "center" >
< template # header > < span class = "hl-table_header" > * < / span > 子项目名称 < / template >
< template # header > < span class = "hl-table_header" > * < / span > 子项目名称 < / template >
@ -232,7 +183,7 @@
{ { scope . row . saleOrderCode } }
{ { scope . row . saleOrderCode } }
< / template >
< / template >
< / e l - t a b l e - c o l u m n >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "子项目图号" min -width = " 150 ">
< el -table -column label = "子项目图号" min -width = " 200" align = "center ">
< template # default = "{ row, $index }" >
< template # default = "{ row, $index }" >
< el -form -item :prop ="`${$index}.blueprintNo`" :rules ="subFormRules.blueprintNo" class = "mb-0px!" >
< el -form -item :prop ="`${$index}.blueprintNo`" :rules ="subFormRules.blueprintNo" class = "mb-0px!" >
< el -input :disabled ="detailDisabled" v -model = " row.blueprintNo " placeholder = "请输入子项目图号" / >
< el -input :disabled ="detailDisabled" v -model = " row.blueprintNo " placeholder = "请输入子项目图号" / >
@ -243,54 +194,41 @@
< template # header > < span class = "hl-table_header" > * < / span > 本次发货数量 < / template >
< template # header > < span class = "hl-table_header" > * < / span > 本次发货数量 < / template >
< template # default = "{ row, $index }" >
< template # default = "{ row, $index }" >
< el -form -item :prop ="`${$index}.amount`" :rules ="subFormRules.amount" class = "mb-0px!" >
< el -form -item :prop ="`${$index}.amount`" :rules ="subFormRules.amount" class = "mb-0px!" >
< el -input -number
< el -input -number :disabled ="detailDisabled" v -model = " row.amount " placeholder = "请输入本次发货数量" style = "width: 100%" :min ="1" :precision ="0" / >
: disabled = "detailDisabled"
v - model = "row.amount"
placeholder = "请输入本次发货数量"
style = "width: 100%"
: min = "1"
: precision = "0"
/ >
< / e l - f o r m - i t e m >
< / e l - f o r m - i t e m >
< / template >
< / template >
< / e l - t a b l e - c o l u m n >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "单位" width = "80" >
< el -table -column label = "单位" width = "80" >
< template # default = "{ row, $index }" >
< template # default = "{ row, $index }" >
< el -form -item :prop ="`${$index}.unit`" :rules ="subFormRules.unit" class = "mb-0px! ">
< el -form -item :prop ="`${$index}.unit`" :rules ="subFormRules.unit" class = "mb-0px! ml-10px" >
{ { getDictLabel ( DICT _TYPE . HELI _MATERIAL _UNIT , row . unit ) } }
{ { getDictLabel ( DICT _TYPE . HELI _MATERIAL _UNIT , row . unit ) } }
< / e l - f o r m - i t e m >
< / e l - f o r m - i t e m >
< / template >
< / template >
< / e l - t a b l e - c o l u m n >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "重量(T)" min -width = " 150 " >
< el -table -column label = "重量(T)" min -width = " 150 " align = "center" >
< template # default = "{ row, $index }" >
< template # default = "{ row, $index }" >
< el -form -item :prop ="`${$index}.weight`" class = "mb-0px!" >
< el -form -item :prop ="`${$index}.weight`" class = "mb-0px!" >
< el -input :disabled ="detailDisabled" v -model = " row.weight " placeholder = "请输入重量(T)" / >
< el -input :disabled ="detailDisabled" v -model = " row.weight " placeholder = "请输入重量(T)" / >
< / e l - f o r m - i t e m >
< / e l - f o r m - i t e m >
< / template >
< / template >
< / e l - t a b l e - c o l u m n >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "尺寸(米)" min -width = " 150 " >
< el -table -column label = "尺寸(米)" min -width = " 150 " align = "center" >
< template # default = "{ row, $index }" >
< template # default = "{ row, $index }" >
< el -form -item :prop ="`${$index}.size`" class = "mb-0px!" >
< el -form -item :prop ="`${$index}.size`" class = "mb-0px!" >
< el -input :disabled ="detailDisabled" v -model = " row.size " placeholder = "请输入尺寸(米)" / >
< el -input :disabled ="detailDisabled" v -model = " row.size " placeholder = "请输入尺寸(米)" / >
< / e l - f o r m - i t e m >
< / e l - f o r m - i t e m >
< / template >
< / template >
< / e l - t a b l e - c o l u m n >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "备注" min -width = " 180 " >
< el -table -column label = "备注" min -width = " 180 " align = "center" >
< template # default = "{ row, $index }" >
< template # default = "{ row, $index }" >
< el -form -item :prop ="`${$index}.remark`" class = "mb-0px!" >
< el -form -item :prop ="`${$index}.remark`" class = "mb-0px!" >
< el -input :disabled ="detailDisabled" v -model = " row.remark " placeholder = "请输入备注" / >
< el -input :disabled ="detailDisabled" v -model = " row.remark " placeholder = "请输入备注" / >
< / e l - f o r m - i t e m >
< / e l - f o r m - i t e m >
< / template >
< / template >
< / e l - t a b l e - c o l u m n >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "操作" align = "center" width= "100 ">
< el -table -column label = "操作" align = "center" min-width = " 100 ">
< template # default = "scope" >
< template # default = "scope" >
< el -button
< el -button v-if ="'update,create,deliver'.indexOf(active) > -1" link type="danger" size="small" @click.prevent="onDeleteItem(scope.$index)" >
v - if = "'update,create'.indexOf(query.active) > -1"
link
type = "danger"
size = "small"
@ click . prevent = "onDeleteItem(scope.$index)"
>
删除
删除
< / e l - b u t t o n >
< / e l - b u t t o n >
< / template >
< / template >
@ -302,29 +240,18 @@
< / e l - r o w >
< / e l - r o w >
< / e l - c a r d >
< / e l - c a r d >
< el -card class = "hl-card-info" v-if =" formTyp e != 'create'">
< el -card class = "hl-card-info" v-if =" activ e != 'create'">
< template # header >
< template # header >
< div class = "hl-card-info-icona" > < / div > < span class = "hl-card-info-text" > 其他物料清单 < / span >
< div class = "hl-card-info-icona" > < / div > < span class = "hl-card-info-text" > 其他物料清单 < / span >
< / template >
< / template >
< el -row >
< el -row >
< el -col v-if ="formType != 'detail'" >
< el -col v-if ="active != 'detail'" >
< el -button class = "hl-addbutton" type = "primary" size = "large" @click ="onAddItem2"
< el -button class = "hl-addbutton" type = "primary" size = "large" @click ="onAddItem2" > 新 增 < / el -button >
> 新增 < / e l - b u t t o n
>
< / e l - c o l >
< / e l - c o l >
< el -col >
< el -col >
< el -card class = "hl-incard" >
< el -card class = "hl-incard" >
< el -form
< el -form ref = "otherSubFormRef" :model ="formData.deliverOrderOtherSubs" :rules ="subFormRules" v-loading ="subFormLoading" label-width="0" >
ref = "otherSubFormRef"
< el -table :data ="formData.deliverOrderOtherSubs" class = "hl-table" >
: model = "formData.deliverOrderOtherSubs"
: rules = "subFormRules"
v - loading = "subFormLoading"
label - width = "0"
>
< el -table
: data = "formData.deliverOrderOtherSubs"
class = "hl-table"
>
< el -table -column label = "序号" type = "index" width = "100" / >
< el -table -column label = "序号" type = "index" width = "100" / >
< el -table -column min -width = " 150 " align = "center" >
< el -table -column min -width = " 150 " align = "center" >
< template # header > < span class = "hl-table_header" > * < / span > 名称 < / template >
< template # header > < span class = "hl-table_header" > * < / span > 名称 < / template >
@ -334,50 +261,35 @@
< / e l - f o r m - i t e m >
< / e l - f o r m - i t e m >
< / template >
< / template >
< / e l - t a b l e - c o l u m n >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "所属类型" min -width = " 150 " >
< el -table -column label = "所属类型" min -width = " 150 " align = "center" >
< template # header > < span class = "hl-table_header" > * < / span > 所属类型 < / template >
< template # default = "{ row, $index }" >
< template # default = "{ row, $index }" >
< el -form -item :prop ="`${$index}.subType`" :rules ="subFormRules.subType" class = "mb-0px!" >
< el -form -item :prop ="`${$index}.subType`" :rules ="subFormRules.subType" class = "mb-0px!" >
< el -select :disabled ="detailDisabled" v-model ="row.subType" placeholder="请选择子项类型" >
< el -select :disabled ="detailDisabled" v-model ="row.subType" placeholder="请选择子项类型" >
< el -option
< el -option v -for = " dict in getStrDictOptions ( DICT_TYPE.HELI_DELIVER_MATERIAL_TYPE ) " :key ="dict.value" :label ="dict.label" :value ="dict.value" / >
v - for = "dict in getStrDictOptions(DICT_TYPE.HELI_DELIVER_MATERIAL_TYPE)"
: key = "dict.value"
: label = "dict.label"
: value = "dict.value"
/ >
< / e l - s e l e c t >
< / e l - s e l e c t >
< / e l - f o r m - i t e m >
< / e l - f o r m - i t e m >
< / template >
< / template >
< / e l - t a b l e - c o l u m n >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "本次发货数量" min -width = " 150 " >
< el -table -column label = "本次发货数量" min -width = " 150 " align = "center" >
< template # header > < span class = "hl-table_header" > * < / span > 本次发货数量 < / template >
< template # header > < span class = "hl-table_header" > * < / span > 本次发货数量 < / template >
< template # default = "{ row, $index }" >
< template # default = "{ row, $index }" >
< el -form -item :prop ="`${$index}.amount`" :rules ="subFormRules.amount" class = "mb-0px!" >
< el -form -item :prop ="`${$index}.amount`" :rules ="subFormRules.amount" class = "mb-0px!" >
< el -input -number
< el -input -number :disabled ="detailDisabled" v -model = " row.amount " placeholder = "请输入本次发货数量" style = "width: 100%" :min ="1" :precision ="0" / >
: disabled = "detailDisabled"
v - model = "row.amount"
placeholder = "请输入本次发货数量"
style = "width: 100%"
: min = "1"
: precision = "0"
/ >
< / e l - f o r m - i t e m >
< / e l - f o r m - i t e m >
< / template >
< / template >
< / e l - t a b l e - c o l u m n >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "单位" min -width = " 150 " >
< el -table -column label = "单位" min -width = " 150 " align = "center" >
< template # header > < span class = "hl-table_header" > * < / span > 单位 < / template >
< template # default = "{ row, $index }" >
< template # default = "{ row, $index }" >
< el -form -item :prop ="`${$index}.unit`" :rules ="subFormRules.unit" class = "mb-0px!" >
< el -form -item :prop ="`${$index}.unit`" :rules ="subFormRules.unit" class = "mb-0px!" >
< el -select :disabled ="detailDisabled" v-model ="row.unit" placeholder="请选择单位" >
< el -select :disabled ="detailDisabled" v-model ="row.unit" placeholder="请选择单位" >
< el -option
< el -option v -for = " dict in getStrDictOptions ( DICT_TYPE.HELI_MATERIAL_UNIT ) " :key ="dict.value" :label ="dict.label" :value ="dict.value" / >
v - for = "dict in getStrDictOptions(DICT_TYPE.HELI_MATERIAL_UNIT)"
: key = "dict.value"
: label = "dict.label"
: value = "dict.value"
/ >
< / e l - s e l e c t >
< / e l - s e l e c t >
< / e l - f o r m - i t e m >
< / e l - f o r m - i t e m >
< / template >
< / template >
< / e l - t a b l e - c o l u m n >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "备注" min -width = " 150 " >
< el -table -column label = "备注" min -width = " 150 " align = "center" >
< template # default = "{ row, $index }" >
< template # default = "{ row, $index }" >
< el -form -item :prop ="`${$index}.remark`" class = "mb-0px!" >
< el -form -item :prop ="`${$index}.remark`" class = "mb-0px!" >
< el -input :disabled ="detailDisabled" v -model = " row.remark " placeholder = "请输入备注" / >
< el -input :disabled ="detailDisabled" v -model = " row.remark " placeholder = "请输入备注" / >
@ -386,13 +298,7 @@
< / e l - t a b l e - c o l u m n >
< / e l - t a b l e - c o l u m n >
< el -table -column label = "操作" align = "center" width = "240" >
< el -table -column label = "操作" align = "center" width = "240" >
< template # default = "scope" >
< template # default = "scope" >
< el -button
< el -button v-if ="'update,create,deliver'.indexOf(active) > -1" link type="danger" size="small" @click.prevent="onDeleteItem2(scope.$index)" >
v - if = "'update,create'.indexOf(query.active) > -1"
link
type = "danger"
size = "small"
@ click . prevent = "onDeleteItem2(scope.$index)"
>
删除
删除
< / e l - b u t t o n >
< / e l - b u t t o n >
< / template >
< / template >
@ -404,56 +310,29 @@
< / e l - r o w >
< / e l - r o w >
< / e l - c a r d >
< / e l - c a r d >
< el -card class = "hl-card-info" v-if =" formTyp e != 'create'">
< el -card class = "hl-card-info" v-if =" activ e != 'create'">
< template # header >
< template # header >
< div class = "hl-card-info-icona" > < / div > < span class = "hl-card-info-text" > 附件信息 < / span >
< div class = "hl-card-info-icona" > < / div > < span class = "hl-card-info-text" > 附件信息 < / span >
< / template >
< / template >
< el -row >
< el -row >
< el -col v-if ="formType != 'detail'" >
< el -col v-if ="active != 'detail'" >
< el -upload
< el -upload ref = "attachmentUploadRef" multiple :limit ="10" :action ="uploadUrl" :headers ="uploadHeaders" name = "files" :show-file-list ="false" :auto-upload ="false" :data ="uploadData" :on-change ="attachmentUploadChange" class = "upload-file-uploader" >
ref = "attachmentUploadRef"
< el -button type = "primary" >
multiple
< Icon icon = "ep:upload-filled" / > 上传
: limit = "10"
< / e l - b u t t o n >
: action = "uploadUrl"
: headers = "uploadHeaders"
name = "files"
: show - file - list = "false"
: auto - upload = "false"
: data = "uploadData"
: on - change = "attachmentUploadChange"
class = "upload-file-uploader"
>
< el -button type = "primary" > < Icon icon = "ep:upload-filled" / > 上传 < / e l - b u t t o n >
< / e l - u p l o a d >
< / e l - u p l o a d >
< / e l - c o l >
< / e l - c o l >
< el -col >
< el -col >
< el -card class = "hl-incard" >
< el -card class = "hl-incard" >
< el -table :data ="formData.attachments" class = "hl-table" >
< el -table :data ="formData.attachments" class = "hl-table" >
< el -table -column prop = "name" label = "文件名称" align = "center" / >
< el -table -column prop = "name" label = "文件名称" align = "center" / >
< el -table -column
< el -table -column prop = "createTime" align = "center" label = "上传时间" :formatter ="dateFormatter" / >
prop = "createTime"
align = "center"
label = "上传时间"
: formatter = "dateFormatter"
/ >
< el -table -column label = "操作" align = "center" >
< el -table -column label = "操作" align = "center" >
< template # default = "scope" >
< template # default = "scope" >
< el -button
< el -button v-if ="'update,create,deliver'.indexOf(active) > -1" link type="danger" size="small" @click="handleDeleteAttachment(scope.$index, scope.row.businessFileType)" >
v - if = "'update,create'.indexOf(query.active) > -1"
link
type = "danger"
size = "small"
@ click = "handleDeleteAttachment(scope.$index, scope.row.businessFileType)"
>
删除
删除
< / e l - b u t t o n >
< / e l - b u t t o n >
< el -button
< el -button v-if ="!!scope.row.id" link type="primary" size="small" @click="downloadAttachment(scope.row.name, scope.row.url)" >
v - if = "!!scope.row.id"
link
type = "primary"
size = "small"
@ click = "downloadAttachment(scope.row.name, scope.row.url)"
>
下载
下载
< / e l - b u t t o n >
< / e l - b u t t o n >
< / template >
< / template >
@ -464,7 +343,7 @@
< / e l - r o w >
< / e l - r o w >
< / e l - c a r d >
< / e l - c a r d >
< el -card class = "hl-card-info" v-if =" query. active != 'create'">
< el -card class = "hl-card-info" v-if =" active != 'create'">
< template # header >
< template # header >
< div class = "hl-card-info-icona" > < / div > < span class = "hl-card-info-text" > 操作日志 < / span >
< div class = "hl-card-info-icona" > < / div > < span class = "hl-card-info-text" > 操作日志 < / span >
< / template >
< / template >
@ -478,12 +357,7 @@
< / template >
< / template >
< / e l - t a b l e - c o l u m n >
< / e l - t a b l e - c o l u m n >
< el -table -column prop = "userNickname" label = "操作人" align = "center" / >
< el -table -column prop = "userNickname" label = "操作人" align = "center" / >
< el -table -column
< el -table -column label = "操作时间" align = "center" prop = "startTime" :formatter ="dateFormatter" / >
label = "操作时间"
align = "center"
prop = "startTime"
: formatter = "dateFormatter"
/ >
< / e l - t a b l e >
< / e l - t a b l e >
< / e l - c a r d >
< / e l - c a r d >
< / e l - c o l >
< / e l - c o l >
@ -492,39 +366,49 @@
< / e l - f o r m >
< / e l - f o r m >
< div class = "text-center hl-footer" >
< div class = "text-center hl-footer" >
< el -button @click ="goback" size = "large" > 取 消 < / e l - b u t t o n >
< el -button @click ="goback" size = "large" > 取 消 < / e l - b u t t o n >
< el -button v -if = " formType ! = ' detail ' & & formData.deliverStatus = = 1 " @click ="submitForm('SAVE')" type = "success" :disabled ="formLoading" size = "large"
< el -button v-if ="active != 'detail' && formData.deliverStatus == 1" @click="submitForm('SAVE')" type="success" :disabled="formLoading" size="large" > 保 存 < / el -button >
> 保 存 < / e l - b u t t o n
< el -button v-if ="(((active != 'detail' && formData.id) || active == 'deliver') && formData.deliverStatus == 1)" @click="submitForm('DELIVER')" type="primary" :disabled="formLoading" size="large" > 发 货 < / el -button >
>
< el -button v-if ="active == 'detail' && formData.deliverStatus == 2 && formData.id" type="primary" @click="printHandle" :disabled="formLoading" size="large" > 打 印 发 货 单 < / el -button >
< el -button v -if = " formType ! = ' detail ' & & formData.deliverStatus = = 1 & & formData.id " @click ="submitForm('DELIVER')" type = "primary" :disabled ="formLoading" size = "large"
> 发 货 < / e l - b u t t o n
>
< / div >
< / div >
< / e l - c a r d >
< / e l - c a r d >
< ProjectOrderDialog ref = "projectOrderDialog" @success ="handleSelectedProjectOrder" / >
< ProjectOrderDialog ref = "projectOrderDialog" @success ="handleSelectedProjectOrder" / >
<!-- 【 打印发货单 】 - 弹框 -- >
< ShipmentsPrint ref = "shipmentsPrintRef" / >
< / template >
< / template >
< script setup lang = "ts" >
< script setup lang = "ts" >
import { ref } from 'vue'
import { ref } from 'vue'
import { ElMessage , ElMessageBox } from 'element-plus'
import { ElMessage , ElMessageBox } from 'element-plus'
import type { UploadProps , UploadUserFile } from 'element-plus'
import type { UploadProps , UploadUserFile } from 'element-plus'
import { getStrDictOptions , DICT _TYPE , getIntDictOptions , getDictLabel } from '@/utils/dict'
import { getStrDictOptions , DICT _TYPE , getIntDictOptions , getDictLabel } from '@/utils/dict'
import * as DeliverOrderApi from '@/api/heli/deliverorder'
import * as DeliverOrderApi from '@/api/heli/deliverorder'
import { getOperateLogPage } from "@/api/system/operatelog" ;
import { getOperateLogPage } from '@/api/system/operatelog'
import { deleteFileLogic , downloadFile , getFilePage } from "@/api/infra/file" ;
import { deleteFileLogic , downloadFile , getFilePage } from '@/api/infra/file'
import { Search , Plus } from "@element-plus/icons-vue" ;
import { Search , Plus } from '@element-plus/icons-vue'
import UserSelect from "@/views/heli/hlvuestyle/userSelect.vue" ;
import UserSelect from '@/views/heli/hlvuestyle/userSelect.vue'
import { getAccessToken , getTenantId } from "@/utils/auth" ;
import { getAccessToken , getTenantId } from '@/utils/auth'
import { dateFormatter } from "@/utils/formatTime" ;
import { dateFormatter } from '@/utils/formatTime'
import download from "@/utils/download" ;
import download from '@/utils/download'
import { inject } from 'vue'
import { inject } from 'vue'
import { getProjectOrderSubListByProjectOrderId , ProjectOrderVO } from "@/api/heli/projectorder" ;
import {
import { getCustomer } from "@/api/heli/customer" ;
getProjectOrder ,
getProjectOrderSubListByProjectOrderId ,
ProjectOrderVO
} from '@/api/heli/projectorder'
import { getCustomer } from '@/api/heli/customer'
import ProjectOrderDialog from '@/views/heli/deliverorder/projectOrderDialog.vue'
import ShipmentsPrint from './shipmentsPrint.vue' / / 引 入 打 印 弹 框
defineOptions ( { name : 'DeliverOrderDetail' } )
const reload = inject ( 'reload' )
const reload = inject ( 'reload' )
const { t } = useI18n ( ) / / 国 际 化
const { t } = useI18n ( ) / / 国 际 化
const message = useMessage ( ) / / 消 息 弹 窗
const message = useMessage ( ) / / 消 息 弹 窗
const router = useRouter ( )
const router = useRouter ( )
const { query } = useRoute ( )
const { query } = useRoute ( )
const active = toRef ( query , 'active' )
const activeId = toRef ( query , 'id' )
const dialogVisible = ref ( false ) / / 弹 窗 的 是 否 展 示
const dialogVisible = ref ( false ) / / 弹 窗 的 是 否 展 示
const dialogTitle = ref ( '' ) / / 弹 窗 的 标 题
const dialogTitle = ref ( '' ) / / 弹 窗 的 标 题
@ -539,7 +423,7 @@ const formData = ref({
property : undefined ,
property : undefined ,
customerId : undefined ,
customerId : undefined ,
customerName : undefined ,
customerName : undefined ,
mould Name: undefined ,
project Name: undefined ,
deliverDate : undefined ,
deliverDate : undefined ,
deliverStatus : 1 ,
deliverStatus : 1 ,
deliverPerson : undefined ,
deliverPerson : undefined ,
@ -565,36 +449,35 @@ const formData = ref({
const formRules = reactive ( {
const formRules = reactive ( {
saleOrderIds : [ { required : true , message : '项目编号不能为空' , trigger : 'blur' } ] ,
saleOrderIds : [ { required : true , message : '项目编号不能为空' , trigger : 'blur' } ] ,
property : [ { required : true , message : '性质不能为空' , trigger : 'blur' } ] ,
property : [ { required : true , message : '性质不能为空' , trigger : 'blur' } ] ,
mould Name: [ { required : true , message : ' 模具 名称不能为空', trigger : 'blur' } ] ,
project Name: [ { required : true , message : ' 项目 名称不能为空', trigger : 'blur' } ] ,
customerId : [ { required : true , message : '客户id不能为空' , trigger : 'blur' } ] ,
customerId : [ { required : true , message : '客户id不能为空' , trigger : 'blur' } ] ,
deliverCompany : [ { required : true , message : '发货单位不能为空' , trigger : 'blur' } ] ,
deliverCompany : [ { required : true , message : '发货单位不能为空' , trigger : 'blur' } ] ,
deliverDate : [ { required : true , message : '发货日期不能为空' , trigger : 'blur' } ] ,
deliverDate : [ { required : true , message : '发货日期不能为空' , trigger : 'blur' } ] ,
deliverStatus : [ { required : true , message : '发货单状态不能为空' , trigger : ' change ' } ] ,
deliverStatus : [ { required : true , message : '发货单状态不能为空' , trigger : ' blur ' } ] ,
deliverPerson : [ { required : true , message : '发货人不能为空' , trigger : 'blur' } ] ,
deliverPerson : [ { required : true , message : '发货人不能为空' , trigger : 'blur' } ] ,
deliverPersonMobile : [ { required : true , message : '发货人电话不能为空' , trigger : 'blur' } ] ,
deliverPersonMobile : [ { required : true , message : '发货人电话不能为空' , trigger : 'blur' } ] ,
deliverMode : [ { required : true , message : '发货方式不能为空' , trigger : 'change' } ] ,
receivePersonMobile : [ { required : true , message : '收货人电话不能为空' , trigger : 'blur' } ] ,
receivePersonMobile : [ { required : true , message : '收货人电话不能为空' , trigger : 'blur' } ] ,
receivePersonName : [ { required : true , message : '收货人姓名不能为空' , trigger : 'blur' } ] ,
receivePersonName : [ { required : true , message : '收货人姓名不能为空' , trigger : 'blur' } ] ,
receiveAddress : [ { required : true , message : '收货详细地址不能为空' , trigger : 'blur' } ] ,
receiveAddress : [ { required : true , message : '收货详细地址不能为空' , trigger : 'blur' } ]
} )
} )
const subFormLoading = ref ( false ) / / 子 表 单 的 加 载 中
const subFormLoading = ref ( false ) / / 子 表 单 的 加 载 中
const subFormRules = reactive ( {
const subFormRules = reactive ( {
deliveryOrderId : [ { required : true , message : '订单 id 不能为空', trigger : 'blur' } ] ,
deliveryOrderId : [ { required : true , message : '订单 不能为空', trigger : 'blur' } ] ,
subType : [ { required : true , message : '所属类型不能为空' , trigger : ' change ' } ] ,
subType : [ { required : true , message : '所属类型不能为空' , trigger : ' blur ' } ] ,
name : [ { required : true , message : '名称,唯一不能为空' , trigger : 'blur' } ] ,
name : [ { required : true , message : '名称,唯一不能为空' , trigger : 'blur' } ] ,
amount : [ { required : true , message : '本次发货数量不能为空' , trigger : 'blur' } ] ,
amount : [ { required : true , message : '本次发货数量不能为空' , trigger : 'blur' } ] ,
unit : [ { required : true , message : '单位不能为空' , trigger : ' change' } ] ,
unit : [ { required : true , message : '单位不能为空' , trigger : ' blur' } ]
} )
} )
const formRef = ref ( ) / / 表 单 R e f
const formRef = ref ( ) / / 表 单 R e f
/** 子表的表单 */
/** 子表的表单 */
const subFormRef = ref ( )
const subFormRef = ref ( )
const otherSubFormRef = ref ( )
const otherSubFormRef = ref ( )
const submitForm = async ( ac tiv e) => {
const submitForm = async ( oper ate) => {
/ / 校 验 表 单
/ / 校 验 表 单
formData . value . active = ac tiv e
formData . value . active = oper ate
await formRef . value . validate ( )
await formRef . value . validate ( )
/ / 校 验 子 表 单
/ / 校 验 子 表 单
if ( formTyp e. value != 'create' ) {
if ( activ e. value != 'create' ) {
await subFormRef . value . validate ( )
await subFormRef . value . validate ( )
await otherSubFormRef . value . validate ( )
await otherSubFormRef . value . validate ( )
}
}
@ -602,36 +485,32 @@ const submitForm = async (active) => {
formLoading . value = true
formLoading . value = true
try {
try {
/ / 设 置 类 型
/ / 设 置 类 型
formData . value . deliverOrderSubs ? . forEach ( item => {
formData . value . deliverOrderSubs ? . forEach ( ( item ) => {
item . category = 'DELIVER_LIST'
item . category = 'DELIVER_LIST'
item . status = 1
item . status = 1
} )
} )
formData . value . deliverOrderOtherSubs ? . forEach ( item => {
formData . value . deliverOrderOtherSubs ? . forEach ( ( item ) => {
item . category = 'OTHER_LIST'
item . category = 'OTHER_LIST'
item . status = 1
item . status = 1
} )
} )
const data = formData . value as unknown as DeliverOrderApi . DeliverOrderVO
const data = formData . value as unknown as DeliverOrderApi . DeliverOrderVO
if ( formData . value . deliverOrderOtherSubs ) {
data . deliverOrderSubs = data . deliverOrderSubs . concat ( formData . value . deliverOrderOtherSubs )
}
const orderId = await DeliverOrderApi . operateDeliverOrder ( data )
const orderId = await DeliverOrderApi . operateDeliverOrder ( data )
message . success ( t ( 'common.operationSuccess' ) )
message . success ( t ( 'common.operationSuccess' ) )
/ / 上 传 附 件
/ / 上 传 附 件
if ( attachmentUploadFiles . value . length > 0 ) {
if ( attachmentUploadFiles . value . length > 0 ) {
uploadData . value . businessId = orderId
uploadData . value . businessId = orderId
a ttachmentUploadRef. value ! . submit ( )
a wait a ttachmentUploadRef. value ! . submit ( )
}
}
/ / 如 非 保 存 返 回 列 表 页
if ( operate == 'SAVE' ) {
if ( active != 'SAVE' ) {
if ( active . value != 'deliver' ) {
goback ( )
active . value = 'update'
} else {
}
/ / 成 功 后 刷 新
} else if ( operate == 'DELIVER' ) {
query . active = 'update'
active . value = 'detail'
query . id = orderId
reload ( )
}
}
activeId . value = orderId
reload ( )
} finally {
} finally {
formLoading . value = false
formLoading . value = false
}
}
@ -650,7 +529,7 @@ const resetForm = () => {
property : undefined ,
property : undefined ,
customerId : undefined ,
customerId : undefined ,
customerName : undefined ,
customerName : undefined ,
mould Name: undefined ,
project Name: undefined ,
deliverDate : undefined ,
deliverDate : undefined ,
deliverStatus : 1 ,
deliverStatus : 1 ,
deliverPerson : undefined ,
deliverPerson : undefined ,
@ -680,7 +559,7 @@ const onAddItem2 = () => {
const row = {
const row = {
id : undefined ,
id : undefined ,
deliveryOrderId : undefined ,
deliveryOrderId : undefined ,
category : "OTHER_LIST" ,
category : 'OTHER_LIST' ,
name : undefined ,
name : undefined ,
blueprintNo : undefined ,
blueprintNo : undefined ,
amount : undefined ,
amount : undefined ,
@ -689,9 +568,12 @@ const onAddItem2 = () => {
size : undefined ,
size : undefined ,
subType : undefined ,
subType : undefined ,
remark : undefined ,
remark : undefined ,
status : undefined ,
status : undefined
}
}
row . deliveryOrderId = formData . value . id
row . deliveryOrderId = formData . value . id
if ( ! formData . value . deliverOrderOtherSubs ) {
formData . value . deliverOrderOtherSubs = [ ]
}
formData . value . deliverOrderOtherSubs . push ( row )
formData . value . deliverOrderOtherSubs . push ( row )
}
}
@ -734,7 +616,7 @@ const attachmentUploadChange = (file, files) => {
/** 删除子项操作 */
/** 删除子项操作 */
const onDeleteItem = ( index ) => {
const onDeleteItem = ( index ) => {
if ( formData . value . deliverOrderSubs . length == 1 ) {
if ( formData . value . deliverOrderSubs . length == 1 ) {
message . warning ( '发货清单至少存在一条数据' )
message . warning ( '发货清单至少存在一条数据' )
return
return
}
}
@ -770,33 +652,44 @@ const downloadAttachment = async (name, url) => {
/** 打开弹窗 */
/** 打开弹窗 */
const queryData = async ( type : string , id ? : number ) => {
const queryData = async ( type : string , id ? : number ) => {
dialogTitle . value = t ( 'action.' + type )
dialogTitle . value = t ( 'action.' + type )
formType . value = type
resetForm ( )
/ / 修 改 时 , 设 置 数 据
/ / 修 改 时 , 设 置 数 据
formLoading . value = true
formLoading . value = true
formData . value . deliverDate = new Date ( ) . getTime ( )
try {
try {
if ( id ) {
if ( id ) {
formData . value = await DeliverOrderApi . getDeliverOrder ( id )
formData . value = await DeliverOrderApi . getDeliverOrder ( id )
formData . value . deliverCompany = '杭州合立机械有限公司'
formData . value . deliverCompany = '杭州合立机械有限公司'
/ / 性 质
let properties = formData . value . property . split ( ',' )
let property = ''
for ( let i = 0 ; i < properties . length ; i ++ ) {
property += getDictLabel ( DICT _TYPE . HELI _PROJECT _PROPERTY , properties [ i ] ) + ','
}
formData . value . property = property . substring ( 0 , property . length - 1 )
/ / 子 项 列 表
/ / 子 项 列 表
const subArr = await DeliverOrderApi . getDeliverOrderSubListByDeliveryOrderId ( id )
const subArr = await DeliverOrderApi . getDeliverOrderSubListByDeliveryOrderId ( id )
/ / 如 未 保 存 过 即 子 项 为 空 从 关 联 项 目 带 出
/ / 如 未 保 存 过 即 子 项 为 空 从 关 联 项 目 带 出
if ( ! subArr || subArr . length == 0 ) {
if ( ! subArr || subArr . length == 0 ) {
formData . value . deliverOrderSubs = [ ] ;
formData . value . deliverOrderSubs = [ ]
let saleOrderIdArr = formData . value . saleOrderIds . split ( "," ) ;
let saleOrderIdArr = formData . value . saleOrderIds . split ( ',' )
for ( let i = 0 ; i < saleOrderIdArr . length ; i ++ ) {
for ( let i = 0 ; i < saleOrderIdArr . length ; i ++ ) {
formData . value . deliverOrderSubs = formData . value . deliverOrderSubs . concat ( await getProjectOrderSubListByProjectOrderId ( saleOrderIdArr [ i ] ) ) ;
formData . value . deliverOrderSubs = formData . value . deliverOrderSubs . concat (
formData . value . deliverOrderSubs . forEach ( sub => {
await getProjectOrderSubListByProjectOrderId ( saleOrderIdArr [ i ] )
)
formData . value . deliverOrderSubs . forEach ( ( sub ) => {
sub . remark = ''
sub . remark = ''
sub . saleOrderSubId = sub . id
sub . saleOrderSubId = sub . id
sub . id = ''
sub . id = ''
sub . saleOrderCode = sub . projectOrderCode
sub . saleOrderCode = sub . projectOrderCode
sub . amount = undefined
} )
} )
}
}
} else {
} else {
/ / 分 类 发 货 清 单 与 其 他 物 料 清 单
/ / 分 类 发 货 清 单 与 其 他 物 料 清 单
formData . value . deliverOrderSubs = subArr . filter ( sub => sub . category == 'DELIVER_LIST' ) ;
formData . value . deliverOrderSubs = subArr . filter ( ( sub ) => sub . category == 'DELIVER_LIST' )
formData . value . deliverOrderOtherSubs = subArr . filter ( sub => sub . category == 'OTHER_LIST' ) ;
formData . value . deliverOrderOtherSubs = subArr . filter ( ( sub ) => sub . category == 'OTHER_LIST' )
}
}
/ / 操 作 日 志
/ / 操 作 日 志
@ -817,69 +710,72 @@ const queryData = async (type: string, id?: number) => {
}
}
formData . value . attachments = ( await getFilePage ( attParams ) ) . list
formData . value . attachments = ( await getFilePage ( attParams ) ) . list
await initCustomerInfo ( )
}
} finally {
formLoading . value = false
}
}
const initCustomerInfo = async ( ) => {
/ / 收 货 人 信 息
/ / 收 货 人 信 息
const customer = await getCustomer ( formData . value . customerId )
const customer = await getCustomer ( formData . value . customerId )
if ( customer . contact1Name ) {
if ( customer . contact1Name ) {
receivePersonOptions . value . push ( {
receivePersonOptions . value . push ( {
"name" : customer . contact1Name ,
name : customer . contact1Name ,
"mobile" : customer . contact1Method
mobile : customer . contact1Method
} )
} )
receivePersonAddressOptions . value . push ( {
receivePersonAddressOptions . value . push ( {
"address" : customer . contact1Addr
address : customer . contact1Addr
} )
} )
}
}
if ( customer . contact2Name ) {
if ( customer . contact2Name ) {
receivePersonOptions . value . push ( {
receivePersonOptions . value . push ( {
"name" : customer . contact2Name ,
name : customer . contact2Name ,
"mobile" : customer . contact2Method
mobile : customer . contact2Method
} )
} )
receivePersonAddressOptions . value . push ( {
receivePersonAddressOptions . value . push ( {
"address" : customer . contact2Addr
address : customer . contact2Addr
} )
} )
}
}
if ( customer . contact3Name ) {
if ( customer . contact3Name ) {
receivePersonOptions . value . push ( {
receivePersonOptions . value . push ( {
"name" : customer . contact3Name ,
name : customer . contact3Name ,
"mobile" : customer . contact3Method
mobile : customer . contact3Method
} )
} )
receivePersonAddressOptions . value . push ( {
receivePersonAddressOptions . value . push ( {
"address" : customer . contact3Addr
address : customer . contact3Addr
} )
} )
}
}
}
} finally {
formLoading . value = false
}
}
}
const projectOrderDialog = ref ( )
const projectOrderDialog = ref ( )
const openProjectOrderDialog = ( ) => {
const openProjectOrderDialog = ( ) => {
projectOrderDialog . value . open ( )
projectOrderDialog . value ? . open ( )
}
}
const handleSelectedProjectOrder = ( arr : ProjectOrderVO [ ] ) => {
const handleSelectedProjectOrder = ( arr : ProjectOrderVO [ ] ) => {
if ( arr && arr . length > 0 ) {
if ( arr && arr . length > 0 ) {
let saleOrderIds = "" ;
let saleOrderIds = ''
let saleOrderCode = "" ;
let saleOrderCode = ''
let contractNo = "" ;
let contractNo = ''
let property = "" ;
let property = ''
let mouldName = "" ;
let projectName = ''
for ( let i = 0 ; i < arr . length ; i ++ ) {
for ( let i = 0 ; i < arr . length ; i ++ ) {
let order = arr [ i ] ;
let order = arr [ i ]
saleOrderIds += order . id + "," ;
saleOrderIds += order . id + ','
saleOrderCode += order . code + "," ;
saleOrderCode += order . code + ','
contractNo += order . contractNo + "," ;
contractNo += ( ! order . contractNo ? '' : order . contractNo ) + ','
property += getDictLabel ( DICT _TYPE . HELI _PROJECT _PROPERTY , order . property ) + "," ;
property += getDictLabel ( DICT _TYPE . HELI _PROJECT _PROPERTY , order . property ) + ','
mouldName += order . mouldName + "," ;
projectName += order . projectName + ','
}
}
formData . value . saleOrderIds = saleOrderIds . substring ( 0 , saleOrderIds . length - 1 ) ;
formData . value . saleOrderIds = saleOrderIds . substring ( 0 , saleOrderIds . length - 1 )
formData . value . saleOrderCode = saleOrderCode . substring ( 0 , saleOrderCode . length - 1 ) ;
formData . value . saleOrderCode = saleOrderCode . substring ( 0 , saleOrderCode . length - 1 )
formData . value . contractNo = contractNo . substring ( 0 , contractNo . length - 1 ) ;
formData . value . contractNo = contractNo . substring ( 0 , contractNo . length - 1 )
formData . value . property = property . substring ( 0 , property . length - 1 ) ;
formData . value . property = property . substring ( 0 , property . length - 1 )
formData . value . mouldName = mouldName . substring ( 0 , mouldName . length - 1 ) ;
formData . value . projectName = projectName . substring ( 0 , projectName . length - 1 )
formData . value . customerId = arr [ 0 ] . customerId ;
formData . value . customerId = arr [ 0 ] . customerId
formData . value . customerName = arr [ 0 ] . customerName ;
formData . value . customerName = arr [ 0 ] . customerName
}
}
}
}
@ -889,17 +785,53 @@ const receivePersonOptions = ref([])
const receivePersonAddressOptions = ref ( [ ] )
const receivePersonAddressOptions = ref ( [ ] )
const receiveOnChange = ( val ) => {
const receiveOnChange = ( val ) => {
let matchedPerson = receivePersonOptions . value . find ( p => p . name == val ) ;
let matchedPerson = receivePersonOptions . value . find ( ( p ) => p . name == val )
if ( matchedPerson ) {
if ( matchedPerson ) {
formData . value . receivePersonMobile = matchedPerson . mobile
formData . value . receivePersonMobile = matchedPerson . mobile
}
}
}
}
const detailDisabled = ref ( false )
onMounted ( ( ) => {
/ / 打 印 发 货 单
if ( 'detail' == query . active ) {
const shipmentsPrintRef = ref ( ) / / 打 印 弹 框
const printHandle = ( ) => {
shipmentsPrintRef . value . open ( formData . value . id )
}
const initDeliverData = async ( projectOrderId ) => {
let projectOrder = await getProjectOrder ( projectOrderId )
handleSelectedProjectOrder ( [ projectOrder ] )
formData . value . deliverOrderSubs = [ ]
formData . value . deliverOrderSubs = formData . value . deliverOrderSubs . concat (
await getProjectOrderSubListByProjectOrderId ( projectOrderId )
)
formData . value . deliverOrderSubs . forEach ( ( sub ) => {
sub . remark = ''
sub . saleOrderSubId = sub . id
sub . id = ''
sub . saleOrderCode = sub . projectOrderCode
sub . amount = undefined
} )
await initCustomerInfo ( )
}
const initData = async ( ) => {
resetForm ( )
if ( 'detail' == active . value ) {
detailDisabled . value = true
detailDisabled . value = true
}
}
queryData ( query . active , query . id )
if ( 'deliver' == active . value && query . projectOrderId ) {
await initDeliverData ( query . projectOrderId )
}
await queryData ( active . value , activeId . value )
}
const detailDisabled = ref ( false )
onMounted ( ( ) => {
initData ( )
} )
} )
< / script >
< / script >
< style >
< style >