|
|
|
@ -12,7 +12,7 @@
|
|
|
|
|
ref="IndexForm" |
|
|
|
|
:rules="rules" |
|
|
|
|
> |
|
|
|
|
<el-form-item label="异常类型" prop="workOrderType"> |
|
|
|
|
<el-form-item label="异常类型" prop="workOrderType" class="el_inputTop"> |
|
|
|
|
<el-select |
|
|
|
|
v-model="Indexform.workOrderType" |
|
|
|
|
clearable |
|
|
|
@ -28,7 +28,7 @@
|
|
|
|
|
</el-select> |
|
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
|
<el-form-item label="发现节点" prop="discoveryNode"> |
|
|
|
|
<el-form-item label="发现节点" prop="discoveryNode" class="el_inputTop"> |
|
|
|
|
<el-select |
|
|
|
|
v-model="Indexform.discoveryNode" |
|
|
|
|
clearable |
|
|
|
@ -44,7 +44,7 @@
|
|
|
|
|
</el-select> |
|
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
|
<el-form-item label="异常工单号"> |
|
|
|
|
<el-form-item label="异常工单号" class="el_inputTop"> |
|
|
|
|
<el-input |
|
|
|
|
v-model="Indexform.workOrderNumber" |
|
|
|
|
disabled |
|
|
|
@ -61,31 +61,42 @@
|
|
|
|
|
<div class="leftbox"> |
|
|
|
|
<div class="maxBox"> |
|
|
|
|
<el-form-item label="包条码"> |
|
|
|
|
<el-input |
|
|
|
|
v-model="item.packageCode" |
|
|
|
|
placeholder="请输入包条码" |
|
|
|
|
clearable |
|
|
|
|
:rows="2" |
|
|
|
|
@change="ChangePackageInfo(item.packageCode, index)" |
|
|
|
|
/> |
|
|
|
|
<el-tooltip |
|
|
|
|
:content="item.packageCode ? item.packageCode : '包条码'" |
|
|
|
|
placement="top" |
|
|
|
|
> |
|
|
|
|
<el-input |
|
|
|
|
v-model="item.packageCode" |
|
|
|
|
placeholder="请输入包条码" |
|
|
|
|
clearable |
|
|
|
|
:rows="2" |
|
|
|
|
@change="ChangePackageInfo(item.packageCode, index)" |
|
|
|
|
/> |
|
|
|
|
</el-tooltip> |
|
|
|
|
</el-form-item> |
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
<div class="maxBox"> |
|
|
|
|
<el-form-item label="订单自编号"> |
|
|
|
|
<el-input v-model="item.orderCode" placeholder="请输入订单自编号" clearable /> |
|
|
|
|
<el-tooltip :content="item.orderCode" placement="top"> |
|
|
|
|
<el-input v-model="item.orderCode" placeholder="请输入订单自编号" /> |
|
|
|
|
</el-tooltip> |
|
|
|
|
</el-form-item> |
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
<div class="maxBox"> |
|
|
|
|
<el-form-item label="运单号"> |
|
|
|
|
<el-input v-model="item.waybillNumber" placeholder="请输入运单号" clearable /> |
|
|
|
|
<el-tooltip :content="item.waybillNumber" placement="top"> |
|
|
|
|
<el-input v-model="item.waybillNumber" placeholder="请输入运单号" /> |
|
|
|
|
</el-tooltip> |
|
|
|
|
</el-form-item> |
|
|
|
|
</div> |
|
|
|
|
|
|
|
|
|
<div class="maxBox"> |
|
|
|
|
<el-form-item label="品牌"> |
|
|
|
|
<el-input v-model="item.brandName" placeholder="请输入品牌" clearable /> |
|
|
|
|
<el-tooltip :content="item.brandName" placement="top"> |
|
|
|
|
<el-input v-model="item.brandName" placeholder="请输入品牌" /> |
|
|
|
|
</el-tooltip> |
|
|
|
|
</el-form-item> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
@ -191,11 +202,11 @@
|
|
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
|
<el-form-item label="一级品" prop="first"> |
|
|
|
|
<el-input v-model="Indexform.first" placeholder="请输入一级品类" clearable /> |
|
|
|
|
<el-input v-model="Indexform.first" placeholder="请输入一级品类" /> |
|
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
|
<el-form-item label="二级品" prop="secondary"> |
|
|
|
|
<el-input v-model="Indexform.secondary" placeholder="请输入二级品类" clearable /> |
|
|
|
|
<el-input v-model="Indexform.secondary" placeholder="请输入二级品类" /> |
|
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
|
<el-form-item label="入库时间" prop="warehousingTime" v-if="groundlineType == 4"> |
|
|
|
@ -209,7 +220,7 @@
|
|
|
|
|
</el-form-item> |
|
|
|
|
<!-- 必填 --> |
|
|
|
|
<el-form-item label="运单商场" prop="waybillMall"> |
|
|
|
|
<el-input v-model="Indexform.waybillMall" placeholder="请输入运单商场" clearable /> |
|
|
|
|
<el-input v-model="Indexform.waybillMall" placeholder="请输入运单商场" /> |
|
|
|
|
</el-form-item> |
|
|
|
|
|
|
|
|
|
<el-form-item label="合作模式"> |
|
|
|
@ -266,7 +277,7 @@
|
|
|
|
|
|
|
|
|
|
<el-form-item> </el-form-item> |
|
|
|
|
|
|
|
|
|
<el-tabs type="border-card"> |
|
|
|
|
<el-tabs type="border-card" class="el_nint"> |
|
|
|
|
<el-tab-pane label="内部责任划分"> |
|
|
|
|
<div class="ResponsibilityBox"> |
|
|
|
|
<div><el-button type="primary" @click="responsibleParty"> 添加信息 </el-button></div> |
|
|
|
@ -339,9 +350,9 @@
|
|
|
|
|
v-model="item.responsibilityRatio" |
|
|
|
|
placeholder="占比 " |
|
|
|
|
:min="0" |
|
|
|
|
:max="ProportionMax" |
|
|
|
|
:max="item.ProportionMax" |
|
|
|
|
v-percentage |
|
|
|
|
@change="CompanyProportionInput(item)" |
|
|
|
|
@input="CompanyProportionInput(item)" |
|
|
|
|
/> |
|
|
|
|
<span>%</span> |
|
|
|
|
</el-form-item> |
|
|
|
@ -354,12 +365,7 @@
|
|
|
|
|
|
|
|
|
|
<div class="maxBox"> |
|
|
|
|
<el-form-item label="说明"> |
|
|
|
|
<el-input |
|
|
|
|
v-model="item.description" |
|
|
|
|
placeholder="请输入说明 " |
|
|
|
|
clearable |
|
|
|
|
:rows="2" |
|
|
|
|
/> |
|
|
|
|
<el-input v-model="item.description" placeholder="请输入说明 " :rows="2" /> |
|
|
|
|
</el-form-item> |
|
|
|
|
</div> |
|
|
|
|
</div> |
|
|
|
@ -570,6 +576,8 @@
|
|
|
|
|
import { ElMessage } from 'element-plus'; |
|
|
|
|
import { ElMessageBox } from 'element-plus'; |
|
|
|
|
import { useRouter, useRoute } from 'vue-router'; |
|
|
|
|
import { useStore } from 'vuex'; |
|
|
|
|
const $store = useStore(); |
|
|
|
|
import { getDictionaryBiz } from '@/api/system/dict'; //字典 |
|
|
|
|
import { getDetailWarehouse, getDeptWarehouse } from '@/api/basicdata/basicdataWarehouse'; //处理方 |
|
|
|
|
import { |
|
|
|
@ -625,7 +633,7 @@ const amplifyurl = ref(''); //当前点击的图片
|
|
|
|
|
const amplifysrcList = ref([]); //图片循环列表 |
|
|
|
|
const ProcessingList = ref([]); //处理结果已经选择的列表 |
|
|
|
|
const Paymentmethod = ref([]); //支付方式 |
|
|
|
|
const ProportionMax=ref(100);//公司占比最大值计算 |
|
|
|
|
const ProportionMax = ref(100); //公司占比最大值计算 |
|
|
|
|
|
|
|
|
|
const PackageInfo = ref([ |
|
|
|
|
//包件信息 |
|
|
|
@ -639,6 +647,7 @@ const FangAddList = ref([
|
|
|
|
|
responsibilityRatio: '', |
|
|
|
|
description: '', |
|
|
|
|
tripartite: '', |
|
|
|
|
ProportionMax: 100, |
|
|
|
|
}, |
|
|
|
|
]); |
|
|
|
|
// 提货责任方 |
|
|
|
@ -942,17 +951,25 @@ const PackagRemoval = val => {
|
|
|
|
|
Statistics(); |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 责任方添加 |
|
|
|
|
const responsibleParty = () => { |
|
|
|
|
let sum = 0; |
|
|
|
|
FangAddList.value.forEach(item => { |
|
|
|
|
console.log(item.responsibilityRatio, '当前比例'); |
|
|
|
|
sum += item.responsibilityRatio; |
|
|
|
|
}); |
|
|
|
|
console.log(sum, '当前总和'); |
|
|
|
|
let max = 100 - sum; |
|
|
|
|
console.log('添加了责任方'); |
|
|
|
|
FangAddList.value.push({ |
|
|
|
|
businessName: '', |
|
|
|
|
personResponsibleName: '', |
|
|
|
|
tripartite: '', |
|
|
|
|
responsibilityRatio: '', |
|
|
|
|
description: '', |
|
|
|
|
ProportionMax: max, |
|
|
|
|
}); |
|
|
|
|
|
|
|
|
|
console.log(max, '当前最大值'); |
|
|
|
|
}; |
|
|
|
|
// 责任移除 |
|
|
|
|
const ResponsibilityRemoval = val => { |
|
|
|
@ -969,40 +986,29 @@ const TopChange = val => {
|
|
|
|
|
} |
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 公司占比最大值计算 |
|
|
|
|
const CalculateTheproportion=()=>{ |
|
|
|
|
console.log( ProportionMax.value,'当前最大值'); |
|
|
|
|
console.log( companyProportion.value,'当前公司占比'); |
|
|
|
|
|
|
|
|
|
ProportionMax.value= ProportionMax.value - companyProportion.value |
|
|
|
|
console.log( ProportionMax.value,'当前还剩余的值'); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// 公司占比计算 |
|
|
|
|
const CompanyProportion = (item) => { |
|
|
|
|
const CompanyProportion = val => { |
|
|
|
|
setTimeout(() => { |
|
|
|
|
console.log(FangAddList.value, ' FangAddList.value'); |
|
|
|
|
let proportion = 0; //责任比例之和 |
|
|
|
|
FangAddList.value.forEach(item => { |
|
|
|
|
console.log(item.responsibilityRatio); |
|
|
|
|
proportion += Number(item.responsibilityRatio); |
|
|
|
|
ProportionMax.value=ProportionMax.value-Number(item.responsibilityRatio) |
|
|
|
|
}); |
|
|
|
|
if(!ProportionMax.value){ |
|
|
|
|
return |
|
|
|
|
}else{ |
|
|
|
|
companyProportion.value = companyProportion.value-proportion |
|
|
|
|
} |
|
|
|
|
// companyProportion.value公司占比 |
|
|
|
|
companyProportion.value = 100 - proportion; |
|
|
|
|
|
|
|
|
|
let sum = 0; |
|
|
|
|
FangAddList.value.forEach(item => { |
|
|
|
|
console.log(item.responsibilityRatio, '当前比例'); |
|
|
|
|
sum += item.responsibilityRatio; |
|
|
|
|
}); |
|
|
|
|
let max = 100 - sum; |
|
|
|
|
val.ProportionMax = max; |
|
|
|
|
}, 0); |
|
|
|
|
|
|
|
|
|
}; |
|
|
|
|
// 公司占比事件 |
|
|
|
|
const CompanyProportionInput = (item) => { |
|
|
|
|
const CompanyProportionInput = item => { |
|
|
|
|
CompanyProportion(item); |
|
|
|
|
|
|
|
|
|
}; |
|
|
|
|
|
|
|
|
|
// 表单校验规则 |
|
|
|
@ -1024,7 +1030,6 @@ const rules = reactive({
|
|
|
|
|
}); |
|
|
|
|
//表单提交 |
|
|
|
|
const ConfirmForm = () => { |
|
|
|
|
console.log(rules, '表单校验规则'); |
|
|
|
|
IndexForm.value.validate(valid => { |
|
|
|
|
if (valid) { |
|
|
|
|
// 表单验证通过,处理表单提交 |
|
|
|
@ -1286,12 +1291,13 @@ const ConfirmForm = () => {
|
|
|
|
|
type: 'success', |
|
|
|
|
}); |
|
|
|
|
Indexform.value = {}; //重置表单 |
|
|
|
|
$store.commit('DEL_TAG_CURRENT'); //关闭当前页面 |
|
|
|
|
$router.push('/aftersales/aftersalesWorkOrder'); //添加成功跳转到列表 |
|
|
|
|
} |
|
|
|
|
}) |
|
|
|
|
.catch(res => { |
|
|
|
|
console.log(res, '错误信息'); |
|
|
|
|
ElMessage.error('提交失败'); |
|
|
|
|
ElMessage.error('提交失败,请刷新页面重新尝试'); |
|
|
|
|
}); |
|
|
|
|
} else { |
|
|
|
|
console.log('表单验证失败'); |
|
|
|
@ -1299,7 +1305,6 @@ const ConfirmForm = () => {
|
|
|
|
|
message: '请填完整信息', |
|
|
|
|
type: 'warning', |
|
|
|
|
}); |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
}); |
|
|
|
|
}; |
|
|
|
@ -1472,7 +1477,6 @@ const historicalPackages = val => {
|
|
|
|
|
}; |
|
|
|
|
// 历史包件确定选择 |
|
|
|
|
const HistoricalPackage = val => { |
|
|
|
|
|
|
|
|
|
let info = HistoricalPackageList.value.find(obj => obj.workOrderId == val); |
|
|
|
|
console.log(info); |
|
|
|
|
PackageInfo.value[HistorIndex.value].orderCode = info.orderCode; //订单自编码 |
|
|
|
@ -1744,14 +1748,14 @@ const isShowFormItem2 = computed(() => {
|
|
|
|
|
} |
|
|
|
|
:deep(.PackageInformation) { |
|
|
|
|
margin-bottom: 10px; |
|
|
|
|
width: 97%; |
|
|
|
|
width: 100%; |
|
|
|
|
border-left: none; |
|
|
|
|
.el-tabs__header { |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
.NumTotal { |
|
|
|
|
width: 30%; |
|
|
|
|
margin-top: 36px; |
|
|
|
|
margin-top: 10px; |
|
|
|
|
display: flex; |
|
|
|
|
align-items: center; |
|
|
|
|
span { |
|
|
|
@ -1887,12 +1891,12 @@ const isShowFormItem2 = computed(() => {
|
|
|
|
|
border: 1px solid #bfbfbf; |
|
|
|
|
margin-left: 2px; |
|
|
|
|
border-radius: 4px; |
|
|
|
|
width: 100px; |
|
|
|
|
font-size: 14px; |
|
|
|
|
padding: 10px; |
|
|
|
|
cursor: pointer; |
|
|
|
|
width: 100px; |
|
|
|
|
width: 140px; |
|
|
|
|
margin: 0 10px; |
|
|
|
|
overflow: hidden; |
|
|
|
|
} |
|
|
|
|
.Paymentname:hover { |
|
|
|
|
border: 1px solid #172e60; |
|
|
|
@ -1927,4 +1931,10 @@ const isShowFormItem2 = computed(() => {
|
|
|
|
|
font-weight: normal; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
.el_nint { |
|
|
|
|
width: 100%; |
|
|
|
|
} |
|
|
|
|
:deep(.el_inputTop) { |
|
|
|
|
margin-bottom: 0 !important; |
|
|
|
|
} |
|
|
|
|
</style> |
|
|
|
|