Commit 4d693a36 authored by lanbaoming's avatar lanbaoming

2024-05-21 提交

parent b5935f6b
...@@ -40,6 +40,24 @@ export function approveTask(data) { ...@@ -40,6 +40,24 @@ export function approveTask(data) {
}) })
} }
//lanbm 2024-05-20 add
export function approveTask2(data) {
return request({
url: '/bpm/task/approve2',
method: 'PUT',
data: data
})
}
//lanbm 2024-05-20 add
export function rejectTask2(data) {
return request({
url: '/bpm/task/reject2',
method: 'PUT',
data: data
})
}
export function rejectTask(data) { export function rejectTask(data) {
return request({ return request({
url: '/bpm/task/reject', url: '/bpm/task/reject',
......
import request from '@/utils/request'
//2024-05-18
export function getPageList(query) {
return request({
url: '/ecw/BankReceiptDetails/list',
method: 'get',
params: query
})
}
//测试功能使用的接口 lanbm 2024-05-20 add
export function test(query) {
return request({
//url: '/my/test/1',
url:"/ecw/BankReceiptDetails/test",
method: 'get',
params: query
})
}
\ No newline at end of file
This diff is collapsed.
...@@ -66,11 +66,23 @@ ...@@ -66,11 +66,23 @@
<el-button icon="el-icon-refresh" @click="resetQuery">{{ <el-button icon="el-icon-refresh" @click="resetQuery">{{
$t("重置") $t("重置")
}}</el-button> }}</el-button>
<el-button type="primary" @click="handleQuery2">{{
$t("批量通过")
}}</el-button>
<el-button type="primary" @click="handleQuery3">{{
$t("批量不通过")
}}</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<!-- 列表 --> <!-- 列表 -->
<el-table v-loading="loading" :data="list"> <el-table
v-loading="loading"
:data="list"
@selection-change="handleSelectionChange"
>
<el-table-column type="selection" width="55" align="center">
</el-table-column>
<el-table-column <el-table-column
:label="$t('流程编号')" :label="$t('流程编号')"
align="center" align="center"
...@@ -164,12 +176,28 @@ ...@@ -164,12 +176,28 @@
:limit.sync="queryParams.pageSize" :limit.sync="queryParams.pageSize"
@pagination="getList" @pagination="getList"
/> />
<el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="审批意见" prop="comment">
<el-input
v-model="form.comment"
style="width: 300px"
placeholder="请输入审批意见"
/>
</el-form-item>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm">确 定</el-button>
<el-button @click="cancel">取 消</el-button>
</div>
</el-dialog>
</div> </div>
</template> </template>
<script> <script>
import { getTodoTaskPage } from "@/api/bpm/task"; import { getTodoTaskPage } from "@/api/bpm/task";
import { cancelProcessInstance } from "@/api/bpm/processInstance"; import { cancelProcessInstance } from "@/api/bpm/processInstance";
import { approveTask2, rejectTask2 } from "@/api/bpm/task";
export default { export default {
//lanbm 2024-05-08 添加查询条件不清空优化 //lanbm 2024-05-08 添加查询条件不清空优化
name: "BpmTaskTodo", name: "BpmTaskTodo",
...@@ -193,6 +221,31 @@ export default { ...@@ -193,6 +221,31 @@ export default {
businessNo: null, businessNo: null,
category: null, category: null,
}, },
titleType: 1,
title: undefined,
open: false,
// 选中数组
ids: [],
BpmNameList: [],
// 非单个禁用
single: true,
// 非多个禁用
multiple: true,
// 表单参数
form: {
//审批意见
comment: undefined,
},
// 表单校验
rules: {
comment: [
{
required: true,
message: this.$t("审批意见不能为空。"),
trigger: "blur",
},
],
},
}; };
}, },
created() { created() {
...@@ -224,6 +277,101 @@ export default { ...@@ -224,6 +277,101 @@ export default {
this.queryParams.pageNo = 1; this.queryParams.pageNo = 1;
this.getList(); this.getList();
}, },
handleQuery2() {
//批量通过 lanbm 2024-05-20 add
if (this.ids.length == 0) {
this.$message.error(this.$t("请选择需要批量通过的任务。"));
return;
}
let firstName = this.BpmNameList[0];
for (var i = 0; i < this.BpmNameList.length; i++) {
if (firstName != this.BpmNameList[i]) {
this.$message.error(this.$t("您选择的任务不全是同一类流程。"));
return;
}
}
this.form.comment="";
this.title = "批量通过";
this.titleType = 1;
this.open = true;
},
handleQuery3() {
//批量不通过 lanbm 2024-05-20 add
if (this.ids.length == 0) {
//this.modal.msgSuccess
this.$message.error(this.$t("请选择需要批量不通过的任务。"));
return;
}
let firstName = this.BpmNameList[0];
for (var i = 0; i < this.BpmNameList.length; i++) {
if (firstName != this.BpmNameList[i]) {
this.$message.error(this.$t("您选择的任务不全是同一类流程。"));
return;
}
}
this.form.comment="";
this.title = "批量不通过";
this.titleType = 2;
this.open = true;
},
submitForm() {
this.$refs["form"].validate((valid) => {
if (!valid) {
return;
}
//approveTask2
if (this.titleType == 1) {
let p1 = [];
for (var i = 0; i < this.ids.length; i++) {
var obj = {};
obj.id = this.ids[i];
obj.comment = this.form.comment;
p1.push(obj);
}
approveTask2(p1).then((response) => {
if (response.data == true) {
this.open = false;
this.$modal.msgSuccess(this.$t("批量处理成功"));
this.getList();
} else {
this.open = false;
this.$modal.msgSuccess(this.$t("批量处理失败"));
}
});
} else {
let p2 = [];
for (var i = 0; i < this.ids.length; i++) {
var obj = {};
obj.id = this.ids[i];
obj.comment = this.form.comment;
p2.push(obj);
}
rejectTask2(p2).then((response) => {
if (response.data == true) {
this.open = false;
this.$modal.msgSuccess(this.$t("批量处理成功"));
this.getList();
} else {
this.open = false;
this.$modal.msgSuccess(this.$t("批量处理失败"));
}
});
}
});
},
cancel() {
this.title = "";
this.open = false;
},
handleSelectionChange(selection) {
//表格多选函数 lanbm 2024-05-20 add
//row.processInstance.id
this.BpmNameList = selection.map((item) => item.processInstance.name);
this.ids = selection.map((item) => item.processInstance.id);
this.single = selection.length !== 1;
this.multiple = !selection.length;
},
/** 重置按钮操作 */ /** 重置按钮操作 */
resetQuery() { resetQuery() {
this.dateRangeCreateTime = []; this.dateRangeCreateTime = [];
......
<template> <template>
<div class="app-costForm shippingSea-dialog"> <div class="app-costForm shippingSea-dialog">
<el-form ref="costForm" :model="costObj" :rules="rules" label-width="80px"> <el-form ref="costForm" :model="costObj" :rules="rules" label-width="120px">
<el-form-item :label="$t('操作步骤')" prop="opStepType"> <el-form-item :label="$t('操作步骤')" prop="opStepType">
<el-select v-model="costObj.opStepType" :placeholder="$t('请选择操作步骤')"> <el-select
<el-option v-for="type in getDictDatas(DICT_TYPE[this.process])" :key="type.value" :label="$l(type, 'label')" :value="type.value"></el-option> v-model="costObj.opStepType"
:placeholder="$t('请选择操作步骤')"
>
<el-option
v-for="type in getDictDatas(DICT_TYPE[this.process])"
:key="type.value"
:label="$l(type, 'label')"
:value="type.value"
></el-option>
</el-select> </el-select>
<!--<el-select v-if="flag=='seaAir'" v-model="costObj.opStepType" :placeholder="$t('请选择操作步骤')"> <!--<el-select v-if="flag=='seaAir'" v-model="costObj.opStepType" :placeholder="$t('请选择操作步骤')">
<el-option v-for="type in this.getDictDatas(DICT_TYPE.BOX_SEA_AIR)" :key="type.value" :label="$l(type, 'label')" :value="type.value"></el-option> <el-option v-for="type in this.getDictDatas(DICT_TYPE.BOX_SEA_AIR)" :key="type.value" :label="$l(type, 'label')" :value="type.value"></el-option>
...@@ -12,36 +19,78 @@ ...@@ -12,36 +19,78 @@
</el-form-item> </el-form-item>
<el-form-item :label="$t('费用类型')" prop="costType"> <el-form-item :label="$t('费用类型')" prop="costType">
<el-select v-model="costObj.costType" :placeholder="$t('请选择费用类型')"> <el-select
<el-option v-for="type in this.getDictDatas(DICT_TYPE.FEE_TYPE)" :key="type.value" :label="$l(type, 'label')" :value="type.value"></el-option> v-model="costObj.costType"
:placeholder="$t('请选择费用类型')"
>
<el-option
v-for="type in this.getDictDatas(DICT_TYPE.FEE_TYPE)"
:key="type.value"
:label="$l(type, 'label')"
:value="type.value"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item :label="$t('供应商')" prop="supplierId"> <el-form-item :label="$t('供应商')" prop="supplierId">
<el-select v-model="costObj.supplierId" :placeholder="$t('请选择供应商')"> <el-select
<el-option v-for="supplier in allSupplier" :key="supplier.id" :label="$l(supplier, 'company')" :value="supplier.id"></el-option> v-model="costObj.supplierId"
:placeholder="$t('请选择供应商')"
>
<el-option
v-for="supplier in allSupplier"
:key="supplier.id"
:label="$l(supplier, 'company')"
:value="supplier.id"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<!--lanbm 2024-05-17 添加字段-->
<el-form-item :label="$t('费用产生时间')" prop="freecsdate">
<el-date-picker
v-model="costObj.freecsdate"
style="width: 200px"
value-format="yyyy-MM-dd HH:mm:ss"
format="yyyy-MM-dd"
type="datetime"
placeholder="费用产生时间"
/>
</el-form-item>
<el-row class="two-element-formItem"> <el-row class="two-element-formItem">
<el-form-item :label="$t('金额')" prop="price"> <el-form-item :label="$t('金额')" prop="price">
<el-input-number v-model="costObj.price" controls-position="right" :min="1"></el-input-number> <el-input-number
v-model="costObj.price"
controls-position="right"
:min="1"
></el-input-number>
</el-form-item> </el-form-item>
<el-form-item label="" label-width="0px" prop="priceUnit"> <el-form-item label="" label-width="0px" prop="priceUnit">
<el-select v-model="costObj.priceUnit" :placeholder="$t('请选择单位')"> <el-select
<el-option v-for="type in this.currencyList" :key="type.id" :label="$l(type, 'title')" :value="type.id"></el-option> v-model="costObj.priceUnit"
:placeholder="$t('请选择单位')"
>
<el-option
v-for="type in this.currencyList"
:key="type.id"
:label="$l(type, 'title')"
:value="type.id"
></el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-row> </el-row>
<el-form-item :label="$t('备注')"> <el-form-item :label="$t('备注')">
<el-input v-model="costObj.remarks" type="textarea" rows="2" :placeholder="$t('请输入备注')"></el-input> <el-input
v-model="costObj.remarks"
type="textarea"
rows="2"
:placeholder="$t('请输入备注')"
></el-input>
</el-form-item> </el-form-item>
</el-form> </el-form>
<div class="operate-button"> <div class="operate-button">
<el-button type="primary" @click="submit">{{$t('确定')}}</el-button> <el-button type="primary" @click="submit">{{ $t("确定") }}</el-button>
<el-button @click="$emit('closeDialog')">{{$t('取消')}}</el-button> <el-button @click="$emit('closeDialog')">{{ $t("取消") }}</el-button>
</div> </div>
</div> </div>
</template> </template>
...@@ -51,7 +100,7 @@ import { getSupplierPage } from "@/api/ecw/supplier"; ...@@ -51,7 +100,7 @@ import { getSupplierPage } from "@/api/ecw/supplier";
import { createCost } from "@/api/ecw/box"; import { createCost } from "@/api/ecw/box";
import { serviceMsg } from "./shippingSea/utils"; import { serviceMsg } from "./shippingSea/utils";
import { getCurrencyList } from "@/api/ecw/currency"; import { getCurrencyList } from "@/api/ecw/currency";
import {getDictDatas} from "@/utils/dict"; import { getDictDatas } from "@/utils/dict";
export default { export default {
name: "costForm", name: "costForm",
...@@ -65,26 +114,59 @@ export default { ...@@ -65,26 +114,59 @@ export default {
currencyList: [], currencyList: [],
rules: { rules: {
opStepType: [{ required: true, message: this.$t("操作步骤不能为空"), trigger: "change" }], opStepType: [
costType: [{ required: true, message: this.$t("费用类型不能为空"), trigger: "change" }], {
supplierId: [{ required: true, message: this.$t("供应商不能为空"), trigger: "blur" }], required: true,
price: [{ required: true, message: this.$t("金额不能为空"), trigger: "blur" }], message: this.$t("操作步骤不能为空"),
priceUnit: [{ required: true, message: this.$t("金额单位不能为空"), trigger: "blur" }] trigger: "change",
},
],
costType: [
{
required: true,
message: this.$t("费用类型不能为空"),
trigger: "change",
},
],
supplierId: [
{
required: true,
message: this.$t("供应商不能为空"),
trigger: "blur",
},
],
price: [
{ required: true, message: this.$t("金额不能为空"), trigger: "blur" },
],
priceUnit: [
{
required: true,
message: this.$t("金额单位不能为空"),
trigger: "blur",
},
],
freeCsDate: [
{
required: true,
message: this.$t("费用产生时间不能为空"),
trigger: "blur",
},
],
}, },
// flag: 'sea' // flag: 'sea'
}; };
}, },
computed:{ computed: {
flag(){ flag() {
return this.$attrs.flag || 'sea' return this.$attrs.flag || "sea";
}, },
process(){ process() {
return { return {
'air': 'BOX_AIR_SHIPMENT_PROCESS', air: "BOX_AIR_SHIPMENT_PROCESS",
'sea': 'BOX_SHIPPING_PROCESS', sea: "BOX_SHIPPING_PROCESS",
'seaAir': 'BOX_SEA_AIR' seaAir: "BOX_SEA_AIR",
}[this.flag] }[this.flag];
} },
}, },
created() { created() {
// 供应商 // 供应商
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
</el-descriptions> </el-descriptions>
</el-card> </el-card>
<!-- 海运流程图 --> <!-- 海运流程图 在js脚本中写的固定流程环节 lanbm 2024-05-20 添加注释-->
<seaProcess :seaBaseData="seaBaseData" :shipmentObj="shipmentObj" :allSupplier="allSupplier" :allDocks="allDocks" :allUsers="allUsers" :allLading="allLading" :warehouseList="warehouseList" flag="air" @getBoxInfo="getBoxInfo" /> <seaProcess :seaBaseData="seaBaseData" :shipmentObj="shipmentObj" :allSupplier="allSupplier" :allDocks="allDocks" :allUsers="allUsers" :allLading="allLading" :warehouseList="warehouseList" flag="air" @getBoxInfo="getBoxInfo" />
<!-- 海运步骤图 --> <!-- 海运步骤图 -->
...@@ -45,7 +45,8 @@ import { getDockPage } from "@/api/ecw/dock"; ...@@ -45,7 +45,8 @@ import { getDockPage } from "@/api/ecw/dock";
import { listUser } from "@/api/system/user"; import { listUser } from "@/api/system/user";
import { getLadingShipperPage } from "@/api/ecw/ladingShipper"; import { getLadingShipperPage } from "@/api/ecw/ladingShipper";
// 这里引入的数据切换语言后要刷新才生效,优化办法是label同时配备labelEn字段,然后再页面上用$l函数调用 // 这里引入的数据切换语言后要刷新才生效,优化办法是label同时配备labelEn字段,
// 然后再页面上用$l函数调用
import { airBaseData, airOneData, airNextData } from "./utils"; import { airBaseData, airOneData, airNextData } from "./utils";
/** /**
* 海运操作主页面 * 海运操作主页面
...@@ -124,6 +125,9 @@ export default { ...@@ -124,6 +125,9 @@ export default {
const { data } = res; const { data } = res;
this.shipmentObj = data ?? {}; this.shipmentObj = data ?? {};
this.seaBaseData = this.airBaseData() this.seaBaseData = this.airBaseData()
//发货方式:1、多票,2、单票 deliveryType
//目的港清关:1、我司清关 2、合作方清关 3、客户
//lanbm 2024-05-20 梳理提单补料逻辑
if(this.shipmentObj.destinationClearance==3&&this.shipmentObj.deliveryType==2){ if(this.shipmentObj.destinationClearance==3&&this.shipmentObj.deliveryType==2){
this.seaBaseData = this.airOneData() this.seaBaseData = this.airOneData()
} }
......
...@@ -25,7 +25,7 @@ ...@@ -25,7 +25,7 @@
</el-descriptions> </el-descriptions>
</el-card> </el-card>
<!-- 海运流程图 --> <!-- 海运流程图 在js脚本中写的固定流程环节 -->
<seaProcess :seaBaseData="seaBaseData" :shipmentObj="shipmentObj" :allSupplier="allSupplier" :allDocks="allDocks" :allUsers="allUsers" :allLading="allLading" :warehouseList="warehouseList" @getBoxInfo="getBoxInfo" /> <seaProcess :seaBaseData="seaBaseData" :shipmentObj="shipmentObj" :allSupplier="allSupplier" :allDocks="allDocks" :allUsers="allUsers" :allLading="allLading" :warehouseList="warehouseList" @getBoxInfo="getBoxInfo" />
<!-- 海运步骤图 --> <!-- 海运步骤图 -->
...@@ -45,7 +45,8 @@ import { getDockPage } from "@/api/ecw/dock"; ...@@ -45,7 +45,8 @@ import { getDockPage } from "@/api/ecw/dock";
import { listUser } from "@/api/system/user"; import { listUser } from "@/api/system/user";
import { getLadingShipperPage } from "@/api/ecw/ladingShipper"; import { getLadingShipperPage } from "@/api/ecw/ladingShipper";
// 这里引入的数据切换语言后要刷新才生效,优化办法是label同时配备labelEn字段,然后再页面上用$l函数调用 // 这里引入的数据切换语言后要刷新才生效,优化办法是label同时配备labelEn字段,
//然后再页面上用$l函数调用
import { seaBaseData } from "./utils"; import { seaBaseData } from "./utils";
/** /**
* 海运操作主页面 * 海运操作主页面
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
...@@ -64,7 +64,6 @@ ...@@ -64,7 +64,6 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
</el-dialog> </el-dialog>
</template> </template>
<script> <script>
...@@ -118,7 +117,6 @@ export default { ...@@ -118,7 +117,6 @@ export default {
created(){ created(){
this.show = true this.show = true
if(!this.order && this.orderId){ if(!this.order && this.orderId){
getOrder(this.orderId).then(res => { getOrder(this.orderId).then(res => {
this.orderDetail = res.data this.orderDetail = res.data
......
<template> <template>
<div class="app-container"> <div class="app-container">
<!-- 搜索工作栏 --> <!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item :label="$t('商品编码')" prop="productCode"> <el-form-item :label="$t('商品编码')" prop="productCode">
......
...@@ -465,12 +465,9 @@ ...@@ -465,12 +465,9 @@
:limit.sync="queryParams.pageSize" :limit.sync="queryParams.pageSize"
@pagination="getList" @pagination="getList"
/> />
<WarehouseDetail <WarehouseDetail-detail :order="order" :orderItemId="showWarehouseInItemId"
:orderId="showWarehouseInItemId" v-if="showWarehouseInItemId" @close="showWarehouseInItemId=null">
:type="type" </WarehouseDetail-detail>
v-if="showWarehouseInItemId"
@close="showWarehouseInItemId = null"
></WarehouseDetail>
</div> </div>
</template> </template>
...@@ -484,6 +481,7 @@ import { getListPage, exportExcel,getStatisticalSummary } from "@/api/report/sal ...@@ -484,6 +481,7 @@ import { getListPage, exportExcel,getStatisticalSummary } from "@/api/report/sal
import { getCurUserPermission } from "@/api/report/EcwReportPermission"; import { getCurUserPermission } from "@/api/report/EcwReportPermission";
import { getAllChannelList, getChannelList } from "@/api/ecw/channel"; import { getAllChannelList, getChannelList } from "@/api/ecw/channel";
import { listSimpleDepts } from "@/api/system/dept"; import { listSimpleDepts } from "@/api/system/dept";
import {getOrder} from "@/api/ecw/order";
//入仓记录页面 //入仓记录页面
import WarehouseDetail from "@/views/ecw/order/components/WarehouseDetail"; import WarehouseDetail from "@/views/ecw/order/components/WarehouseDetail";
...@@ -563,6 +561,7 @@ export default { ...@@ -563,6 +561,7 @@ export default {
objEcwReportPermission: {}, objEcwReportPermission: {},
DeptEx: { id: undefined, name: undefined, parentId: undefined }, DeptEx: { id: undefined, name: undefined, parentId: undefined },
showWarehouseInItemId: undefined, showWarehouseInItemId: undefined,
order: null,
type: 1, type: 1,
StatisticalSummary:{ StatisticalSummary:{
sumBox:0, sumBox:0,
...@@ -685,9 +684,10 @@ export default { ...@@ -685,9 +684,10 @@ export default {
}, },
// 显示入仓记录 // 显示入仓记录
showWarehouseLogs(row, type) { showWarehouseLogs(row, type) {
debugger; getOrder(row.orderId).then((response) => {
this.type = type; this.order = response.data;
this.showWarehouseInItemId = row.orderId; this.showWarehouseInItemId = row.orderItemId;
});
}, },
/** 查询部门下拉树结构 + 岗位下拉 */ /** 查询部门下拉树结构 + 岗位下拉 */
getTreeselect() { getTreeselect() {
......
...@@ -44,6 +44,7 @@ ...@@ -44,6 +44,7 @@
> >
{{ $t("新增") }}</el-button {{ $t("新增") }}</el-button
> >
<el-button type="primary" @click="test" v-show="true">测试</el-button>
</el-col> </el-col>
<el-col :span="1.5"> <el-col :span="1.5">
<el-button <el-button
...@@ -353,12 +354,19 @@ export default { ...@@ -353,12 +354,19 @@ export default {
}) })
.catch(() => {}); .catch(() => {});
}, },
test() {
//单元测试函数
var p = 12;
test(p).then((response) => {
this.$modal.msgSuccess("测试成功");
});
},
TestFun() { TestFun() {
var bR= dayjs('2024-05-11').isBefore(dayjs('2024-05-12')); var bR = dayjs("2024-05-11").isBefore(dayjs("2024-05-12"));
alert(bR); alert(bR);
//获取当前日期 //获取当前日期
var now = dayjs().format('YYYY-MM-DD dddd HH:mm:ss.SSS A'); var now = dayjs().format("YYYY-MM-DD dddd HH:mm:ss.SSS A");
MessageBox(now); MessageBox(now);
//dayjs("2019-01-25").toArray(); // [ 2019, 0, 25, 0, 0, 0, 0 ] //dayjs("2019-01-25").toArray(); // [ 2019, 0, 25, 0, 0, 0, 0 ]
var dJs = dayjs("2019-01-25").toJSON(); //'2019-01-25T02:00:00.000Z' var dJs = dayjs("2019-01-25").toJSON(); //'2019-01-25T02:00:00.000Z'
......
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