qb 1 year ago
parent
commit
5b6a13a59d
  1. 16
      src/api/basicdata/basicdataWarehouse.js
  2. 308
      src/option/basicdata/basicdataWarehouseTemp.js
  3. 18
      src/router/views/index.js
  4. 4
      src/views/aftersales/aftersalesWorkOrder.vue
  5. 2
      src/views/basicdata/brand/basicStoreContact.vue
  6. 379
      src/views/basicdata/warehouse/warehouse/basicdataWarehouseTemp.vue
  7. 4
      src/views/distribution/reservation/atlas.vue
  8. 20
      src/views/distribution/reservation/reservation.vue
  9. 8
      src/views/distribution/signdetail/packageNodeSearch.vue
  10. 2
      src/views/supervise/IndicatorList.vue
  11. 2
      src/views/supervise/classify.vue
  12. 2
      src/views/supervise/management.vue
  13. 11
      src/views/warehouse/warehouseStock/warehouseStock.vue
  14. 2
      vite.config.js

16
src/api/basicdata/basicdataWarehouse.js

@ -123,3 +123,19 @@ export const getWarehouseList = () => {
};
export const $_getList = (params) => {
return request({
url: '/api/logpm-basicdata/warehouse/list',
method: 'get',
params
})
}
// 获取地区
export const $_ObtainRegion = (params) => {
return request({
url: '/api/blade-system/region/lazy-listAll',
method: 'get',
params
})
}

308
src/option/basicdata/basicdataWarehouseTemp.js

@ -0,0 +1,308 @@
export const columnList = [
{
prop: '',
label: '复选框',
type: 0,
width: 55,
fixed: true,
},
{
prop: '',
label: '序号',
type: 12,
values: '',
width: 55,
fixed: true,
},
{
prop: 'name',
label: '仓库名称',
type: 3,
values: '',
width: '100',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'warehouseCode',
label: '仓库编码',
type: 3,
values: '',
width: '100',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'abbreviation',
label: '仓库简称',
type: 13,
values: '',
width: '120',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'linkman',
label: '联系人',
type: 2,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'contactNumber',
label: '联系电话',
type: 2,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'administrativeAreas',
label: '管理区域',
type: 2,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'functionType',
label: '职能类型',
type: 2,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'warehouseAddress',
label: '仓库地址',
type: 2,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'departmentName',
label: '所属部门',
type: 3,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'warehouseType',
label: '仓库类型',
type: 2,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'fireGrade',
label: '消防等级',
type: 2,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'fireRatingNot',
label: '是否有消防等级',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'warehouseStructure',
label: '仓库结构',
type: 4,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'elevatedNot',
label: '是否高架',
type: 2,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'storeyHeight',
label: '仓库层高',
type: 4,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'powerCondition',
label: '电力类型',
type: 4,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'unitPrice',
label: '租金单价',
type: 4,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'acreage',
label: '面积',
type: 4,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'startDate',
label: '开始时间',
type: 2,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'endDate',
label: '到期时间',
type: 2,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'rentType',
label: '租金类型',
type: 2,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'grade',
label: '仓库等级',
type: 4,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'administrativeFee',
label: '管理费',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'seating',
label: '库位数',
type: 2,
values: '',
width: '170',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'remarks',
label: '备注',
type: 1,
values: '',
width: '150',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{
prop: 'createUserName',
label: '操作',
type: 6,
values: '',
width: '150',
checkarr: [],
fixed: 'right',
sortable: false,
},
]

18
src/router/views/index.js

@ -1421,6 +1421,24 @@ export default [
},
],
},
{
path: '/basicdata/warehouse/warehouse/basicdataWarehouseTemp',
component: Layout,
redirect: '/basicdata/warehouse/warehouse/basicdataWarehouseTemp',
children: [
{
meta: {
i18n: 'dict',
keepAlive: false,
},
path: '/basicdata/warehouse/warehouse/basicdataWarehouseTemp',
name: '仓库信息重构',
component: () => import('@/views/basicdata/warehouse/warehouse/basicdataWarehouseTemp.vue'),
},
],
},
// {
// path: '/aftersales/aftersalesWorkOrderSS',
// component: Layout,

4
src/views/aftersales/aftersalesWorkOrder.vue

@ -268,7 +268,7 @@
<!-- 仲裁中确定结束仲裁按钮 -->
<el-button
v-if="TabPermissions == '5'"
v-if="TabPermissions == '5' && UserPermissions != '仓库客服'"
@click="EndArbitration(slotProps.scope)"
>确定</el-button
>
@ -1538,7 +1538,7 @@ const ButtonPermissions = computed(() => {
DingTalkNumber: false, //
Batchdetermination: false, //
ManagerConfirmed: false, //
ArbitrationDetermination: true, //
ArbitrationDetermination: UserPermissions.value != '仓库客服', //
Financial_accounting: false, //
defaultassignments: false, //
export_Report: true, //

2
src/views/basicdata/brand/basicStoreContact.vue

@ -162,7 +162,7 @@ export default {
rules: {
linkman: [
{ required: true, message: '请输入联系人', trigger: 'blur' },
{ min: 3, max: 5, message: '长度在 3 到 5 个字符', trigger: 'blur' }
{ min: 2, max: 25, message: '长度在 2 到 25 个字符', trigger: 'blur' }
],
phone: [
{ required: true, message: '请输入电话', trigger: 'change' }

379
src/views/basicdata/warehouse/warehouse/basicdataWarehouseTemp.vue

@ -0,0 +1,379 @@
<template>
<basic-container>
<el-row v-if="search">
<el-form :inline="true" :model="query" class="el-fr-d">
<el-form-item label="工单号" class="el-times">
<el-input type="text" v-model="query.workOrderNumber" placeholder="请输入工单号" />
</el-form-item>
</el-form>
</el-row>
<!-- 头部右侧按钮模块 -->
<div class="el_top_btn">
<div class="add_form">
<el-button type="primary" @click="newlyadd" icon="el-icon-plus"> </el-button>
<el-button type="primary" icon="el-icon-delete">删除</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>
<!-- 列表模块 -->
<tablecmt
:columnList="details.columnList"
:tableData="data"
:loading="loadingObj.list"
:checkselect="selectList"
@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>
<el-button @click="view(slotProps.scope)">编辑</el-button>
<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>
<!-- 新增弹窗 -->
<el-dialog
v-model="newlyaddload"
title="新增"
width="800"
>
<el-form inline="true" :model="Addform" >
<el-form-item label="仓库名称">
<el-input v-model="Addform.name" placeholder="请输入仓库名称"/>
</el-form-item>
<el-form-item label="仓库编码">
<el-input v-model="Addform.name" placeholder="请输入仓库编码"/>
</el-form-item>
<el-form-item label="仓库简称">
<el-input v-model="Addform.name" placeholder="请输入仓库简称"/>
</el-form-item>
<el-form-item label="联系人">
<el-input v-model="Addform.name" placeholder="请输入联系人"/>
</el-form-item>
<el-form-item label="联系电话">
<el-input v-model="Addform.name" placeholder="请输入联系电话"/>
</el-form-item>
<el-form-item label="管理区域">
<el-input v-model="Addform.name" placeholder="请输入管理区域"/>
</el-form-item>
<el-form-item label="职能类型">
<el-input v-model="Addform.name" placeholder="请选择职能类型"/>
</el-form-item>
<el-form-item label="仓库地区">
<el-cascader v-model="Addform.name" :options="areaoptions" placeholder="省/市/区" />
</el-form-item>
<el-form-item label="仓库地址">
<el-input v-model="Addform.name" placeholder="请输入仓库地址"/>
</el-form-item>
<el-form-item label="所属部门">
<el-input v-model="Addform.name" placeholder="请选择所属部门"/>
</el-form-item>
<el-form-item label="仓库类型">
<el-input v-model="Addform.name" placeholder="请选择仓库类型"/>
</el-form-item>
<el-form-item label="消防等级">
<el-input v-model="Addform.name" placeholder="请选择消防等级"/>
</el-form-item>
<el-form-item label="是否具有消防等级">
<el-input v-model="Addform.name" placeholder="请选择是否具有消防等级"/>
</el-form-item>
<el-form-item label="仓库结构">
<el-input v-model="Addform.name" placeholder="请选择仓库结构"/>
</el-form-item>
<el-form-item label="是否高架">
<el-input v-model="Addform.name" placeholder="请选择是否高架"/>
</el-form-item>
<el-form-item label="仓库层高">
<el-input v-model="Addform.name" placeholder="请输入仓库层高"/>
</el-form-item>
<el-form-item label="电力类型">
<el-input v-model="Addform.name" placeholder="请输入仓库层高"/>
</el-form-item>
<el-form-item label="租金单价">
<el-input v-model="Addform.name" placeholder="请输入租金单价"/>
</el-form-item>
<el-form-item label="面积">
<el-input v-model="Addform.name" placeholder="请输入面积"/>
</el-form-item>
<el-form-item label="租金类型">
<el-input v-model="Addform.name" placeholder="请输入租金类型"/>
</el-form-item>
<el-form-item label="仓库等级">
<el-input v-model="Addform.name" placeholder="请输入仓库等级"/>
</el-form-item>
<el-form-item label="管理费">
<el-input v-model="Addform.name" placeholder="请输入管理费"/>
</el-form-item>
<el-form-item label="库位数">
<el-input v-model="Addform.name" placeholder="请输入库位数"/>
</el-form-item>
<el-form-item label="日期范围">
<el-input v-model="Addform.name" placeholder="请输入日期范围"/>
</el-form-item>
<el-form-item label="备注">
<el-input v-model="Addform.name" placeholder="请输入日期范围"/>
</el-form-item>
<el-form-item label="收款码">
<el-input v-model="Addform.name" placeholder="请输入日期范围"/>
</el-form-item>
</el-form>
<template #footer>
<div class="dialog-footer">
<el-button @click="newlyaddload = false">取消</el-button>
<el-button type="primary" @click="newlyaddSubmit">
确定
</el-button>
</div>
</template>
</el-dialog>
</basic-container>
<!-- 列表配置显示 -->
<edittablehead
@setcolum="setnewcolum"
@closce="showdrawer"
:drawerShow="drawerShow"
:columnList="details.columnList"
></edittablehead>
</template>
<script setup>
import {
ref,
reactive,
toRefs,
computed,
onMounted,
nextTick,
watch,
getCurrentInstance,
} from 'vue';
import { columnList } from '@/option/basicdata/basicdataWarehouseTemp.js';
import { $_getList ,$_ObtainRegion} from '@/api/basicdata/basicdataWarehouse';
import { ElMessage } from 'element-plus'
const search = ref(false); //
const query = ref({}); //
const newlyaddload=ref(false);//
const Addform=ref({});//
//
const searchChangeS = () => {
query.value={}
onLoad()
};
const initialization=()=>{
$_ObtainRegion().then(res=>{
if(res.data.code =200){
areaoptions.value =res.data.data
}
console.log(res,'获取地区');
})
}
initialization()
const searchHide = () => {};
const areaoptions = ref([])
const details = reactive({
/** 是否开启搜索 */
search: false,
/** 时间选择器数据 */
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 {
shortcuts,
stockupDate,
data,
loadingObj,
selectionList,
drawerShow,
page,
trickleLoadingPage,
zeroAdditionalRecordingInfo,
popUpShow,
recorddata,
} = toRefs(details);
/**
* 设置列表 -- 固定函数
* 弹窗的勾选回调用于更改头部数组
* 固定搭配只需要更换 columnList
* */
const setnewcolum = (newarr, headarr, type) => {
if (type == 1) {
details.columnList = newarr;
functions.setStorage(window.location.pathname + 'checkList', headarr);
} else if (type == 2) {
details.columnList = newarr;
functions.setStorage(window.location.pathname + 'flexList', headarr);
} else if (type == 3) {
details.columnList = newarr;
functions.setStorage(window.location.pathname + 'sortlist', headarr);
}
};
details.columnList = columnList;//
/** 展开列表控件 */
const showdrawer = _flag => {
details.drawerShow = _flag;
};
//
const onLoad=(val)=>{
let data={
current: page.currentPage,
size: page.pageSize,
...val
}
details.loadingObj.list=true;//
$_getList(data).then(res=>{
console.log(res);
if(res.data.code ==200){
if(res.data.data.records.length){
details.data = res.data.data.records;//
details.page.total= res.data.data.total;//
}
}
}).catch((res)=>{
ElMessage.error('获取失败联系后端管理员')
}).finally(()=>{
details.loadingObj.list=false;//
})
}
onLoad()
//
const sizeChange = val => {
page.pageSize=val
onLoad()
};
/** 页码改变执行的回调 */
const currentChange = val => {
page.currentPage=val
onLoad()
};
//
const newlyadd=()=>{
newlyaddload.value=true;//
}
//
const newlyaddSubmit=()=>{
console.log(Addform.value);
}
</script>
<style scoped lang="scss">
.ElBtnClass {
button {
border: none;
padding: 0;
background-color: transparent;
}
button:hover {
background-color: transparent;
}
}
.el_top_btn{
margin-bottom: 4px;
display: flex;
justify-content: space-between;
align-items: center;
}
:deep(.add_form){
display: flex;
.el-form-item{
width: 46%;
}
}
</style>

4
src/views/distribution/reservation/atlas.vue

@ -15,6 +15,7 @@
item.items.reservationNum + item.items.reservationStockListNum
})`"
size="large"
@change="ListChange"
/>
<!-- <el-text class="mx-1 txbx" type="primary">
{{ item.content }}--时间:{{ item.time }}--距离:{{ item.distance }}公里({{
@ -227,6 +228,9 @@ function back() {
router.back(-1);
}
const { datalists } = toRefs(details);
const ListChange=(val)=>{
console.log(val);
}
</script>
<style lang="scss" scoped>

20
src/views/distribution/reservation/reservation.vue

@ -136,13 +136,13 @@
<el-button type="primary" icon="el-icon-plus" @click="handleAdd"
>添加预约
</el-button>
<el-button type="danger" icon="el-icon-delete" @click="handleStockUp()" plain
<el-button type="danger" @click="handleStockUp()" plain
>批量转备货
</el-button>
<el-button type="danger" icon="el-icon-delete" @click="handleDeliverys" plain
<el-button type="danger" @click="handleDeliverys" plain
>批量转配送
</el-button>
<el-button type="danger" icon="el-icon-delete" @click="batchPrintData" plain
<el-button type="danger" @click="batchPrintData" plain
>批量打印
</el-button>
<el-button
@ -1355,13 +1355,13 @@ export default {
},
});
// this.$router.push({
// path: '/distribution/reservation/atlas',
// query: {
// id: ids,
// type: '1',
// },
// });
this.$router.push({
path: '/distribution/reservation/atlas',
query: {
id: ids,
type: '1',
},
});
// console.log(">>>>>>>>>>",ids);
},
//

8
src/views/distribution/signdetail/packageNodeSearch.vue

@ -31,7 +31,7 @@
<el-button type="primary" icon="el-icon-search" @click="searchChange"
> </el-button
>
<el-button icon="el-icon-delete" @click="searchReset()"> </el-button>
<!-- <el-button icon="el-icon-delete" @click="searchReset()"> </el-button> -->
</el-form-item>
</el-form>
</el-row>
@ -206,6 +206,9 @@ const showdrawer = _flag => {
details.drawerShow = _flag;
};
const onload = () => {
if(!details.query.packageCode){
return
}
details.loadingObj.list=true
console.log(details.query);
let data = {
@ -239,6 +242,9 @@ searchChange()
watch($route, (newValue, oldValue) => {
// ID
details.query.packageCode = $route.query.orderPackageCode
if(!details.query.packageCode){
return
}
searchChange()
});

2
src/views/supervise/IndicatorList.vue

@ -134,7 +134,7 @@
background
@size-change="sizeChange"
@current-change="currentChange"
:current-page="currentPage"
:current-page="current"
:page-sizes="[30, 50, 80, 120]"
:page-size="pageSize"
layout="total, sizes, prev, pager, next, jumper"

2
src/views/supervise/classify.vue

@ -76,7 +76,7 @@
background
@size-change="sizeChange"
@current-change="currentChange"
:current-page="currentPage"
:current-page="current"
:page-sizes="[30, 50, 80, 120]"
:page-size="pageSize"
layout="total, sizes, prev, pager, next, jumper"

2
src/views/supervise/management.vue

@ -131,7 +131,7 @@
background
@size-change="sizeChange"
@current-change="currentChange"
:current-page="currentPage"
:current-page="current"
:page-sizes="[30, 50, 80, 120]"
:page-size="pageSize"
layout="total, sizes, prev, pager, next, jumper"

11
src/views/warehouse/warehouseStock/warehouseStock.vue

@ -283,9 +283,9 @@ export default {
sortable: false,
},
{
prop: 'createTime',
prop: 'operatorTime',
label: '操作时间',
type: 2,
type: 4,
values: '',
width: '130',
checkarr: [],
@ -312,7 +312,7 @@ export default {
//
search: true,
//
loading: true,
loading: false,
//
view: false,
//
@ -335,7 +335,7 @@ export default {
},
mounted() {
this.init();
this.onLoad(this.page);
// this.onLoad(this.page);
/**
* 初始化获取本地缓存的编辑隐藏的列表
* 固定搭配不能更改
@ -475,6 +475,9 @@ export default {
},
timesc(index, row) {
console.log(index, row);
console.log(index, row);
this.query[row.prop] = index;
this.onLoad(this.page);
},
inputsc(index, row) {
console.log(index, row);

2
vite.config.js

@ -23,7 +23,7 @@ export default ({ mode, command }) => {
// 新zyc
// target: 'http://192.168.6.116:8777',
// target: 'http://192.168.6.122:8777',
// target: 'http://192.168.3.14:13000',
// target: 'http://192.168.3.14:13000',
// target: 'http://192.168.10.25:2888',
// target: 'http://192.168.6.161:9777',//CY
// target: 'http://192.168.10.57:13000',

Loading…
Cancel
Save