|
@@ -3,9 +3,21 @@
|
|
|
<byTable :source="sourceList.data" :pagination="sourceList.pagination" :config="config" :loading="loading" highlight-current-row
|
|
|
:selectConfig="selectConfig" :table-events="{
|
|
|
select: select,
|
|
|
- }" :action-list="[]" @get-list="getList" @moreSearch="() => (queryDialogVisible = false)"
|
|
|
+ }" :action-list="[]" @get-list="getList" @moreSearch="() => (queryDialogVisible = true)"
|
|
|
|
|
|
>
|
|
|
+ <template #orderId="{ item }">
|
|
|
+ <div style="display: flex; justify-content: flex-start;line-height: 34px;height: 34px" @click="getDtl(item);">
|
|
|
+<!-- <div v-if="item.hasEx=='1'">-->
|
|
|
+<!-- <img src="@/assets/images/jdyc.png" alt="" style="width: 34px"/>-->
|
|
|
+<!-- </div>-->
|
|
|
+<!-- <div v-else style="width: 34px">-->
|
|
|
+
|
|
|
+<!-- </div>-->
|
|
|
+ <span style="color: blue">{{item.orderId}}</span>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+
|
|
|
<template #wareId="{ item }">
|
|
|
<div style="display: flex; justify-content: center;line-height: 34px;height: 34px">
|
|
|
<div v-if="item.exDesc=='1'">
|
|
@@ -67,7 +79,7 @@
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="出库商品" prop="reduceProductId" v-if="reduceFlag" >
|
|
|
- <el-select v-model="formData.data.reduceProductId" filterable :disabled="reduceProductIdDisplay" style="width: 100%;">
|
|
|
+ <el-select v-model="formData.data.reduceProductId" filterable remote :disabled="reduceProductIdDisplay" style="width: 100%;" :remote-method="remoteValue">
|
|
|
<el-option v-for="item in reduceProductList" :key="item.value" :label="item.label" :value="item.value"/>
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
@@ -94,6 +106,10 @@
|
|
|
<el-form-item label="快递单号" prop="expressNo" v-if="deliveryFlag" >
|
|
|
<el-input v-model="formData.data.expressNo" :disabled="isViewFlag" placeholder="请输入快递单号" />
|
|
|
</el-form-item>
|
|
|
+
|
|
|
+ <el-form-item label="金额" prop="amount" v-if="amountFlag" >
|
|
|
+ <el-input v-model="formData.data.amount" :disabled="isViewFlag" placeholder="请输入金额" />
|
|
|
+ </el-form-item>
|
|
|
<el-form-item label="备注" prop="remark" v-if="remarkFlag">
|
|
|
<el-input type="textarea" :rows="3" :disabled="isViewFlag" v-model="formData.data.remark" placeholder="请输入备注" />
|
|
|
</el-form-item>
|
|
@@ -109,14 +125,221 @@
|
|
|
</template>
|
|
|
</el-dialog>
|
|
|
|
|
|
+ <!--详情-->
|
|
|
+ <el-dialog :z-index="1500" title="采购单详情" v-if="detailsDialogVisible" v-model="formData1.data" width="1500px" v-loading="loading">
|
|
|
+ <el-descriptions title="基础信息" />
|
|
|
+ <el-form label-width="auto" :rules="rules">
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="京东订单号:" :span="8">
|
|
|
+ {{formData1.data.orderId}}
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="订购时间:" :span="8" label-position="right">
|
|
|
+ {{formData1.data.createdDate}}
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="供应商名称:" :span="8">
|
|
|
+ {{formData1.data.providerName}}
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="采购总金额:" :span="8">
|
|
|
+ {{formData1.data.totalPrice}}
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="配送中心名称:" :span="8">
|
|
|
+ {{formData1.data.deliverCenterName}}
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="采购员姓名:" :span="8">
|
|
|
+ {{formData1.data.purchaserName}}
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="删除状态:" :span="8">
|
|
|
+ {{formData1.data.statusName}}
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="是否EPT定制:" :span="8">
|
|
|
+ {{formData1.data.isEptCustomized?'是':'否'}}
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="订单状态:" :span="8">
|
|
|
+ {{formData1.data.stateName}}
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="完成时间:" :span="8">
|
|
|
+ {{formData1.data.completedDate}}
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="账期:" :span="8">
|
|
|
+ {{formData1.data.accountPeriod}}
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="收货负责人:" :span="8">
|
|
|
+ {{formData1.data.receiverName}}
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="收货电话:" :span="8">
|
|
|
+ {{formData1.data.warehousePhone}}
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="详细地址:" :span="8">
|
|
|
+ {{formData1.data.address}}
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="采购类型:" :span="8">
|
|
|
+ {{formData1.data.orderTypeName}}
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="订单属性:" :span="8">
|
|
|
+ {{formData1.data.orderAttributeName}}
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="回告状态:" :span="8">
|
|
|
+ {{formData1.data.confirmStateName}}
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="顾客单号:" :span="8">
|
|
|
+ {{formData1.data.customerOrderid}}
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="品种数量:" :span="8">
|
|
|
+ {{formData1.data.wareVariety}}
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="预计到货时间:" :span="8">
|
|
|
+ {{formData1.data.deliveryTime}}
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="是否可回告:" :span="8">
|
|
|
+ {{formData1.data.isCanConfirm?"可回告":"不可回告"}}
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="是否有差异:" :span="8">
|
|
|
+ {{formData1.data.isExistActualNumDif=='0'?"存在差异":"无差异"}}
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="是否已结算:" :span="8">
|
|
|
+ {{formData1.data.balanceStatus?"已结算":"未结算"}}
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="入库时间:" :span="8">
|
|
|
+ {{formData1.data.storageTime}}
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="TC转运标识:" :span="8">
|
|
|
+ {{formData1.data.tcFlagName}}
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="预约时间:" :span="8">
|
|
|
+ {{formData1.data.bookTime}}
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row>
|
|
|
+ <el-descriptions title="采购单明细" />
|
|
|
+ <div style="line-height: 34px;height: 34px;display: flex">
|
|
|
+ <span>(</span>
|
|
|
+ <span><img src="@/assets/images/jdsh.png" alt="" style="width: 34px"/></span><span>多货</span>
|
|
|
+ <span><img src="@/assets/images/jddh.png" alt="" style="width: 34px"/></span><span>少货</span>
|
|
|
+ <span>)</span>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <el-table :data="formData1.data.jdOrderDetailsList" stripe style="width: 100%">
|
|
|
+ <!-- <el-table stripe style="width: 100%">-->
|
|
|
+ <el-table-column prop="wareId" label="京东商品编号" width="175">
|
|
|
+ <template #default="scope">
|
|
|
+ <div style="display: flex; justify-content: center;line-height: 34px;height: 34px">
|
|
|
+ <div v-if="scope.row.exDesc=='1'">
|
|
|
+ <img src="@/assets/images/jdsh.png" alt="" style="width: 34px"/>
|
|
|
+ </div>
|
|
|
+ <div v-if="scope.row.exDesc=='2'">
|
|
|
+ <img src="@/assets/images/jddh.png" alt="" style="width: 34px"/>
|
|
|
+ </div>
|
|
|
+ <div :style="scope.row.productName=='' || scope.row.productName == undefined || scope.row.productName == 'undefined'?'color: red':''">
|
|
|
+ {{scope.row.wareId}}
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="wareName" label="京东商品名称" min-width="200">
|
|
|
+ <template #default="scope">
|
|
|
+ <span
|
|
|
+ :style="scope.row.productName=='' || scope.row.productName == undefined || scope.row.productName == 'undefined'?'color: red':''">{{scope.row.wareName}}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="productName" label="产品名称" width="150" />
|
|
|
+ <el-table-column prop="deliverCenterName" label="配送中心名称" width="110" />
|
|
|
+ <el-table-column prop="purchasePrice" label="采购价" width="80" />
|
|
|
+ <el-table-column prop="originalNum" label="原始采购数量" width="110" />
|
|
|
+ <el-table-column prop="confirmNum" label="回告数量" width="80" />
|
|
|
+ <el-table-column prop="actualNum" label="实收数量" width="80" />
|
|
|
+ <el-table-column prop="nonDeliveryReason" label="不满足原因" width="100" />
|
|
|
+ <el-table-column prop="totalPrice" label="采购总金额" width="110" />
|
|
|
+ <el-table-column prop="storeName" label="库房名称" width="180" />
|
|
|
+ <el-table-column prop="wareProperty" label="EPT采购单定制相关信息" width="180" />
|
|
|
+ </el-table>
|
|
|
+ </el-row>
|
|
|
+ </el-form>
|
|
|
+ <template #footer>
|
|
|
+ <el-button @click="detailsDialogVisible = false" size="large">取 消</el-button>
|
|
|
+ </template>
|
|
|
+ </el-dialog>
|
|
|
+
|
|
|
<!--高级搜索-->
|
|
|
<el-dialog :title="'高级检索'" v-model="queryDialogVisible" width="500px" destroy-on-close>
|
|
|
<el-form :model="sourceList.pagination" label-width="100px" label-position="top">
|
|
|
- <el-form-item label="采购单号">
|
|
|
- <el-input v-model="sourceList.pagination.orderId" placeholder="请输入采购单号" oninput="value=value.replace(/[^\d.]/g,'')"/>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="京东商品编号">
|
|
|
- <el-input v-model="sourceList.pagination.wareId" placeholder="请输入京东商品编号" oninput="value=value.replace(/[^\d.]/g,'')"/>
|
|
|
+ <el-form-item label="处理时间">
|
|
|
+ <el-date-picker
|
|
|
+ v-model="sourceList.pagination.arr"
|
|
|
+ type="daterange"
|
|
|
+ range-separator="到"
|
|
|
+ start-placeholder="请选择"
|
|
|
+ end-placeholder="请选择"
|
|
|
+ value-format="YYYY-MM-DD HH:mm:ss"
|
|
|
+ />
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
<template #footer>
|
|
@@ -221,9 +444,11 @@ let rules = ref({
|
|
|
|
|
|
expressNo: [{ required: true, message: "请填写快递单号", trigger: "blur" }],
|
|
|
remark: [{ required: true, message: "请填写备注", trigger: "blur" }],
|
|
|
+ amount: [{ required: true, message: "请填写金额", trigger: "blur" }],
|
|
|
});
|
|
|
|
|
|
const queryDialogVisible = ref(false);
|
|
|
+const detailsDialogVisible = ref(false);
|
|
|
const dialogVisible = ref(false);
|
|
|
const isViewFlag = ref(false);
|
|
|
const stepsActiveindex = ref(1);
|
|
@@ -273,7 +498,7 @@ const config = computed(() => {
|
|
|
{
|
|
|
attrs: {
|
|
|
label: "京东采购单号",
|
|
|
- prop: "orderId",
|
|
|
+ slot: "orderId",
|
|
|
align: "left",
|
|
|
width: 120,
|
|
|
},
|
|
@@ -333,6 +558,14 @@ const config = computed(() => {
|
|
|
},
|
|
|
{
|
|
|
attrs: {
|
|
|
+ label: "金额",
|
|
|
+ prop: "amount",
|
|
|
+ align: "left",
|
|
|
+ width: 100,
|
|
|
+ },
|
|
|
+ },
|
|
|
+ {
|
|
|
+ attrs: {
|
|
|
label: "京东商品名称",
|
|
|
slot: "wareName",
|
|
|
align: "left",
|
|
@@ -453,6 +686,12 @@ let formData = reactive({
|
|
|
audioList: [],
|
|
|
},
|
|
|
});
|
|
|
+let formData1 = reactive({
|
|
|
+ data: {
|
|
|
+ coverList: [],
|
|
|
+ audioList: [],
|
|
|
+ },
|
|
|
+});
|
|
|
const formOption = reactive({
|
|
|
inline: true,
|
|
|
labelWidth: 100,
|
|
@@ -476,38 +715,33 @@ const getDictlist = async () => {
|
|
|
});
|
|
|
}
|
|
|
});
|
|
|
- proxy.post("/productInfo/pageByWdly", { pageNum: 1, pageSize: 99999 }).then((res) => {
|
|
|
- if (res.rows && res.rows.length > 0) {
|
|
|
- productList.value = res.rows.map((item) => {
|
|
|
- return {
|
|
|
- label: item.name,
|
|
|
- value: item.id,
|
|
|
- };
|
|
|
- });
|
|
|
- }
|
|
|
- });
|
|
|
+};
|
|
|
|
|
|
+const remoteValue = (query) => {
|
|
|
+ console.log("query",query)
|
|
|
+ if (query !== '') {
|
|
|
+ proxy.post("/productInfo/page",
|
|
|
+ {
|
|
|
+ pageNum: 1,
|
|
|
+ pageSize: 99999 ,
|
|
|
+ keyword:query,
|
|
|
+ }
|
|
|
+ ).then((res) => {
|
|
|
+ if (res.rows && res.rows.length > 0) {
|
|
|
+ reduceProductList.value = res.rows.map((item) => {
|
|
|
+ return {
|
|
|
+ label: item.name,
|
|
|
+ value: item.id,
|
|
|
+ };
|
|
|
+ });
|
|
|
+ }
|
|
|
+ });
|
|
|
+ } else {
|
|
|
+ reduceProductList.value = [];
|
|
|
+ }
|
|
|
|
|
|
-};
|
|
|
+}
|
|
|
|
|
|
-// const getProductList = async (e,type) =>{
|
|
|
-// proxy.post("/stock/pageByWarehouse", { pageNum: 1, pageSize: 999 ,id:e}).then((res) => {
|
|
|
-// if (res.rows && res.rows.length > 0) {
|
|
|
-// const product = res.rows.map((item) => {
|
|
|
-// return {
|
|
|
-// label: item.productName,
|
|
|
-// value: item.productId,
|
|
|
-// };
|
|
|
-// });
|
|
|
-// if (type == 1){
|
|
|
-// addProductList.value = product
|
|
|
-// } else {
|
|
|
-// reduceProductList.value = product
|
|
|
-//
|
|
|
-// }
|
|
|
-// }
|
|
|
-// });
|
|
|
-// }
|
|
|
|
|
|
const getList = async (req) => {
|
|
|
sourceList.value.pagination = { ...sourceList.value.pagination, ...req };
|
|
@@ -544,9 +778,9 @@ const handleQuery = () => {
|
|
|
sourceList.value.pagination.arr &&
|
|
|
sourceList.value.pagination.arr.length > 1
|
|
|
) {
|
|
|
- sourceList.value.pagination.purchaseStartTime =
|
|
|
+ sourceList.value.pagination.startTime =
|
|
|
sourceList.value.pagination.arr[0];
|
|
|
- sourceList.value.pagination.purchaseEndTime =
|
|
|
+ sourceList.value.pagination.endTime =
|
|
|
sourceList.value.pagination.arr[1];
|
|
|
}
|
|
|
queryDialogVisible.value = false;
|
|
@@ -559,9 +793,6 @@ const handleQuery = () => {
|
|
|
* @param row
|
|
|
*/
|
|
|
const openHandleAction = (row,isView) => {
|
|
|
-
|
|
|
- console.log('123123',isView)
|
|
|
-
|
|
|
console.log("row",row)
|
|
|
dialogVisible.value = true;
|
|
|
stepsActiveindex.value = 1
|
|
@@ -592,7 +823,6 @@ const openHandleAction = (row,isView) => {
|
|
|
treeChangeSelect(formData.data.abnormalStatus)
|
|
|
formData.data.absoluteValue = absoluteValue
|
|
|
}else {
|
|
|
-
|
|
|
formData.data = {
|
|
|
id:row.id,
|
|
|
reduceQuantity : absoluteValue,
|
|
@@ -620,12 +850,14 @@ const addFlag = ref(false)
|
|
|
const addProductIdDisplay = ref(false)
|
|
|
const remarkFlag = ref(false)
|
|
|
const deliveryFlag = ref(false)
|
|
|
+const amountFlag = ref(false)
|
|
|
|
|
|
const intiFlag = () => {
|
|
|
tipsFlag.value = false
|
|
|
addFlag.value = false
|
|
|
reduceFlag.value = false
|
|
|
remarkFlag.value = false
|
|
|
+ amountFlag.value = false
|
|
|
deliveryFlag.value = false
|
|
|
reduceProductIdDisplay.value = false
|
|
|
addProductIdDisplay.value = false
|
|
@@ -677,6 +909,10 @@ const next = async () => {
|
|
|
if (['401','501'].indexOf(type)>-1){
|
|
|
deliveryFlag.value = true
|
|
|
}
|
|
|
+ //判断 金额
|
|
|
+ if (['201','203','403','503'].indexOf(type)>-1){
|
|
|
+ amountFlag.value = true
|
|
|
+ }
|
|
|
//判断 提示
|
|
|
if (['101','202','402','502'].indexOf(type)>-1){
|
|
|
tipsFlag.value = true
|
|
@@ -689,8 +925,10 @@ const back = () => {
|
|
|
}
|
|
|
|
|
|
const handProductList = () => {
|
|
|
+ //preventValue 防止被认为 重复请求
|
|
|
+
|
|
|
if (!isNullOrUndefined(formData.data.addProductId)){
|
|
|
- proxy.post("/jdOrderEx/productInfoById", { productId: formData.data.addProductId }).then((res) => {
|
|
|
+ proxy.post("/jdOrderEx/productInfoById", { productId: formData.data.addProductId,preventValue:1 }).then((res) => {
|
|
|
if (res && res.length > 0) {
|
|
|
addProductList.value = res.map((item) => {
|
|
|
return {
|
|
@@ -701,10 +939,10 @@ const handProductList = () => {
|
|
|
}
|
|
|
});
|
|
|
}else {
|
|
|
- addProductList.value = productList.value
|
|
|
+ // addProductList.value = productList.value
|
|
|
}
|
|
|
if (!isNullOrUndefined(formData.data.reduceProductId)){
|
|
|
- proxy.post("/jdOrderEx/productInfoById", { productId: formData.data.reduceProductId }).then((res) => {
|
|
|
+ proxy.post("/jdOrderEx/productInfoById", { productId: formData.data.reduceProductId,preventValue:2 }).then((res) => {
|
|
|
if (res && res.length > 0) {
|
|
|
reduceProductList.value = res.map((item) => {
|
|
|
return {
|
|
@@ -715,7 +953,7 @@ const handProductList = () => {
|
|
|
}
|
|
|
});
|
|
|
}else {
|
|
|
- reduceProductList.value = productList.value
|
|
|
+ // reduceProductList.value = productList.value
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -790,6 +1028,14 @@ const showExHandle = (item) => {
|
|
|
return exHandle[0].label
|
|
|
}
|
|
|
|
|
|
+const getDtl = (row) => {
|
|
|
+ modalType.value = "edit";
|
|
|
+ proxy.post("/jdOrder/detail", { id: row.jdOrderId }).then((res) => {
|
|
|
+ formData1.data = res;
|
|
|
+ detailsDialogVisible.value = true;
|
|
|
+ });
|
|
|
+};
|
|
|
+
|
|
|
getDictlist();
|
|
|
getList();
|
|
|
</script>
|