This commit is contained in:
linfso 2024-05-30 08:22:59 +08:00
parent d83818cf80
commit 542ce0c324
2 changed files with 118 additions and 70 deletions

View File

@ -1,38 +1,79 @@
<template>
<div >
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row :gutter="5" tyle="display: flex;flex-wrap: wrap;">
<el-col :span="18">
<el-row :gutter="0" tyle="display: flex;flex-wrap: wrap;">
<el-col :span="5" style="padding-right: 10px;">
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;">
<el-col :span="24">
<el-form-item label="计划名称" prop="planName">
<el-input v-model="form.planName" placeholder="请输入计划名称" />
<el-form-item label="承运名称" prop="planName">
<el-input v-model="form.planName" placeholder="承运名称" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-col :span="24">
<el-form-item label="所属线路" prop="transLineType">
<TransLinePicker v-model="form.transLineType" :countryCode="form.country"></TransLinePicker>
<TransLinePicker v-model="form.transLineType" isInitiated="true" ></TransLinePicker>
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="所属产品" prop="productType">
<el-input v-model="form.productType" placeholder="请输入所属产品" />
</el-form-item>
<!-- <el-col :span="24">
<el-form-item label="产品类型" prop="productType">
<TransProductPicker placeholder="产品类型" v-model="form.productType" :transLineCode="form.transLineType"></TransProductPicker>
</el-form-item>
</el-col> -->
<el-col :span="24">
<el-form-item label="启用状态" prop="status">
<el-radio-group v-model="form.status">
<el-radio :label="'1'">是</el-radio>
<el-radio :label="'0'">否</el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<!-- <el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-col> -->
</el-row>
</el-col>
<el-col :span="14">
<!-- <el-divider content-position="left">运输节点</el-divider> -->
<el-row>
<el-col :span="24" :xs="24" style="padding: 10px;">
<el-row>
<el-col :span="24">
<PlanDtlPanel :planId="form.id" style="width:100%" v-model="form.stepList"></PlanDtlPanel>
</el-col>
<el-col :span="24">
</el-col>
</el-row>
</el-col>
<el-col :span="8">
<el-form-item label="状态" prop="status">
<el-input v-model="form.status" placeholder="请输入状态" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item label="备注" prop="remark">
<el-input v-model="form.remark" type="textarea" placeholder="请输入内容" />
</el-form-item>
</el-col>
</el-row>
</el-col>
<el-col :span="6">
1232
<el-col :span="5" style="border-left: 1px solid #efefef;">
<!-- <XdSteps
:currentStep="3"
:totalSteps="5"
:stepsLabel="stepsLabel"
:stepsDesc="stepsDesc"
:totalWidth="900"
:descMaxWidth="160"
@change="onStepChange" /> -->
<!-- direction="vertical" :active="1" -->
<div style="height: 300px;padding: 40px;">
<el-steps direction="vertical" :active="1" align-center finish-status="success">
<el-step v-for="item in form.stepList" :key="item.stepName" :title="item.stepName" >
<div slot="description">
<!-- <span><dict-tag :options="dict.type.emis_biz_shipping_method" :value="item.transType"/></span> -->
<span>{{ dict.type.emis_biz_shipping_method.find(obj=>obj.value==item.transType).label }}</span>
<span> {{item.estCostDay}}天</span>
</div>
</el-step>
</el-steps>
</div>
</el-col>
</el-row>
</el-form>
@ -47,6 +88,11 @@
<script>
import { listEmisTmsTransPlan, getEmisTmsTransPlan, delEmisTmsTransPlan, addEmisTmsTransPlan, updateEmisTmsTransPlan } from "@/api/emis/emisTmsTransPlan";
import TransLinePicker from '@/views/emis/EmisBaseTools/TransLinePicker.vue';
import PlanDtlPanel from '@/views/emis/emisTmsTransPlan/planDtlPanel.vue';
import CountryPickerStart from '@/views/emis/EmisBaseTools/CountryPicker.vue';
import CountryPickerDest from '@/views/emis/EmisBaseTools/CountryPicker.vue';
import TransProductPicker from '@/views/emis/EmisBaseTools/TransProductPicker.vue';
import XdSteps from '@/components/XdSteps'
export default {
name: "emisTmsTransPlanForm",
@ -55,8 +101,15 @@ export default {
type:Number
}
},
components: { TransLinePicker },
dicts: [
components: {
TransLinePicker,
PlanDtlPanel,
CountryPickerStart,
CountryPickerDest,
TransProductPicker,
XdSteps
},
dicts: ['emis_biz_shipping_method'
],
data() {
return {
@ -65,6 +118,8 @@ export default {
loading: true,
// 表单参数
form: {},
stepsLabel:[],
stepsDesc:[],
// 表单校验
rules: {
id: [
@ -96,9 +151,12 @@ export default {
this.loading = false;
});
}else{
this.form.status="1";
this.reset();
}
// this.getTreeselect();
},
onStepChange(){
},
// 取消按钮
cancel() {
@ -121,7 +179,8 @@ export default {
updateTime: null,
remark: null,
createSite: null,
updateSite: null
updateSite: null,
stepList:[],
};
this.resetForm("form");
},
@ -147,3 +206,19 @@ export default {
}
};
</script>
<style scoped>
::v-deep .el-step__head.is-success {
color: rgb(52, 158, 250);
border-color: rgb(52, 158, 250);
}
::v-deep .el-step__title.is-success {
font-weight: bold;
color: rgb(52, 158, 250);
}
::v-deep .el-step__description.is-success {
color: rgb(52, 158, 250);
}
</style>

View File

@ -105,48 +105,28 @@
<span v-text="getIndex(scope.$index)"> </span>
</template>
</el-table-column>
<el-table-column label="xxx" align="left" prop="xxx" min-width="180">
<template slot-scope="scope">
<div class="link-type" @click="handleView(scope.row)">{{scope.row.orderSn}}</div>
</template>
</el-table-column>
<el-table-column label="结算状态" align="center" prop="settleStatus" :sort-orders="['descending','ascending']" sortable="custom" min-width="80">
<template slot-scope="scope">
<div v-if="scope.row.settleStatus == 0" style="color:red;">
<span class="el-tag el-tag--info">未结算</span>
</div>
<div v-if="scope.row.settleStatus == 10" style="color:red;">
<span class="el-tag">待确认</span>
</div>
<div v-if="scope.row.settleStatus == 11" style="color:green;">
<span class="el-tag el-tag--success el-tag--light">已确认</span>
</div>
<div v-if="scope.row.settleStatus == 20" >
<span class="el-tag el-tag--warning el-tag--light">待打款</span>
</div>
<div v-if="scope.row.settleStatus == 21" style="color:green;">
<span class="el-tag el-tag--success el-tag--light">已打款</span>
</div>
<div v-if="scope.row.settleStatus == 40" style="color:red;">
<span class="el-tag el-tag--danger">已拒绝</span>
</div>
</template>
</el-table-column>
-->
<!-- <el-table-column :label="$t('计划号')" align="center" prop="planCode" min-width="100" /> -->
<el-table-column :label="$t('承运线路名称')" align="center" prop="planName" min-width="180" >
<el-table-column :label="$t('承运名称')" align="center" prop="planName" min-width="180" >
<template slot-scope="scope">
<div class="link-type" @click="handleView(scope.row)">{{scope.row.planName}}</div>
<div class="link-type" @click="handleUpdate(scope.row)">{{scope.row.planName}}</div>
</template>
</el-table-column>
<el-table-column :label="$t('所属线路')" align="center" prop="transLineType" min-width="100" />
<el-table-column :label="$t('所属产品')" align="center" prop="productType" min-width="100" />
<el-table-column :label="$t('起始国')" align="center" prop="startCountry" min-width="100" />
<el-table-column :label="$t('目的国')" align="center" prop="destCountry" min-width="100" />
<el-table-column :label="$t('累计时效')" align="center" prop="destCountry" min-width="100" />
<el-table-column :label="$t('所属线路')" align="center" prop="transLineTypeName" min-width="100" >
<template slot-scope="scope">
<div >{{scope.row.transLineTypeName}}</div>
</template>
</el-table-column>
<el-table-column :label="$t('国家')" align="center" prop="transLineTypeName1" min-width="100" >
<template slot-scope="scope">
<div >{{scope.row.fromCountryName}}---{{ scope.row.countryName }}</div>
</template>
</el-table-column>
<!-- <el-table-column :label="$t('所属产品')" align="center" prop="productType" min-width="100" /> -->
<!-- <el-table-column :label="$t('起始国')" align="center" prop="fromCountryName" min-width="100" /> -->
<!-- <el-table-column :label="$t('目的国')" align="center" prop="countryName" min-width="100" /> -->
<el-table-column :label="$t('累计时效')" align="center" prop="totalEstCostDay" min-width="100" />
<el-table-column :label="$t('创建时间')" align="center" prop="createTime" min-width="170" />
<el-table-column :label="$t('启用状态')" align="center" prop="status" min-width="100" >
@ -179,24 +159,17 @@
</el-table-column>
</XdTable>
<el-dialog :title="titleForm" :visible.sync="openForm" width="50%" :destroy-on-close="true" v-dialogDrag append-to-body>
<el-dialog :title="titleForm" :visible.sync="openForm" width="95%" :destroy-on-close="true" v-dialogDrag append-to-body>
<emisTmsTransPlanForm :id="currentId" @on-changed="handleFormChanged" @on-cancel="cancelForm"></EmisTmsTransPlanForm>
</el-dialog>
<!--
<el-dialog :title="titleView" :visible.sync="openView" width="60%" :close-on-click-modal="false" v-dialogDrag append-to-body>
<emisTmsTransPlanView :id="id" ></EmisTmsTransPlanView>
</el-dialog>
-->
</div>
</template>
<script>
import { listEmisTmsTransPlan, getEmisTmsTransPlan, delEmisTmsTransPlan, addEmisTmsTransPlan, updateEmisTmsTransPlan } from "@/api/emis/emisTmsTransPlan";
import elDateSimplePicker from '@/components/DatePickerAdv/elDateSimplePicker';
// import emisTmsTransPlanView from '@/views/emis/emisTmsTransPlan/emisTmsTransPlanView';
import emisTmsTransPlanForm from '@/views/emis/emisTmsTransPlan/emisTmsTransPlanForm';
export default {