From 0421ecc5b0d35bfdd1cfe369b5f64d1001a0518f Mon Sep 17 00:00:00 2001
From: 曹睿 <360930172@qq.com>
Date: 星期一, 30 六月 2025 17:25:31 +0800
Subject: [PATCH] Merge branch 'dev' of http://114.132.189.42:9002/r/product-inventory-management into dev
---
src/views/personnelManagement/dimission/components/formDia.vue | 166 ++++++++++++++++
src/views/personnelManagement/onboarding/components/formDia.vue | 166 ++++++++++++++++
src/views/personnelManagement/dimission/index.vue | 191 +++++++++++++++++++
src/views/personnelManagement/onboarding/index.vue | 18 +
4 files changed, 534 insertions(+), 7 deletions(-)
diff --git a/src/views/personnelManagement/dimission/components/formDia.vue b/src/views/personnelManagement/dimission/components/formDia.vue
new file mode 100644
index 0000000..68185cc
--- /dev/null
+++ b/src/views/personnelManagement/dimission/components/formDia.vue
@@ -0,0 +1,166 @@
+<template>
+ <div>
+ <el-dialog
+ v-model="dialogFormVisible"
+ :title="operationType === 'add' ? '鏂板绂昏亴' : '缂栬緫浜哄憳'"
+ width="70%"
+ @close="closeDia"
+ >
+ <el-form :model="form" label-width="140px" label-position="top" :rules="rules" ref="formRef">
+ <el-row :gutter="30">
+ <el-col :span="12">
+ <el-form-item label="鍛樺伐缂栧彿锛�" prop="purchaseContractNumber">
+ <el-input v-model="form.purchaseContractNumber" placeholder="璇疯緭鍏�" clearable/>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="濮撳悕锛�" prop="salesLedgerId">
+ <el-input v-model="form.purchaseContractNumber" placeholder="璇疯緭鍏�" clearable/>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="30">
+ <el-col :span="12">
+ <el-form-item label="鎬у埆锛�" prop="purchaseContractNumber">
+ <el-input v-model="form.purchaseContractNumber" placeholder="璇疯緭鍏�" clearable/>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="绫嶈疮锛�" prop="salesLedgerId">
+ <el-input v-model="form.purchaseContractNumber" placeholder="璇疯緭鍏�" clearable/>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="30">
+ <el-col :span="12">
+ <el-form-item label="宀椾綅锛�" prop="purchaseContractNumber">
+ <el-input v-model="form.purchaseContractNumber" placeholder="璇疯緭鍏�" clearable/>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="瀹跺涵浣忓潃锛�" prop="salesLedgerId">
+ <el-input v-model="form.purchaseContractNumber" placeholder="璇疯緭鍏�" clearable/>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="30">
+ <el-col :span="12">
+ <el-form-item label="绗竴瀛﹀巻锛�" prop="purchaseContractNumber">
+ <el-input v-model="form.purchaseContractNumber" placeholder="璇疯緭鍏�" clearable/>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="涓撲笟锛�" prop="salesLedgerId">
+ <el-input v-model="form.purchaseContractNumber" placeholder="璇疯緭鍏�" clearable/>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="30">
+ <el-col :span="12">
+ <el-form-item label="韬唤璇佸彿锛�" prop="purchaseContractNumber">
+ <el-input v-model="form.purchaseContractNumber" placeholder="璇疯緭鍏�" clearable/>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="骞撮緞锛�" prop="salesLedgerId">
+ <el-input v-model="form.purchaseContractNumber" placeholder="璇疯緭鍏�" clearable/>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="30">
+ <el-col :span="12">
+ <el-form-item label="鑱旂郴鐢佃瘽锛�" prop="purchaseContractNumber">
+ <el-input v-model="form.purchaseContractNumber" placeholder="璇疯緭鍏�" clearable/>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="绱ф�ヨ仈绯讳汉锛�" prop="salesLedgerId">
+ <el-input v-model="form.purchaseContractNumber" placeholder="璇疯緭鍏�" clearable/>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="30">
+ <el-col :span="12">
+ <el-form-item label="绱ф�ヨ仈绯讳汉鑱旂郴鐢佃瘽锛�" prop="purchaseContractNumber">
+ <el-input v-model="form.purchaseContractNumber" placeholder="璇疯緭鍏�" clearable/>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鍚堝悓骞撮檺锛�" prop="salesLedgerId">
+ <el-input v-model="form.purchaseContractNumber" placeholder="璇疯緭鍏�" clearable/>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="30">
+ <el-col :span="12">
+ <el-form-item label="鍚堝悓寮�濮嬫棩鏈燂細" prop="purchaseContractNumber">
+ <el-input v-model="form.purchaseContractNumber" placeholder="璇疯緭鍏�" clearable/>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鍚堝悓缁撴潫鏃ユ湡锛�" prop="salesLedgerId">
+ <el-input v-model="form.purchaseContractNumber" placeholder="璇疯緭鍏�" clearable/>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ <template #footer>
+ <div class="dialog-footer">
+ <el-button type="primary" @click="submitForm">纭</el-button>
+ <el-button @click="closeDia">鍙栨秷</el-button>
+ </div>
+ </template>
+ </el-dialog>
+ </div>
+</template>
+
+<script setup>
+import {ref} from "vue";
+
+const dialogFormVisible = ref(false);
+const operationType = ref('')
+const data = reactive({
+ searchForm: {
+ purchaseContractNumber: "",
+ },
+ form: {
+ purchaseContractNumber: "",
+ salesLedgerId: "",
+ projectName: "",
+ recorderId: "",
+ entryDate: "",
+ productData: [],
+ supplierName: "",
+ supplierId: "",
+ },
+ rules: {
+ purchaseContractNumber: [
+ { required: true, message: "璇疯緭鍏�", trigger: "blur" },
+ ],
+ projectName: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
+ supplierId: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
+ },
+});
+const { form, rules } = toRefs(data);
+
+// 鎵撳紑寮规
+const openDialog = (type, row) => {
+ dialogFormVisible.value = true;
+}
+// 鎻愪氦浜у搧琛ㄥ崟
+const submitForm = () => {
+
+}
+// 鍏抽棴寮规
+const closeDia = () => {
+ // proxy.resetForm("formRef");
+ dialogFormVisible.value = false;
+};
+defineExpose({
+ openDialog,
+});
+</script>
+
+<style scoped>
+
+</style>
\ No newline at end of file
diff --git a/src/views/personnelManagement/dimission/index.vue b/src/views/personnelManagement/dimission/index.vue
new file mode 100644
index 0000000..3692930
--- /dev/null
+++ b/src/views/personnelManagement/dimission/index.vue
@@ -0,0 +1,191 @@
+<template>
+ <div class="app-container">
+ <div class="search_form">
+ <div>
+ <span class="search_title">濮撳悕锛�</span>
+ <el-input
+ v-model="searchForm.customerName"
+ style="width: 240px"
+ placeholder="璇疯緭鍏ュ悕绉版悳绱�"
+ @change="handleQuery"
+ clearable
+ :prefix-icon="Search"
+ />
+ <el-button type="primary" @click="handleQuery" style="margin-left: 10px"
+ >鎼滅储</el-button
+ >
+ </div>
+ <div>
+ <el-button type="primary" @click="openForm('add')">鏂板绂昏亴</el-button>
+ </div>
+ </div>
+ <div class="table_list">
+ <PIMTable
+ rowKey="id"
+ :column="tableColumn"
+ :tableData="tableData"
+ :page="page"
+ :isSelection="true"
+ @selection-change="handleSelectionChange"
+ :tableLoading="tableLoading"
+ @pagination="pagination"
+ :total="total"
+ ></PIMTable>
+ </div>
+ <form-dia ref="formDia"></form-dia>
+ </div>
+</template>
+
+<script setup>
+import { Search } from "@element-plus/icons-vue";
+import { ref } from "vue";
+import FormDia from "@/views/personnelManagement/onboarding/components/formDia.vue";
+
+const data = reactive({
+ searchForm: {
+ customerName: "",
+ },
+ form: {
+ salesLedgerId: "",
+ customerName: "",
+ salesman: "",
+ projectName: "",
+ productData: [],
+ },
+ rules: {
+ salesLedgerId: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
+ },
+});
+const { searchForm, form, rules } = toRefs(data);
+const tableColumn = ref([
+ {
+ label: "鐘舵��",
+ prop: "paymentDate",
+ dataType: "tag",
+ formatData: (params) => {
+ if (params == 0) {
+ return "鍦ㄨ亴";
+ } else if (params == 1) {
+ return "绂昏亴";
+ } else {
+ return null;
+ }
+ },
+ formatType: (params) => {
+ if (params == 0) {
+ return "primary";
+ } else if (params == 1) {
+ return "danger";
+ } else {
+ return null;
+ }
+ },
+ },
+ {
+ label: "鍛樺伐缂栧彿",
+ prop: "supplierName",
+ },
+ {
+ label: "濮撳悕",
+ prop: "currentPaymentAmount",
+ },
+ {
+ label: "鎬у埆",
+ prop: "paymentMethod",
+ },
+ {
+ label: "绫嶈疮",
+ prop: "registrant",
+ },
+ {
+ label: "宀椾綅",
+ prop: "registrationtDate",
+ },
+ {
+ label: "瀹跺涵浣忓潃",
+ prop: "registrationtDate",
+ },
+ {
+ label: "绗竴瀛﹀巻",
+ prop: "registrationtDate",
+ },
+ {
+ label: "涓撲笟",
+ prop: "registrationtDate",
+ },
+ {
+ label: "韬唤璇佸彿",
+ prop: "registrationtDate",
+ },
+ {
+ label: "骞撮緞",
+ prop: "registrationtDate",
+ },
+ {
+ label: "鑱旂郴鐢佃瘽",
+ prop: "registrationtDate",
+ },
+ {
+ label: "绱ф�ヨ仈绯讳汉",
+ prop: "registrationtDate",
+ },
+ {
+ label: "鑱旂郴鐢佃瘽",
+ prop: "registrationtDate",
+ },
+ {
+ label: "鍚堝悓骞撮檺",
+ prop: "registrationtDate",
+ },
+ {
+ label: "鍚堝悓寮�濮嬫棩鏈�",
+ prop: "registrationtDate",
+ },
+ {
+ label: "鍚堝悓缁撴潫鏃ユ湡",
+ prop: "registrationtDate",
+ },
+]);
+const tableData = ref([]);
+const selectedRows = ref([]);
+const tableLoading = ref(false);
+const page = reactive({
+ current: 1,
+ size: 100,
+});
+const total = ref(0);
+const formDia = ref()
+const { proxy } = getCurrentInstance()
+
+// 鏌ヨ鍒楄〃
+/** 鎼滅储鎸夐挳鎿嶄綔 */
+const handleQuery = () => {
+ page.current = 1;
+ getList();
+};
+const pagination = (obj) => {
+ page.current = obj.page;
+ page.size = obj.limit;
+ getList();
+};
+const getList = () => {
+ tableLoading.value = true;
+
+};
+// 琛ㄦ牸閫夋嫨鏁版嵁
+const handleSelectionChange = (selection) => {
+ console.log("selection", selection);
+ selectedRows.value = selection.filter(
+ (item) => item.salesContractNo !== undefined
+ );
+};
+
+// 鎵撳紑寮规
+const openForm = (type, row) => {
+ nextTick(() => {
+ formDia.value?.openDialog(type, row)
+ })
+};
+</script>
+
+<style scoped></style>
diff --git a/src/views/personnelManagement/onboarding/components/formDia.vue b/src/views/personnelManagement/onboarding/components/formDia.vue
new file mode 100644
index 0000000..c8bd008
--- /dev/null
+++ b/src/views/personnelManagement/onboarding/components/formDia.vue
@@ -0,0 +1,166 @@
+<template>
+ <div>
+ <el-dialog
+ v-model="dialogFormVisible"
+ :title="operationType === 'add' ? '鏂板鍏ヨ亴' : '缂栬緫浜哄憳'"
+ width="70%"
+ @close="closeDia"
+ >
+ <el-form :model="form" label-width="140px" label-position="top" :rules="rules" ref="formRef">
+ <el-row :gutter="30">
+ <el-col :span="12">
+ <el-form-item label="鍛樺伐缂栧彿锛�" prop="purchaseContractNumber">
+ <el-input v-model="form.purchaseContractNumber" placeholder="璇疯緭鍏�" clearable/>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="濮撳悕锛�" prop="salesLedgerId">
+ <el-input v-model="form.purchaseContractNumber" placeholder="璇疯緭鍏�" clearable/>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="30">
+ <el-col :span="12">
+ <el-form-item label="鎬у埆锛�" prop="purchaseContractNumber">
+ <el-input v-model="form.purchaseContractNumber" placeholder="璇疯緭鍏�" clearable/>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="绫嶈疮锛�" prop="salesLedgerId">
+ <el-input v-model="form.purchaseContractNumber" placeholder="璇疯緭鍏�" clearable/>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="30">
+ <el-col :span="12">
+ <el-form-item label="宀椾綅锛�" prop="purchaseContractNumber">
+ <el-input v-model="form.purchaseContractNumber" placeholder="璇疯緭鍏�" clearable/>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="瀹跺涵浣忓潃锛�" prop="salesLedgerId">
+ <el-input v-model="form.purchaseContractNumber" placeholder="璇疯緭鍏�" clearable/>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="30">
+ <el-col :span="12">
+ <el-form-item label="绗竴瀛﹀巻锛�" prop="purchaseContractNumber">
+ <el-input v-model="form.purchaseContractNumber" placeholder="璇疯緭鍏�" clearable/>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="涓撲笟锛�" prop="salesLedgerId">
+ <el-input v-model="form.purchaseContractNumber" placeholder="璇疯緭鍏�" clearable/>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="30">
+ <el-col :span="12">
+ <el-form-item label="韬唤璇佸彿锛�" prop="purchaseContractNumber">
+ <el-input v-model="form.purchaseContractNumber" placeholder="璇疯緭鍏�" clearable/>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="骞撮緞锛�" prop="salesLedgerId">
+ <el-input v-model="form.purchaseContractNumber" placeholder="璇疯緭鍏�" clearable/>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="30">
+ <el-col :span="12">
+ <el-form-item label="鑱旂郴鐢佃瘽锛�" prop="purchaseContractNumber">
+ <el-input v-model="form.purchaseContractNumber" placeholder="璇疯緭鍏�" clearable/>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="绱ф�ヨ仈绯讳汉锛�" prop="salesLedgerId">
+ <el-input v-model="form.purchaseContractNumber" placeholder="璇疯緭鍏�" clearable/>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="30">
+ <el-col :span="12">
+ <el-form-item label="绱ф�ヨ仈绯讳汉鑱旂郴鐢佃瘽锛�" prop="purchaseContractNumber">
+ <el-input v-model="form.purchaseContractNumber" placeholder="璇疯緭鍏�" clearable/>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鍚堝悓骞撮檺锛�" prop="salesLedgerId">
+ <el-input v-model="form.purchaseContractNumber" placeholder="璇疯緭鍏�" clearable/>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ <el-row :gutter="30">
+ <el-col :span="12">
+ <el-form-item label="鍚堝悓寮�濮嬫棩鏈燂細" prop="purchaseContractNumber">
+ <el-input v-model="form.purchaseContractNumber" placeholder="璇疯緭鍏�" clearable/>
+ </el-form-item>
+ </el-col>
+ <el-col :span="12">
+ <el-form-item label="鍚堝悓缁撴潫鏃ユ湡锛�" prop="salesLedgerId">
+ <el-input v-model="form.purchaseContractNumber" placeholder="璇疯緭鍏�" clearable/>
+ </el-form-item>
+ </el-col>
+ </el-row>
+ </el-form>
+ <template #footer>
+ <div class="dialog-footer">
+ <el-button type="primary" @click="submitForm">纭</el-button>
+ <el-button @click="closeDia">鍙栨秷</el-button>
+ </div>
+ </template>
+ </el-dialog>
+ </div>
+</template>
+
+<script setup>
+import {ref} from "vue";
+
+const dialogFormVisible = ref(false);
+const operationType = ref('')
+const data = reactive({
+ searchForm: {
+ purchaseContractNumber: "",
+ },
+ form: {
+ purchaseContractNumber: "",
+ salesLedgerId: "",
+ projectName: "",
+ recorderId: "",
+ entryDate: "",
+ productData: [],
+ supplierName: "",
+ supplierId: "",
+ },
+ rules: {
+ purchaseContractNumber: [
+ { required: true, message: "璇疯緭鍏�", trigger: "blur" },
+ ],
+ projectName: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
+ supplierId: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
+ },
+});
+const { form, rules } = toRefs(data);
+
+// 鎵撳紑寮规
+const openDialog = (type, row) => {
+ dialogFormVisible.value = true;
+}
+// 鎻愪氦浜у搧琛ㄥ崟
+const submitForm = () => {
+
+}
+// 鍏抽棴寮规
+const closeDia = () => {
+ // proxy.resetForm("formRef");
+ dialogFormVisible.value = false;
+};
+defineExpose({
+ openDialog,
+});
+</script>
+
+<style scoped>
+
+</style>
\ No newline at end of file
diff --git a/src/views/personnelManagement/onboarding/index.vue b/src/views/personnelManagement/onboarding/index.vue
index cc1e8e5..2ad1e89 100644
--- a/src/views/personnelManagement/onboarding/index.vue
+++ b/src/views/personnelManagement/onboarding/index.vue
@@ -16,7 +16,7 @@
>
</div>
<div>
- <el-button type="primary" @click="openForm">鏂板鍏ヨ亴</el-button>
+ <el-button type="primary" @click="openForm('add')">鏂板鍏ヨ亴</el-button>
</div>
</div>
<div class="table_list">
@@ -32,12 +32,14 @@
:total="total"
></PIMTable>
</div>
+ <form-dia ref="formDia"></form-dia>
</div>
</template>
<script setup>
import { Search } from "@element-plus/icons-vue";
import { ref } from "vue";
+import FormDia from "@/views/personnelManagement/onboarding/components/formDia.vue";
const data = reactive({
searchForm: {
@@ -152,6 +154,8 @@
size: 100,
});
const total = ref(0);
+const formDia = ref()
+const { proxy } = getCurrentInstance()
// 鏌ヨ鍒楄〃
/** 鎼滅储鎸夐挳鎿嶄綔 */
@@ -166,11 +170,7 @@
};
const getList = () => {
tableLoading.value = true;
- ledgerListPage({ ...searchForm.value, ...page }).then((res) => {
- tableLoading.value = false;
- tableData.value = res.records;
- total.value = res.total;
- });
+
};
// 琛ㄦ牸閫夋嫨鏁版嵁
const handleSelectionChange = (selection) => {
@@ -181,7 +181,11 @@
};
// 鎵撳紑寮规
-const openForm = () => {};
+const openForm = (type, row) => {
+ nextTick(() => {
+ formDia.value?.openDialog(type, row)
+ })
+};
</script>
<style scoped></style>
--
Gitblit v1.9.3