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> <template>
<div > <div >
<el-form ref="form" :model="form" :rules="rules" label-width="80px"> <el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-row :gutter="5" tyle="display: flex;flex-wrap: wrap;"> <el-row :gutter="0" tyle="display: flex;flex-wrap: wrap;">
<el-col :span="18"> <el-col :span="5" style="padding-right: 10px;">
<el-row :gutter="0" style="display: flex;flex-wrap: wrap;"> <el-row :gutter="0" style="display: flex;flex-wrap: wrap;">
<el-col :span="24"> <el-col :span="24">
<el-form-item label="计划名称" prop="planName"> <el-form-item label="承运名称" prop="planName">
<el-input v-model="form.planName" placeholder="请输入计划名称" /> <el-input v-model="form.planName" placeholder="承运名称" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="24">
<el-form-item label="所属线路" prop="transLineType"> <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-form-item>
</el-col> </el-col>
<el-col :span="8"> <!-- <el-col :span="24">
<el-form-item label="所属产品" prop="productType"> <el-form-item label="产品类型" prop="productType">
<el-input v-model="form.productType" placeholder="请输入所属产品" /> <TransProductPicker placeholder="产品类型" v-model="form.productType" :transLineCode="form.transLineType"></TransProductPicker>
</el-form-item> </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>
<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-row>
</el-col> </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-col>
</el-row> </el-row>
</el-form> </el-form>
@ -47,6 +88,11 @@
<script> <script>
import { listEmisTmsTransPlan, getEmisTmsTransPlan, delEmisTmsTransPlan, addEmisTmsTransPlan, updateEmisTmsTransPlan } from "@/api/emis/emisTmsTransPlan"; import { listEmisTmsTransPlan, getEmisTmsTransPlan, delEmisTmsTransPlan, addEmisTmsTransPlan, updateEmisTmsTransPlan } from "@/api/emis/emisTmsTransPlan";
import TransLinePicker from '@/views/emis/EmisBaseTools/TransLinePicker.vue'; 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 { export default {
name: "emisTmsTransPlanForm", name: "emisTmsTransPlanForm",
@ -55,8 +101,15 @@ export default {
type:Number type:Number
} }
}, },
components: { TransLinePicker }, components: {
dicts: [ TransLinePicker,
PlanDtlPanel,
CountryPickerStart,
CountryPickerDest,
TransProductPicker,
XdSteps
},
dicts: ['emis_biz_shipping_method'
], ],
data() { data() {
return { return {
@ -65,6 +118,8 @@ export default {
loading: true, loading: true,
// 表单参数 // 表单参数
form: {}, form: {},
stepsLabel:[],
stepsDesc:[],
// 表单校验 // 表单校验
rules: { rules: {
id: [ id: [
@ -96,9 +151,12 @@ export default {
this.loading = false; this.loading = false;
}); });
}else{ }else{
this.form.status="1";
this.reset(); this.reset();
} }
// this.getTreeselect(); },
onStepChange(){
}, },
// 取消按钮 // 取消按钮
cancel() { cancel() {
@ -121,7 +179,8 @@ export default {
updateTime: null, updateTime: null,
remark: null, remark: null,
createSite: null, createSite: null,
updateSite: null updateSite: null,
stepList:[],
}; };
this.resetForm("form"); this.resetForm("form");
}, },
@ -147,3 +206,19 @@ export default {
} }
}; };
</script> </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> <span v-text="getIndex(scope.$index)"> </span>
</template> </template>
</el-table-column> </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="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"> <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> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('所属线路')" align="center" prop="transLineType" min-width="100" /> <el-table-column :label="$t('所属线路')" align="center" prop="transLineTypeName" min-width="100" >
<el-table-column :label="$t('所属产品')" align="center" prop="productType" min-width="100" /> <template slot-scope="scope">
<el-table-column :label="$t('起始国')" align="center" prop="startCountry" min-width="100" /> <div >{{scope.row.transLineTypeName}}</div>
<el-table-column :label="$t('目的国')" align="center" prop="destCountry" min-width="100" /> </template>
<el-table-column :label="$t('累计时效')" align="center" prop="destCountry" min-width="100" /> </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="createTime" min-width="170" />
<el-table-column :label="$t('启用状态')" align="center" prop="status" min-width="100" > <el-table-column :label="$t('启用状态')" align="center" prop="status" min-width="100" >
@ -179,24 +159,17 @@
</el-table-column> </el-table-column>
</XdTable> </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> <emisTmsTransPlanForm :id="currentId" @on-changed="handleFormChanged" @on-cancel="cancelForm"></EmisTmsTransPlanForm>
</el-dialog> </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> </div>
</template> </template>
<script> <script>
import { listEmisTmsTransPlan, getEmisTmsTransPlan, delEmisTmsTransPlan, addEmisTmsTransPlan, updateEmisTmsTransPlan } from "@/api/emis/emisTmsTransPlan"; import { listEmisTmsTransPlan, getEmisTmsTransPlan, delEmisTmsTransPlan, addEmisTmsTransPlan, updateEmisTmsTransPlan } from "@/api/emis/emisTmsTransPlan";
import elDateSimplePicker from '@/components/DatePickerAdv/elDateSimplePicker'; import elDateSimplePicker from '@/components/DatePickerAdv/elDateSimplePicker';
// import emisTmsTransPlanView from '@/views/emis/emisTmsTransPlan/emisTmsTransPlanView';
import emisTmsTransPlanForm from '@/views/emis/emisTmsTransPlan/emisTmsTransPlanForm'; import emisTmsTransPlanForm from '@/views/emis/emisTmsTransPlan/emisTmsTransPlanForm';
export default { export default {