Commit 4d693a36 authored by lanbaoming's avatar lanbaoming

2024-05-21 提交

parent b5935f6b
......@@ -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) {
return request({
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 @@
<el-button icon="el-icon-refresh" @click="resetQuery">{{
$t("重置")
}}</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>
<!-- 列表 -->
<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
:label="$t('流程编号')"
align="center"
......@@ -164,12 +176,28 @@
:limit.sync="queryParams.pageSize"
@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>
</template>
<script>
import { getTodoTaskPage } from "@/api/bpm/task";
import { cancelProcessInstance } from "@/api/bpm/processInstance";
import { approveTask2, rejectTask2 } from "@/api/bpm/task";
export default {
//lanbm 2024-05-08 添加查询条件不清空优化
name: "BpmTaskTodo",
......@@ -193,6 +221,31 @@ export default {
businessNo: 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() {
......@@ -224,6 +277,101 @@ export default {
this.queryParams.pageNo = 1;
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() {
this.dateRangeCreateTime = [];
......
<template>
<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-select 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
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 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>
......@@ -12,36 +19,78 @@
</el-form-item>
<el-form-item :label="$t('费用类型')" prop="costType">
<el-select 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
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-form-item>
<el-form-item :label="$t('供应商')" prop="supplierId">
<el-select 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
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-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-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 label="" label-width="0px" prop="priceUnit">
<el-select 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
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-form-item>
</el-row>
<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>
<div class="operate-button">
<el-button type="primary" @click="submit">{{$t('确定')}}</el-button>
<el-button @click="$emit('closeDialog')">{{$t('取消')}}</el-button>
<el-button type="primary" @click="submit">{{ $t("确定") }}</el-button>
<el-button @click="$emit('closeDialog')">{{ $t("取消") }}</el-button>
</div>
</div>
</template>
......@@ -51,7 +100,7 @@ import { getSupplierPage } from "@/api/ecw/supplier";
import { createCost } from "@/api/ecw/box";
import { serviceMsg } from "./shippingSea/utils";
import { getCurrencyList } from "@/api/ecw/currency";
import {getDictDatas} from "@/utils/dict";
import { getDictDatas } from "@/utils/dict";
export default {
name: "costForm",
......@@ -65,26 +114,59 @@ export default {
currencyList: [],
rules: {
opStepType: [{ required: true, message: this.$t("操作步骤不能为空"), 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" }]
opStepType: [
{
required: true,
message: this.$t("操作步骤不能为空"),
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'
};
},
computed:{
flag(){
return this.$attrs.flag || 'sea'
computed: {
flag() {
return this.$attrs.flag || "sea";
},
process(){
process() {
return {
'air': 'BOX_AIR_SHIPMENT_PROCESS',
'sea': 'BOX_SHIPPING_PROCESS',
'seaAir': 'BOX_SEA_AIR'
}[this.flag]
}
air: "BOX_AIR_SHIPMENT_PROCESS",
sea: "BOX_SHIPPING_PROCESS",
seaAir: "BOX_SEA_AIR",
}[this.flag];
},
},
created() {
// 供应商
......
......@@ -25,7 +25,7 @@
</el-descriptions>
</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" />
<!-- 海运步骤图 -->
......@@ -45,7 +45,8 @@ import { getDockPage } from "@/api/ecw/dock";
import { listUser } from "@/api/system/user";
import { getLadingShipperPage } from "@/api/ecw/ladingShipper";
// 这里引入的数据切换语言后要刷新才生效,优化办法是label同时配备labelEn字段,然后再页面上用$l函数调用
// 这里引入的数据切换语言后要刷新才生效,优化办法是label同时配备labelEn字段,
// 然后再页面上用$l函数调用
import { airBaseData, airOneData, airNextData } from "./utils";
/**
* 海运操作主页面
......@@ -124,6 +125,9 @@ export default {
const { data } = res;
this.shipmentObj = data ?? {};
this.seaBaseData = this.airBaseData()
//发货方式:1、多票,2、单票 deliveryType
//目的港清关:1、我司清关 2、合作方清关 3、客户
//lanbm 2024-05-20 梳理提单补料逻辑
if(this.shipmentObj.destinationClearance==3&&this.shipmentObj.deliveryType==2){
this.seaBaseData = this.airOneData()
}
......
......@@ -25,7 +25,7 @@
</el-descriptions>
</el-card>
<!-- 海运流程图 -->
<!-- 海运流程图 在js脚本中写的固定流程环节 -->
<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";
import { listUser } from "@/api/system/user";
import { getLadingShipperPage } from "@/api/ecw/ladingShipper";
// 这里引入的数据切换语言后要刷新才生效,优化办法是label同时配备labelEn字段,然后再页面上用$l函数调用
// 这里引入的数据切换语言后要刷新才生效,优化办法是label同时配备labelEn字段,
//然后再页面上用$l函数调用
import { seaBaseData } from "./utils";
/**
* 海运操作主页面
......
This source diff could not be displayed because it is too large. You can view the blob instead.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -64,7 +64,6 @@
</template>
</el-table-column>
</el-table>
</el-dialog>
</template>
<script>
......@@ -118,7 +117,6 @@ export default {
created(){
this.show = true
if(!this.order && this.orderId){
getOrder(this.orderId).then(res => {
this.orderDetail = res.data
......
<template>
<div class="app-container">
<!-- 搜索工作栏 -->
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item :label="$t('商品编码')" prop="productCode">
......
......@@ -465,12 +465,9 @@
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<WarehouseDetail
:orderId="showWarehouseInItemId"
:type="type"
v-if="showWarehouseInItemId"
@close="showWarehouseInItemId = null"
></WarehouseDetail>
<WarehouseDetail-detail :order="order" :orderItemId="showWarehouseInItemId"
v-if="showWarehouseInItemId" @close="showWarehouseInItemId=null">
</WarehouseDetail-detail>
</div>
</template>
......@@ -484,6 +481,7 @@ import { getListPage, exportExcel,getStatisticalSummary } from "@/api/report/sal
import { getCurUserPermission } from "@/api/report/EcwReportPermission";
import { getAllChannelList, getChannelList } from "@/api/ecw/channel";
import { listSimpleDepts } from "@/api/system/dept";
import {getOrder} from "@/api/ecw/order";
//入仓记录页面
import WarehouseDetail from "@/views/ecw/order/components/WarehouseDetail";
......@@ -563,6 +561,7 @@ export default {
objEcwReportPermission: {},
DeptEx: { id: undefined, name: undefined, parentId: undefined },
showWarehouseInItemId: undefined,
order: null,
type: 1,
StatisticalSummary:{
sumBox:0,
......@@ -685,9 +684,10 @@ export default {
},
// 显示入仓记录
showWarehouseLogs(row, type) {
debugger;
this.type = type;
this.showWarehouseInItemId = row.orderId;
getOrder(row.orderId).then((response) => {
this.order = response.data;
this.showWarehouseInItemId = row.orderItemId;
});
},
/** 查询部门下拉树结构 + 岗位下拉 */
getTreeselect() {
......
......@@ -44,6 +44,7 @@
>
{{ $t("新增") }}</el-button
>
<el-button type="primary" @click="test" v-show="true">测试</el-button>
</el-col>
<el-col :span="1.5">
<el-button
......@@ -353,12 +354,19 @@ export default {
})
.catch(() => {});
},
test() {
//单元测试函数
var p = 12;
test(p).then((response) => {
this.$modal.msgSuccess("测试成功");
});
},
TestFun() {
var bR= dayjs('2024-05-11').isBefore(dayjs('2024-05-12'));
alert(bR);
var bR = dayjs("2024-05-11").isBefore(dayjs("2024-05-12"));
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);
//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'
......
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