qb 11 months ago
parent
commit
101a020104
  1. 36
      src/router/views/index.js
  2. 16
      src/utils/poptxt.js
  3. 88
      src/views/Pricesystem/ListOfPriceSystems.vue
  4. 5
      src/views/Pricesystem/Price/PriceWarehousing.vue
  5. 6
      src/views/aftersales/aftersalesWorkOrder.vue
  6. 46
      src/views/aftersales/aftersalesWorkOrderAdd.vue
  7. 2342
      src/views/aftersales/aftersalesWorkOrderAddCopy.vue
  8. 256
      src/views/aftersales/aftersalesWorkOrderAddTemp.vue
  9. 9
      src/views/basicdata/brand/basicdataFreight.vue
  10. 7
      src/views/basicdata/warehouse/goodsAllocation/BasicdataGoodsAllocationDetails.vue
  11. 2
      src/views/distribution/deliverylist/distributionDeliveryListdis.vue
  12. 114
      src/views/distribution/deliverylist/distributionDeliveryListedt.vue
  13. 86
      src/views/distribution/inventory/distributionStockListDetails.vue
  14. 11
      src/views/distribution/inventory/distrilbutionBillLadingList.vue
  15. 2
      src/views/distribution/inventory/distrilbutionBillLadingView.vue
  16. 11
      src/views/distribution/signfor/distributionSignforedt.vue
  17. 22
      src/views/distribution/turndelivery/deliveryDiscuss.vue
  18. 78
      src/views/financialsector/CustomerBaseprice.vue
  19. 8
      src/views/financialsector/Financialse/FinancialWarehousing.vue

36
src/router/views/index.js

@ -1614,6 +1614,42 @@ export default [
}, },
], ],
}, },
// 工单新增拷贝页面
{
path: '/aftersales/aftersalesWorkOrderAddCopy',
component: Layout,
redirect: '/aftersales/aftersalesWorkOrderAddCopy',
children: [
{
meta: {
i18n: 'dict',
keepAlive: true,
},
path: '/aftersales/aftersalesWorkOrderAddCopy',
name: '工单新增拷贝页面',
component: () => import('@/views/aftersales/aftersalesWorkOrderAddCopy.vue'),
},
],
},
// 工单新增重构页面
{
path: '/aftersales/aftersalesWorkOrderAddTemp',
component: Layout,
redirect: '/aftersales/aftersalesWorkOrderAddTemp',
children: [
{
meta: {
i18n: 'dict',
keepAlive: true,
},
path: '/aftersales/aftersalesWorkOrderAddTemp',
name: '工单新增重构页面',
component: () => import('@/views/aftersales/aftersalesWorkOrderAddTemp.vue'),
},
],
},
// { // {
// // 这是父路由,财务主页面 // // 这是父路由,财务主页面
// path: '/financialsector/FinanceHome', // path: '/financialsector/FinanceHome',

16
src/utils/poptxt.js

@ -1,15 +1,5 @@
import { ElMessage } from 'element-plus' // 引入 ElMessage 组件
export function popmsg(res) { export function popmsg(res) {
// 显示成功消息 // 显示成功消息
if (res.msg == '导入成功') {
ElMessage({
message: res.msg,
type: 'success',
});
return;
}else{
// 创建包含 p 标签的内容的 div 元素 // 创建包含 p 标签的内容的 div 元素
var fragment = document.createDocumentFragment(); var fragment = document.createDocumentFragment();
var div = document.createElement('div'); var div = document.createElement('div');
@ -23,14 +13,14 @@ export function popmsg(res) {
div.style.left = '50%'; div.style.left = '50%';
div.style.transform = 'translate(-50%, -50%)'; div.style.transform = 'translate(-50%, -50%)';
div.style.width = '50%'; div.style.width = '50%';
div.style.height = '200px'; div.style.height = '50%';
div.style.backgroundColor = '#ffffff'; div.style.backgroundColor = '#ffffff';
div.style.borderRadius = '4px'; div.style.borderRadius = '4px';
div.style.overflow = 'scroll'; div.style.overflow = 'scroll';
div.style.border = '1px solid #ccc'; div.style.border = '1px solid #ccc';
div.style.padding = '10px'; div.style.padding = '10px';
// 将后端返回的内容作为 HTML 插入到 div 中 // 将后端返回的内容作为 HTML 插入到 div 中
div.innerHTML = res.msg; div.innerHTML = res.data;
// 遍历所有的 <p> 标签并设置首行缩进 // 遍历所有的 <p> 标签并设置首行缩进
var pTags = div.querySelectorAll('p'); var pTags = div.querySelectorAll('p');
pTags.forEach(function (pTag) { pTags.forEach(function (pTag) {
@ -63,5 +53,5 @@ export function popmsg(res) {
// 添加点击事件监听 // 添加点击事件监听
document.addEventListener('click', closePopupOnClickOutside); document.addEventListener('click', closePopupOnClickOutside);
}
} }

88
src/views/Pricesystem/ListOfPriceSystems.vue

@ -16,7 +16,14 @@
<!-- 控件模块 --> <!-- 控件模块 -->
<div class="flex-c-sb"> <div class="flex-c-sb">
<!-- 头部左侧按钮模块 --> <!-- 头部左侧按钮模块 -->
<div class="avue-crud__left"></div> <div class="avue-crud__left">
<el-button type="primary" @click="exporTemp">
<el-icon><Download /></el-icon></el-button
>
<el-button type="primary" @click="ImportTemplate">
<el-icon><Download /></el-icon></el-button
>
</div>
<!-- 头部右侧按钮模块 --> <!-- 头部右侧按钮模块 -->
<div class="avue-crud__right"> <div class="avue-crud__right">
<el-button type="primary" icon="el-icon-search" @click="searchChange"> </el-button> <el-button type="primary" icon="el-icon-search" @click="searchChange"> </el-button>
@ -143,7 +150,32 @@
</span> </span>
</template> </template>
</el-dialog> </el-dialog>
<!-- 导入模板 -->
<el-dialog v-model="dialogTemp" title="导入模板" width="500">
<el-upload
class="upload-demo"
drag
action="/api/logpm-basicdata/basicdataPrice/upload"
:headers="headers"
:on-success="handleSuccess"
:before-upload="beforeAvatarUpload"
method="post"
>
<el-icon class="el-icon--upload"><upload-filled /></el-icon>
<div class="el-upload__text">点击上传 <em>或者拖拽上传</em></div>
<template #tip>
<div class="el-upload__tip">请上传Excel模板文件</div>
</template>
</el-upload>
<template #footer>
<div class="dialog-footer">
<el-button @click="dialogTemp = false">关闭</el-button>
<el-button type="primary" @click="dialogVisible"> 确定 </el-button>
</div>
</template>
</el-dialog>
<div id="createdDiv"></div>
<!-- 列表配置显示 --> <!-- 列表配置显示 -->
<edittablehead <edittablehead
@setcolum="setnewcolum" @setcolum="setnewcolum"
@ -156,18 +188,21 @@
<script setup> <script setup>
import { ref, reactive, toRefs, computed, onMounted, nextTick, watch } from 'vue'; import { ref, reactive, toRefs, computed, onMounted, nextTick, watch } from 'vue';
import { columnList } from '@/option/Pricesystem/index.js'; import { columnList } from '@/option/Pricesystem/index.js';
import { $_getpriceTemplate, $_deletelpriceTemplate } from '@/api/financialsector/index'; // import { $_getpriceTemplate, $_deletelpriceTemplate , $_getexport} from '@/api/financialsector/index'; //
import { getBasicdataPrice, postBasicdataPrice } from '@/api/Pricesystem/index'; // import { getBasicdataPrice, postBasicdataPrice } from '@/api/Pricesystem/index'; //
import { getDictionaryBiz } from '@/api/system/dict'; // import { getDictionaryBiz } from '@/api/system/dict'; //
import { processRowProperty, setNodeHeight } from '@/utils/util'; import { processRowProperty, setNodeHeight } from '@/utils/util';
import { getToken } from 'utils/auth'; // Token
import functions from '@/utils/functions.js'; import functions from '@/utils/functions.js';
import { ElMessageBox, ElMessage } from 'element-plus'; import { ElMessageBox, ElMessage } from 'element-plus';
import { popmsg } from '@/utils/poptxt';
import { downloadXls, deepClone } from '@/utils/util'; import { downloadXls, deepClone } from '@/utils/util';
import { useStore } from 'vuex'; import { useStore } from 'vuex';
import dayjs from 'dayjs'; import dayjs from 'dayjs';
const $router = useRouter(); // const $router = useRouter(); //
const $useStore = useStore(); // const $useStore = useStore(); //
const $route = useRoute(); // const $route = useRoute(); //
const dialogTemp=ref(false)
const details = reactive({ const details = reactive({
/** 是否开启搜索 */ /** 是否开启搜索 */
search: false, search: false,
@ -239,7 +274,56 @@ const details = reactive({
/** 价格模板数组 */ /** 价格模板数组 */
templateArr: [], templateArr: [],
}); });
const headers = computed(() => {
return { 'Blade-Auth': 'Bearer ' + getToken() };
});
const handleSuccess = res => {
if (res.code == 200 && !res.data) {
ElMessage({
message: res.msg,
type: 'success',
});
} else if (res.code == 200 && res.data) {
ElMessage({
message: '导入失败,请查看原因重新导入!',
type: 'warning',
});
popmsg(res);
} else{
ElMessage({
message: res.msg,
type: 'warning',
});
}
console.log(res, 'datas');
};
//
const beforeAvatarUpload= (rawFile) => {
console.log(rawFile,'rawFile');
if (rawFile.type !== 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet') {
ElMessage.error('请上传EXCEL文件!')
return false
}
return true
}
//
const exporTemp = () => {
ElMessageBox.confirm('是否导出价格模板', '提示', {
confirmButtonText: '确认',
cancelButtonText: '取消',
type: 'warning',
}).then(() => {
$_getexport().then(res => {
downloadXls(res.data, `价格模板.xlsx`);
});
});
};
//
const ImportTemplate = () => {
dialogTemp.value = true;
};
/** 生效时间 -- 生效时间不能大于到期时间 */ /** 生效时间 -- 生效时间不能大于到期时间 */
const time1 = time => { const time1 = time => {
if (!details.form.expiryTime) return false; if (!details.form.expiryTime) return false;

5
src/views/Pricesystem/Price/PriceWarehousing.vue

@ -307,11 +307,14 @@ const onLoad = async () => {
} }
} else { } else {
console.log('没有附加品类'); console.log('没有附加品类');
let data = requestInfo.value.additionalCategory[0]; if( requestInfo.value.additionalCategory && requestInfo.value.additionalCategory.length){
let data = requestInfo.value.additionalCategory[0];
console.log(data, 'data数据'); console.log(data, 'data数据');
form.value.operatePrice = data.operatePrice || 0; form.value.operatePrice = data.operatePrice || 0;
form.value.warehouseManagementPrice = data.warehouseManagementPrice || 0; form.value.warehouseManagementPrice = data.warehouseManagementPrice || 0;
form.value.warehouseSortPrice = data.warehouseSortPrice || 0; form.value.warehouseSortPrice = data.warehouseSortPrice || 0;
}
} }
form.value.publicData = []; // form.value.publicData = []; //
// //

6
src/views/aftersales/aftersalesWorkOrder.vue

@ -1215,10 +1215,7 @@ const screenHeight = ref(0); // 屏幕高度
const eightyPercentHeight = ref(0); // 80% const eightyPercentHeight = ref(0); // 80%
const list = ref([]); const list = ref([]);
const options = ref([]); const options = ref([]);
const arbitration = ref({
a: 0,
b: 1,
});
const arbitrationTemp = ref(0); // const arbitrationTemp = ref(0); //
const CustomerData = ref([]); // const CustomerData = ref([]); //
const repulse = ref(false); const repulse = ref(false);
@ -2825,7 +2822,6 @@ const appealFn = val => {
// //
const AppealTab = val => { const AppealTab = val => {
console.log(val, '仲裁中当前列表'); console.log(val, '仲裁中当前列表');
console.log(arbitration.value, '菜单');
arbitrationTemp.value = val; arbitrationTemp.value = val;
if (val == 0) { if (val == 0) {

46
src/views/aftersales/aftersalesWorkOrderAdd.vue

@ -150,7 +150,13 @@
<el-button v-if="item.state" type="primary" @click="historicalPackages(index)"> <el-button v-if="item.state" type="primary" @click="historicalPackages(index)">
查看历史包件 查看历史包件
</el-button> </el-button>
<el-button type="primary" @click="PackagRemoval(index)"> 移除 </el-button> <el-button
v-if="groundlineType == 3 || groundlineType == 5 || groundlineType == 6"
type="primary"
@click="PackagRemoval(index)"
>
移除
</el-button>
</div> </div>
</div> </div>
<div class="NumTotal"> <div class="NumTotal">
@ -348,7 +354,7 @@
<!-- <span class="title"></span> --> <!-- <span class="title"></span> -->
<!-- 提货环节 --> <!-- 提货环节 -->
<el-form-item label="责任方"> <el-form-item label="责任方" prop="processor">
<el-select <el-select
v-model="item.businessName" v-model="item.businessName"
clearable clearable
@ -415,6 +421,7 @@
placeholder="占比 " placeholder="占比 "
:min="0" :min="0"
:max="item.ProportionMax" :max="item.ProportionMax"
:value-on-clear="0"
v-percentage v-percentage
@input="CompanyProportionInput(item)" @input="CompanyProportionInput(item)"
/> />
@ -1182,6 +1189,27 @@ const rules = reactive({
discoveryNode: [{ required: true, message: '请选择发现节点', trigger: 'blur' }], discoveryNode: [{ required: true, message: '请选择发现节点', trigger: 'blur' }],
investigationPocess: [{ required: true, message: '请填写调查经过', trigger: 'blur' }], investigationPocess: [{ required: true, message: '请填写调查经过', trigger: 'blur' }],
}); });
function validateDataItem(item) {
const fields = [
{ key: 'businessName', message: '责任方不能为空' },
{ key: 'personResponsibleName', message: '责任人不能为空' },
{ key: 'tripartite', message: '三方责任人不能为空' },
{ key: 'description', message: '说明不能为空', emptyCheck: true },
];
for (const field of fields) {
const value = item[field.key];
const isInvalid = field.emptyCheck ? value === '' : !value;
if (isInvalid) {
ElMessage({
message: field.message,
type: 'warning',
});
return false;
}
}
return true;
}
// //
const ConfirmForm = () => { const ConfirmForm = () => {
@ -1201,6 +1229,19 @@ const ConfirmForm = () => {
} }
} }
} }
//
if (!FangAddList.value.length) {
ElMessage({
message: `请填写内部责任划分`,
type: 'warning',
});
return;
}
for (const item of FangAddList.value) {
if (!validateDataItem(item)) {
return;
}
}
// 线 // 线
if (['3', '5', '6'].includes(groundlineType.value)) { if (['3', '5', '6'].includes(groundlineType.value)) {
@ -1231,6 +1272,7 @@ const ConfirmForm = () => {
} }
} }
console.log(Indexform.value.businessMame, '提货责任方'); console.log(Indexform.value.businessMame, '提货责任方');
let DataSubmit = { let DataSubmit = {
personResponsibleDTO: [], personResponsibleDTO: [],
packageEntityList: [], //// packageEntityList: [], ////

2342
src/views/aftersales/aftersalesWorkOrderAddCopy.vue

File diff suppressed because it is too large Load Diff

256
src/views/aftersales/aftersalesWorkOrderAddTemp.vue

@ -0,0 +1,256 @@
<template>
<div class="pageContent" v-loading="form.Pageloading" element-loading-text="页面正在初始化中...">
<!-- 菜单 -->
<div class="placeholder">
<el-tabs
class="tablemun"
v-model="form.TabactiveName"
type="border-card"
@tab-click="TabactiveClick"
>
<el-tab-pane label="订单填写" name="0"></el-tab-pane>
<el-tab-pane label="零担填写" name="1"> </el-tab-pane>
</el-tabs>
</div>
<!-- 主体内容 -->
<div class="content">
<el-form :model="form" label-width="30%" style="width: 100%" label-position="top">
<!-- 头部类型选择 -->
<div class="tablemunTop">
<!-- 异常类型 -->
<el-form-item label="异常类型">
<el-select
v-model="form.workOrderType"
placeholder="请选择异常类型"
style="width: 100%"
>
<el-option
v-for="item in Exceptionoptions"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<!-- 发现节点 -->
<el-form-item label="发现节点">
<el-select
v-model="form.discoveryNode"
placeholder="请选择发现节点"
style="width: 100%"
>
<el-option
v-for="item in Discoveringoptions"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
<el-form-item label="异常类型">
<el-input v-model="form.name" disabled placeholder="异常工单号(自动生成)" />
</el-form-item>
</div>
<!-- 包件信息 -->
<el-tabs v-model="form.activPackage" class="demo-tabs Packagebox" @tab-click="handleClick">
<el-tab-pane label="包件信息" name="0">
<el-button type="primary" class="el_addPackage" @click="Addpackages">
<el-icon><Plus /></el-icon></el-button
>
<template v-for="(item, index) in form.PackageList" :key="index + item.packageCode">
<div class="el_Package">
<div class="Package">
<el-form-item label="包条码">
<el-input v-model="item.packageCode" placeholder="请输入包条码" />
</el-form-item>
<el-form-item label="运单号">
<el-input v-model="item.waybillNumber" placeholder="请输入运单号" />
</el-form-item>
<el-form-item label="订单自编号">
<el-input v-model="item.orderCode" placeholder="请输入订单自编号" />
</el-form-item>
<el-form-item label="一级品">
<el-input v-model="item.first" placeholder="请输入一级品" />
</el-form-item>
<el-form-item label="二级品">
<el-input v-model="item.secondary" placeholder="请输入二级品" />
</el-form-item>
<el-form-item label="品牌">
<el-input v-model="item.brandName" placeholder="请输入品牌" />
</el-form-item>
</div>
<!-- 按钮 -->
<div class="el_activPackage_btton">
<el-button type="primary">查看历史包件</el-button>
<el-button type="primary" @click="Removepackage(index)">移除</el-button>
</div>
</div>
</template>
</el-tab-pane>
</el-tabs>
</el-form>
</div>
</div>
</template>
<script setup>
import { ref } from 'vue';
import { getDictionaryBiz } from '@/api/system/dict'; //
import {
$_getList,
$_submit,
$_getDetail,
$_remove,
$_getBusinessDepartmentUser,
$_getAbnormalPackage,
$_shippingInformation,
} from '@/api/aftersales/aftersalesWorkOrder';
const form = ref({
TabactiveName: '0', //
activPackage: '0', //
Pageloading: false, //
PackageList: [
{
sequence: 1, //
packageCode: '', //
waybillNumber: '', //
orderCode: '', //
first: '', //
secondary: '', //
brandName: '', //
history: true, //
},
], //
});
//
const Exceptionoptions = ref([]);
//
const Discoveringoptions = ref([]);
//
async function updateDictionary(targetArray, dictionaryType) {
await getDictionaryBiz(dictionaryType).then(res => {
res.data.data.forEach(item => {
targetArray.push({
value: item.dictKey,
label: item.dictValue,
});
});
});
}
//
const onLoad = async () => {
form.value.Pageloading = true; //
await updateDictionary(Exceptionoptions.value, 'pc_work_order'); //
await updateDictionary(Discoveringoptions.value, 'pc_discovery_node'); //
form.value.Pageloading = false; //
};
onLoad();
//
const Addpackages = () => {
let data = {
packageCode: '', //
waybillNumber: '', //
orderCode: '', //
first: '', //
secondary: '', //
brandName: '', //
};
form.value.PackageList.push(data);
};
//
const Removepackage = async index => {
console.log(index, 'index');
await form.value.PackageList.splice(index, 1); //
ElMessage({
message: '移除成功.',
type: 'success',
plain: true,
});
};
//
const handleClick = (tab, event) => {
console.log(tab, event);
};
//
const onSubmit = async () => {};
const TabactiveClick = (a, b) => {
console.log(a, b);
};
</script>
<style scoped lang="scss">
.pageContent {
padding: 10px;
width: 100%;
height: 100%;
box-sizing: border-box;
}
:deep(.tablemun) {
height: 0;
padding: 0;
.el-tabs__nav-scroll {
// border-left: 1px solid #dcdfe6;
// border-right: 1px solid #dcdfe6;
}
}
.placeholder {
width: 100%;
height: 40px;
box-sizing: border-box;
border-left: 1px solid #dcdfe6;
border-right: 1px solid #dcdfe6;
}
//
.content {
padding: 10px;
width: 100%;
border: 1px solid #dcdfe6;
box-sizing: border-box;
border-radius: 2px;
.tablemunTop {
display: flex;
justify-content: space-between;
.el-form-item {
width: 26%;
display: flex;
align-items: center;
:deep(.el-form-item__label) {
margin-bottom: 0 !important;
}
}
}
}
//
.Packagebox {
.el_Package {
display: flex;
align-items: center;
}
:deep(.is-active) {
font-weight: bold;
}
:deep(.Package) {
display: flex;
justify-content: flex-start;
.el-form-item {
.el-form-item__label {
margin-bottom: 0;
}
}
}
.el_addPackage {
background-color: #409eff;
border: none;
color: #ffffff;
margin-bottom: 11px;
}
}
</style>

9
src/views/basicdata/brand/basicdataFreight.vue

@ -735,8 +735,15 @@ export default {
methods: { methods: {
// //
async doubledCountSuce(res) { async doubledCountSuce(res) {
await popmsg(res); if (res.msg == '导入成功') {
ElMessage({
message: res.msg,
type: 'success',
});
}else{
await popmsg(res);
this.onLoad(this.page); this.onLoad(this.page);
}
}, },
uploadAfter(res, done, loading, column) { uploadAfter(res, done, loading, column) {
console.log('121221'); console.log('121221');

7
src/views/basicdata/warehouse/goodsAllocation/BasicdataGoodsAllocationDetails.vue

@ -617,14 +617,7 @@ async function onLoad(page, params = {}) {
default: default:
break; break;
} }
let query= JSON.parse($route.query.info)
console.log(query,'结构参数');
data.areaType =details.pageInfo.areaType data.areaType =details.pageInfo.areaType
let response = await geturl(url, data); let response = await geturl(url, data);
if (response.data.code == 200) { if (response.data.code == 200) {
console.log('res', response.data); console.log('res', response.data);

2
src/views/distribution/deliverylist/distributionDeliveryListdis.vue

@ -148,7 +148,7 @@
<el-text size="small" @click="editmap(slotProps.scope)"> </el-text> <el-text size="small" @click="editmap(slotProps.scope)"> </el-text>
<el-text <el-text
size="small" size="small"
v-if="slotProps.scope.row.deliveryStatus != 3" v-if="slotProps.scope.row.deliveryStatus == 1"
@click="CancelDelivery(slotProps.scope)" @click="CancelDelivery(slotProps.scope)"
>取消配送</el-text >取消配送</el-text
> >

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

@ -251,6 +251,9 @@
</el-tab-pane> </el-tab-pane>
<el-tab-pane label="包 件 列 表" name="tab3"> <el-tab-pane label="包 件 列 表" name="tab3">
<!-- 列表模块 --> <!-- 列表模块 -->
<el-button type="warning" plain @click="ViewQRcodes"
>批量查看二维码
</el-button>
<tablecmt <tablecmt
class="tableNode" class="tableNode"
:columnList="wrapoptioncolumn" :columnList="wrapoptioncolumn"
@ -481,6 +484,9 @@
<!-- 未装车未签收 --> <!-- 未装车未签收 -->
<el-tabs v-model="reservationActiveName" @tab-click="reservationHandleClick"> <el-tabs v-model="reservationActiveName" @tab-click="reservationHandleClick">
<el-tab-pane label="客户包件" name="reservationPackage"> <el-tab-pane label="客户包件" name="reservationPackage">
<el-button @click="QRcodes" style="margin-bottom: 4px" type="primary"
>批量查看二维码</el-button
>
<el-button @click="Batchsigning" style="margin-bottom: 4px" type="primary" <el-button @click="Batchsigning" style="margin-bottom: 4px" type="primary"
>批量签收</el-button >批量签收</el-button
> >
@ -513,8 +519,8 @@
> >
<el-text <el-text
v-if=" v-if="
slotProps.scope.row.orderPackageLoadingStatus === '10' || slotProps.scope.row.orderPackageLoadingStatus != '70' ||
slotProps.scope.row.orderPackageLoadingStatusName === '待装车' slotProps.scope.row.orderPackageLoadingStatusName !== '已签收'
" "
size="small" size="small"
@click="signingReservationPackage(slotProps.scope.row)" @click="signingReservationPackage(slotProps.scope.row)"
@ -1798,17 +1804,17 @@ export default {
fixed: false, fixed: false,
sortable: true, sortable: true,
}, },
// { {
// prop: 'fahuoTime', prop: 'materialName',
// label: '', label: '物料名称',
// type: 1, type: 2,
// values: '', values: '',
// width: '150', width: '150',
// checkarr: [], checkarr: [],
// fixed: false, fixed: false,
// sortable: true, sortable: true,
// head: false, head: false,
// }, },
{ {
prop: 'warehouseEntryTimeEnd', prop: 'warehouseEntryTimeEnd',
label: '入库时间', label: '入库时间',
@ -4290,6 +4296,38 @@ export default {
this.loadingObj.pageLoading = false; this.loadingObj.pageLoading = false;
} }
}, },
//
async ViewQRcodes(){
if(!this.selectionList.length){
ElMessage({
message: `请勾选要查看二维码的数据`,
type: 'warning',
});
return
}
try {
this.loadingObj.pageLoading = true;
let qr = {
ids: this.selectionList.map(res=>res.id).join(','),
};
this.html = '';
const res = await showOrderPackgeCode(qr);
const { code, data } = res.data;
if (code !== 200) return;
// this.orderPackageCode = res.data
console.log(res.data);
this.html = this.getHtmls(data.dataList, data.templateHtml);
this.isShowPrint = true;
} catch (error) {
console.log('error :>> ', error);
} finally {
this.loadingObj.pageLoading = false;
}
},
// //
async handleStockQRCode(row) { async handleStockQRCode(row) {
try { try {
@ -4580,8 +4618,17 @@ export default {
// //
Batchsigning() { Batchsigning() {
console.log(this.selectionList, 'this.selectionList'); console.log(this.selectionList, 'this.selectionList');
if(!this.selectionList.length){
ElMessage({
message: '请勾选需要计划取消的数据',
type: 'warning',
});
return;
}
let data = { this.$confirm('是否确认进行批量签收?')
.then(() => {
let data = {
deliveryId: this.deliveryId, deliveryId: this.deliveryId,
reservationId: this.wid, reservationId: this.wid,
barcodes: this.selectionList.map(item => item.orderPackageCode).join(','), barcodes: this.selectionList.map(item => item.orderPackageCode).join(','),
@ -4601,6 +4648,45 @@ export default {
this.selectionList = []; // this.selectionList = []; //
this.loading = false; this.loading = false;
}); });
})
},
//
async QRcodes(){
if(!this.selectionList.length){
ElMessage({
message: `请勾选要查看二维码的数据`,
type: 'warning',
});
return
}
try {
this.loading= true;
let qr = {
ids: this.selectionList.map(res=>res.id).join(','),
};
this.html = '';
const res = await showOrderPackgeCode(qr);
const { code, data } = res.data;
this.loading = false;
if (code !== 200) return;
// this.orderPackageCode = res.data
console.log(res.data);
this.html = this.getHtmls(data.dataList, data.templateHtml);
this.isShowPrint = true;
} catch (error) {
console.log('error :>> ', error);
} finally {
this.loading = false;
}
}, },
// //
Batchcancellation() { Batchcancellation() {

86
src/views/distribution/inventory/distributionStockListDetails.vue

@ -41,6 +41,19 @@
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
<el-row>
<el-col :span="10">
<el-form-item label="在库数:">
<span>{{ stockquantity || 0 }}</span>
</el-form-item>
</el-col>
<el-col :span="10">
<el-form-item label="货位总数:">
<span>{{ locations || 0 }}</span>
</el-form-item>
</el-col>
</el-row>
<!-- <el-row> <!-- <el-row>
<el-col :span="10"> <el-col :span="10">
<el-form-item label="库位信息:"> <el-form-item label="库位信息:">
@ -92,7 +105,7 @@
@size-change="sizeChange" @size-change="sizeChange"
@current-change="currentChange" @current-change="currentChange"
:current-page="page.currentPage" :current-page="page.currentPage"
:page-sizes="[30, 50, 80, 120]" :page-sizes="[200, 250,300, 500]"
:page-size="page.pageSize" :page-size="page.pageSize"
layout="total, sizes, prev, pager, next, jumper" layout="total, sizes, prev, pager, next, jumper"
:total="page.total" :total="page.total"
@ -121,7 +134,7 @@
@size-change="sizeChange" @size-change="sizeChange"
@current-change="currentChange" @current-change="currentChange"
:current-page="page1.currentPage" :current-page="page1.currentPage"
:page-sizes="[30, 50, 80, 120]" :page-sizes="[200, 250,300, 500]"
:page-size="page1.pageSize" :page-size="page1.pageSize"
layout="total, sizes, prev, pager, next, jumper" layout="total, sizes, prev, pager, next, jumper"
:total="page1.total" :total="page1.total"
@ -166,7 +179,7 @@
@size-change="sizeChange" @size-change="sizeChange"
@current-change="currentChange" @current-change="currentChange"
:current-page="page2.currentPage" :current-page="page2.currentPage"
:page-sizes="[30, 50, 80, 120]" :page-sizes="[200, 250,300, 500]"
:page-size="page2.pageSize" :page-size="page2.pageSize"
layout="total, sizes, prev, pager, next, jumper" layout="total, sizes, prev, pager, next, jumper"
:total="page2.total" :total="page2.total"
@ -205,7 +218,7 @@
@size-change="sizeChange" @size-change="sizeChange"
@current-change="currentChange" @current-change="currentChange"
:current-page="page3.currentPage" :current-page="page3.currentPage"
:page-sizes="[30, 50, 80, 120]" :page-sizes="[200, 250,300, 500]"
:page-size="page3.pageSize" :page-size="page3.pageSize"
layout="total, sizes, prev, pager, next, jumper" layout="total, sizes, prev, pager, next, jumper"
:total="page3.total" :total="page3.total"
@ -305,6 +318,8 @@ export default {
data() { data() {
return { return {
dialogVisibleF: false, dialogVisibleF: false,
stockquantity:0,//
locations:0,//
html: '', html: '',
columnListarrs: { columnListarrs: {
// //
@ -564,17 +579,17 @@ export default {
sortable: true, sortable: true,
head: false, head: false,
}, },
{ // {
prop: 'quantityStock', // prop: 'quantityStock',
label: '在库数', // label: '',
type: 2, // type: 2,
values: '', // values: '',
width: '150', // width: '150',
checkarr: [], // checkarr: [],
fixed: false, // fixed: false,
sortable: true, // sortable: true,
head: false, // head: false,
}, // },
{ {
prop: 'num', prop: 'num',
label: '货位数', label: '货位数',
@ -717,26 +732,26 @@ export default {
// //
page: { page: {
currentPage: 1, currentPage: 1,
pageSize: 30, pageSize: 200,
total: 40, total: 0,
}, },
// //
page1: { page1: {
currentPage: 1, currentPage: 1,
pageSize: 30, pageSize: 200,
total: 40, total: 0,
}, },
// //
page2: { page2: {
currentPage: 1, currentPage: 1,
pageSize: 30, pageSize: 200,
total: 40, total: 0,
}, },
// //
page3: { page3: {
currentPage: 1, currentPage: 1,
pageSize: 30, pageSize: 200,
total: 40, total: 0,
}, },
// //
form: {}, form: {},
@ -1143,9 +1158,25 @@ export default {
page.pageSize, page.pageSize,
Object.assign(params, this.query) Object.assign(params, this.query)
); );
this.data = b.data.data.records; console.log(b,'bbvvv===>');
if( b.data.code == 200 && b.data.data){
this.data = b.data.data.records;
this.page.total = b.data.data.total;
let sum=0
if( b.data.data.records.length){
b.data.data.records.forEach(res=>{
sum+= res.num
})
this.locations =sum
}
}else{
this.page.total=0
}
console.log('库存品信息', this.data); console.log('库存品信息', this.data);
this.page.total = b.data.data.total;
this.loading = false; this.loading = false;
}, },
async onLoad(page, params = {}) { async onLoad(page, params = {}) {
@ -1162,9 +1193,14 @@ export default {
// this.selectionClear(); // this.selectionClear();
// }); // });
let a = await getList(page.currentPage, page.pageSize, Object.assign(params, this.query)); let a = await getList(page.currentPage, page.pageSize, Object.assign(params, this.query));
console.log(a,'aaaa===>>');
if(a.data.code !=200){
return
}
console.log('aaaa', a.data.data.records); console.log('aaaa', a.data.data.records);
this.queryOwn = a.data.data.records[0] || {}; this.queryOwn = a.data.data.records[0] || {};
console.log(this.queryOwn, '参数'); console.log(this.queryOwn, '参数');
this.stockquantity= this.queryOwn.quantityStock ;//
if (!this.queryOwn.pid) { if (!this.queryOwn.pid) {
console.log('11111111111'); console.log('11111111111');
// //

11
src/views/distribution/inventory/distrilbutionBillLadingList.vue

@ -6,7 +6,7 @@
<el-form :inline="true" :model="query" class="el-fr-d"> <el-form :inline="true" :model="query" class="el-fr-d">
<div class="fo-fl"> <div class="fo-fl">
<el-form-item label="服务号:"> <el-form-item label="服务号:">
<el-input v-model="query.serviceNumber" placeholder="请输入服务号"></el-input> <el-input v-model="query.serviceNumber" placeholder="请输入服务号" clearable></el-input>
</el-form-item> </el-form-item>
<el-form-item label="入库时间:" class="el-times"> <el-form-item label="入库时间:" class="el-times">
<!-- <el-input v-model="query.stockupArea" placeholder="请输入备货区"></el-input>--> <!-- <el-input v-model="query.stockupArea" placeholder="请输入备货区"></el-input>-->
@ -19,6 +19,9 @@
end-placeholder="结束时间" end-placeholder="结束时间"
:shortcuts="shortcuts" :shortcuts="shortcuts"
/> />
</el-form-item>
<el-form-item label="批次号" class="el-times">
<el-input v-model="query.pickupBatchs" placeholder="多个参数用英文逗号分隔" clearable></el-input>
</el-form-item> </el-form-item>
</div> </div>
<!-- 查询按钮 --> <!-- 查询按钮 -->
@ -801,7 +804,11 @@ export default {
searchHide() { searchHide() {
this.search = !this.search; this.search = !this.search;
}, },
searchChange() { searchChange() {
this.query.pickupBatchs= this.query.pickupBatchs.replace(/,/g, ",");
if(!this.query.pickupBatchs){
delete this.query.pickupBatchs
}
this.onLoad(this.page); this.onLoad(this.page);
}, },
searchReset() { searchReset() {

2
src/views/distribution/inventory/distrilbutionBillLadingView.vue

@ -830,7 +830,7 @@ export default {
}, },
{ {
prop: 'trainNumber', prop: 'trainNumber',
label: '客户车次号', label: '自提批次号',
type: 2, type: 2,
values: '', values: '',
width: '150', width: '150',

11
src/views/distribution/signfor/distributionSignforedt.vue

@ -1203,6 +1203,17 @@ const menuData2 = ref([
sortable: true, sortable: true,
head: false, head: false,
}, },
{
prop: 'materialName',
label: '物料名称',
type: 2,
values: '',
width: '100',
checkarr: [],
fixed: false,
sortable: true,
head: false,
},
{ {
prop: 'orderPackageStatusName', prop: 'orderPackageStatusName',
label: '包件状态', label: '包件状态',

22
src/views/distribution/turndelivery/deliveryDiscuss.vue

@ -205,7 +205,7 @@
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<!-- 备货区域 --> <!-- 备货区域 -->
<el-form-item label="备货区域"> <!-- <el-form-item label="备货区域">
<el-select <el-select
v-model="DataSubmit.stockup.goodsAreaId" v-model="DataSubmit.stockup.goodsAreaId"
clearable clearable
@ -219,7 +219,7 @@
:value="item.id" :value="item.id"
/> />
</el-select> </el-select>
</el-form-item> </el-form-item> -->
<!-- 备货时间 --> <!-- 备货时间 -->
<div class="time"> <div class="time">
<el-form-item label="备货时间"> <el-form-item label="备货时间">
@ -907,7 +907,7 @@ const DataSubmit = ref({
stockup: { stockup: {
forkliftId: null, //ID forkliftId: null, //ID
forkliftName: null, // forkliftName: null, //
goodsAreaId: null, //ID // goodsAreaId: null, //ID
goodsAreaName: null, // goodsAreaName: null, //
outboundDate: null, // outboundDate: null, //
stockupDate: null, // stockupDate: null, //
@ -1804,7 +1804,7 @@ onMounted(() => {
} }
DataSubmit.value.stockup.forkliftName = res.data.data.stockupInfo.forkliftName||''; // DataSubmit.value.stockup.forkliftName = res.data.data.stockupInfo.forkliftName||''; //
DataSubmit.value.stockup.forkliftId = res.data.data.stockupInfo.forkliftId||''; //ID DataSubmit.value.stockup.forkliftId = res.data.data.stockupInfo.forkliftId||''; //ID
DataSubmit.value.stockup.goodsAreaId = res.data.data.stockupInfo.goodsAreaId||''; //ID // DataSubmit.value.stockup.goodsAreaId = res.data.data.stockupInfo.goodsAreaId||''; //ID
DataSubmit.value.stockup.goodsAreaName = res.data.data.stockupInfo.stockupArea||''; // DataSubmit.value.stockup.goodsAreaName = res.data.data.stockupInfo.stockupArea||''; //
DataSubmit.value.stockup.outboundDate = res.data.data.stockupInfo.outboundDate||''; // DataSubmit.value.stockup.outboundDate = res.data.data.stockupInfo.outboundDate||''; //
DataSubmit.value.stockup.stockupDate = res.data.data.stockupInfo.stockupDate||''; // DataSubmit.value.stockup.stockupDate = res.data.data.stockupInfo.stockupDate||''; //
@ -2627,13 +2627,13 @@ const StockPersonnel = val => {
}; };
// //
const StockUpSera = val => { // const StockUpSera = val => {
let data = []; // let data = [];
data = findObjectById(val, StockInfo.value.StockUpArea); // data = findObjectById(val, StockInfo.value.StockUpArea);
DataSubmit.value.stockup.goodsAreaId = data.id; //ID // DataSubmit.value.stockup.goodsAreaId = data.id; //ID
console.log(data, '备货区域'); // console.log(data, '');
DataSubmit.value.stockup.goodsAreaName = data.headline; // // DataSubmit.value.stockup.goodsAreaName = data.headline; //
}; // };
// //
const Loading = val => { const Loading = val => {
if(val){ if(val){

78
src/views/financialsector/CustomerBaseprice.vue

@ -85,42 +85,7 @@
</el-row> </el-row>
</div> </div>
<!-- 导入模板 -->
<el-dialog
v-model="dialogTemp"
title="导入模板"
width="500"
>
<el-upload
class="upload-demo"
drag
action="/api/logpm-basicdata/basicdataPrice/upload"
multiple
:headers="headers"
:on-success="handleSuccess"
method="post"
>
<el-icon class="el-icon--upload"><upload-filled /></el-icon>
<div class="el-upload__text">
点击上传 <em>或者拖拽上传</em>
</div>
<template #tip>
<div class="el-upload__tip">
请上传Excel模板文件
</div>
</template>
</el-upload>
<template #footer>
<div class="dialog-footer">
<el-button @click="dialogTemp = false">关闭</el-button>
<el-button type="primary" @click="dialogVisible">
确定
</el-button>
</div>
</template>
</el-dialog>
</basic-container> </basic-container>
<!-- 列表配置显示 --> <!-- 列表配置显示 -->
<edittablehead <edittablehead
@ -129,6 +94,9 @@
:drawerShow="drawerShow" :drawerShow="drawerShow"
:columnList="details.columnList" :columnList="details.columnList"
></edittablehead> ></edittablehead>
</template> </template>
<script setup> <script setup>
@ -136,8 +104,7 @@ import { ref, reactive, toRefs, computed, onMounted, nextTick, watch } from 'vue
import { columnList } from '@/option/financialsector/index.js'; import { columnList } from '@/option/financialsector/index.js';
import { import {
$_getpriceTemplate, $_getpriceTemplate,
$_deletelpriceTemplate, $_deletelpriceTemplate
$_getexport,
} from '@/api/financialsector/index'; // } from '@/api/financialsector/index'; //
import { getDictionaryBiz } from '@/api/system/dict'; // import { getDictionaryBiz } from '@/api/system/dict'; //
import { processRowProperty, setNodeHeight, deepClone, downloadXls } from '@/utils/util'; import { processRowProperty, setNodeHeight, deepClone, downloadXls } from '@/utils/util';
@ -149,7 +116,7 @@ import dayjs from 'dayjs';
const $router = useRouter(); // const $router = useRouter(); //
const $useStore = useStore(); // const $useStore = useStore(); //
const $route = useRoute(); // const $route = useRoute(); //
const dialogTemp=ref(true);// const dialogTemp = ref(false); //
const details = reactive({ const details = reactive({
/** 是否开启搜索 */ /** 是否开启搜索 */
search: false, search: false,
@ -282,19 +249,7 @@ const timesc = (index, row) => {
} }
}; };
const headers = computed(() => {
return { 'Blade-Auth': 'Bearer ' + getToken() };
});
const handleSuccess=(data)=>{
console.log(data,'datas');
if(data.code==200 && data.data=='请维护客户信息中的基础数据'){
ElMessage({
message: data.data,
type: 'warning',
})
};
}
/** 表格表头输入框搜索 */ /** 表格表头输入框搜索 */
const btnsc = val => { const btnsc = val => {
console.log(val); console.log(val);
@ -429,28 +384,13 @@ const Modifytemplate = row => {
path: '/financialsector/FinanceHome', path: '/financialsector/FinanceHome',
}); });
}; };
//
const exporTemp = () => {
ElMessageBox.confirm('是否导出价格模板', 'Warning', {
confirmButtonText: '确认',
cancelButtonText: '取消',
type: 'warning',
}).then(() => {
$_getexport().then(res => {
downloadXls(res.data, `价格模板.xlsx`);
});
});
};
// //
const ImportTemplate=()=>{ const ImportTemplate = () => {
dialogTemp.value=true dialogTemp.value = true;
};
}
// //
const dialogVisible=()=>{ const dialogVisible = () => {};
}
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">

8
src/views/financialsector/Financialse/FinancialWarehousing.vue

@ -612,6 +612,8 @@ const onLoad = async () => {
let request = props.templateData.request; let request = props.templateData.request;
// //
form.value = await deepClone(request); form.value = await deepClone(request);
if (request.warehouseIsByCategory == 1) { if (request.warehouseIsByCategory == 1) {
form.value.StoragecategoryData = []; form.value.StoragecategoryData = [];
request.warehousePieceCategorys.forEach((res, index) => { request.warehousePieceCategorys.forEach((res, index) => {
@ -646,10 +648,14 @@ const onLoad = async () => {
value: res.id, value: res.id,
}, },
], ],
}); });
}); });
} }
console.log(request.warehouseCalculationBasis,'request.warehouseCalculationBasis++++++===>>>');
form.value.warehouseCalculationBasis= request.warehouseCalculationBasis|| 0;//
console.log(form.value,'form.value.warehouseCalculationBasis');
} }
formedit.value = deepClone(form.value); formedit.value = deepClone(form.value);
pageLoading.value = false; pageLoading.value = false;
}; };

Loading…
Cancel
Save