Commit 56bbdc0d authored by 我在何方's avatar 我在何方

重货异常字段修改

parents ddcebbe6 129dda9f
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
NODE_ENV = 'production' NODE_ENV = 'production'
# 页面标题 # 页面标题
VUE_APP_TITLE = 捷道管理系统 VUE_APP_TITLE = 捷道管理系统 - 测试版
# 捷道管理系统/开发环境 # 捷道管理系统/开发环境
VUE_APP_BASE_API = 'https://api.jd.jdshangmen.com' VUE_APP_BASE_API = 'https://api.jd.jdshangmen.com'
...@@ -18,4 +18,4 @@ VUE_APP_TENANT_ENABLE = false ...@@ -18,4 +18,4 @@ VUE_APP_TENANT_ENABLE = false
VUE_APP_DOC_ENABLE = true VUE_APP_DOC_ENABLE = true
# 百度统计 # 百度统计
VUE_APP_BAIDU_CODE = fadc1bd5db1a1d6f581df60a1807f8ab VUE_APP_BAIDU_CODE = fadc1bd5db1a1d6f581df60a1807f8ab
\ No newline at end of file
...@@ -2,15 +2,11 @@ ...@@ -2,15 +2,11 @@
ENV = 'development' ENV = 'development'
# 页面标题 # 页面标题
VUE_APP_TITLE = 捷道管理系统 VUE_APP_TITLE = 捷道管理系统-测试站
# 捷道管理系统/开发环境 # 捷道管理系统/开发环境
#VUE_APP_BASE_API = 'https://jd.admtest.jdshangmen.com'
VUE_APP_BASE_API = 'https://api.jd.jdshangmen.com'
#VUE_APP_BASE_API = 'http://localhost:48080'
#VUE_APP_BASE_API = 'https://api2.groupage.cn'
# VUE_APP_BASE_API = '/api' VUE_APP_BASE_API = 'https://api.jd.jdshangmen.com'
# 路由懒加载 # 路由懒加载
VUE_CLI_BABEL_TRANSPILE_MODULES = true VUE_CLI_BABEL_TRANSPILE_MODULES = true
...@@ -22,4 +18,4 @@ VUE_APP_TENANT_ENABLE = false ...@@ -22,4 +18,4 @@ VUE_APP_TENANT_ENABLE = false
VUE_APP_DOC_ENABLE = true VUE_APP_DOC_ENABLE = true
# 百度统计 # 百度统计
VUE_APP_BAIDU_CODE = fadc1bd5db1a1d6f581df60a1807f8ab VUE_APP_BAIDU_CODE = fadc1bd5db1a1d6f581df60a1807f8ab
\ No newline at end of file
...@@ -191,6 +191,7 @@ export function zipDownload(params) { ...@@ -191,6 +191,7 @@ export function zipDownload(params) {
url: "/shipment/make-bill-of-lading/zipDownload", url: "/shipment/make-bill-of-lading/zipDownload",
responseType: "blob", responseType: "blob",
method: "get", method: "get",
timeout: 30000,
params, params,
}); });
} }
......
...@@ -498,3 +498,10 @@ export function updateApply(data){ ...@@ -498,3 +498,10 @@ export function updateApply(data){
data data
}) })
} }
export function warehousePictureList(data){
return request({
url:'/order/warehouse-picture/list',
method:'post',
data
})
}
...@@ -3,11 +3,15 @@ ...@@ -3,11 +3,15 @@
<transition name="sidebarLogoFade"> <transition name="sidebarLogoFade">
<router-link v-if="collapse" key="collapse" class="sidebar-logo-link" to="/"> <router-link v-if="collapse" key="collapse" class="sidebar-logo-link" to="/">
<img v-if="logo" :src="logo" class="sidebar-logo" /> <img v-if="logo" :src="logo" class="sidebar-logo" />
<h1 v-else class="sidebar-title" :style="{ color: sideTheme === 'theme-dark' ? variables.logoTitleColor : variables.logoLightTitleColor }">{{ title }} </h1> <h1 v-else class="sidebar-title" :style="{ color: sideTheme === 'theme-dark' ? variables.logoTitleColor : variables.logoLightTitleColor }">
{{ title }}
</h1>
</router-link> </router-link>
<router-link v-else key="expand" class="sidebar-logo-link" to="/"> <router-link v-else key="expand" class="sidebar-logo-link" to="/">
<img v-if="logo" :src="logo" class="sidebar-logo" /> <img v-if="logo" :src="logo" class="sidebar-logo" />
<h1 class="sidebar-title" :style="{ color: sideTheme === 'theme-dark' ? variables.logoTitleColor : variables.logoLightTitleColor }">{{ title }} </h1> <h1 class="sidebar-title" :style="{ color: sideTheme === 'theme-dark' ? variables.logoTitleColor : variables.logoLightTitleColor }">
{{ title }}
</h1>
</router-link> </router-link>
</transition> </transition>
</div> </div>
...@@ -33,9 +37,12 @@ export default { ...@@ -33,9 +37,12 @@ export default {
return this.$store.state.settings.sideTheme return this.$store.state.settings.sideTheme
} }
}, },
created(){
console.log('process.env', process.env)
},
data() { data() {
return { return {
title: '捷道管理系统', title: process.env.VUE_APP_TITLE,
logo: logoImg logo: logoImg
} }
} }
......
...@@ -256,10 +256,12 @@ export default { ...@@ -256,10 +256,12 @@ export default {
unload_container: { unload_container: {
component: "shippingDetail", component: "shippingDetail",
processId: this.processInstance.businessKey, processId: this.processInstance.businessKey,
type: "unload_container",
}, },
close_container: { close_container: {
component: "shippingDetail", component: "shippingDetail",
processId: this.processInstance.businessKey, processId: this.processInstance.businessKey,
type: "close_container",
}, },
shipment_preassemble: { shipment_preassemble: {
component: "shippingDetail", component: "shippingDetail",
......
...@@ -119,11 +119,11 @@ ...@@ -119,11 +119,11 @@
{{$t('操作')}}<i class="el-icon-arrow-down el-icon--right"></i> {{$t('操作')}}<i class="el-icon-arrow-down el-icon--right"></i>
</el-button> </el-button>
<el-dropdown-menu slot="dropdown"> <el-dropdown-menu slot="dropdown">
<el-dropdown-item :disabled="scope.row.ldStatus>=46" command="edit">{{$t('编辑')}}</el-dropdown-item> <!-- <el-dropdown-item :disabled="scope.row.ldStatus>=46" command="edit">{{$t('编辑')}}</el-dropdown-item> -->
<el-dropdown-item command="sea">{{$t('操作-海运')}}</el-dropdown-item> <el-dropdown-item command="sea">{{$t('操作-海运')}}</el-dropdown-item>
<el-dropdown-item command="error">{{$t('异常登记')}}</el-dropdown-item> <el-dropdown-item command="error">{{$t('异常登记')}}</el-dropdown-item>
<el-dropdown-item command="cost">{{$t('费用登记')}}</el-dropdown-item> <el-dropdown-item command="cost">{{$t('费用登记')}}</el-dropdown-item>
<el-dropdown-item command="delete">{{$t('删除')}}</el-dropdown-item> <!-- <el-dropdown-item command="delete">{{$t('删除')}}</el-dropdown-item> -->
<el-dropdown-item :disabled="scope.row.ldStatus<46" command="editLadingBill">{{$t('编辑提货单')}}</el-dropdown-item> <el-dropdown-item :disabled="scope.row.ldStatus<46" command="editLadingBill">{{$t('编辑提货单')}}</el-dropdown-item>
</el-dropdown-menu> </el-dropdown-menu>
</el-dropdown> </el-dropdown>
...@@ -145,7 +145,7 @@ ...@@ -145,7 +145,7 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- 分页组件 --> <!-- 分页组件 -->
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.page" :limit.sync="queryParams.pageSize" @pagination="getList" @current-change="pageChange" /> <pagination v-show="total > 0" :total="total" :page.sync="queryParams.page" :limit.sync="queryParams.rows" @pagination="getList" />
<!-- 对话框(添加 / 修改) --> <!-- 对话框(添加 / 修改) -->
<el-dialog :title="dialogCfg.title" :visible.sync="dialogCfg.open" :width="dialogCfg.width" :fullscreen="dialogCfg.fullscreen" append-to-body class="shippingSea-dialog"> <el-dialog :title="dialogCfg.title" :visible.sync="dialogCfg.open" :width="dialogCfg.width" :fullscreen="dialogCfg.fullscreen" append-to-body class="shippingSea-dialog">
...@@ -258,7 +258,7 @@ export default { ...@@ -258,7 +258,7 @@ export default {
// 查询参数 // 查询参数
queryParams: { queryParams: {
page: 1, page: 1,
pageSize: 10, rows: 10,
}, },
cabinetList: [], cabinetList: [],
warehouseList: [], warehouseList: [],
......
...@@ -137,7 +137,7 @@ ...@@ -137,7 +137,7 @@
</el-table-column> </el-table-column>
</el-table> </el-table>
<!-- 分页组件 --> <!-- 分页组件 -->
<pagination v-show="total > 0" :total="total" :page.sync="queryParams.page" :limit.sync="queryParams.pageSize" @pagination="getList" @current-change="pageChange" /> <pagination v-show="total > 0" :total="total" :page.sync="queryParams.page" :limit.sync="queryParams.rows" @pagination="getList" />
<!-- 对话框(添加 / 修改) --> <!-- 对话框(添加 / 修改) -->
<el-dialog :title="dialogCfg.title" :visible.sync="dialogCfg.open" :width="dialogCfg.width" :fullscreen="dialogCfg.fullscreen" append-to-body class="shippingSea-dialog"> <el-dialog :title="dialogCfg.title" :visible.sync="dialogCfg.open" :width="dialogCfg.width" :fullscreen="dialogCfg.fullscreen" append-to-body class="shippingSea-dialog">
...@@ -250,7 +250,7 @@ export default { ...@@ -250,7 +250,7 @@ export default {
// 查询参数 // 查询参数
queryParams: { queryParams: {
page: 1, page: 1,
pageSize: 10, rows: 10,
}, },
cabinetList: [], cabinetList: [],
channelList: [], channelList: [],
......
...@@ -15,9 +15,9 @@ ...@@ -15,9 +15,9 @@
<section class="table-goodList"> <section class="table-goodList">
<div v-for="(item, index) in scope.row.orderItemList" :key="index" class="goodList-div"> <div v-for="(item, index) in scope.row.orderItemList" :key="index" class="goodList-div">
<p>{{$t('品名')}}{{$l(item, 'prodTitle')}}</p> <p>{{$t('品名')}}{{$l(item, 'prodTitle')}}</p>
<p>{{$t('品牌')}}:【 <p>{{$t('品牌')}}:【<template v-if="item.brandName">{{item.brandName}}</template>
<span v-if="item.feeType === 0">{{ $t('无品牌') }}</span> <dict-tag v-else :type="DICT_TYPE.ECW_IS_BRAND" :value="item.feeType" />{{ $t('】') }}
<dict-tag v-else :type="DICT_TYPE.PRODUCT_RECORD_ATTRIBUTE" :value="item.feeType" />{{ $t('') }}</p> </p>
<p>{{$t('其他')}}:{{getTotlContent(item)}}</p> <p>{{$t('其他')}}:{{getTotlContent(item)}}</p>
</div> </div>
</section> </section>
...@@ -77,8 +77,8 @@ ...@@ -77,8 +77,8 @@
</el-col> </el-col>
</el-row> </el-row>
<el-dialog :title="dialogCfg.title" :visible.sync="dialogCfg.visible" :width="dialogCfg.width" :fullscreen="dialogCfg.fullscreen" append-to-body class="shippingSea-dialog"> <el-dialog :title="dialogCfg.title" :visible.sync="dialogCfg.visible" :width="dialogCfg.width" :fullscreen="dialogCfg.fullscreen" append-to-body class="shippingSea-dialog" @closed="dialogclosed">
<makeLadingBill v-if="['makeBill','queryBill','resetBill'].includes(dialogCfg.type)" :currData="currData" :currRow="currRow" :dialogCfg="dialogCfg" @closeDialog="closeDialog" :selfNo="shipmentObj.selfNo" /> <makeLadingBill v-if="dialogCfg.visible && ['makeBill','queryBill','resetBill'].includes(dialogCfg.type)" :currData="currData" :currRow="currRow" :dialogCfg="dialogCfg" @closeDialog="closeDialog" :selfNo="shipmentObj.selfNo" />
<previewBill v-if="dialogCfg.type === 'previewBill'" :contentHtml="currData.billContent" :currRow="currRow" :type="dialogCfg.type" /> <previewBill v-if="dialogCfg.type === 'previewBill'" :contentHtml="currData.billContent" :currRow="currRow" :type="dialogCfg.type" />
</el-dialog> </el-dialog>
</el-row> </el-row>
...@@ -126,6 +126,7 @@ export default { ...@@ -126,6 +126,7 @@ export default {
}, },
// 模板内容 // 模板内容
billContent: "", billContent: "",
handleType: "",
}; };
}, },
created() { created() {
...@@ -163,7 +164,13 @@ export default { ...@@ -163,7 +164,13 @@ export default {
this.$emit("closeDialog"); this.$emit("closeDialog");
} }
}, },
dialogclosed() {
if (this.handleType === "resetBill") {
this.getBillList();
}
},
handleCommand(type, row) { handleCommand(type, row) {
this.handleType = type;
switch (type) { switch (type) {
case "previewBill": case "previewBill":
this.getBill(row); this.getBill(row);
...@@ -241,7 +248,7 @@ export default { ...@@ -241,7 +248,7 @@ export default {
computed: { computed: {
/* 总计 */ /* 总计 */
getSumData() { getSumData() {
return `${this.billData.totalNum ?? 0}${this.$t('')} ${ return `${this.billData.totalNum ?? 0}${this.$t("")} ${
this.billData.totalVolume ?? 0 this.billData.totalVolume ?? 0
}m³ ${this.billData.totalWeight ?? 0}kg`; }m³ ${this.billData.totalWeight ?? 0}kg`;
}, },
......
...@@ -5,11 +5,11 @@ ...@@ -5,11 +5,11 @@
<div style="display: flex; justify-content: space-between;align-items: flex-end;"> <div style="display: flex; justify-content: space-between;align-items: flex-end;">
<h2>{{$t('出货详情')}}</h2> <h2>{{$t('出货详情')}}</h2>
<div> <div>
<el-button size="small" @click="handleCommand('edit')">{{$t('编辑')}}</el-button> <!-- <el-button size="small" @click="handleCommand('edit')">{{$t('编辑')}}</el-button> -->
<el-button size="small" @click="handleCommand('router')">{{$t('操作')}}</el-button> <el-button size="small" @click="handleCommand('router')">{{$t('操作')}}</el-button>
<el-button type="primary" size="small" @click="handleCommand('error')">{{$t('异常登记')}}</el-button> <el-button type="primary" size="small" @click="handleCommand('error')">{{$t('异常登记')}}</el-button>
<el-button type="primary" size="small" @click="handleCommand('cost')">{{$t('费用登记')}}</el-button> <el-button type="primary" size="small" @click="handleCommand('cost')">{{$t('费用登记')}}</el-button>
<el-button type="danger" size="small" @click="handleCommand('delete')">{{$t('删除')}}</el-button> <!-- <el-button type="danger" size="small" @click="handleCommand('delete')">{{$t('删除')}}</el-button> -->
</div> </div>
</div> </div>
<el-card style="margin-top: 15px"> <el-card style="margin-top: 15px">
...@@ -157,9 +157,9 @@ ...@@ -157,9 +157,9 @@
<dict-tag :type="DICT_TYPE.BOX_SHIPPING_TICKET_EXCEPTION" :value="scope.row.billAbnId" /> <dict-tag :type="DICT_TYPE.BOX_SHIPPING_TICKET_EXCEPTION" :value="scope.row.billAbnId" />
</template> </template>
</el-table-column> </el-table-column>
<el-table-column prop="abnDetail" :label="$t('异常描述')" align="center" width="700"></el-table-column> <el-table-column prop="abnDetail" :label="$t('异常描述')" align="center" width="300"></el-table-column>
<el-table-column prop="delayDays" :label="$t('异常延迟天数')" align="center"></el-table-column> <el-table-column prop="delayDays" :label="$t('异常延迟天数')" align="center"></el-table-column>
<el-table-column prop="" :label="$t('异常时间')" align="center" width="300"> <el-table-column prop="" :label="$t('异常时间')" align="center" width="200">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.abnStartTime">{{formatDate(scope.row.abnStartTime)}} - </span> <span v-if="scope.row.abnStartTime">{{formatDate(scope.row.abnStartTime)}} - </span>
<span v-if="scope.row.abnEndTime">{{formatDate(scope.row.abnEndTime)}}</span> <span v-if="scope.row.abnEndTime">{{formatDate(scope.row.abnEndTime)}}</span>
......
...@@ -31,6 +31,19 @@ ...@@ -31,6 +31,19 @@
</div> </div>
</div> </div>
<div v-if="(type === 'unload_container' || type === 'close_container') && srcStrs" style="marginTop:15px">
<h1>{{$t('图片')}}</h1>
<!-- <ImagePreview :src="srcStrs" :width="146" :height="146" /> -->
<div style="display:flex">
<el-image v-for="(srcStr, i) in srcStrs" :key="i" :src="srcStr" fit="cover" style="width:146px;height:146px;margin-right:10px" :preview-src-list="[srcStr]">
<div slot="error" class="image-slot">
<i class="el-icon-picture-outline"></i>
</div>
</el-image>
</div>
</div>
<el-dialog :title="dialogConfig.title" :visible.sync="dialogConfig.visible" fullscreen :modal-append-to-body=false append-to-body> <el-dialog :title="dialogConfig.title" :visible.sync="dialogConfig.visible" fullscreen :modal-append-to-body=false append-to-body>
<el-descriptions :column="6" border> <el-descriptions :column="6" border>
<el-descriptions-item :label="$t('自编号')">{{boxBackVO.selfNo}}</el-descriptions-item> <el-descriptions-item :label="$t('自编号')">{{boxBackVO.selfNo}}</el-descriptions-item>
...@@ -91,23 +104,23 @@ ...@@ -91,23 +104,23 @@
<script> <script>
import { approvalDetail } from "@/api/ecw/box"; import { approvalDetail } from "@/api/ecw/box";
import { import { getSeaStatus, getTotlContent } from "./shippingSea/utils";
getSeaStatus,
getTotlContent,
} from "./shippingSea/utils";
import { getCabinetPage } from "@/api/ecw/cabinet"; import { getCabinetPage } from "@/api/ecw/cabinet";
import { getChannelList } from "@/api/ecw/channel"; import { getChannelList } from "@/api/ecw/channel";
import Decimal from "decimal.js"; import Decimal from "decimal.js";
import ImagePreview from "@/components/ImagePreview";
/** /**
* 出货审核详情 * 出货审核详情
*/ */
export default { export default {
name: "shippingDetail", name: "shippingDetail",
components: { ImagePreview },
props: { props: {
processId: { processId: {
type: [Number, String], type: [Number, String],
}, },
type: String,
}, },
data() { data() {
return { return {
...@@ -123,6 +136,7 @@ export default { ...@@ -123,6 +136,7 @@ export default {
title: "", title: "",
visible: false, visible: false,
}, },
srcStrs: [],
}; };
}, },
created() { created() {
...@@ -136,6 +150,17 @@ export default { ...@@ -136,6 +150,17 @@ export default {
this.approvalInfo = res.data.approvalInfo; this.approvalInfo = res.data.approvalInfo;
this.boxBackVO = res.data.boxBackVO; this.boxBackVO = res.data.boxBackVO;
this.loadDetail = res.data.loadDetail; this.loadDetail = res.data.loadDetail;
if (this.type === "close_container" && res.data.cabinetVO) {
const ldPictures = res.data.cabinetVO.ldPictures
? JSON.parse(res.data.cabinetVO.ldPictures)
: [];
this.srcStrs = ldPictures.map((item) => item.url);
}
if (this.type === "unload_container" && res.data.cabinetUnloadVO) {
this.srcStrs = res.data.cabinetUnloadVO.ulImgs
? res.data.cabinetUnloadVO.ulImgs.split(",")
: [];
}
}); });
}, },
/* 获取柜型 */ /* 获取柜型 */
...@@ -155,7 +180,7 @@ export default { ...@@ -155,7 +180,7 @@ export default {
this.$set( this.$set(
this.dialogConfig, this.dialogConfig,
"title", "title",
`${this.boxBackVO.selfNo} ` + this.$t('订单列表') `${this.boxBackVO.selfNo} ` + this.$t("订单列表")
); );
this.$set(this.dialogConfig, "visible", true); this.$set(this.dialogConfig, "visible", true);
}, },
...@@ -190,7 +215,7 @@ export default { ...@@ -190,7 +215,7 @@ export default {
return (shippingChannelId) => { return (shippingChannelId) => {
for (const channelItem of this.channelList) { for (const channelItem of this.channelList) {
if (channelItem.channelId == shippingChannelId) { if (channelItem.channelId == shippingChannelId) {
return this.$l(channelItem, 'name'); return this.$l(channelItem, "name");
} }
} }
}; };
...@@ -212,4 +237,25 @@ export default { ...@@ -212,4 +237,25 @@ export default {
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
.el-image {
border-radius: 5px;
background-color: #ebeef5;
box-shadow: 0 0 5px 1px #ccc;
::v-deep .el-image__inner {
transition: all 0.3s;
cursor: pointer;
&:hover {
transform: scale(1.2);
}
}
::v-deep .image-slot {
display: flex;
justify-content: center;
align-items: center;
width: 100%;
height: 100%;
color: #909399;
font-size: 30px;
}
}
</style> </style>
...@@ -101,18 +101,20 @@ export default { ...@@ -101,18 +101,20 @@ export default {
} }
const { ldPictures } = this.cabinetObj; const { ldPictures } = this.cabinetObj;
let pictures = ldPictures?.split(",") ?? []; let pictures = ldPictures?.split(",") ?? [];
// 兼容手机端数据结构 let newPictures = [];
pictures = pictures.map((item) => { for (const item of pictures) {
return { if (item) {
type: "image", newPictures.push({
url: item, type: "image",
}; url: item,
}); });
}
}
cabinetCreate({ cabinetCreate({
shipmentId: this.$attrs.shipmentObj.id, shipmentId: this.$attrs.shipmentObj.id,
...this.cabinetObj, ...this.cabinetObj,
ldPictures: JSON.stringify(pictures), ldPictures: newPictures.length ? JSON.stringify(newPictures) : "",
operateType, operateType,
}).then((res) => { }).then((res) => {
serviceMsg(res, this).then(() => { serviceMsg(res, this).then(() => {
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
<el-input :placeholder="$t('请输入联系方式')" v-model="queryParams.defaultContactPhone"></el-input> <el-input :placeholder="$t('请输入联系方式')" v-model="queryParams.defaultContactPhone"></el-input>
</el-form-item> </el-form-item>
<el-form-item :label="$t('客户类别')" prop="level"> <el-form-item :label="$t('客户类别')" prop="level">
<dict-selector :type="DICT_TYPE.CUSTOMER_TYPE" v-model="queryParams.type"></dict-selector> <dict-selector clearable :type="DICT_TYPE.CUSTOMER_TYPE" v-model="queryParams.type" ></dict-selector>
</el-form-item> </el-form-item>
<el-form-item :label="$t('客户经理')" prop="customerService"> <el-form-item :label="$t('客户经理')" prop="customerService">
<el-select clearable v-model="queryParams.customerService" :placeholder="$t('请选择客户经理')" clearable size="small"> <el-select clearable v-model="queryParams.customerService" :placeholder="$t('请选择客户经理')" clearable size="small">
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="$t('客户来源')" prop="source"> <el-form-item :label="$t('客户来源')" prop="source">
<el-select clearable v-model="queryParams.source" :placeholder="$t('请选择客户来源')" clearable size="small"> <el-select clearable v-model="queryParams.source" :placeholder="$t('请选择客户来源')" size="small">
<el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_SOURCE)" <el-option v-for="dict in getDictDatas(DICT_TYPE.CUSTOMER_SOURCE)"
:key="dict.value" :label="isChinese ? dict.label : dict.labelEn" :value="dict.value"/> :key="dict.value" :label="isChinese ? dict.label : dict.labelEn" :value="dict.value"/>
</el-select> </el-select>
......
...@@ -57,7 +57,7 @@ ...@@ -57,7 +57,7 @@
{{ row.consignorName }} {{ row.consignorName }}
</p> </p>
<p> <p>
+{{row.consignorCountryCode}}{{row.consignorPhone}} +{{row.consignorCountryCode}} {{row.consignorPhone}}
</p> </p>
</div> </div>
</div> </div>
...@@ -70,7 +70,7 @@ ...@@ -70,7 +70,7 @@
{{ row.consigneeName }} {{ row.consigneeName }}
</p> </p>
<p> <p>
+{{row.consigneeCountryCode}}{{ row.consigneePhone}} +{{row.consigneeCountryCode}} {{ row.consigneePhone}}
</p> </p>
</div> </div>
</template> </template>
...@@ -79,7 +79,7 @@ ...@@ -79,7 +79,7 @@
<el-row style="margin-top: 30px"> <el-row style="margin-top: 30px">
<el-col :span="8"> <el-col :span="8">
<div style="text-align: right;"> <div style="text-align: right;">
{{ list[0] && list[0].adjustToStartWarehouseName ? list[0].adjustToStartWarehouseName : list[0] ? [14,16,15].includes(this.list[0].status) ? list[0].dstWarehouseName : list[0].startWarehouseName : '' }} {{ list[0] && list[0].adjustToDestWarehouseName ? list[0].adjustToDestWarehouseName : list[0] ? [14,16,15].includes(this.list[0].status) ? list[0].dstWarehouseName : list[0].startWarehouseName : '' }}
</div> </div>
</el-col> </el-col>
<el-col :span="3"><div style="text-align:center"> <el-col :span="3"><div style="text-align:center">
...@@ -108,6 +108,20 @@ ...@@ -108,6 +108,20 @@
{{STATUS[row.status]}} {{STATUS[row.status]}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('出仓影像')">
<template v-slot="{row}">
<warehouse-video-list :modal="false" :status="2" :item ="row"></warehouse-video-list>
</template>
</el-table-column>
<el-table-column :label="$t('入仓影像')">
<template v-slot="{row}">
<warehouse-video-list :modal="false" :status="3" :item ="row"></warehouse-video-list>
</template>
</el-table-column>
<el-table-column :label="$t('调拨出仓备注')" prop="deliveryRemark">
</el-table-column>
<el-table-column :label="$t('调拨到仓备注')" prop="arrivalRemark">
</el-table-column>
</el-table> </el-table>
</el-card> </el-card>
<el-divider contentPosition="left">{{$t('审批流程')}}</el-divider> <el-divider contentPosition="left">{{$t('审批流程')}}</el-divider>
...@@ -145,6 +159,7 @@ import workFlow from "@/components/WorkFlow"; ...@@ -145,6 +159,7 @@ import workFlow from "@/components/WorkFlow";
import Template from "@/views/cms/template"; import Template from "@/views/cms/template";
import {arrryToKeyedObjectBy} from "@/utils"; import {arrryToKeyedObjectBy} from "@/utils";
import {getChannelList} from "@/api/ecw/channel"; import {getChannelList} from "@/api/ecw/channel";
import WarehouseVideoList from "@/views/ecw/order/components/warehouse-video-list.vue";
export default { export default {
name: "batchSingleApplication", name: "batchSingleApplication",
...@@ -156,6 +171,7 @@ export default { ...@@ -156,6 +171,7 @@ export default {
} }
}, },
components: { components: {
WarehouseVideoList,
Template, Template,
warehouseDetails, warehouseDetails,
workFlow workFlow
...@@ -223,7 +239,7 @@ export default { ...@@ -223,7 +239,7 @@ export default {
getOrderListFn() { getOrderListFn() {
getOrderPage({orderIdList: this.orderList}).then(r => { getOrderPage({orderIdList: this.orderList}).then(r => {
this.list = r.data.list this.list = r.data.list
warehouseAdjustmentList({id: this.list[0].adjustToStartWarehouseId ? this.list[0].adjustToStartWarehouseId :[14,16,15].includes(this.list[0].status) ? this.list[0].dstWarehouseId : this.list[0].startWarehouseId }).then(r => this.availableWarehouse = r.data) warehouseAdjustmentList({id: this.list[0].adjustToDestWarehouseId ? this.list[0].adjustToDestWarehouseId :[14,16,15].includes(this.list[0].status) ? this.list[0].dstWarehouseId : this.list[0].startWarehouseId }).then(r => this.availableWarehouse = r.data)
adjustLastWithStatus({orderId:this.list[0].orderId,lang:0}).then(r =>{ adjustLastWithStatus({orderId:this.list[0].orderId,lang:0}).then(r =>{
this.applyStatus = r.data this.applyStatus = r.data
if(r.data?.orderWarehouseAdjustBackVO?.status === 1){ if(r.data?.orderWarehouseAdjustBackVO?.status === 1){
...@@ -235,7 +251,7 @@ export default { ...@@ -235,7 +251,7 @@ export default {
submit() { submit() {
let p = this.list.map(e => e.orderId).join(','); let p = this.list.map(e => e.orderId).join(',');
this.params.orderIds = p; this.params.orderIds = p;
this.params.warehouseOutId = this.list[0].adjustToStartWarehouseId ? this.list[0].adjustToStartWarehouseId : [14,16,15].includes(this.list[0].status) ? this.list[0].dstWarehouseId : this.list[0].startWarehouseId; this.params.warehouseOutId = this.list[0].adjustToDestWarehouseId ? this.list[0].adjustToDestWarehouseId : [14,16,15].includes(this.list[0].status) ? this.list[0].dstWarehouseId : this.list[0].startWarehouseId;
this.params.orderNo = this.list[0].orderNo this.params.orderNo = this.list[0].orderNo
orderWarehouseInAdjustApply(this.params).then(r => { orderWarehouseInAdjustApply(this.params).then(r => {
if (r.code === 0) { if (r.code === 0) {
......
<template>
<div v-if="list.length">
<el-button type="text" @click="dialogVisible = true">查看图片</el-button>
<el-dialog
:modal="modal"
title="提示"
:visible.sync="dialogVisible"
width="50%">
<div style="display: flex;flex-wrap: wrap;">
<div v-for="item in list" style="padding: 10px"><el-image
style="width: 100px; height: 100px"
:src="item"
:preview-src-list="list">
</el-image></div>
</div>
</el-dialog>
</div>
</template>
<script>
import {warehousePictureList} from "@/api/ecw/order";
export default {
props:{
item:{
type:Object,
default:{}
},
status:Number,
modal:{
type:Boolean,
default: true,
}
},
name: "warehouse-video-list",
data(){
return {
dialogVisible:false,
list:[],
}
},
mounted() {
this.warehousePictureListFn()
},
methods:{
warehousePictureListFn(){
let p = {bizId:this.item.id,type:this.status}
warehousePictureList(p).then(r =>{
this.list = r.data.map(i =>i.url)
})
}
}
}
</script>
<style scoped>
</style>
...@@ -138,7 +138,7 @@ ...@@ -138,7 +138,7 @@
<ol> <ol>
<template v-for="item in FeeDetails.details.applyInfoVOList"> <template v-for="item in FeeDetails.details.applyInfoVOList">
<li v-if="item.orgValue === undefined">{{ item.name }}{{ item.newValue }}</li> <li v-if="item.orgValue === undefined">{{ item.name }}{{ item.newValue }}</li>
<li v-else-if="item.newValue === undefined">{{ $t('删除入仓') }}</li> <li v-else-if="item.newValue === undefined">{{ $t('删除入仓') }}{{ item.orgValue }}</li>
<li v-else-if="item.newValue !== item.orgValue">{{ item.name }}从【{{ item.orgValue }}】改为【{{ item.newValue }}</li> <li v-else-if="item.newValue !== item.orgValue">{{ item.name }}从【{{ item.orgValue }}】改为【{{ item.newValue }}</li>
</template> </template>
</ol> </ol>
......
This diff is collapsed.
...@@ -295,7 +295,7 @@ ...@@ -295,7 +295,7 @@
include(scope.row.inWarehouseState, [202, 207, 202, 209, 210, 202, 211, 212, 202, 213, 214, 215, 216, 204, 205]) && include(scope.row.inWarehouseState, [202, 207, 202, 209, 210, 202, 211, 212, 202, 213, 214, 215, 216, 204, 205]) &&
scope.row.status != 11 && exclude(scope.row.shipmentState, [314,315,317,318]) scope.row.status != 11 && exclude(scope.row.shipmentState, [314,315,317,318])
"> ">
<el-dropdown-item @click.native="$router.push('/order/warehousing-update?id=' + scope.row.orderId)" v-hasPermi="['ecw:order:update']" :disabled="scope.row.parentOrderId">{{$t('入仓修改')}}</el-dropdown-item> <el-dropdown-item @click.native="$router.push('/order/warehousing-update?id=' + scope.row.orderId)" v-hasPermi="['ecw:order:update']" :disabled2="scope.row.parentOrderId">{{$t('入仓修改')}}</el-dropdown-item>
</template> </template>
<!-- 退仓 --> <!-- 退仓 -->
......
...@@ -64,6 +64,20 @@ ...@@ -64,6 +64,20 @@
{{STATUS[row.status]}} {{STATUS[row.status]}}
</template> </template>
</el-table-column> </el-table-column>
<el-table-column :label="$t('出仓影像')">
<template v-slot="{row}">
<warehouse-video-list :status="2" :item ="row"></warehouse-video-list>
</template>
</el-table-column>
<el-table-column :label="$t('到仓影像')">
<template v-slot="{row}">
<warehouse-video-list :status="3" :item ="row"></warehouse-video-list>
</template>
</el-table-column>
<el-table-column :label="$t('调拨出仓备注')" prop="deliveryRemark">
</el-table-column>
<el-table-column :label="$t('调拨到仓备注')" prop="arrivalRemark">
</el-table-column>
</el-table> </el-table>
<el-descriptions style="margin-top: 20px" :column="4" border> <el-descriptions style="margin-top: 20px" :column="4" border>
<el-descriptions-item :label="$t('集运仓库')">{{ warehouseDetails && warehouseDetails.warehouseOutName ? warehouseDetails.warehouseOutName : '' }}</el-descriptions-item> <el-descriptions-item :label="$t('集运仓库')">{{ warehouseDetails && warehouseDetails.warehouseOutName ? warehouseDetails.warehouseOutName : '' }}</el-descriptions-item>
...@@ -97,7 +111,10 @@ ...@@ -97,7 +111,10 @@
:placeholder="$t('选择日期')"> :placeholder="$t('选择日期')">
</el-date-picker> </el-date-picker>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :label="$t('到仓日期')" v-if="type == 2"> <el-descriptions-item v-if="type == 2">
<template slot="label">
<span style="color: red;font-size: 20px;margin-right: 5px;">*</span>{{$t('到仓日期')}}
</template>
<el-date-picker <el-date-picker
value-format="yyyy-MM-dd HH:mm:ss" value-format="yyyy-MM-dd HH:mm:ss"
v-model="params.arrivalDate" v-model="params.arrivalDate"
...@@ -164,9 +181,11 @@ import warehouseLocation from "@/components/WarehouseAreaDialog"; ...@@ -164,9 +181,11 @@ import warehouseLocation from "@/components/WarehouseAreaDialog";
import imageUpload from "@/components/ImageUpload"; import imageUpload from "@/components/ImageUpload";
import {getProductBrankPage} from "@/api/ecw/productBrank"; import {getProductBrankPage} from "@/api/ecw/productBrank";
import {parseTime} from "@/utils/ruoyi"; import {parseTime} from "@/utils/ruoyi";
import WarehouseVideoList from "@/views/ecw/order/components/warehouse-video-list.vue";
export default { export default {
name: "transferWarehousing", name: "transferWarehousing",
components: { components: {
WarehouseVideoList,
ImageAndVideoUpload, ImageAndVideoUpload,
Template, Template,
ordeDetailsForm, ordeDetailsForm,
...@@ -224,7 +243,7 @@ export default { ...@@ -224,7 +243,7 @@ export default {
toWarehouseAbnormal(){ toWarehouseAbnormal(){
return { return {
arrivalDate: this.params.arrivalDate, arrivalDate: this.params.arrivalDate,
arrivalRemark: this.params.arrivalRemark, arrivalRemark: this.params.deliveryRemark,
descZh: this.params.descZh, descZh: this.params.descZh,
id: this.params.id, id: this.params.id,
manualExceptionType:this.params.manualExceptionType.join(','), manualExceptionType:this.params.manualExceptionType.join(','),
...@@ -237,7 +256,7 @@ export default { ...@@ -237,7 +256,7 @@ export default {
toWarehouse(){ toWarehouse(){
return { return {
arrivalDate: this.params.arrivalDate, arrivalDate: this.params.arrivalDate,
arrivalRemark: this.params.arrivalRemark, arrivalRemark: this.params.deliveryRemark,
id: this.params.id, id: this.params.id,
urls: this.params.urls, urls: this.params.urls,
...@@ -296,11 +315,11 @@ export default { ...@@ -296,11 +315,11 @@ export default {
if(this.type == 2){ if(this.type == 2){
this.params.deliveryDate = parseTime(this.warehouseDetails.deliveryDate) this.params.deliveryDate = parseTime(this.warehouseDetails.deliveryDate)
} }
orderWarehousePicturePage({rows:100,bizId:this.params.id,type:this.type == 1 ? 2 : 3 }).then(r => { // orderWarehousePicturePage({rows:100,bizId:this.params.id,type:this.type == 1 ? 2 : 3 }).then(r => {
if(r.code === 0){ // if(r.code === 0){
this.params.urls = r.data.list.map(e => e.url); // this.params.urls = r.data.list.map(e => e.url);
} // }
}) // })
}) })
getOrderWarehouseIn(this.orderId).then(r => { getOrderWarehouseIn(this.orderId).then(r => {
if(r.code === 0){ if(r.code === 0){
......
...@@ -201,7 +201,7 @@ import { ...@@ -201,7 +201,7 @@ import {
getOrderWarehouseIn, getOrderWarehouseIn,
getSpecialListByOrderId, listByOrderId, getSpecialListByOrderId, listByOrderId,
orderWarehouseInFinish, orderWarehouseInUpdateLabel, orderWarehouseInFinish, orderWarehouseInUpdateLabel,
rollbackDelete rollbackDelete, warehousePictureList
} from '@/api/ecw/order' } from '@/api/ecw/order'
import orderBaseInfo from "@/components/OrderBaseInfo" import orderBaseInfo from "@/components/OrderBaseInfo"
import WarehouseAreaDialog from '@/components/WarehouseAreaDialog' import WarehouseAreaDialog from '@/components/WarehouseAreaDialog'
...@@ -286,6 +286,14 @@ export default { ...@@ -286,6 +286,14 @@ export default {
}, },
methods: { methods: {
getWarehousePictureList(){
return warehousePictureList({
bizId: this.order.orderId,
type: 1
}).then(r =>{
this.form.urls = r.data.map(i =>i.url)
})
},
include(){ include(){
return (state, arr) => { return (state, arr) => {
return arr.indexOf(state) > -1 return arr.indexOf(state) > -1
...@@ -345,6 +353,7 @@ export default { ...@@ -345,6 +353,7 @@ export default {
this.getTowSum() this.getTowSum()
}).then(() => { }).then(() => {
this.getLabelByOrder() this.getLabelByOrder()
this.getWarehousePictureList()
}) })
}, },
specialHas0(){ specialHas0(){
......
<template> <template>
<div class="login"> <div class="login">
<el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form"> <el-form ref="loginForm" :model="loginForm" :rules="loginRules" class="login-form">
<h3 class="title">{{ $t('捷道后台管理系统') }}</h3> <h3 class="title">{{ title }}</h3>
<el-form-item prop="tenantName" v-if="tenantEnable"> <el-form-item prop="tenantName" v-if="tenantEnable">
<el-input v-model="loginForm.tenantName" type="text" auto-complete="off" placeholder='租户'> <el-input v-model="loginForm.tenantName" type="text" auto-complete="off" placeholder='租户'>
<svg-icon slot="prefix" icon-class="tree" class="el-input__icon input-icon" /> <svg-icon slot="prefix" icon-class="tree" class="el-input__icon input-icon" />
...@@ -68,6 +68,7 @@ export default { ...@@ -68,6 +68,7 @@ export default {
name: "Login", name: "Login",
data() { data() {
return { return {
title: process.env.VUE_APP_TITLE,
codeUrl: "", codeUrl: "",
captchaEnable: true, captchaEnable: true,
tenantEnable: false, tenantEnable: false,
......
...@@ -174,6 +174,9 @@ ...@@ -174,6 +174,9 @@
<!-- </el-select>--> <!-- </el-select>-->
<!--&lt;!&ndash; </template>&ndash;&gt;--> <!--&lt;!&ndash; </template>&ndash;&gt;-->
<!-- </el-table-column>--> <!-- </el-table-column>-->
<el-form-item :label="$t('区号')" prop="areaCode">
<el-input v-model="sendSmsForm.areaCode" :placeholder="$t('请输入区号')" />
</el-form-item>
<el-form-item :label="$t('手机号')" prop="mobile"> <el-form-item :label="$t('手机号')" prop="mobile">
<el-input v-model="sendSmsForm.mobile" :placeholder="$t('请输入手机号')" /> <el-input v-model="sendSmsForm.mobile" :placeholder="$t('请输入手机号')" />
</el-form-item> </el-form-item>
......
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