Browse Source

商配增加字段,优化代码

dev
马远东 3 months ago
parent
commit
b126f4eb0a
  1. BIN
      public/img/kflogo.png
  2. BIN
      public/img/kflogo2.png
  3. BIN
      public/img/logo3.png
  4. 233
      src/option/storagecost/OrderTotalTransferDetails.js
  5. 80
      src/page/login/aiqa.vue
  6. 306
      src/views/cost/storagecost/OrderTotalTransferDetails.vue
  7. 2
      src/views/cost/storagecost/Warehouseinformationconfiguration.vue
  8. 27
      src/views/distribution/deliverylist/distributionDeliveryListedt.vue

BIN
public/img/kflogo.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

BIN
public/img/kflogo2.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

BIN
public/img/logo3.png

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

233
src/option/storagecost/OrderTotalTransferDetails.js

@ -0,0 +1,233 @@
export const columnList = [
{
prop: 'checkbox',
label: '复选框',
type: 0,
width: 55,
fixed: true,
},
{
prop: 'xh',
label: '序号',
type: 12,
values: '',
width: 55,
fixed: true,
},
{
prop: 'a1',
label: '中转仓',
type: 2,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'a2',
label: '订单编号',
type: 2,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'a3',
label: '运单号',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'a4',
label: '到站仓',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'a5',
label: '发站仓',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'a6',
label: '发货单位',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'a7',
label: '收货单位',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'a8',
label: '运单类型',
type: 3,
values: '',
width: '150',
checkarr: [{
label: '商配',
value: '商配',
},{
label: '市配',
value: '市配',
},
],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'a9',
label: '服务类型',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'a11',
label: '开单时间',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'a12',
label: '签收时间',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'a13',
label: '总件数',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'a14',
label: '中转入库总件数',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'a15',
label: '中转入库总收入',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'a16',
label: '中转出库总件数',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'a17',
label: '中转出库总收入',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'a17',
label: '中转作业总收入',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'a17',
label: '中转结算时间',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
// {
// prop: 'createUserName',
// label: '操作',
// type: 6,
// values: '',
// width: '200',
// checkarr: [],
// fixed: 'right',
// sortable: false,
// },
];

80
src/page/login/aiqa.vue

@ -1,7 +1,9 @@
<template>
<div class="page-content">
<div class="header">
<div class="logo"><img :src="logo" />货无忧AI智能问答</div>
<div class="logo"><img :src="logo" />
<span>货无忧AI智能问答</span>
</div>
<div class="icon-box">
<el-icon @click="close"><CloseBold /></el-icon>
</div>
@ -9,6 +11,8 @@
<div class="content">
<div class="left">
<div class="content-box" ref="chatContainer">
<div class="content-time">{{time}}</div>
<template v-for="(item, index) in Data.ChathistoryList" :key="index">
<div
:class="{
@ -17,7 +21,8 @@
}"
>
<div class="icon">
<el-icon><Avatar /></el-icon>
<el-icon v-if=" item.state === 'user'"><Avatar /></el-icon>
<img v-else :src="logotx" />
</div>
<div>
<div
@ -26,8 +31,8 @@
'content-header-user': item.state === 'user',
}"
>
<span>User:{{ item.name }}</span>
<span>Time:{{ item.time }}</span>
<span>{{ item.name }}</span>
<!-- <span>{{ item.time }}</span> -->
</div>
<div class="content-list">
<p :ref="el => (chatContents[index] = el)">
@ -90,11 +95,12 @@
</template>
<script setup>
import { defineProps, defineEmits, ref, nextTick, onMounted } from 'vue';
import { defineProps, defineEmits, ref, nextTick, onMounted, computed } from 'vue';
import { ElMessage } from 'element-plus';
import Qrxcx from '../../../public/img/Qrxcx.png'; //
import Qrewm from '../../../public/img/Qrewm.png'; //APP
import logo from '../../../public/img/p-logo.png'; //logo
import logo from '../../../public/img/kflogo.png'; //logo
import logotx from '../../../public/img/logo3.png'; //logo
const emit = defineEmits(['request-data']);
const isFirstMessage = ref(true);
const chatContainer = ref(null);
@ -188,8 +194,15 @@ const setCurrentTime = () => {
const year = now.getFullYear();
const month = (now.getMonth() + 1).toString().padStart(2, '0');
const day = now.getDate().toString().padStart(2, '0');
return `${year}${month}${day}`;
const hours = now.getHours().toString().padStart(2, '0');
const minutes = now.getMinutes().toString().padStart(2, '0');
const seconds = now.getSeconds().toString().padStart(2, '0');
return `${year}${month}${day}${hours}:${minutes}:${seconds}`;
};
const time = computed(()=>{
return setCurrentTime()
})
//
const inputData = value => {
Data.value.input = value;
@ -327,16 +340,16 @@ AiData(); //初始化AI机器人
cursor: pointer;
}
.id1 {
border: 1px solid red;
background-color: red;
border: 1px solid #f45c45;
background-color: #f45c45;
}
.id2 {
border: 1px solid #2196f3;
background-color: #2196f3;
border: 1px solid #ed9c43;
background-color: #ed9c43;
}
.id3 {
border: 1px solid #8bc34a;
background-color: #8bc34a;
border: 1px solid #ffd35d;
background-color: #ffd35d;
}
}
}
@ -359,15 +372,18 @@ AiData(); //初始化AI机器人
align-items: center;
justify-content: space-between;
background-color: #172e60;
line-height: 68px;
line-height: 40px;
font-size: 16px;
padding: 0 24px;
.logo {
display: flex;
align-items: center;
span{
margin-left: 10px;
}
img {
width: 100px;
height: 100px;
width: 30px;
height: 30px;
}
}
.icon-box {
@ -390,7 +406,6 @@ AiData(); //初始化AI机器人
display: flex;
justify-content: space-between;
overflow-y: hidden;
box-shadow: 0px 2px 4px #9e9e9e;
.left {
width: 66%;
border-right: 1px solid #d3832a;
@ -398,11 +413,10 @@ AiData(); //初始化AI机器人
flex-direction: column;
.content-box {
height: 85%;
background-color: #fbfbfd;
height: 70%;
background-color: #f5f5f6;
padding: 10px;
overflow-y: scroll;
box-shadow: inset 3px -1px 4px #c9c0c0;
.chat-history,
.chat-history-user {
margin-bottom: 2%;
@ -411,10 +425,10 @@ AiData(); //初始化AI机器人
height: fit-content;
.icon {
min-width: 40px;
min-height: 40px;
max-width: 40px;
max-height: 40px;
min-width: 54px;
min-height: 54px;
max-width: 54px;
max-height: 54px;
border-radius: 50%;
border: 1px solid #d3832a;
margin-right: 20px;
@ -423,6 +437,10 @@ AiData(); //初始化AI机器人
justify-content: center;
color: #d3832a;
font-size: 3em;
img{
width: 100%;
height: 100%;
}
.el-icon {
font-size: 22px;
}
@ -441,9 +459,9 @@ AiData(); //初始化AI机器人
border: 1px solid #9e9e9e;
padding: 0 4px;
border-radius: 4px;
font-size: 14px;
p {
text-indent: 24px;
font-size: 13px;
// text-indent: 24px;
}
}
}
@ -482,6 +500,9 @@ AiData(); //初始化AI机器人
.el-input__wrapper {
box-shadow: none;
}
.el-input__inner{
font-size: 12px;
}
.el-button {
position: absolute;
right: 10px;
@ -510,4 +531,9 @@ AiData(); //初始化AI机器人
}
}
}
.content-time{
text-align: center;
color: #9a9a9a;
font-size: 12px;
}
</style>

306
src/views/cost/storagecost/OrderTotalTransferDetails.vue

@ -1,11 +1,303 @@
<template>
订单总中转作业明细
</template>
<basic-container>
<!-- 首页表格 -->
<div class="avue-crud">
<!-- 搜索模块 -->
<el-row v-if="search">
<!-- 查询模块 -->
<el-form :inline="true" :model="query" class="el-fr-d">
<!-- 查询按钮 -->
<el-form-item class="el-btn">
<el-button type="primary" icon="el-icon-search" @click="searchChange"> </el-button>
<el-button icon="el-icon-delete" @click="searchReset()"> </el-button>
</el-form-item>
</el-form>
</el-row>
<!-- 控件模块 -->
<el-row>
<div class="avue-crud__header">
<!-- 头部左侧按钮模块 -->
<div class="avue-crud__left">
<el-button type="primary" @click="AddInfo"><el-icon><Download /></el-icon></el-button>
</div>
<!-- 头部右侧按钮模块 -->
<div class="avue-crud__right">
<el-button icon="el-icon-refresh" @click="searchChangeS" circle></el-button>
<el-button icon="Operation" @click="showdrawer(true)" circle></el-button>
<el-button icon="Search" @click="searchHide" circle></el-button>
</div>
</div>
</el-row>
<!-- 首页表格 -->
<el-row>
<!-- 列表模块 -->
<tablecmt
class="tableNode"
:columnList="details.columnList"
:tableData="data"
:loading="loadingObj.list"
@inputTxt="inputsc"
@timeCheck="timesc"
@btnCheck="btnsc"
@selectCheck="selectsc"
@selection="selectionChange"
>
<template #default="slotProps">
<template v-if="slotProps.scope.column.label === '操作'">
<div class="ElBtnClass">
<el-button @click="view(slotProps.scope)">查看</el-button>
</div>
</template>
</template>
</tablecmt>
</el-row>
<!-- 分页模块 -->
<el-row class="el-fy">
<div class="avue-crud__pagination flex-c-sb" style="width: 100%">
<div></div>
<el-pagination
align="right"
background
@size-change="sizeChange"
@current-change="currentChange"
:current-page="page.currentPage"
:page-sizes="[30, 50, 80, 120]"
:page-size="page.pageSize"
layout="total, sizes, prev, pager, next, jumper"
:total="page.total"
>
</el-pagination>
</div>
</el-row>
</div>
</basic-container>
<!-- 列表配置显示 -->
<edittablehead
@setcolum="setnewcolum"
@closce="showdrawer"
:drawerShow="drawerShow"
:columnList="details.columnList"
v-model="details.columnList"
></edittablehead>
</template>
<script setup>
import { ref, reactive, toRefs, computed, onMounted, nextTick, watch } from 'vue';
import { columnList } from '@/option/storagecost/OrderTotalTransferDetails.js';
import { getDictionaryBiz } from '@/api/system/dict'; //
import { processRowProperty,setNodeHeight } from '@/utils/util';
import functions from '@/utils/functions.js';
import { ElMessageBox,ElMessage } from 'element-plus';
import { downloadXls } from '@/utils/util';
import { useStore } from 'vuex';
import dayjs from 'dayjs';
const $router = useRouter();//
const $useStore = useStore();//
const $route = useRoute();//
const details = reactive({
/** 是否开启搜索 */
search: false,
/** 表格搜索条件 */
query: {},
/** 时间快捷选择设置 */
shortcuts: [
{
text: '最近一周',
value: () => {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
return [start, end];
},
},
{
text: '最近一个月',
value: () => {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
return [start, end];
},
},
{
text: '最近三个月',
value: () => {
const end = new Date();
const start = new Date();
start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
return [start, end];
},
},
],
/** 时间选择器数据 */
stockupDate: [],
/** 列表 */
columnList,
/** 列表数据 */
data: [{}],
/** 页面loading */
loadingObj: {
/** 列表加载loading */
list: false,
packageListLoading: false,
},
/** 列表复选框选中的数据 */
selectionList: [],
/** 是否显示设置表格 */
drawerShow: false,
/** 分页参数 */
page: {
currentPage: 1,
pageSize: 50,
total: 0,
},
/** 弹出层显示 */
popUpShow: {
/** 包件明细 */
packageOrderListlVisited: false,
/** 二维码 */
QRCodeVisible: false,
/** 修改客户信息 */
editClientInfoVisible: false,
},
/** 列表Dom节点 */
listNode: '',
form: {},
/** 全屏 */
fullscreenObj: {
/** 包明细 */
packageOrderListlVisited: false,
},
});
const {
search,
query,
shortcuts,
stockupDate,
data,
loadingObj,
selectionList,
drawerShow,
page,
trickleLoadingPage,
zeroAdditionalRecordingInfo,
popUpShow,
recorddata,
} = toRefs(details);
<script setup>
/** 展开列表控件 */
const showdrawer = _flag => {
details.drawerShow = _flag;
};
/** 表格表头输入框搜索 */
const inputsc = (index, row) => {
details.query[row.prop] = index;
processRowProperty(index, row, details);
test(details.query);
};
//
const test=(val)=>{
}
/** 表格表头时间选择 */
const timesc = (index, row) => {
console.log(index, row);
if (!!index) {
index = dayjs(index).format('YYYY-MM-DD');
}
details.query[row.prop] = index;
if (!index) {
delete details.query[row.prop];
}
};
/** 表格表头输入框搜索 */
const btnsc = val => {
console.log(val);
};
/** 表格表头下拉框选择 */
const selectsc = (index, row) => {
processRowProperty(index, row, details);
};
/** 表格表头复选框选择 */
const selectionChange = list => {
console.log(list);
details.selectionList = list;
};
//
const searchChange = () => {
details.search = false; //
};
//
const sizeChange = val => {
page.value.pageSize = val;
};
/** 页码改变执行的回调 */
const currentChange = val => {
page.value.currentPage = val;
};
//
const searchChangeS = () => {
details.search = false; //
};
//
const searchHide = () => {
console.log(details);
details.search = !details.search;
const _node = document.querySelector('.tableNode');
setNodeHeight(_node, '', true);
};
//
function updateDictionary(targetArray, dictionaryType) {
getDictionaryBiz(dictionaryType).then(res => {
console.log(res, '字典');
res.data.data.forEach(item => {
targetArray.push({
value: item.dictKey,
label: item.dictValue,
});
});
});
}
//
const onLoad=()=>{
</script>
}
<style scoped lang='scss'>
</style>
//
</script>
<style scoped lang="scss">
.ElBtnClass button {
border: none;
padding: 0;
background-color: transparent;
}
:deep(.el-card) {
height: 100%;
}
:deep(.el-card__body) {
height: 100%;
display: flex;
flex-direction: column;
}
.el-fy {
flex: 1;
display: flex;
align-items: flex-end;
margin-bottom: 10px;
}
.avue-crud {
height: 100%;
display: flex;
flex-direction: column;
}
</style>

2
src/views/cost/storagecost/Warehouseinformationconfiguration.vue

@ -19,7 +19,7 @@
<div class="avue-crud__header">
<!-- 头部左侧按钮模块 -->
<div class="avue-crud__left">
<el-button type="primary" @click="AddInfo"><el-icon><Plus /></el-icon></el-button>
<el-button type="primary" @click="AddInfo"><el-icon><Upload /></el-icon></el-button>
<el-button type="primary" @click="AddInfo"><el-icon><Download /></el-icon></el-button>
</div>
<!-- 头部右侧按钮模块 -->

27
src/views/distribution/deliverylist/distributionDeliveryListedt.vue

@ -2052,6 +2052,17 @@ export default {
sortable: true,
head: false,
},
{
prop: 'signingType',
label: '签收方式',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'signingUser',
label: '签收人',
@ -3038,6 +3049,16 @@ export default {
fixed: false,
sortable: true,
},
{
label: '签收方式',
prop: 'signingType',
type: 1,
values: '',
width: '130',
checkarr: [],
fixed: false,
sortable: true,
},
{
label: '签收人',
prop: 'signingUser',
@ -3955,11 +3976,6 @@ if($useStore.getters && $useStore.getters.permission){
});
},
RejectFn(row){
ElMessage({
message: '功能维护中',
type: 'warning',
});
console.log(row);
this.RejectRow=row;
this.dialogViReject=true;
@ -3977,7 +3993,6 @@ if($useStore.getters && $useStore.getters.permission){
console.log(res,'驳回成功返回值');
this.viewAbnormalLoading(this.toexamineID); //
}
})
},
//

Loading…
Cancel
Save