|
@@ -200,6 +200,140 @@
|
|
|
<el-button @click="dialogVisibleOne = false">关闭</el-button>
|
|
|
</template>
|
|
|
</el-dialog>
|
|
|
+
|
|
|
+ <el-dialog
|
|
|
+ :title="'到货详情'"
|
|
|
+ v-model="dialogVisibleThree"
|
|
|
+ width="80%"
|
|
|
+ destroy-on-close
|
|
|
+ >
|
|
|
+ <byForm
|
|
|
+ :formConfig="formConfigTwo"
|
|
|
+ :formOption="formOption"
|
|
|
+ v-model="formData.dataTwo"
|
|
|
+ :rules="rules"
|
|
|
+ ref="byformOne"
|
|
|
+ >
|
|
|
+ <template #detailSlot>
|
|
|
+ <div style="width: 100%">
|
|
|
+ <el-table :data="formData.dataTwo.purchaseDetailVoList">
|
|
|
+ <el-table-column prop="productCustomCode" label="物品编码" />
|
|
|
+ <el-table-column prop="productName" label="物品名称" />
|
|
|
+ <el-table-column prop="count" label="采购数量" />
|
|
|
+ <el-table-column prop="deliverGoodsQuantity" label="已发货">
|
|
|
+ <template #default="{ row }">
|
|
|
+ <div>
|
|
|
+ <el-popover
|
|
|
+ placement="bottom-start"
|
|
|
+ title="发货详情"
|
|
|
+ :width="500"
|
|
|
+ trigger="hover"
|
|
|
+ >
|
|
|
+ <div default>
|
|
|
+ <el-table :data="row.deliverGoodsDetailList">
|
|
|
+ <el-table-column
|
|
|
+ label="发货时间"
|
|
|
+ prop="createTime"
|
|
|
+ width="155"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ label="物流单号"
|
|
|
+ prop="logisticsCode"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ label="数量"
|
|
|
+ prop="deliverGoodsQuantity"
|
|
|
+ width="100"
|
|
|
+ />
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
+ <template #reference>
|
|
|
+ <div style="cursor: pointer; color: #0084ff">
|
|
|
+ {{ row.deliverGoodsQuantity }}
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-popover>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+
|
|
|
+ <el-table-column prop="receiptQuantity" label="已入库">
|
|
|
+ <template #default="{ row }">
|
|
|
+ <div>
|
|
|
+ <el-popover
|
|
|
+ placement="bottom-start"
|
|
|
+ title="入库详情"
|
|
|
+ :width="500"
|
|
|
+ trigger="hover"
|
|
|
+ >
|
|
|
+ <div default>
|
|
|
+ <el-table :data="row.receiptList">
|
|
|
+ <el-table-column
|
|
|
+ label="入库时间"
|
|
|
+ prop="createTime"
|
|
|
+ width="155"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ label="入库单号"
|
|
|
+ prop="logisticsCode"
|
|
|
+ />
|
|
|
+ <el-table-column
|
|
|
+ label="数量"
|
|
|
+ prop="quantity"
|
|
|
+ width="100"
|
|
|
+ />
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
+ <template #reference>
|
|
|
+ <div style="cursor: pointer; color: #0084ff">
|
|
|
+ {{ row.receiptQuantity }}
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-popover>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+
|
|
|
+ <el-table-column prop="purchaseBackQuantity" label="退货">
|
|
|
+ <template #default="{ row }">
|
|
|
+ <div>
|
|
|
+ <el-popover
|
|
|
+ placement="bottom-start"
|
|
|
+ title="退货详情"
|
|
|
+ :width="500"
|
|
|
+ trigger="hover"
|
|
|
+ >
|
|
|
+ <div default>
|
|
|
+ <el-table :data="row.purchaseBackDetailsList">
|
|
|
+ <el-table-column label="申请时间" prop="createTime" />
|
|
|
+ <el-table-column label="申请数量" prop="quantity" />
|
|
|
+ <el-table-column
|
|
|
+ label="已退数量"
|
|
|
+ prop="returnedQuantity"
|
|
|
+ />
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
+ <template #reference>
|
|
|
+ <div style="cursor: pointer; color: #0084ff">
|
|
|
+ {{ row.purchaseBackQuantity }}
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-popover>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column prop="qualityQuantity" label="已质检数量" />
|
|
|
+ <el-table-column prop="noQualifiedCount" label="不合格数量" />
|
|
|
+ </el-table>
|
|
|
+ </div>
|
|
|
+ </template>
|
|
|
+ </byForm>
|
|
|
+ <template #footer>
|
|
|
+ <el-button @click="dialogVisibleThree = false" size="large"
|
|
|
+ >取 消</el-button
|
|
|
+ >
|
|
|
+ </template>
|
|
|
+ </el-dialog>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -397,6 +531,7 @@ let formData = reactive({
|
|
|
type: "1",
|
|
|
},
|
|
|
dataOne: {},
|
|
|
+ dataTwo: {},
|
|
|
});
|
|
|
const formOption = reactive({
|
|
|
inline: true,
|
|
@@ -454,6 +589,8 @@ let formConfig = computed(() => [
|
|
|
},
|
|
|
]);
|
|
|
const dialogVisibleTwo = ref(false);
|
|
|
+const dialogVisibleThree = ref(false);
|
|
|
+
|
|
|
const byformOne = ref(null);
|
|
|
let formConfigOne = computed(() => [
|
|
|
{
|
|
@@ -501,6 +638,35 @@ let formConfigOne = computed(() => [
|
|
|
disabled: false,
|
|
|
},
|
|
|
]);
|
|
|
+let formConfigTwo = computed(() => [
|
|
|
+ {
|
|
|
+ type: "title",
|
|
|
+ title: "基础信息",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ type: "input",
|
|
|
+ prop: "supplyName",
|
|
|
+ label: "供应商",
|
|
|
+ disabled: true,
|
|
|
+ itemWidth: 50,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ type: "input",
|
|
|
+ prop: "purchaseCode",
|
|
|
+ label: "采购单号",
|
|
|
+ disabled: true,
|
|
|
+ itemWidth: 50,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ type: "title",
|
|
|
+ title: "采购明细",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ type: "slot",
|
|
|
+ slotName: "detailSlot",
|
|
|
+ label: "",
|
|
|
+ },
|
|
|
+]);
|
|
|
const getList = async (req) => {
|
|
|
sourceList.value.pagination = { ...sourceList.value.pagination, ...req };
|
|
|
loading.value = true;
|
|
@@ -715,6 +881,20 @@ const getDict = () => {
|
|
|
}));
|
|
|
});
|
|
|
};
|
|
|
+
|
|
|
+const handleClickContractCode = (row) => {
|
|
|
+ proxy
|
|
|
+ .post("/deliverGoods/arrivalDetail", { purchaseId: row.id })
|
|
|
+ .then((res) => {
|
|
|
+ formData.dataTwo = {
|
|
|
+ supplyName: row.supplyName,
|
|
|
+ purchaseCode: row.contractCode,
|
|
|
+ purchaseDetailVoList: res.purchaseDetailVoList,
|
|
|
+ };
|
|
|
+ dialogVisibleThree.value = true;
|
|
|
+ });
|
|
|
+};
|
|
|
+
|
|
|
getList();
|
|
|
getDict();
|
|
|
</script>
|