zhanbo.xu

feat: 开发运抵单查询 功能

import request from "@/utils/request";
// /exportArrivalIn/getExportArrivalInList
export function getExportArrivalInList(data) {
return request({
url: "/bus-customer/exportArrivalIn/getExportArrivalInList",
method: "post",
data: data,
});
}
// GET ​/exportArrivalIn​/receipt​/{copNo} 运抵单回执
export function getExportArrivalInReceipt({ copNo }) {
return request({
url: `/bus-customer/exportArrivalIn/receipt/${copNo}`,
method: "get",
});
}
// GET ​/exportArrivalIn​/details​/{id} 查询运抵单详情
export function getExportArrivalInDetails({ id }) {
return request({
url: `/bus-customer/exportArrivalIn/details/${id}`,
method: "get",
});
}
......@@ -190,6 +190,14 @@ export const constantRoutes = [
// name: 'ExportRevokeBillQuery',
// meta: { title: '出口撤销单查询', icon: '' }
// }
{
path: "/arrival-list-detail",
component: (resolve) =>
require(["@/views/arrival-list-detail/index"], resolve),
name: "ArrivalListDetail",
hidden: true,
meta: { title: "运抵详情", icon: "" },
},
],
},
{
......
<template>
<div class="entry" v-loading="loadings.entryLoading">
<div class="entryTitle">
<div>运抵详情</div>
<div>
<el-button class="entrySaveButton" @click="back">返 回</el-button>
</div>
</div>
<el-form
class="fedexFormStyle"
ref="sreachForm"
:model="formData"
label-position="top"
disabled
size="small"
>
<el-row :gutter="5">
<!-- 提运单号 -->
<el-col :span="3">
<Formitem label="提运单号" prop="billNo">
<el-input
type="text"
class="inputShadow"
id="inputInner--billNo"
resize="none"
v-model="formData.billNo"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<!-- 物流运单编号 -->
<el-col :span="3">
<Formitem label="物流运单编号" prop="logisticsNo">
<el-input
type="text"
class="inputShadow"
id="inputInner--logisticsNo"
resize="none"
v-model="formData.logisticsNo"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<!-- 物流运单编号 -->
<el-col :span="3">
<Formitem label="申报地海关代码" prop="customsCode">
<el-input
type="text"
class="inputShadow"
id="inputInner--customsCode"
resize="none"
v-model="formData.customsCode"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<!-- 电子口岸编号 -->
<el-col :span="3">
<Formitem label="电子口岸编号" prop="preNo">
<el-input
type="text"
class="inputShadow"
id="inputInner--preNo"
resize="none"
v-model="formData.preNo"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<!-- 监管场所经营人代码 -->
<el-col :span="3">
<Formitem label="监管场所经营人代码" prop="operatorCode">
<el-input
type="text"
class="inputShadow"
id="inputInner--operatorCode"
resize="none"
v-model="formData.operatorCode"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<!-- 监管场所经营人名称 -->
<el-col :span="6">
<Formitem label="监管场所经营人名称" prop="operatorName">
<el-input
type="text"
class="inputShadow"
id="inputInner--operatorName"
resize="none"
v-model="formData.operatorName"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<!-- 监管场所代码 -->
<el-col :span="3">
<Formitem label="监管场所代码" prop="loctNo">
<el-input
type="text"
class="inputShadow"
id="inputInner--loctNo"
resize="none"
v-model="formData.loctNo"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<!-- 进出口标记 -->
<el-col :span="3">
<Formitem label="进出口标记" prop="ieFlag">
<el-input
type="text"
class="inputShadow"
id="inputInner--ieFlag"
resize="none"
v-model="formData.ieFlag"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<!-- 运输方式 -->
<el-col :span="3">
<Formitem label="运输方式" prop="trafMode">
<el-select
type="text"
id="inputInner--trafMode"
v-model="formData.trafMode"
clearable
placeholder=""
>
<el-option
v-for="(item, index) in $store.getters.dict.DECLARE_TRAFMODE"
:key="index"
:label="item.itemChineseName"
:value="item.itemValue"
></el-option>
</el-select>
</Formitem>
</el-col>
<!-- 境内运输工具编号 -->
<el-col :span="3">
<Formitem label="境内运输工具编号" prop="domesticTrafNo">
<el-input
type="text"
class="inputShadow"
id="inputInner--domesticTrafNo"
resize="none"
v-model="formData.domesticTrafNo"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<!-- 物流企业代码 -->
<el-col :span="3">
<Formitem label="物流企业代码" prop="logisticsCode">
<el-input
type="text"
class="inputShadow"
id="inputInner--logisticsCode"
resize="none"
v-model="formData.logisticsCode"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<!-- 物流企业名称 -->
<el-col :span="6">
<Formitem label="物流企业名称" prop="logisticsName">
<el-input
type="text"
class="inputShadow"
id="inputInner--logisticsName"
resize="none"
v-model="formData.logisticsName"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<!-- 报文序号 -->
<el-col :span="3">
<Formitem label="报文序号" prop="msgSeqNo">
<el-input
type="text"
class="inputShadow"
id="inputInner--msgSeqNo"
resize="none"
v-model="formData.msgSeqNo"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<!-- 报文总数 -->
<el-col :span="3">
<Formitem label="报文总数" prop="msgCount">
<el-input
type="text"
class="inputShadow"
id="inputInner--msgCount"
resize="none"
v-model="formData.msgCount"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<!-- 申报类型 -->
<el-col :span="3">
<Formitem label="报送类型" prop="appType">
<el-select
type="text"
id="inputInner--appType"
v-model="formData.appType"
clearable
placeholder=""
>
<el-option
v-for="(item, index) in $store.getters.dict.DECLARE_APPTYPE"
:key="index"
:label="item.itemChineseName"
:value="item.itemValue"
></el-option>
</el-select>
</Formitem>
</el-col>
<!-- 申报日期 -->
<el-col :span="3">
<Formitem label="报送日期" prop="appTime">
<el-input
type="text"
class="inputShadow"
id="inputInner--appTime"
resize="none"
v-model="formData.appTime"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<!-- 业务状态 -->
<el-col :span="3">
<Formitem label="报送状态" prop="appStatus">
<el-select
type="text"
id="inputInner--appStatus"
v-model="formData.appStatus"
clearable
placeholder=""
>
<el-option
v-for="(item, index) in $store.getters.dict.APP_STATUS"
:key="index"
:label="item.itemChineseName"
:value="item.itemValue"
></el-option>
</el-select>
</Formitem>
</el-col>
<!-- 备注 -->
<el-col :span="9">
<Formitem label="备注" prop="note">
<el-input
type="text"
class="inputShadow"
id="inputInner--note"
resize="none"
v-model="formData.note"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
</el-row>
</el-form>
<div
:class="{ entryTitle: true, titleBorder: logtableType ? false : true }"
style="margin-top: 10px"
>
<div>
回执信息
<el-button type="text" @click="hiddenLogTable">
<svg-icon v-if="logtableType" icon-class="downIcon"></svg-icon>
<svg-icon v-else icon-class="upIcon"></svg-icon>
</el-button>
</div>
</div>
<ReceiptInfoTable
v-if="logtableType"
:tableData="logData"
:headerData="logHeaderData"
/>
<div class="entryTitle" style="margin-top: 10px">运抵单表体</div>
<ProductDetailTable
:tableData="detailData"
:bodyHeader="detialHeaderData"
/>
<div style="margin-bottom: 20px; text-align: center"></div>
</div>
</template>
<script>
import ReceiptInfoTable from "../components/ReceiptInfoTable/index.vue";
import ProductDetailTable from "../components/ProductDetailTable/index.vue";
import { getExportArrivalInDetails } from "@/api/arrivalList-api";
export default {
name: "",
components: { ProductDetailTable, ReceiptInfoTable },
data() {
return {
id: null,
formData: {},
logData: [],
logHeaderData: [
{
name: "回执状态",
value: "returnStatus",
width: "200",
align: "left",
},
{
name: "状态时间",
value: "returnTime",
width: "400",
align: "left",
},
{
name: "回执描述",
value: "returnInfo",
width: "",
align: "left",
},
],
detailData: [],
detialHeaderData: [
{
name: "序号",
value: "gnum",
width: "",
align: "left",
},
{
name: "物流运单编号",
value: "logisticsNo",
width: "",
align: "left",
},
{
name: "总包号",
value: "totalPackageNo",
width: "",
align: "left",
},
{
name: "备注",
value: "note",
width: "",
align: "left",
},
],
loadings: {
entryLoading: false,
},
logtableType: true,
};
},
created() {
if (this.$route.params.data) {
this.id = this.$route.params.data.id;
this.searchData();
} else {
this.back();
}
},
methods: {
searchData() {
this.loadings.entryLoading = true;
getExportArrivalInDetails({ id: this.id })
.then((res) => {
if (res.code === "200") {
const {
exportArrivalInDetails = {}, // 运抵详情
exportArrivalInItemList = [], // 运抵表体
exportArrivalInReceiptList = [], // 回执信息
} = res.data;
this.formData = exportArrivalInDetails;
this.detailData = exportArrivalInItemList.map((item, idx) => {
item.gnum = idx + 1;
return item;
});
this.logData = exportArrivalInReceiptList;
} else {
this.alertWarningMsg(res.message);
}
this.loadings.entryLoading = false;
})
.catch((err) => {
console.log(err);
this.loadings.entryLoading = false;
});
},
searchLogData() {},
hiddenLogTable() {
this.logtableType = !this.logtableType;
},
back() {
this.$router.go(-1);
},
},
};
</script>
<style scoped lang="scss">
.entry {
width: 100%;
height: 100%;
padding: 10px;
background-color: #fff;
overflow: auto;
.entryInformation {
width: 100%;
height: 100%;
}
.entryTitle {
display: flex;
justify-content: space-between;
font-weight: 600;
font-weight: 16px;
color: #000;
margin-bottom: 10px;
}
.titleBorder {
border-bottom: 1px solid #333;
}
}
</style>
<template>
<el-dialog
class="entryDialog classCUploadDialog"
:title="title"
:visible.sync="outerVisible"
:show-close="false"
width="25%"
:close-on-click-modal="false"
:destroy-on-close="true"
v-loading="loadings.dialogLoading"
@close="close"
>
<div class="modelItem">
<el-form
v-if="type != 'menuChange'"
class="fedexFormStyle"
ref="formData"
:model="formData"
:rules="rules"
label-position="top"
size="small"
>
<Formitem label="角色名称" prop="roleName" type="edit">
<el-input
type="text"
class="inputShadow"
id="inputInner-edit-roleName"
resize="none"
v-model="formData.roleName"
clearable
placeholder=""
></el-input>
</Formitem>
</el-form>
<el-tree
ref="tree"
class="menuTree"
v-else
:data="treeData"
show-checkbox
default-expand-all
node-key="id"
:default-expanded-keys="expandedKeys"
:default-checked-keys="checkedKeys"
:props="defaultProps"
@check="treeCheckChange"
>
</el-tree>
</div>
<div class="dialogOption entrySave">
<el-button
class="entrySaveButton"
:disabled="loadings.submitLoading"
@click="submit"
>确 定</el-button
>
<el-button
class="entrySaveButton"
:disabled="loadings.uploadLoading"
@click="close"
>关 闭</el-button
>
</div>
</el-dialog>
</template>
<script>
import {
addRoleData,
updateRoleData,
updateRoleMenuData,
getMenuByRoleId,
} from "@/api/system/user.js";
import { getRouters } from "@/api/menu";
export default {
props: {
outerVisible: {
type: Boolean,
default: false,
},
title: {
type: String,
default: "新增角色",
},
type: {
type: String,
default: "",
},
active: {
type: Object,
default: null,
},
},
watch: {
outerVisible(val) {
if (val) {
this.loadings.dialogLoading = false;
if (this.type == "update") {
this.formData = this.active;
} else if (this.type == "menuChange") {
this.formData = this.active;
this.searchTreeData();
this.loadCheckedKeys();//加载已绑定的菜单
}
}
},
},
data() {
return {
formData: {
roleName: "",
},
treeData: [],
treeCheckData: [],
expandedKeys: [],
checkedKeys: [],
rules: {
roleName: [
{
required: true,
trigger: "blur",
message: "角色名称不能为空!",
},
],
},
defaultProps: {
children: "children",
label: "label",
},
searchForm: {},
loadings: {
dialogLoading: false,
uploadLoading: false,
submitLoading: false,
},
loadingText: "",
};
},
methods: {
//查询菜单数据
searchTreeData() {
this.loadings.dialogLoading = true;
getRouters()
.then((res) => {
if (res.code === "200") {
let arr = [];
res.data.forEach((item) => {
let status = true;
if (item.parentMenuId == 0) {
let obj = {
id: item.menuId,
label: item.menuName,
children: [],
};
arr.forEach((menuItem) => {
if (menuItem.id == item.menuId) {
status = false;
menuItem.label = item.menuName;
}
});
if (status) {
arr.push(obj);
}
} else {
let obj = {
id: item.menuId,
label: item.menuName,
};
arr.forEach((menuItem) => {
if (menuItem.id == item.parentMenuId) {
status = false;
menuItem.children.push(obj);
}
});
if (status) {
arr.push({
id: item.parentMenuId,
label: "",
children: [obj],
});
}
}
});
this.treeData = arr;
} else {
this.alertWarningMsg(res.message);
}
this.loadings.dialogLoading = false;
})
.catch((err) => {
console.log(err);
this.loadings.dialogLoading = false;
});
},
//数据保存
submit() {
this.loadings.dialogLoading = true;
let obj = {};
if (this.type == "add") {
this.$refs.formData.validate((valid) => {
if (valid) {
obj.roleName = this.formData.roleName;
this.addapi(obj);
} else {
this.loadings.dialogLoading = false;
}
});
} else if (this.type == "update") {
this.$refs.formData.validate((valid) => {
if (valid) {
obj.roleId = this.formData.roleId;
obj.roleName = this.formData.roleName;
this.updateapi(obj);
} else {
this.loadings.dialogLoading = false;
}
});
} else if (this.type == "menuChange") {
obj.menuId = this.treeCheckData; // 使用合并后的选中节点
obj.roleId = this.formData.roleId;
this.menuChangeapi(obj);
}
},
//新增
addapi(val) {
addRoleData(val)
.then((res) => {
if (res.code === "200") {
this.msgSuccess(res.message);
this.close();
} else {
this.alertWarningMsg(res.message);
this.loadings.dialogLoading = false;
}
})
.catch((err) => {
console.log(err);
this.loadings.dialogLoading = false;
});
},
//修改
updateapi(val) {
updateRoleData(val)
.then((res) => {
if (res.code === "200") {
this.msgSuccess(res.message);
this.close();
} else {
this.alertWarningMsg(res.message);
this.loadings.dialogLoading = false;
}
})
.catch((err) => {
console.log(err);
this.loadings.dialogLoading = false;
});
},
//菜单权限修改
menuChangeapi(val) {
updateRoleMenuData(val)
.then((res) => {
if (res.code === "200") {
this.msgSuccess(res.message);
this.close();
this.$store.dispatch('GenerateRoutes')
} else {
this.alertWarningMsg(res.message);
this.loadings.dialogLoading = false;
}
})
.catch((err) => {
console.log(err);
this.loadings.dialogLoading = false;
});
},
treeCheckChange(data, checked) {
console.log(data, checked);
let arr = [];
arr = checked.checkedKeys.concat(checked.halfCheckedKeys);
this.treeCheckData = arr;
},
close() {
this.formData = {
roleName: "",
};
this.checkedKeys = []
this.$emit("close");
},
// 加载已绑定的菜单
loadCheckedKeys() {
if (this.formData.roleId) {
getMenuByRoleId(this.formData.roleId)
.then((res) => {
if (res.code === "200") {
this.checkedKeys = res.data.filter(item => item.isBinding && (item.parentMenuId!=0 ) ).map(item => item.menuId);
//console.log('初始 checkedKeys:', this.checkedKeys);
this.$nextTick(() => {
this.$refs.tree.setCheckedKeys(this.checkedKeys);
this.updateTreeCheckData();
});
} else {
this.alertWarningMsg(res.message);
}
})
.catch((err) => {
console.log(err);
});
}
},
//加载选中的节点及半选中的父节点
updateTreeCheckData() {
const checkedKeys = this.$refs.tree.getCheckedKeys();
const halfCheckedKeys = this.$refs.tree.getHalfCheckedKeys();
this.treeCheckData = checkedKeys.concat(halfCheckedKeys);
//console.log('合并后的 treeCheckData:', this.treeCheckData);
},
},
};
</script>
<style lang="scss" scoped>
@import "@/assets/styles/variables.scss";
.menuTree {
max-width: 350px;
max-height: 300px;
overflow: auto;
margin: 0 auto;
border: 1px solid #999;
padding: 10px;
}
</style>
......@@ -11,51 +11,52 @@
<!-- 角色名称 -->
<el-col :span="5">
<Formitem label="物流运单编号" prop="logisticsNo">
<el-input
type="text"
class="inputShadow"
id="inputInner--logisticsNo"
resize="none"
v-model="sreachFormData.logisticsNo"
clearable
placeholder=""
></el-input>
<FormTextareaInput
:formData="sreachFormData"
dataKey="logisticsNo"
@formChange="formChange"
/>
</Formitem>
</el-col>
<el-col :span="5">
<Formitem label="物流运单编号" prop="roleName">
<Formitem label="提运单号" prop="billNo">
<el-input
type="text"
class="inputShadow"
id="inputInner--roleName"
id="inputInner--billNo"
resize="none"
v-model="sreachFormData.roleName"
v-model="sreachFormData.billNo"
clearable
placeholder=""
></el-input>
</Formitem>
</el-col>
<el-col :span="5">
<Formitem label="物流运单编号" prop="roleName">
<el-input
<Formitem label="回执状态" prop="returnStatus">
<el-select
type="text"
class="inputShadow"
id="inputInner--roleName"
resize="none"
v-model="sreachFormData.roleName"
id="inputInner--returnStatus"
v-model="sreachFormData.returnStatus"
clearable
placeholder=""
></el-input>
>
<el-option
v-for="(item, index) in $store.getters.dict.RECEIPT_STATUS"
:key="index"
:label="item.itemChineseName"
:value="item.itemValue"
></el-option>
</el-select>
</Formitem>
</el-col>
<el-col :span="5">
<Formitem label="物流运单编号" prop="roleName">
<Formitem label="电子口岸编号" prop="preNo">
<el-input
type="text"
class="inputShadow"
id="inputInner--roleName"
id="inputInner--preNo"
resize="none"
v-model="sreachFormData.roleName"
v-model="sreachFormData.preNo"
clearable
placeholder=""
></el-input>
......@@ -86,16 +87,7 @@
</el-col>
</el-row>
</el-form>
<div class="optionButton">
<el-button
class="entrySaveButton"
icon="el-icon-plus"
size="small"
@click="addRole"
>
新增角色
</el-button>
</div>
<Table
class="fedexDetialTable fedexSreachTable"
ref="entryTable"
......@@ -115,54 +107,132 @@
:selectFixed="false"
:rowSelectDataType="false"
>
<template slot="optionColumn">
<el-table-column align="left" label="操作">
<template slot-scope="scope">
<el-button type="text" @click="update(scope.row)">
角色修改
</el-button>
<el-button type="text" @click="muenChange(scope.row)">
权限绑定
</el-button>
<template v-slot:returnStatus="scope">
<TablePopover
ref="returnStatusPopover"
dataKey="returnStatus"
:parentDom="$refs.entryTable"
:receiptDataHead="receiptDataHead"
:rowData="scope.row"
:tableData="tableData"
@popoverChange="popoverChange"
@popoverClose="popoverClose"
>
<div slot="title">
<span style="font-weight: 700; color: #515a6e">运单编号:</span
>{{ scope.row.logisticsNo }}
</div>
<div slot="buttonLabel">
{{ scope.row.returnStatus }}
</div>
</TablePopover>
</template>
</el-table-column>
<template v-slot:logisticsNo="scope">
<el-button type="text" @click="view(scope.row)">{{
scope.row.logisticsNo
}}</el-button>
</template>
</Table>
<DialogVue
:outerVisible="outerVisible"
:title="dialogTitle"
:type="editType"
:active="activeData"
@close="dialogClose"
/>
</div>
</template>
<script>
import { getRoleList } from "@/api/system/user.js";
import DialogVue from "./dialog.vue";
import { addMenu } from "@/api/menu";
import {
getExportArrivalInList,
getExportArrivalInReceipt,
} from "@/api/arrivalList-api";
export default {
name: "ArrivalList",
components: {
DialogVue,
},
components: {},
data() {
return {
sreachFormData: {
logisticsNo: "",
logisticsNo: [],
billNo: "",
returnStatus: "",
preNo: "",
},
page: {
pageIndex: 1,
pageSize: 20,
total: 0,
},
activeData: null,
tableData: [],
receiptDataHead: [
{
name: "回执状态",
value: "returnStatus",
width: "120",
align: "left",
},
{
name: "状态时间",
value: "returnTime",
width: "",
align: "left",
},
{
name: "回执描述",
value: "returnInfo",
width: "",
align: "left",
},
],
headerData: [
{
name: "角色名",
value: "roleName",
name: "回执状态",
value: "returnStatus",
width: "",
align: "left",
slot: true,
},
{
name: "物流运单编号",
value: "logisticsNo",
width: "",
align: "left",
slot: true,
},
{
name: "提运单号",
value: "billNo",
width: "",
align: "left",
},
{
name: "电商企业代码",
value: "copNo",
width: "",
align: "left",
},
{
name: "电子口岸编号",
value: "preNo",
width: "",
align: "left",
},
{
name: "监管场所经营人代码",
value: "operatorCode",
width: "",
align: "left",
},
{
name: "监管场所经营人名称",
value: "operatorName",
width: "",
align: "left",
},
{
name: "监管场所代码",
value: "loctNo",
width: "",
align: "left",
},
{
name: "创建时间",
value: "createTime",
width: "",
align: "left",
},
......@@ -171,9 +241,7 @@ export default {
searchLoading: false,
},
tableMaxheight: null,
outerVisible: false,
dialogTitle: "",
editType: "",
originalLogisticsNo: "", // 用于保存原始的 logisticsNo 字符串
};
},
created() {
......@@ -183,12 +251,72 @@ export default {
this.tableMaxheight = window.innerHeight - 300;
},
methods: {
popoverClose(val) {
this.tableData.forEach((item) => {
item.returnStatusPopoverType = false;
item.popoverData = [];
});
this.$refs.entryTable.$refs.tables.$refs.bodyWrapper.style.overflowY =
"auto";
},
popoverChange(val) {
console.log(val);
this.tableData = val.tableData;
this.receiptApi(val.data.copNo, val.status)
.then((res) => {
val.tableData.forEach((item) => {
if (item.declareId == val.data.declareId) {
item.popoverData = res;
}
});
this.tableData = val.tableData;
})
.finally(() => {
this.$nextTick(() => {
this.$store.dispatch("setLoadingState", false);
this.$refs.returnStatusPopover.tableLoading = false;
});
});
},
//查询回执
receiptApi(id) {
return new Promise((resolve, reject) => {
let obj = { copNo: id };
getExportArrivalInReceipt(obj)
.then((res) => {
if (res.code === "200") {
resolve(res.data);
} else {
reject();
}
})
.catch((err) => {
console.log(err);
reject();
});
});
},
//查询详情
view(val) {
this.$router.push({
name: "ArrivalListDetail",
params: { data: val },
});
},
formChange(val) {
this.sreachFormData = val;
this.originalLogisticsNo = val.logisticsNo; // 保存原始的 logisticsNo 字符串
},
// 清空
clear() {
this.sreachFormData = {
roleName: "",
ogisticsNo: [],
billNo: "",
returnStatus: "",
preNo: "",
};
this.search(1);
this.originalLogisticsNo = "";
this.search(0);
},
//查询
search(val) {
......@@ -196,10 +324,17 @@ export default {
if (val == 0) {
this.page.pageIndex = 1;
}
let obj = this.sreachFormData;
let obj = { ...this.sreachFormData }; // 使用对象展开运算符复制 sreachFormData
obj.pageIndex = this.page.pageIndex;
obj.pageSize = this.page.pageSize;
getRoleList(obj)
obj.logisticsNo = this.originalLogisticsNo;
if (obj.logisticsNo != null && obj.logisticsNo != "") {
obj.logisticsNo = obj.logisticsNo.split("\n");
} else {
obj.logisticsNo = [];
}
getExportArrivalInList(obj)
.then((res) => {
if (res.code === "200") {
this.tableData = res.data.value;
......@@ -217,42 +352,21 @@ export default {
this.loadings.searchLoading = false;
});
},
addRole() {
this.dialogTitle = "新增角色";
this.editType = "add";
this.outerVisible = true;
},
// 新增菜单用,可以不麻烦后端---------
addMenuFn() {
let params = {
icon: "",
menuName: "运抵单查询",
order: 4.4,
parentMenuId: 90,
physicalUrl: "/arrival-list",
url: "",
};
addMenu(params).then((res) => {
console.log(res);
});
},
update(val) {
this.dialogTitle = "修改角色";
this.editType = "update";
this.outerVisible = true;
this.activeData = val;
},
muenChange(val) {
this.dialogTitle = "绑定权限";
this.editType = "menuChange";
this.outerVisible = true;
this.activeData = val;
},
dialogClose() {
this.outerVisible = false;
this.activeData = null;
this.search(1);
},
// addMenuFn() {
// let params = {
// icon: "",
// menuName: "运抵单查询",
// order: 4.4,
// parentMenuId: 90,
// physicalUrl: "/arrival-list",
// url: "",
// };
// addMenu(params).then((res) => {
// console.log(res);
// });
// },
//分页
currentChange(val) {
this.page.pageIndex = val.page;
......