初次对接
This commit is contained in:
parent
db1fdc5e18
commit
a72677e1ae
@ -67,7 +67,7 @@ export default {
|
|||||||
Description: "用户描述",
|
Description: "用户描述",
|
||||||
CreatedDate: "创建时间",
|
CreatedDate: "创建时间",
|
||||||
Operation: "操作",
|
Operation: "操作",
|
||||||
PurchaseOrder: "采购订单",
|
PurchaseOrder: "采购管理",
|
||||||
DeliveryNote: "送货单"
|
DeliveryNote: "送货管理"
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -1,17 +1,17 @@
|
|||||||
<template>
|
<template>
|
||||||
<div class="layout-navbars-breadcrumb-user pr15" :style="{ flex: layoutUserFlexNum }">
|
<div class="layout-navbars-breadcrumb-user pr15" :style="{ flex: layoutUserFlexNum }">
|
||||||
<el-dropdown :show-timeout="70" :hide-timeout="50" trigger="click" @command="onComponentSizeChange">
|
<!-- <el-dropdown :show-timeout="70" :hide-timeout="50" trigger="click" @command="onComponentSizeChange">-->
|
||||||
<div class="layout-navbars-breadcrumb-user-icon">
|
<!-- <div class="layout-navbars-breadcrumb-user-icon">-->
|
||||||
<i class="iconfont icon-ziti" :title="$t('message.user.title0')"></i>
|
<!-- <i class="iconfont icon-ziti" :title="$t('message.user.title0')"></i>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
<template #dropdown>
|
<!-- <template #dropdown>-->
|
||||||
<el-dropdown-menu>
|
<!-- <el-dropdown-menu>-->
|
||||||
<el-dropdown-item command="large" :disabled="state.disabledSize === 'large'">{{ $t('message.user.dropdownLarge') }}</el-dropdown-item>
|
<!-- <el-dropdown-item command="large" :disabled="state.disabledSize === 'large'">{{ $t('message.user.dropdownLarge') }}</el-dropdown-item>-->
|
||||||
<el-dropdown-item command="default" :disabled="state.disabledSize === 'default'">{{ $t('message.user.dropdownDefault') }}</el-dropdown-item>
|
<!-- <el-dropdown-item command="default" :disabled="state.disabledSize === 'default'">{{ $t('message.user.dropdownDefault') }}</el-dropdown-item>-->
|
||||||
<el-dropdown-item command="small" :disabled="state.disabledSize === 'small'">{{ $t('message.user.dropdownSmall') }}</el-dropdown-item>
|
<!-- <el-dropdown-item command="small" :disabled="state.disabledSize === 'small'">{{ $t('message.user.dropdownSmall') }}</el-dropdown-item>-->
|
||||||
</el-dropdown-menu>
|
<!-- </el-dropdown-menu>-->
|
||||||
</template>
|
<!-- </template>-->
|
||||||
</el-dropdown>
|
<!-- </el-dropdown>-->
|
||||||
<el-dropdown :show-timeout="70" :hide-timeout="50" trigger="click" @command="onLanguageChange">
|
<el-dropdown :show-timeout="70" :hide-timeout="50" trigger="click" @command="onLanguageChange">
|
||||||
<div class="layout-navbars-breadcrumb-user-icon">
|
<div class="layout-navbars-breadcrumb-user-icon">
|
||||||
<i
|
<i
|
||||||
@ -28,21 +28,21 @@
|
|||||||
</el-dropdown-menu>
|
</el-dropdown-menu>
|
||||||
</template>
|
</template>
|
||||||
</el-dropdown>
|
</el-dropdown>
|
||||||
<div class="layout-navbars-breadcrumb-user-icon" @click="onSearchClick">
|
<!-- <div class="layout-navbars-breadcrumb-user-icon" @click="onSearchClick">-->
|
||||||
<el-icon :title="$t('message.user.title2')">
|
<!-- <el-icon :title="$t('message.user.title2')">-->
|
||||||
<ele-Search />
|
<!-- <ele-Search />-->
|
||||||
</el-icon>
|
<!-- </el-icon>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
<div class="layout-navbars-breadcrumb-user-icon" @click="onLayoutSetingClick">
|
<div class="layout-navbars-breadcrumb-user-icon" @click="onLayoutSetingClick">
|
||||||
<i class="icon-skin iconfont" :title="$t('message.user.title3')"></i>
|
<i class="icon-skin iconfont" :title="$t('message.user.title3')"></i>
|
||||||
</div>
|
</div>
|
||||||
<div class="layout-navbars-breadcrumb-user-icon" ref="userNewsBadgeRef" v-click-outside="onUserNewsClick">
|
<!-- <div class="layout-navbars-breadcrumb-user-icon" ref="userNewsBadgeRef" v-click-outside="onUserNewsClick">-->
|
||||||
<el-badge :is-dot="true">
|
<!-- <el-badge :is-dot="true">-->
|
||||||
<el-icon :title="$t('message.user.title4')">
|
<!-- <el-icon :title="$t('message.user.title4')">-->
|
||||||
<ele-Bell />
|
<!-- <ele-Bell />-->
|
||||||
</el-icon>
|
<!-- </el-icon>-->
|
||||||
</el-badge>
|
<!-- </el-badge>-->
|
||||||
</div>
|
<!-- </div>-->
|
||||||
<el-popover
|
<el-popover
|
||||||
ref="userNewsRef"
|
ref="userNewsRef"
|
||||||
:virtual-ref="userNewsBadgeRef"
|
:virtual-ref="userNewsBadgeRef"
|
||||||
@ -72,11 +72,12 @@
|
|||||||
</span>
|
</span>
|
||||||
<template #dropdown>
|
<template #dropdown>
|
||||||
<el-dropdown-menu>
|
<el-dropdown-menu>
|
||||||
<el-dropdown-item command="/home">{{ $t('message.user.dropdown1') }}</el-dropdown-item>
|
<!-- <el-dropdown-item command="/home">{{ $t('message.user.dropdown1') }}</el-dropdown-item>-->
|
||||||
<el-dropdown-item command="wareHouse">{{ $t('message.user.dropdown6') }}</el-dropdown-item>
|
<!-- <el-dropdown-item command="wareHouse">{{ $t('message.user.dropdown6') }}</el-dropdown-item>-->
|
||||||
<el-dropdown-item command="/personal">{{ $t('message.user.dropdown2') }}</el-dropdown-item>
|
<!-- <el-dropdown-item command="/personal">{{ $t('message.user.dropdown2') }}</el-dropdown-item>-->
|
||||||
<el-dropdown-item command="/404">{{ $t('message.user.dropdown3') }}</el-dropdown-item>
|
<!-- <el-dropdown-item command="/404">{{ $t('message.user.dropdown3') }}</el-dropdown-item>-->
|
||||||
<el-dropdown-item command="/401">{{ $t('message.user.dropdown4') }}</el-dropdown-item>
|
<!-- <el-dropdown-item command="/401">{{ $t('message.user.dropdown4') }}</el-dropdown-item>-->
|
||||||
|
<el-dropdown-item divided command="">修改密码</el-dropdown-item>
|
||||||
<el-dropdown-item divided command="logOut">{{ $t('message.user.dropdown5') }}</el-dropdown-item>
|
<el-dropdown-item divided command="logOut">{{ $t('message.user.dropdown5') }}</el-dropdown-item>
|
||||||
</el-dropdown-menu>
|
</el-dropdown-menu>
|
||||||
</template>
|
</template>
|
||||||
|
@ -4,21 +4,21 @@
|
|||||||
<template v-for="val in menuLists">
|
<template v-for="val in menuLists">
|
||||||
<el-sub-menu :index="val.path" v-if="val.children && val.children.length > 0" :key="val.path">
|
<el-sub-menu :index="val.path" v-if="val.children && val.children.length > 0" :key="val.path">
|
||||||
<template #title>
|
<template #title>
|
||||||
<SvgIcon :name="val.meta.icon" />
|
<SvgIcon :name="val.meta.icon" style="color: white"/>
|
||||||
<span>{{ $t(val.meta.title) }}</span>
|
<span style="color: white">{{ $t(val.meta.title) }}</span>
|
||||||
</template>
|
</template>
|
||||||
<SubItem :chil="val.children" />
|
<SubItem :chil="val.children" />
|
||||||
</el-sub-menu>
|
</el-sub-menu>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<el-menu-item :index="val.path" :key="val.path">
|
<el-menu-item :index="val.path" :key="val.path">
|
||||||
<template #title v-if="!val.meta.isLink || (val.meta.isLink && val.meta.isIframe)">
|
<template #title v-if="!val.meta.isLink || (val.meta.isLink && val.meta.isIframe)">
|
||||||
<SvgIcon :name="val.meta.icon" />
|
<SvgIcon :name="val.meta.icon" style="color: white"/>
|
||||||
{{ $t(val.meta.title) }}
|
<span style="color: white"> {{ $t(val.meta.title) }} </span>
|
||||||
</template>
|
</template>
|
||||||
<template #title v-else>
|
<template #title v-else>
|
||||||
<a class="w100" @click.prevent="onALinkClick(val)">
|
<a class="w100" @click.prevent="onALinkClick(val)">
|
||||||
<SvgIcon :name="val.meta.icon" />
|
<SvgIcon :name="val.meta.icon" style="color: white"/>
|
||||||
{{ $t(val.meta.title) }}
|
<span style="color: white"> {{ $t(val.meta.title) }} </span>
|
||||||
</a>
|
</a>
|
||||||
</template>
|
</template>
|
||||||
</el-menu-item>
|
</el-menu-item>
|
||||||
|
@ -2,21 +2,21 @@
|
|||||||
<template v-for="val in chils">
|
<template v-for="val in chils">
|
||||||
<el-sub-menu :index="val.path" :key="val.path" v-if="val.children && val.children.length > 0">
|
<el-sub-menu :index="val.path" :key="val.path" v-if="val.children && val.children.length > 0">
|
||||||
<template #title>
|
<template #title>
|
||||||
<SvgIcon :name="val.meta.icon" />
|
<SvgIcon :name="val.meta.icon" style="color: white"/>
|
||||||
<span>{{ $t(val.meta.title) }}</span>
|
<span style="color: white">{{ $t(val.meta.title) }}</span>
|
||||||
</template>
|
</template>
|
||||||
<sub-item :chil="val.children" />
|
<sub-item :chil="val.children" />
|
||||||
</el-sub-menu>
|
</el-sub-menu>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<el-menu-item :index="val.path" :key="val.path">
|
<el-menu-item :index="val.path" :key="val.path">
|
||||||
<template v-if="!val.meta.isLink || (val.meta.isLink && val.meta.isIframe)">
|
<template v-if="!val.meta.isLink || (val.meta.isLink && val.meta.isIframe)">
|
||||||
<SvgIcon :name="val.meta.icon" />
|
<SvgIcon :name="val.meta.icon" style="color: white"/>
|
||||||
<span>{{ $t(val.meta.title) }}</span>
|
<span style="color: white">{{ $t(val.meta.title) }}</span>
|
||||||
</template>
|
</template>
|
||||||
<template v-else>
|
<template v-else>
|
||||||
<a class="w100" @click.prevent="onALinkClick(val)">
|
<a class="w100" @click.prevent="onALinkClick(val)">
|
||||||
<SvgIcon :name="val.meta.icon" />
|
<SvgIcon :name="val.meta.icon" style="color: white"/>
|
||||||
{{ $t(val.meta.title) }}
|
<span style="color: white">{{ $t(val.meta.title) }}</span>
|
||||||
</a>
|
</a>
|
||||||
</template>
|
</template>
|
||||||
</el-menu-item>
|
</el-menu-item>
|
||||||
|
@ -52,7 +52,7 @@ export const dynamicRoutes: Array<RouteRecordRaw> = [
|
|||||||
name: 'mssPurchaseOrderIndex',
|
name: 'mssPurchaseOrderIndex',
|
||||||
component: () => import('/@/views/mssPurchaseOrder/index.vue'),
|
component: () => import('/@/views/mssPurchaseOrder/index.vue'),
|
||||||
meta: {
|
meta: {
|
||||||
title: 'message.list.PurchaseOrder',
|
title: '采购管理列表',
|
||||||
isLink: '',
|
isLink: '',
|
||||||
isHide: false,
|
isHide: false,
|
||||||
isKeepAlive: true,
|
isKeepAlive: true,
|
||||||
@ -67,7 +67,7 @@ export const dynamicRoutes: Array<RouteRecordRaw> = [
|
|||||||
name: 'purchaseDetails',
|
name: 'purchaseDetails',
|
||||||
component: () => import('/@/views/mssPurchaseOrder/purchaseDetails.vue'),
|
component: () => import('/@/views/mssPurchaseOrder/purchaseDetails.vue'),
|
||||||
meta: {
|
meta: {
|
||||||
title: 'message.list.PurchaseOrder',
|
title: '采购订单明细',
|
||||||
isLink: '',
|
isLink: '',
|
||||||
isHide: true,
|
isHide: true,
|
||||||
isKeepAlive: true,
|
isKeepAlive: true,
|
||||||
@ -82,7 +82,7 @@ export const dynamicRoutes: Array<RouteRecordRaw> = [
|
|||||||
name: 'materialReceiptNotice',
|
name: 'materialReceiptNotice',
|
||||||
component: () => import('/@/views/materialReceiptNotice/index.vue'),
|
component: () => import('/@/views/materialReceiptNotice/index.vue'),
|
||||||
meta: {
|
meta: {
|
||||||
title: 'message.list.DeliveryNote',
|
title: '送货管理列表',
|
||||||
isLink: '',
|
isLink: '',
|
||||||
isHide: false,
|
isHide: false,
|
||||||
isKeepAlive: true,
|
isKeepAlive: true,
|
||||||
|
@ -26,7 +26,7 @@ export const useThemeConfig = defineStore('themeConfig', {
|
|||||||
* 顶栏设置
|
* 顶栏设置
|
||||||
*/
|
*/
|
||||||
// 默认顶栏导航背景颜色
|
// 默认顶栏导航背景颜色
|
||||||
topBar: '#ffffff',
|
topBar: '#4CA5EE',
|
||||||
// 默认顶栏导航字体颜色
|
// 默认顶栏导航字体颜色
|
||||||
topBarColor: '#606266',
|
topBarColor: '#606266',
|
||||||
// 是否开启顶栏背景颜色渐变
|
// 是否开启顶栏背景颜色渐变
|
||||||
@ -125,7 +125,7 @@ export const useThemeConfig = defineStore('themeConfig', {
|
|||||||
* 中的 `initSetLayoutChange(设置布局切换,重置主题样式)` 方法
|
* 中的 `initSetLayoutChange(设置布局切换,重置主题样式)` 方法
|
||||||
*/
|
*/
|
||||||
// 布局切换:可选值"<defaults|classic|transverse|columns>",默认 defaults
|
// 布局切换:可选值"<defaults|classic|transverse|columns>",默认 defaults
|
||||||
layout: 'defaults',
|
layout: 'transverse',
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 后端控制路由
|
* 后端控制路由
|
||||||
|
@ -1,116 +0,0 @@
|
|||||||
import dayjs from 'dayjs';
|
|
||||||
import md5 from 'md5';
|
|
||||||
import { customRef, ref } from "vue"
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 格式化时间
|
|
||||||
*/
|
|
||||||
export function formatTime(
|
|
||||||
date?: string | number | Date | dayjs.Dayjs | null | undefined,
|
|
||||||
template?: string | undefined
|
|
||||||
) {
|
|
||||||
return dayjs(date).format(template);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
*
|
|
||||||
* 格式化时间
|
|
||||||
*/
|
|
||||||
export function timeAgo(
|
|
||||||
date?: string | number | Date | dayjs.Dayjs | null | undefined,
|
|
||||||
template?: string
|
|
||||||
) {
|
|
||||||
const d = dayjs(date).valueOf();
|
|
||||||
const now = Date.now();
|
|
||||||
const diff = (now - d) / 1000;
|
|
||||||
if (diff < 3600) {
|
|
||||||
return Math.ceil(diff / 60) + '分钟前';
|
|
||||||
} else if (diff < 3600 * 24) {
|
|
||||||
return Math.ceil(diff / 3600) + '小时前';
|
|
||||||
} else {
|
|
||||||
return formatTime(date, template);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* md5加密
|
|
||||||
*/
|
|
||||||
export function md5Encryption(
|
|
||||||
message: string | Buffer | number[] | Uint8Array
|
|
||||||
) {
|
|
||||||
const KEY = md5('LULU Derivation');
|
|
||||||
return md5(KEY + md5(message));
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 类型检查
|
|
||||||
*/
|
|
||||||
|
|
||||||
export function typeCheck(param: any) {
|
|
||||||
return Object.prototype.toString.call(param);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 批量修改stage
|
|
||||||
*/
|
|
||||||
export function mutateState(state: AnyObject, payload: AnyObject) {
|
|
||||||
if (
|
|
||||||
typeCheck(state) === '[object Object]' &&
|
|
||||||
typeCheck(payload) === '[object Object]'
|
|
||||||
) {
|
|
||||||
for (const key in payload) {
|
|
||||||
state[key] = payload[key];
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
console.error('expected plain Object');
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* 防抖
|
|
||||||
*/
|
|
||||||
export function debounceRef (data:any, delay = 300){
|
|
||||||
let timer: NodeJS.Timeout | null = null;
|
|
||||||
return delay == null
|
|
||||||
?
|
|
||||||
ref(data)
|
|
||||||
:
|
|
||||||
customRef((track, trigger) => {
|
|
||||||
return {
|
|
||||||
get () {
|
|
||||||
track()
|
|
||||||
return data
|
|
||||||
},
|
|
||||||
set (value) {
|
|
||||||
if(timer != null){
|
|
||||||
clearTimeout(timer)
|
|
||||||
timer = null
|
|
||||||
}
|
|
||||||
timer = setTimeout(() => {
|
|
||||||
data = value;
|
|
||||||
trigger()
|
|
||||||
}, delay)
|
|
||||||
}
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
//计算两个时间之间的时间差 多少天时分秒
|
|
||||||
export function timeFn(d1: string,d2: string) {//di作为一个变量传进来
|
|
||||||
//如果时间格式是正确的,那下面这一步转化时间格式就可以不用了
|
|
||||||
var dateBegin = new Date(d1.replace(/-/g, "/"));//将-转化为/,使用new Date
|
|
||||||
var dateEnd = new Date(d2.replace(/-/g, "/"));//获取当前时间
|
|
||||||
var dateDiff = dateEnd.getTime() - dateBegin.getTime();//时间差的毫秒数
|
|
||||||
var dayDiff = Math.floor(dateDiff / (24 * 3600 * 1000));//计算出相差天数
|
|
||||||
var leave1=dateDiff%(24*3600*1000) //计算天数后剩余的毫秒数
|
|
||||||
var hours=Math.floor(leave1/(3600*1000))//计算出小时数
|
|
||||||
//计算相差分钟数
|
|
||||||
var leave2=leave1%(3600*1000) //计算小时数后剩余的毫秒数
|
|
||||||
var minutes=Math.floor(leave2/(60*1000))//计算相差分钟数
|
|
||||||
//计算相差秒数
|
|
||||||
var leave3=leave2%(60*1000) //计算分钟数后剩余的毫秒数
|
|
||||||
var seconds=Math.round(leave3/1000)
|
|
||||||
console.log(" 相差 "+dayDiff+"天 "+hours+"小时 "+minutes+" 分钟"+seconds+" 秒")
|
|
||||||
console.log(dateDiff+"时间差的毫秒数",dayDiff+"计算出相差天数",leave1+"计算天数后剩余的毫秒数"
|
|
||||||
,hours+"计算出小时数",minutes+"计算相差分钟数",seconds+"计算相差秒数");
|
|
||||||
}
|
|
@ -79,7 +79,6 @@ const onLoadFun = (e:any) => {
|
|||||||
getList()
|
getList()
|
||||||
}
|
}
|
||||||
const searchChange = (params:any, done:any) => {
|
const searchChange = (params:any, done:any) => {
|
||||||
console.log(params)
|
|
||||||
done()
|
done()
|
||||||
if(params.fDate?.length){
|
if(params.fDate?.length){
|
||||||
console.log(11111)
|
console.log(11111)
|
||||||
|
@ -24,7 +24,6 @@
|
|||||||
|
|
||||||
<script lang="ts" setup>
|
<script lang="ts" setup>
|
||||||
import {reactive, onMounted, computed,defineProps} from 'vue';
|
import {reactive, onMounted, computed,defineProps} from 'vue';
|
||||||
import { formatTime } from '../../utils/index'
|
|
||||||
import { useRouter } from 'vue-router'
|
import { useRouter } from 'vue-router'
|
||||||
import { listApi } from '../../api/list/index'
|
import { listApi } from '../../api/list/index'
|
||||||
import { useI18n } from 'vue-i18n';
|
import { useI18n } from 'vue-i18n';
|
||||||
@ -34,6 +33,7 @@ const props = defineProps({
|
|||||||
|
|
||||||
})
|
})
|
||||||
// 定义变量内容
|
// 定义变量内容
|
||||||
|
JSON.stringify()
|
||||||
const state = reactive({
|
const state = reactive({
|
||||||
page: {
|
page: {
|
||||||
total: 1000,
|
total: 1000,
|
||||||
@ -42,28 +42,29 @@ const state = reactive({
|
|||||||
},
|
},
|
||||||
option: {
|
option: {
|
||||||
index: false,
|
index: false,
|
||||||
menuWidth: 150,
|
menuWidth: 120,
|
||||||
border: true,
|
border: true,
|
||||||
delBtn: false,
|
delBtn: false,
|
||||||
editBtn: false,
|
editBtn: false,
|
||||||
align: 'center',
|
align: 'center',
|
||||||
searchLabelWidth:100,
|
// searchLabelWidth:100,
|
||||||
searchMenuSpan:6,
|
selection: true,
|
||||||
|
searchMenuSpan:3,
|
||||||
addBtn:false,
|
addBtn:false,
|
||||||
column: [
|
column: [
|
||||||
{ label: computed(() => t('message.list.PONumber')), prop: 'fBillNo', width: 200,search: true },
|
{ label: computed(() => t('message.list.PONumber')), prop: 'fBillNo', width: 150,search: true,searchSpan: 3 },
|
||||||
{ label: computed(() => t('message.list.SupplierCode')), prop: 'supplierId', width: 200 },
|
{ label: computed(() => t('message.list.PurchaseDate')), prop: 'fDate', width: 150,search: true,type: 'datetime', searchSpan: 6,searchRange: true,},
|
||||||
{ label: computed(() => t('message.list.SupplierName')), prop: 'supplierName', width: 200 },
|
{ label: '关闭状态', prop: 'hangzhuangtai', width: 150 },
|
||||||
{ label: computed(() => t('message.list.Buyer')), prop: 'purchaser', width: 200 },
|
{ label: '物料编码', prop: 'wuliaobinama', width: 150 },
|
||||||
{ label: computed(() => t('message.list.SettlementMode')), prop: 'paymentMethod', width: 200,search: true },
|
{ label: '物料名称', prop: 'wuliaomingcheng', width: 150 },
|
||||||
{ label: computed(() => t('message.list.Currency')), prop: 'settlementCcurrency', width: 200,search: true },
|
{ label: '采购单位', prop: 'caigoudanwei', width: 150 },
|
||||||
{ label: computed(() => t('message.list.PaymentTerms')), prop: 'paymentTerms', width: 200 },
|
{ label: '采购数量', prop: 'caigoushuliang', width: 150 },
|
||||||
{ label: computed(() => t('message.list.ExchangeRateType')), prop: 'exchangeRateType', width: 200,search: true },
|
{ label: '交货日期', prop: 'jioahuiriqi', width: 150 },
|
||||||
{ label: computed(() => t('message.list.ExchangeRate')), prop: 'exchangeRate', width: 200 },
|
{ label: '业务状态', prop: 'yewuzhuangtai', width: 150,search: true,searchSpan: 3 },
|
||||||
{ label: computed(() => t('message.list.OrderCreater')), prop: 'creater', width: 200 },
|
{ label: '累计收料数量', prop: 'ljslsl', width: 150 },
|
||||||
{ label: computed(() => t('message.list.DocStatus')), prop: 'status', width: 200,search: true,type: 'select'},
|
{ label: '剩余收料数量', prop: 'syslsl', width: 150 },
|
||||||
{ label: computed(() => t('message.list.PurchaseDate')), prop: 'fDate', width: 200,search: true,type: 'datetime', searchSpan: 12,searchRange: true,},
|
{ label: '供应商承诺交期', prop: 'gyscnjq', width: 150 },
|
||||||
{ label: computed(() => t('message.list.Comments')), prop: 'remark', width: 200 },
|
{ label: '供应商承诺最新交期', prop: 'gyscnzxjq', width: 150 },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
data: [],
|
data: [],
|
||||||
@ -76,17 +77,13 @@ const onLoadFun = (e:any) => {
|
|||||||
getList()
|
getList()
|
||||||
}
|
}
|
||||||
const searchChange = (params:any, done:any) => {
|
const searchChange = (params:any, done:any) => {
|
||||||
console.log(params)
|
|
||||||
done()
|
done()
|
||||||
if(params.fDate?.length){
|
if(params.fDate?.length){}
|
||||||
console.log(11111)
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
const resetChange = () => {
|
const resetChange = () => {
|
||||||
|
|
||||||
}
|
}
|
||||||
const toPurchaseDetails = (item:any) => {
|
const toPurchaseDetails = (item:any) => {
|
||||||
console.log(item)
|
|
||||||
router.push({
|
router.push({
|
||||||
path: '/purchaseDetails',
|
path: '/purchaseDetails',
|
||||||
query:{
|
query:{
|
||||||
@ -113,6 +110,9 @@ onMounted(() => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
:deep(.el-table__cell){
|
||||||
|
padding: 0 !important;
|
||||||
|
}
|
||||||
.system-user-container {
|
.system-user-container {
|
||||||
:deep(.el-card__body) {
|
:deep(.el-card__body) {
|
||||||
display: flex;
|
display: flex;
|
||||||
|
@ -5,14 +5,19 @@
|
|||||||
ref="crudRef"
|
ref="crudRef"
|
||||||
:data="state.data"
|
:data="state.data"
|
||||||
:option="state.option"
|
:option="state.option"
|
||||||
@selection-change="selectionChange">
|
@selection-change="selectionChange"
|
||||||
|
@search-change="searchChange"
|
||||||
|
@search-reset="resetChange"
|
||||||
|
>
|
||||||
<template #menu-left>
|
<template #menu-left>
|
||||||
<div class="menu-left" @click="selectedDataShowFun">
|
<div style="display: flex;">
|
||||||
<span >已选中 <span style="color: #3edc95; font-size: 18px">{{ state.selectedData.length }}</span> 条数据</span >
|
<div class="menu-left">
|
||||||
<el-icon>
|
<span >已选中 <span style="color: #3edc95; font-size: 18px">{{ state.selectedData.length }}</span> 条数据</span >
|
||||||
<ArrowRight />
|
</div>
|
||||||
</el-icon>
|
<el-button style="margin-left: 16px" type="primary" @click="selectedDataShowFun" >生成送货单</el-button>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
</template>
|
</template>
|
||||||
</avue-crud>
|
</avue-crud>
|
||||||
</el-card>
|
</el-card>
|
||||||
@ -52,41 +57,52 @@ const state = reactive({
|
|||||||
searchMenuSpan: 6,
|
searchMenuSpan: 6,
|
||||||
addBtn: false,
|
addBtn: false,
|
||||||
column: [
|
column: [
|
||||||
{ label: computed(() => t('message.list.MaterialCode')), prop: 'materialCode', width: 200, search: true },
|
{ label: 'PO号', prop: 'fBillNo', width: 150},
|
||||||
{ label: computed(() => t('message.list.MaterialName')), prop: 'materialName', width: 200, search: true },
|
{ label: computed(() => t('message.list.PurchaseDate')), prop: 'fDate', width: 150,type: 'datetime', searchSpan: 6,searchRange: true,},
|
||||||
{ label: computed(() => t('message.list.Specification')), prop: 'specificationModel', width: 200, search: true },
|
{ label: '关闭状态', prop: 'hangzhuangtai', width: 150 },
|
||||||
{ label: computed(() => t('message.list.PurchaseUnit')), prop: 'FUnitId', width: 200, search: true },
|
{ label: '物料编码', prop: 'wuliaobinama', width: 150 },
|
||||||
{ label: '采购数量', prop: 'qty', width: 200 },
|
{ label: '物料名称', prop: 'wuliaomingcheng', width: 150 },
|
||||||
{ label: '处理中数量', prop: 'processingQty', width: 200 },
|
{ label: '采购单位', prop: 'caigoudanwei', width: 150 },
|
||||||
{ label: '已发货数量', prop: 'sendedQty', width: 200 },
|
{ label: '采购数量', prop: 'caigoushuliang', width: 150 },
|
||||||
{ label: '未发货数量', prop: 'notSendQty', width: 200 },
|
{ label: '交货日期', prop: 'jioahuiriqi', width: 150 },
|
||||||
{ label: '本次发货数量', prop: 'nowSendQty', width: 200 },
|
{ label: '业务状态', prop: 'yewuzhuangtai', width: 150},
|
||||||
{ label: computed(() => t('message.list.UP')), prop: 'unitPrice', width: 200 },
|
{ label: '累计收料数量', prop: 'ljslsl', width: 150 },
|
||||||
{ label:'价税合计(含税金额', prop: 'amount1', width: 200 },
|
{ label: '剩余收料数量', prop: 'syslsl', width: 150 },
|
||||||
{ label: computed(() => t('message.list.TotalAmount')), prop: 'amount2', width: 200 },
|
{ label: '供应商承诺交期', prop: 'gyscnjq', width: 150 },
|
||||||
{ label: computed(() => t('message.list.AccumulatedReceiptQTY')), prop: 'FReceiveQty', width: 200 },
|
{ label: '供应商承诺最新交期', prop: 'gyscnzxjq', width: 150 },
|
||||||
{ label: computed(() => t('message.list.TaxAmount')), prop: 'taxAmount', width: 200 },
|
// { label: computed(() => t('message.list.MaterialCode')), prop: 'materialCode', width: 200 },
|
||||||
{
|
// { label: computed(() => t('message.list.MaterialName')), prop: 'materialName', width: 200 },
|
||||||
label: computed(() => t('message.list.CommittedDeliveryDate')),
|
// { label: computed(() => t('message.list.Specification')), prop: 'specificationModel', width: 200 },
|
||||||
prop: 'chengNuoJiaoQi',
|
// { label: computed(() => t('message.list.PurchaseUnit')), prop: 'FUnitId', width: 200 },
|
||||||
width: 200,
|
// { label: '采购数量', prop: 'qty', width: 200 },
|
||||||
search: true,
|
// { label: '处理中数量', prop: 'processingQty', width: 200 },
|
||||||
type: 'datetime',
|
// { label: '已发货数量', prop: 'sendedQty', width: 200 },
|
||||||
searchSpan: 12,
|
// { label: '未发货数量', prop: 'notSendQty', width: 200 },
|
||||||
searchRange: true,
|
// { label: '本次发货数量', prop: 'nowSendQty', width: 200 },
|
||||||
searchLabelWidth: 150,
|
// { label: computed(() => t('message.list.UP')), prop: 'unitPrice', width: 200 },
|
||||||
},
|
// { label:'价税合计(含税金额', prop: 'amount1', width: 200 },
|
||||||
{
|
// { label: computed(() => t('message.list.TotalAmount')), prop: 'amount2', width: 200 },
|
||||||
label: computed(() => t('message.list.LatestCommittedDeliveryDate')),
|
// { label: computed(() => t('message.list.AccumulatedReceiptQTY')), prop: 'FReceiveQty', width: 200 },
|
||||||
prop: 'newChengNuoJiaoQi',
|
// { label: computed(() => t('message.list.TaxAmount')), prop: 'taxAmount', width: 200 },
|
||||||
width: 200,
|
// {
|
||||||
search: true,
|
// label: computed(() => t('message.list.CommittedDeliveryDate')),
|
||||||
type: 'datetime',
|
// prop: 'chengNuoJiaoQi',
|
||||||
searchSpan: 12,
|
// width: 200,
|
||||||
searchRange: true,
|
// type: 'datetime',
|
||||||
searchLabelWidth: 150,
|
// searchSpan: 12,
|
||||||
},
|
// searchRange: true,
|
||||||
{ label: computed(() => t('message.list.Comments2')), prop: 'remark', width: 200 },
|
// searchLabelWidth: 150,
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// label: computed(() => t('message.list.LatestCommittedDeliveryDate')),
|
||||||
|
// prop: 'newChengNuoJiaoQi',
|
||||||
|
// width: 200,
|
||||||
|
// type: 'datetime',
|
||||||
|
// searchSpan: 12,
|
||||||
|
// searchRange: true,
|
||||||
|
// searchLabelWidth: 150,
|
||||||
|
// },
|
||||||
|
// { label: computed(() => t('message.list.Comments2')), prop: 'remark', width: 200 },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
data: [],
|
data: [],
|
||||||
@ -100,9 +116,17 @@ const selectionChange = (list:any) => {
|
|||||||
state.selectedData = JSON.parse(JSON.stringify(list))
|
state.selectedData = JSON.parse(JSON.stringify(list))
|
||||||
})
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
const searchChange = (params:any, done:any) => {
|
||||||
|
done()
|
||||||
|
getList()
|
||||||
|
}
|
||||||
|
const resetChange = () => {
|
||||||
|
|
||||||
}
|
}
|
||||||
const generateDocumentsFun = () => {
|
const generateDocumentsFun = () => {
|
||||||
state.receiptShow = !state.receiptShow
|
state.selectedDataShow = false
|
||||||
|
getList()
|
||||||
}
|
}
|
||||||
const selectedDataShowFun = () => {
|
const selectedDataShowFun = () => {
|
||||||
state.selectedDataShow = !state.selectedDataShow
|
state.selectedDataShow = !state.selectedDataShow
|
||||||
@ -148,7 +172,7 @@ const getList = () => {
|
|||||||
}
|
}
|
||||||
|
|
||||||
.menu-left {
|
.menu-left {
|
||||||
width: 340px;
|
//width: 340px;
|
||||||
height: 40px;
|
height: 40px;
|
||||||
background-color: rgba(64, 159, 255, 0.18);
|
background-color: rgba(64, 159, 255, 0.18);
|
||||||
border-radius: 8px;
|
border-radius: 8px;
|
||||||
|
@ -24,7 +24,7 @@
|
|||||||
</template>
|
</template>
|
||||||
</avue-crud>
|
</avue-crud>
|
||||||
<div class="btnList">
|
<div class="btnList">
|
||||||
<el-button type="primary" @click="batchAddInvoiceOrderFun">生成通知单</el-button>
|
<el-button type="primary" @click="batchAddInvoiceOrderFun">确定</el-button>
|
||||||
</div>
|
</div>
|
||||||
</el-dialog>
|
</el-dialog>
|
||||||
</template>
|
</template>
|
||||||
@ -65,32 +65,38 @@ const state = reactive({
|
|||||||
searchMenuSpan: 6,
|
searchMenuSpan: 6,
|
||||||
addBtn: false,
|
addBtn: false,
|
||||||
column: [
|
column: [
|
||||||
{ label: computed(() => t('message.list.MaterialCode')), prop: 'materialCode', width: 200 },
|
{ label: 'PO号', prop: 'materialCode', },
|
||||||
{ label: computed(() => t('message.list.MaterialName')), prop: 'materialName', width: 200 },
|
{ label: '物料编码', prop: 'materialCode', },
|
||||||
{ label: computed(() => t('message.list.Specification')), prop: 'specificationModel', width: 200 },
|
{ label: '物料名称', prop: 'materialCode', },
|
||||||
{ label: computed(() => t('message.list.PurchaseUnit')), prop: 'FUnitId', width: 200 },
|
{ label: '采购单位', prop: 'materialCode', },
|
||||||
{ label: '采购数量', prop: 'qty', width: 200 },
|
{ label: '本次发货数量', prop: 'materialCode', },
|
||||||
{ label: '处理中数量', prop: 'processingQty', width: 200 },
|
{ label: '采购数量', prop: 'materialCode', },
|
||||||
{ label: '已发货数量', prop: 'sendedQty', width: 200 },
|
{ label: '已发货数量', prop: 'materialCode', },
|
||||||
{ label: '未发货数量', prop: 'notSendQty', width: 200 },
|
// { label: computed(() => t('message.list.MaterialName')), prop: 'materialName', },
|
||||||
{ label: '本次发货数量', prop: 'nowSendQty', width: 200,fixed:true },
|
// { label: computed(() => t('message.list.Specification')), prop: 'specificationModel', },
|
||||||
{ label: computed(() => t('message.list.UP')), prop: 'amount1', width: 200 },
|
// { label: computed(() => t('message.list.PurchaseUnit')), prop: 'FUnitId', },
|
||||||
{ label: computed(() => t('message.list.TotalAmount')), prop: 'amount2', width: 200 },
|
// { label: '采购数量', prop: 'qty', },
|
||||||
{ label: computed(() => t('message.list.AccumulatedReceiptQTY')), prop: 'FReceiveQty', width: 200 },
|
// { label: '处理中数量', prop: 'processingQty', },
|
||||||
{ label: computed(() => t('message.list.TaxAmount')), prop: 'taxAmount', width: 200 },
|
// { label: '已发货数量', prop: 'sendedQty', },
|
||||||
{ label: computed(() => t('message.list.CommittedDeliveryDate')), prop: 'chengNuoJiaoQi',
|
// { label: '未发货数量', prop: 'notSendQty', },
|
||||||
width: 200, type: 'datetime', searchSpan: 12, searchRange: true, searchLabelWidth: 150,fixed:true },
|
// { label: '本次发货数量', prop: 'nowSendQty', ,fixed:true },
|
||||||
{
|
// { label: computed(() => t('message.list.UP')), prop: 'amount1', },
|
||||||
label: computed(() => t('message.list.LatestCommittedDeliveryDate')),
|
// { label: computed(() => t('message.list.TotalAmount')), prop: 'amount2', },
|
||||||
prop: 'newChengNuoJiaoQi',
|
// { label: computed(() => t('message.list.AccumulatedReceiptQTY')), prop: 'FReceiveQty', },
|
||||||
width: 200,
|
// { label: computed(() => t('message.list.TaxAmount')), prop: 'taxAmount', },
|
||||||
type: 'datetime',
|
// { label: computed(() => t('message.list.CommittedDeliveryDate')), prop: 'chengNuoJiaoQi',
|
||||||
searchSpan: 12,
|
// , type: 'datetime', searchSpan: 12, searchRange: true, searchLabelWidth: 150,fixed:true },
|
||||||
searchRange: true,
|
// {
|
||||||
searchLabelWidth: 150,
|
// label: computed(() => t('message.list.LatestCommittedDeliveryDate')),
|
||||||
fixed:true
|
// prop: 'newChengNuoJiaoQi',
|
||||||
},
|
// ,
|
||||||
{ label: computed(() => t('message.list.Comments2')), prop: 'remark', width: 200 },
|
// type: 'datetime',
|
||||||
|
// searchSpan: 12,
|
||||||
|
// searchRange: true,
|
||||||
|
// searchLabelWidth: 150,
|
||||||
|
// fixed:true
|
||||||
|
// },
|
||||||
|
// { label: computed(() => t('message.list.Comments2')), prop: 'remark', },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
topId: '',
|
topId: '',
|
||||||
|
@ -12,6 +12,8 @@
|
|||||||
<el-table :data="state.tableData.data" v-loading="state.tableData.loading" style="width: 100%">
|
<el-table :data="state.tableData.data" v-loading="state.tableData.loading" style="width: 100%">
|
||||||
<el-table-column type="index" label="序号" width="60" />
|
<el-table-column type="index" label="序号" width="60" />
|
||||||
<el-table-column prop="userName" label="账户名称" show-overflow-tooltip></el-table-column>
|
<el-table-column prop="userName" label="账户名称" show-overflow-tooltip></el-table-column>
|
||||||
|
<el-table-column prop="userName" label="供应商名称" show-overflow-tooltip></el-table-column>
|
||||||
|
<el-table-column prop="userName" label="供应商ID" show-overflow-tooltip></el-table-column>
|
||||||
<el-table-column prop="userNickname" label="用户昵称" show-overflow-tooltip></el-table-column>
|
<el-table-column prop="userNickname" label="用户昵称" show-overflow-tooltip></el-table-column>
|
||||||
<el-table-column prop="phone" label="手机号" show-overflow-tooltip></el-table-column>
|
<el-table-column prop="phone" label="手机号" show-overflow-tooltip></el-table-column>
|
||||||
<el-table-column prop="status" label="用户状态" show-overflow-tooltip>
|
<el-table-column prop="status" label="用户状态" show-overflow-tooltip>
|
||||||
|
Loading…
x
Reference in New Issue
Block a user