From 0d72650b6efe87097b117d9eac9a340227b483ed Mon Sep 17 00:00:00 2001 From: 张诺 <zhang_12370@163.com> Date: 星期三, 04 六月 2025 16:58:51 +0800 Subject: [PATCH] 后端联调供应商模块 完善页面 --- src/views/basicInformation/index.vue | 433 +++++++----------------- src/api/basicInformation/coalQualityMaintenance.js | 20 + src/views/basicInformation/mould/coal.vue | 37 +- src/api/basicInformation/coal.js | 21 + src/components/Table/EtableModify.vue | 278 ++++++++++++++++ src/views/basicInformation/mould/supplier.vue | 118 +++--- src/api/basicInformation/supplier.js | 28 + src/components/Table/ETable.vue | 2 src/views/basicInformation/mould/coalQualityMaintenance.vue | 82 ++-- 9 files changed, 583 insertions(+), 436 deletions(-) diff --git a/src/api/basicInformation/coal.js b/src/api/basicInformation/coal.js new file mode 100644 index 0000000..9a62ed6 --- /dev/null +++ b/src/api/basicInformation/coal.js @@ -0,0 +1,21 @@ +// 鐓よ川缁存姢 +import request from '@/utils/request' + +// 鏌ヨ鐓よ川缁存姢鍒楄〃 +export function getCoalInfo(query) { + return request({ + url: '/coalInfo/list', + method: 'get', + params: query + }) +} + +// 鏂板鎴栫紪杈戠叅璐ㄧ淮鎶� +export function addOrEditCoalInfo(query) { + return request({ + url: '/coalInfo/addOrEditCoalInfo', + method: 'post', + data: query + }) +} + diff --git a/src/api/basicInformation/coalQualityMaintenance.js b/src/api/basicInformation/coalQualityMaintenance.js new file mode 100644 index 0000000..4322044 --- /dev/null +++ b/src/api/basicInformation/coalQualityMaintenance.js @@ -0,0 +1,20 @@ +// 鐓よ川缁存姢 +import request from '@/utils/request' + +// 鏌ヨ鐓よ川缁存姢鏁版嵁鍒楄〃 +export function getCoalQuality(query) { + return request({ + url: '/coalQuality/list', + method: 'get', + params: query + }) +} +// 鏂板鎴栫紪杈戠叅璐ㄧ淮鎶� +export function addOrEditCoalQuality(query){ + return request({ + url: '/coalQuality/addOrEditCoalQuality', + method: 'post', + data: query + }) +} + diff --git a/src/api/basicInformation/supplier.js b/src/api/basicInformation/supplier.js new file mode 100644 index 0000000..91cd2be --- /dev/null +++ b/src/api/basicInformation/supplier.js @@ -0,0 +1,28 @@ +// 渚涘簲鍟嗘暟鎹� +import request from '@/utils/request' + +// 鏌ヨ渚涘簲鍟嗘暟鎹垪琛� +export function getSupply(query) { + return request({ + url: '/supply/list', + method: 'get', + params: query + }) +} +// 澧炴敼渚涘簲鍟嗘暟鎹� +export function addOrEditSupply(query){ + return request({ + url: '/supply/addOrEditSupply', + method: 'post', + data: query + }) +} +// 鍒犻櫎渚涘簲鍟嗘暟鎹� +export function delSupply(query){ + return request({ + url: '/supply/delSupply', + method: 'delete', + data: query + }) +} + diff --git a/src/components/Table/ETable.vue b/src/components/Table/ETable.vue index 51859fa..b6bc89e 100644 --- a/src/components/Table/ETable.vue +++ b/src/components/Table/ETable.vue @@ -2,7 +2,6 @@ <el-table v-loading="loading" :data="tableData" - style="width: 100%" :border="border" :show-selection="showSelection" :max-height="maxHeight" @@ -21,6 +20,7 @@ v-bind="col" :show-overflow-tooltip="shouldShowTooltip(col, tableData)" :formatter="(row, column, cellValue) => cellValue == null || cellValue === '' ? '--' : cellValue" + align="center" > <template v-if="col.slot" #default> <slot></slot> diff --git a/src/components/Table/EtableModify.vue b/src/components/Table/EtableModify.vue new file mode 100644 index 0000000..d4678c6 --- /dev/null +++ b/src/components/Table/EtableModify.vue @@ -0,0 +1,278 @@ +<template> + <el-table v-loading="loading" :data="tableData" :border="border" :show-selection="showSelection" :height="height" :max-height="maxHeight" + :header-cell-style="{ background: '#EBEEF5', color: '#3D3D3D' }" @selection-change="handleSelectionChange" + @row-click="handleRowClick" @row-dblclick="handleRowDblClick" :row-class-name="tableRowClassName" @cell-click="handleCellClick" :max-width="maxWidth" + @export="handleExport"> + <el-table-column v-if="showSelection" type="selection" width="55" align="center" /> + <el-table-column v-if="showIndex" label="搴忓彿" type="index" width="60" align="center" /> <template + v-for="col in columns" :key="col.prop"> + <el-table-column v-bind="col" :show-overflow-tooltip="shouldShowTooltip(col, tableData)" align="center"> <template + #default="scope"> + <template v-if="col.slot"> + <slot></slot> + </template> + <template v-else> + <div class="cell-edit" @dblclick="handleCellEdit(scope.row, col.prop)" + :class="{'editable': isColumnEditable(col.prop)}"> <span + v-if="!scope.row.editing || !scope.row.editing[col.prop]" class="cell-text"> + {{ scope.row[col.prop] == null || scope.row[col.prop] === '' ? '--' : scope.row[col.prop] }} + </span> + <el-input v-else v-model="scope.row[col.prop]" size="small" + @focus="handleCellFocus(scope.row, col.prop, $event)" @blur="handleCellSave(scope.row, col.prop)" + @keyup.enter="handleCellSave(scope.row, col.prop)" class="cell-input" /> + </div> + </template> + </template> + </el-table-column> + </template> + <!-- 鎿嶄綔鍒� --> + <el-table-column v-if="showOperations" :label="operationsLabel" :width="operationsWidth" fixed="right" align="center"> + <template #default="scope"> + <slot name="operations" :row="scope.row"> + <el-button v-if="operations.includes('edit')" link type="primary" size="small" + @click="handleEdit(scope.row)">缂栬緫</el-button> + <!-- <el-button--> + <!-- v-if="operations.includes('delete')"--> + <!-- link--> + <!-- type="danger"--> + <!-- size="small"--> + <!-- @click="handleDelete(scope.row)"--> + <!-- >鍒犻櫎</el-button>--> + </slot> + </template> + </el-table-column> + </el-table> +</template> + + <script setup> +import { defineEmits, nextTick } from 'vue' +import { ElMessage, ElMessageBox } from 'element-plus' +const props = defineProps({ + // 鑾峰彇琛屾牱寮� + tableRowClassName: { + type: Function, + default: () => '' + }, + // 鑾峰彇楂樺害 + height: { + type: [String, Number], + default: 'auto' + }, + // 鏄惁鍏佽缂栬緫鍗曞厓鏍� + editableCells: { + type: Boolean, + default: true + }, + // 鎸囧畾鍙紪杈戠殑鍒楋紝濡傛灉涓虹┖鏁扮粍鍒欒〃绀烘墍鏈夊垪閮戒笉鍙紪杈� + editableColumns: { + type: Array, + default: () => [] + }, + // 鏈�澶у搴� + maxWidth: { + type: [String, Number], + default: 'auto' + }, + handleCellClick: { + type: Function, + default: () => { } + }, + handleRowClick: { + type: Function, + default: () => { } + }, + handleExport: { + type: Function, + default: () => { } + }, + handleRowDblClick: { + type: Function, + default: () => { } + }, + // 楂樺害 + maxHeight: { + type: [String, Number], + default: 'auto' + }, + // 鍔犺浇鐘舵�� + loading: { + type: Boolean, + default: false + }, + // border + border: { + type: Boolean, + default: false + }, + // 琛ㄦ牸鏁版嵁 + tableData: { + type: Array, + default: () => [] + }, + // 鏄惁鏄剧ず閫夋嫨鍒� + showSelection: { + type: Boolean, + default: false + }, + // 鏄惁鏄剧ず搴忓彿鍒� + showIndex: { + type: Boolean, + default: true + }, + // 鍒楅厤缃� + columns: { + type: Array, + default: () => [] + }, + // 鏄惁鏄剧ず鎿嶄綔鍒� + showOperations: { + type: Boolean, + default: true + }, + // 鎿嶄綔鍒楁爣绛� + operationsLabel: { + type: String, + default: '鎿嶄綔' + }, + // 鎿嶄綔鍒楀搴� + operationsWidth: { + type: [String, Number], + default: 100 + }, + // 鏄剧ず鍝簺鎿嶄綔鎸夐挳 + operations: { + type: Array, + default: () => ['edit', 'delete', 'export'] + }, + // 鍒犻櫎纭淇℃伅 + deleteConfirmText: { + type: String, + default: '纭鍒犻櫎璇ヨ褰曪紵' + } +}) +// 妫�鏌ュ垪鏄惁闇�瑕佹樉绀簍ooltip +const shouldShowTooltip = (col, data) => { + // 濡傛灉娌℃湁prop锛岀洿鎺ヨ繑鍥瀎alse + if (!col.prop) return false; + // 妫�鏌ヨ鍒楀湪鎵�鏈夋暟鎹腑鏄惁鏈夐潪绌哄�� + return data.some(row => row[col.prop] != null && row[col.prop] !== ''); +}; + +// 澶勭悊鍗曞厓鏍肩紪杈� +const handleCellEdit = (row, prop) => { + // 濡傛灉涓嶅厑璁哥紪杈戝崟鍏冩牸锛岀洿鎺ヨ繑鍥� + if (!props.editableCells) return; + + // 濡傛灉鎸囧畾浜嗗彲缂栬緫鍒楋紝涓斿綋鍓嶅垪涓嶅湪鍙紪杈戝垪涓紝鍒欎笉鍏佽缂栬緫 + if (props.editableColumns.length > 0 && !props.editableColumns.includes(prop)) return; + + // 鍒濆鍖杄diting瀵硅薄 + if (!row.editing) { + row.editing = {}; + } + // 璁剧疆褰撳墠鍗曞厓鏍间负缂栬緫鐘舵�� + row.editing[prop] = true; + + // 鍦ㄤ笅涓�涓狣OM鏇存柊鍛ㄦ湡锛岃杈撳叆妗嗚幏寰楃劍鐐瑰苟閫変腑鍐呭 + setTimeout(() => { + const inputElement = document.querySelector('.cell-edit .el-input__inner'); + if (inputElement) { + inputElement.focus(); + inputElement.select(); + } + }, 10); +} + +// 澶勭悊鍗曞厓鏍间繚瀛� +const handleCellSave = (row, prop) => { + // 鍏抽棴缂栬緫鐘舵�� + row.editing[prop] = false; + // 瑙﹀彂鍗曞厓鏍肩紪杈戝畬鎴愪簨浠� + emit('cell-edit', row, prop, row[prop]); +} +// 澶勭悊鍗曞厓鏍艰仛鐒︿簨浠� +const handleCellFocus = (row, prop, event) => { + // 濡傛灉涓嶅厑璁哥紪杈戝崟鍏冩牸锛岀洿鎺ヨ繑鍥� + if (!props.editableCells) return; + + // 濡傛灉鎸囧畾浜嗗彲缂栬緫鍒楋紝涓斿綋鍓嶅垪涓嶅湪鍙紪杈戝垪涓紝鍒欎笉鍏佽缂栬緫 + if (props.editableColumns.length > 0 && !props.editableColumns.includes(prop)) return; + + // 鍒濆鍖杄diting瀵硅薄 + if (!row.editing) { + row.editing = {}; + } + // 璁剧疆褰撳墠鍗曞厓鏍间负缂栬緫鐘舵�� + row.editing[prop] = true; + + // 鑷姩鍏ㄩ�夎緭鍏ユ鍐呭 + if (event && event.target) { + event.target.select(); + } +} +// 鍒ゆ柇鍒楁槸鍚﹀彲缂栬緫 +const isColumnEditable = (prop) => { + if (props.editableColumns.length === 0) { + return props.editableCells; + } + return props.editableColumns.includes(prop); +} + +// 澶勭悊閫夋嫨鍙樺寲銆佺紪杈戙�佸垹闄ゅ拰瀵煎嚭鎿嶄綔 +const emit = defineEmits(['selection-change', 'edit', 'delete', 'export', 'cell-edit']) +const handleSelectionChange = (selection) => { + emit('selection-change', selection) +} +const handleEdit = (row) => { + emit('edit', row) +} +const handleExport = (row) => { + emit('export', row) +} + </script> + <style scoped lang="scss"> +.el-table { + margin: 20px 0 !important; + } + + :deep(.el-table th) { + background-color: #f5f7fa; + } + + :deep(.cell-edit) { + width: 100%; + height: 100%; + position: relative; + } + + :deep(.cell-edit .cell-text) { + width: 100%; + display: block; + } + + :deep(.cell-edit.editable:hover .cell-text) { + color: #409EFF; + cursor: pointer; + } + + :deep(.cell-input) { + width: 80%; + max-width: 120px; + min-width: 60px; + } + + :deep(.cell-input .el-input__inner) { + border-radius: 4px; + text-align: center; + transition: all 0.2s; + } + + + /* 鍝嶅簲寮忔牱寮� */ + @media screen and (max-width: 768px) { + :deep(.el-table) { + width: 100%; + overflow-x: auto; + } + } +</style> \ No newline at end of file diff --git a/src/views/basicInformation/index.vue b/src/views/basicInformation/index.vue index 9a35c6a..e2007e9 100644 --- a/src/views/basicInformation/index.vue +++ b/src/views/basicInformation/index.vue @@ -1,119 +1,43 @@ <template> - <div class="app-container"> - <el-form :inline="true" :model="queryParams" class="search-form"> - <el-form-item label="鎼滅储"> - <el-input - v-model="queryParams.searchText" - placeholder="璇疯緭鍏ュ叧閿瘝" - clearable - /> - </el-form-item> - <el-form-item label="渚涘簲鍟嗗悕绉�"> - <el-input - v-model="queryParams.supplierName" - placeholder="璇疯緭鍏�" - clearable - /> - </el-form-item> - <el-form-item label="缁熶竴浜鸿瘑鍒彿"> - <el-input - v-model="queryParams.identifyNumber" - placeholder="璇疯緭鍏�" - clearable - /> - </el-form-item> - <el-form-item label="缁忚惀鍦板潃"> - <el-input - v-model="queryParams.address" - placeholder="璇疯緭鍏�" - clearable - /> - </el-form-item> - <el-form-item> - <el-button type="primary" @click="handleQuery">鏌ヨ</el-button> - <el-button @click="resetQuery">閲嶇疆</el-button> - </el-form-item> - </el-form> + <div> + <el-form :inline="true" :model="queryParams" class="search-form"> + <el-form-item label="渚涘簲鍟嗗悕绉�"> + <el-input v-model="queryParams.searchAll" placeholder="璇疯緭鍏ュ叧閿瘝" clearable /> + </el-form-item> + + <el-form-item> + <el-button type="primary" @click="getList">鏌ヨ</el-button> + <el-button @click="resetQuery">閲嶇疆</el-button> + </el-form-item> + </el-form> <el-card> <!-- 鏍囩椤� --> - <el-tabs - v-model="activeTab" - class="info-tabs" - @tab-click="handleTabClick" - > - <el-tab-pane - v-for="tab in tabs" - :key="tab.name" - :label="tab.label" - :name="tab.name" - /> + <el-tabs v-model="activeTab" class="info-tabs" @tab-click="handleTabClick"> + <el-tab-pane v-for="tab in tabs" :key="tab.name" :label="tab.label" :name="tab.name" /> </el-tabs> - + <!-- 鎿嶄綔鎸夐挳鍖� --> <el-row :gutter="24" class="table-toolbar"> - <el-button type="primary" :icon="Plus" @click="handleAdd" - >鏂板缓</el-button - > + <el-button type="primary" :icon="Plus" @click="handleAdd">鏂板缓</el-button> <el-button type="danger" :icon="Delete" @click="handleDelete">鍒犻櫎</el-button> <el-button type="info" :icon="Download" @click="handleExport">瀵煎嚭</el-button> - </el-row> + </el-row> <!-- 琛ㄦ牸缁勪欢 --> <div> - <data-table - :loading="loading" - :table-data="tableData" - :columns="columns" - @selection-change="handleSelectionChange" - @edit="handleEdit" - @delete="handleDeleteSuccess" - :show-selection="true" - :border="true" - :maxHeight="480" - /> - </div> - <pagination - v-if="total>0" - :page-num="pageNum" - :page-size="pageSize" - :total="total" - @pagination="handleQuery" - :layout="'total, prev, pager, next, jumper'" - /> - <Supplier - v-if="tabName === 'supplier'" - v-model:supplierDialogFormVisible="dialogFormVisible" - :form="form" - :title="title" - @submit="handleSubmit" - @beforeClose="handleBeforeClose" - @update:dialogFormVisible="handleDialogFormVisible" - :addOrEdit="addOrEdit" - /> - <Customer - v-if="tabName === 'customer'" - v-model:customerDialogFormVisible="dialogFormVisible" - :form="form" - :title="title" - @submit="handleSubmit" - :addOrEdit="addOrEdit" - @beforeClose="handleBeforeClose" - /> - <Coal - v-if="tabName === 'coal'" - v-model:coalDialogFormVisible="dialogFormVisible" - :form="form" - :title="title" - :addOrEdit="addOrEdit" - @submit="handleSubmit" - /> - <coalQualityMaintenance - v-if="tabName === 'coalQualityMaintenance'" - v-model:coalQualityMaintenanceDialogFormVisible="dialogFormVisible" - :form="form" - :title="title" - :addOrEdit="addOrEdit" - @submit="handleSubmit" - /> + <data-table :loading="loading" :table-data="tableData" :columns="columns" + @selection-change="handleSelectionChange" @edit="handleEdit" :show-selection="true" :border="true" /> + </div> <pagination v-if="total>0" :page="pageNum" :limit="pageSizes" :total="total" @pagination="handPagination" + :layout="'total, prev, pager, next, jumper'" /> + <Supplier v-if="tabName === 'supplier'" v-model:supplierDialogFormVisible="dialogFormVisible" :form="form" + :title="title" @submit="handleSubmit" @beforeClose="handleBeforeClose" + @update:dialogFormVisible="handleDialogFormVisible" :addOrEdit="addOrEdit" /> + <Customer v-if="tabName === 'customer'" v-model:customerDialogFormVisible="dialogFormVisible" :form="form" + :title="title" @submit="handleSubmit" :addOrEdit="addOrEdit" @beforeClose="handleBeforeClose" /> + <Coal v-if="tabName === 'coal'" v-model:coalDialogFormVisible="dialogFormVisible" :form="form" :title="title" + :addOrEdit="addOrEdit" @submit="handleSubmit" /> + <coalQualityMaintenance v-if="tabName === 'coalQualityMaintenance'" + v-model:coalQualityMaintenanceDialogFormVisible="dialogFormVisible" :form="form" :title="title" + :addOrEdit="addOrEdit" @submit="handleSubmit" /> </el-card> </div> </template> @@ -129,6 +53,9 @@ import Coal from "./mould/coal.vue"; import coalQualityMaintenance from "./mould/coalQualityMaintenance.vue"; const { proxy } = getCurrentInstance() +import { getSupply, addOrEditSupply, delSupply } from "@/api/basicInformation/supplier.js"; +import { getCoalInfo, addOrEditCoalInfo } from "@/api/basicInformation/coal.js"; +import { getCoalQuality, addOrEditCoalQuality } from "@/api/basicInformation/coalQualityMaintenance.js"; // 寮圭獥 const coalQualityMaintenanceDialogFormVisible = ref(false); const customerDialogFormVisible = ref(false); @@ -144,7 +71,7 @@ const loading = ref(false); const total = ref(0); const pageNum = ref(1); -const pageSize = ref(10); +const pageSizes = ref(10); const activeTab = ref("supplier"); const selectedRows = ref([]); // 鏌ヨ鍙傛暟 @@ -169,25 +96,22 @@ const addOrEdit = ref("add"); // 琛ㄦ牸鏁版嵁 const tableData = ref([]); -// 鏂规硶瀹氫箟 +// 鏌ヨ鏂规硶 const handleQuery = () => { - loading.value = true; - setTimeout(() => { - loading.value = false; - }, 500); + }; // supplier 渚涘簲鍟嗘暟鎹� const supplierColumns = ref([ { prop: "supplierName", label: "渚涘簲鍟嗗悕绉�", minWidth: 200 }, - { prop: "identifyNumber", label: "缁熶竴浜鸿瘑鍒彿", minWidth: 120 }, - { prop: "address", label: "缁忚惀鍦板潃", minWidth: 150 }, - { prop: "detailedaddress", label: "璇︾粏鍦板潃", minWidth: 150 }, - { prop: "bank", label: "寮�鎴疯", minWidth: 120 }, - { prop: "bankAccount", label: "閾惰璐﹀彿", minWidth: 150 }, - { prop: "contacts", label: "鑱旂郴浜�", minWidth: 100 }, + { prop: "taxpayerId", label: "缁熶竴浜鸿瘑鍒彿", minWidth: 120 }, + { prop: "businessAddress", label: "缁忚惀鍦板潃", minWidth: 150 }, + { prop: "bids", label: "璇︾粏鍦板潃", minWidth: 150 }, + { prop: "bankAccount", label: "寮�鎴疯", minWidth: 120 }, + { prop: "bankName", label: "閾惰璐﹀彿", minWidth: 150 }, + { prop: "contactPerson", label: "鑱旂郴浜�", minWidth: 100 }, { prop: "contactAddress", label: "鑱旂郴鍦板潃", minWidth: 150 }, { prop: "maintainer", label: "缁存姢浜�", minWidth: 100 }, - { prop: "maintainDate", label: "缁存姢鏃ユ湡", minWidth: 100 }, + { prop: "createTime", label: "缁存姢鏃ユ湡", minWidth: 100 }, ]); // customer 瀹㈡埛鏁版嵁 const customerColumns = ref([ @@ -205,7 +129,7 @@ // coal 鐓ょ鏁版嵁 const coalColumns = ref([ { prop: "coalName", label: "鐓ょ鍚嶇О", minWidth: 200 }, - { prop: "maintainer", label: "缁存姢浜�", minWidth: 120 }, + { prop: "maintainerId", label: "缁存姢浜�", minWidth: 120 }, { prop: "maintenanceDate", label: "缁存姢鏃ユ湡", minWidth: 150 }, ]); // coalQualityMaintenance 鐓よ川缁存姢鏁版嵁 @@ -222,42 +146,41 @@ // 鏍囩椤电偣鍑� const handleTabClick = (tab) => { form.value = {}; - getList(); addOrEdit.value = "add"; loading.value = true; tabName.value = tab.props.name; tableData.value = []; - getList(); switch (tabName.value) { case "supplier": columns.value = supplierColumns.value; dialogFormVisible.value = supplierDialogFormVisible.value; + getList("supplier"); break; case "customer": columns.value = customerColumns.value; dialogFormVisible.value = customerDialogFormVisible.value; + getList("customer"); + break; case "coal": columns.value = coalColumns.value; dialogFormVisible.value = coalDialogFormVisible.value; + getList("coal"); break; case "coalQualityMaintenance": columns.value = coalQualityMaintenanceColumns.value; dialogFormVisible.value = coalQualityMaintenanceDialogFormVisible.value; + getList("coalQualityMaintenance"); break; } - setTimeout(() => { - loading.value = false; - }, 500); }; // 閲嶇疆鏌ヨ const resetQuery = () => { Object.keys(queryParams).forEach((key) => { - if (key !== "pageNum" && key !== "pageSize") { + if (key !== "pageNum" && key !== "pageSizes") { queryParams[key] = ""; } }); - handleQuery(); }; // 鏂板 const handleAdd = () => { @@ -295,16 +218,22 @@ form.value = {}; dialogFormVisible.value = true; }; -// 鎻愪氦琛ㄥ崟 -const handleSubmit = () => { - // 鎷垮埌鎻愪氦鏁版嵁 - dialogFormVisible.value = false; - if (addOrEdit.value === "add") { - ElMessage.success("鏂板鎴愬姛锛�" + copyForm.value.supplierName); - } else { - ElMessage.success("缂栬緫鎴愬姛锛�" + copyForm.value.supplierName); - } +// 鍒嗛〉 +const handPagination = (val) => { + console.log("鍒嗛〉鍙傛暟锛�", val); + pageNum.value = val.page; + pageSizes.value = val.limit; getList(); +}; +// 鎻愪氦琛ㄥ崟 +const handleSubmit = async (val) => { + console.log(val) + if (val.code !== 200) { + ElMessage.error("鎿嶄綔澶辫触锛�" + result.msg); + return; + } + ElMessage.success("鏂板鎴愬姛锛�" + result.msg); + dialogFormVisible.value = false; }; const handleDialogFormVisible = (value) => { dialogFormVisible.value = value; @@ -315,9 +244,9 @@ }; // 缂栬緫 const handleEdit = (row) => { - form.value = JSON.parse(JSON.stringify(row)); - addOrEdit.value = "edit"; - handleAddEdit(tabName.value); + form.value = JSON.parse(JSON.stringify(row)); + addOrEdit.value = "edit"; + handleAddEdit(tabName.value); }; // 鎵归噺鍒犻櫎 const handleDelete = () => { @@ -325,29 +254,30 @@ ElMessage.warning("璇烽�夋嫨瑕佸垹闄ょ殑鏁版嵁"); return; } + let arr = reactive([]); + selectedRows.value.forEach(element => { + return arr.push(element.id); + }); + console.log("閫変腑鐨勬暟鎹甀D锛�", arr); ElMessageBox.confirm("纭畾鍒犻櫎閫変腑鐨勬暟鎹悧锛�", "鎻愮ず", { confirmButtonText: "纭畾", cancelButtonText: "鍙栨秷", type: "warning", }) - .then(() => { - ElMessage.success("鍒犻櫎鎴愬姛锛屽叡鍒犻櫎" + selectedRows.value.length + "鏉℃暟鎹�"); - selectedRows.value.forEach((row) => { - tableData.value = tableData.value.filter( - (item) => item !== row - ); - }); - total.value = tableData.value.length; - // 娓呯┖閫変腑琛� - selectedRows.value = []; - }).catch(() => { - ElMessage.info("宸插彇娑堝垹闄ゆ搷浣�"); - }); + .then(async () => { + try { + let res = await delSupply(arr) + console.log(res) + selectedRows.value = []; + getlist() + } catch { + ElMessage.error("鍒犻櫎澶辫触锛岃绋嶅悗鍐嶈瘯"); + return; + } + }).catch(() => { + ElMessage.info("宸插彇娑堝垹闄ゆ搷浣�"); + }); } -// 琛ㄦ牸鍒犻櫎 -const handleDeleteSuccess = (row) => { - ElMessage.success("鍒犻櫎鎴愬姛锛�" + row.supplierName); -}; // 鍏抽棴寮圭獥 const handleBeforeClose = () => { dialogFormVisible.value = false; @@ -359,153 +289,39 @@ }, `post_${new Date().getTime()}.xlsx`) ElMessage.success("瀵煎嚭鏁版嵁锛�" + row.supplierName); }; -const getList = () => { +// 閫夋嫨鎺ュ彛 +const selectInterface = () => { + if (tabName.value === "supplier") { + return getSupply({ + current: pageNum.value, + pageSize: pageSizes.value, + searchAll: queryParams.searchAll, + }); + } else if (tabName.value === "customer") { + return getSupply({ + current: pageNum.value, + pageSize: pageSizes.value, + ...queryParams + }); + } else if (tabName.value === "coal") { + console.log(addOrEdit.value) + return getCoalInfo(); + } else if (tabName.value === "coalQualityMaintenance") { + return getCoalQuality({ + current: pageNum.value, + pageSize: pageSizes.value, + ...queryParams + }); + } +} +const getList = async () => { loading.value = true; - - setTimeout(() => { - // 鏆傛椂寮曞叆娴嬭瘯鏁版嵁 - tableData.value = [ - { - supplierName: "涓浗鍐堕噾绉戝伐鑲′唤鏈夐檺鍏徃", - identifyNumber: "123412123123123111", - address: "灞辫タ鐪�", - bank: "浜ら�氶摱琛�", - bankAccount: "901234567890123456", - contacts: "鏉庨洩鑺�", - contactAddress: "XX鐪乆X甯俋X鍖篨X璺�", - maintainer: "鏉庨洩鑺�", - maintainDate: "2022-09-26", - contactsPhone: "19345678901", - }, - { - supplierName: "涓浗鍐堕噾绉戝伐鑲′唤鏈夐檺鍏徃", - identifyNumber: "123412123123123111", - address: "灞辫タ鐪�", - bank: "浜ら�氶摱琛�", - bankAccount: "901234567890123456", - contacts: "鏉庨洩鑺�", - contactAddress: "XX鐪乆X甯俋X鍖篨X璺�", - maintainer: "鏉庨洩鑺�", - maintainDate: "2022-09-26", - contactsPhone: "19345678901", - }, - { - supplierName: "涓浗鍐堕噾绉戝伐鑲′唤鏈夐檺鍏徃", - identifyNumber: "123412123123123111", - address: "灞辫タ鐪�", - bank: "浜ら�氶摱琛�", - bankAccount: "901234567890123456", - contacts: "鏉庨洩鑺�", - contactAddress: "XX鐪乆X甯俋X鍖篨X璺�", - maintainer: "鏉庨洩鑺�", - maintainDate: "2022-09-26", - contactsPhone: "19345678901", - }, - { - supplierName: "浜ら�氶摱琛岃偂浠芥湁闄愬叕鍙�", - identifyNumber: "042-26881314", - address: "姹熻タ鐪�", - bank: "骞冲畨閾惰", - bankAccount: "123456789012345678", - contacts: "鍛ㄧ櫧鐜�", - contactAddress: "XX鐪乆X甯俋X鍖篨X璺�", - maintainer: "鍛ㄧ櫧鐜�", - maintainDate: "2022-08-29", - }, - { - supplierName: "涓浗鍐堕噾绉戝伐鑲′唤鏈夐檺鍏徃", - identifyNumber: "019-65851198", - address: "灞辫タ鐪�", - bank: "浜ら�氶摱琛�", - bankAccount: "901234567890123456", - contacts: "鏉庨洩鑺�", - contactAddress: "XX鐪乆X甯俋X鍖篨X璺�", - maintainer: "鏉庨洩鑺�", - maintainDate: "2022-09-26", - }, - { - supplierName: "浜ら�氶摱琛岃偂浠芥湁闄愬叕鍙�", - identifyNumber: "042-26881314", - address: "姹熻タ鐪�", - bank: "骞冲畨閾惰", - bankAccount: "123456789012345678", - contacts: "鍛ㄧ櫧鐜�", - contactAddress: "XX鐪乆X甯俋X鍖篨X璺�", - maintainer: "鍛ㄧ櫧鐜�", - maintainDate: "2022-08-29", - }, - { - supplierName: "涓浗鍐堕噾绉戝伐鑲′唤鏈夐檺鍏徃", - identifyNumber: "019-65851198", - address: "灞辫タ鐪�", - bank: "浜ら�氶摱琛�", - bankAccount: "901234567890123456", - contacts: "鏉庨洩鑺�", - contactAddress: "XX鐪乆X甯俋X鍖篨X璺�", - maintainer: "鏉庨洩鑺�", - maintainDate: "2022-09-26", - }, - { - supplierName: "浜ら�氶摱琛岃偂浠芥湁闄愬叕鍙�", - identifyNumber: "042-26881314", - address: "姹熻タ鐪�", - bank: "骞冲畨閾惰", - bankAccount: "123456789012345678", - contacts: "鍛ㄧ櫧鐜�", - contactAddress: "XX鐪乆X甯俋X鍖篨X璺�", - maintainer: "鍛ㄧ櫧鐜�", - maintainDate: "2022-08-29", - }, - { - supplierName: "涓浗鍐堕噾绉戝伐鑲′唤鏈夐檺鍏徃", - identifyNumber: "019-65851198", - address: "灞辫タ鐪�", - bank: "浜ら�氶摱琛�", - bankAccount: "901234567890123456", - contacts: "鏉庨洩鑺�", - contactAddress: "XX鐪乆X甯俋X鍖篨X璺�", - maintainer: "鏉庨洩鑺�", - maintainDate: "2022-09-26", - }, - { - supplierName: "浜ら�氶摱琛岃偂浠芥湁闄愬叕鍙�", - identifyNumber: "042-26881314", - address: "姹熻タ鐪�", - bank: "骞冲畨閾惰", - bankAccount: "123456789012345678", - contacts: "鍛ㄧ櫧鐜�", - contactAddress: "XX鐪乆X甯俋X鍖篨X璺�", - maintainer: "鍛ㄧ櫧鐜�", - maintainDate: "2022-08-29", - }, - { - supplierName: "涓浗鍐堕噾绉戝伐鑲′唤鏈夐檺鍏徃", - identifyNumber: "019-65851198", - address: "灞辫タ鐪�", - bank: "浜ら�氶摱琛�", - bankAccount: "901234567890123456", - contacts: "鏉庨洩鑺�", - contactAddress: "XX鐪乆X甯俋X鍖篨X璺�", - maintainer: "鏉庨洩鑺�", - maintainDate: "2022-09-26", - }, - { - supplierName: "浜ら�氶摱琛岃偂浠芥湁闄愬叕鍙�", - identifyNumber: "042-26881314", - address: "姹熻タ鐪�", - bank: "骞冲畨閾惰", - bankAccount: "123456789012345678", - contacts: "鍛ㄧ櫧鐜�", - contactAddress: "XX鐪乆X甯俋X鍖篨X璺�", - maintainer: "鍛ㄧ櫧鐜�", - maintainDate: "2022-08-29", - }, - ]; - total.value = tableData.value.length; - loading.value = false; - }, 500); + let { data, code } = await selectInterface() + console.log(data) + tableData.value = data.records; + total.value = data.total; + loading.value = false; }; -getList(); </script> <style scoped> @@ -515,37 +331,46 @@ width: 50%; } } + @media screen and (min-width: 1200px) { .search-form :deep(.el-form-item) { width: 16%; } } + .table-toolbar { margin-bottom: 20px; display: flex; flex-wrap: wrap; gap: 10px; } + /* 鍝嶅簲寮忚〃鏍� */ @media screen and (max-width: 768px) { .table-toolbar { flex-direction: column; } + .table-toolbar .el-button { width: 100%; } } + /* 琛ㄦ牸宸ュ叿鏍� */ -.table-toolbar, .table-toolbar > * { +.table-toolbar, +.table-toolbar>* { margin: 0 0 0 0 !important; } -.table-toolbar{ + +.table-toolbar { margin-bottom: 20px !important; } + .el-form--inline .el-form-item { margin-right: 25px; } -.main-container{ + +.main-container { background: red !important; } </style> \ No newline at end of file diff --git a/src/views/basicInformation/mould/coal.vue b/src/views/basicInformation/mould/coal.vue index 0694d23..b31e8bb 100644 --- a/src/views/basicInformation/mould/coal.vue +++ b/src/views/basicInformation/mould/coal.vue @@ -3,7 +3,7 @@ <el-dialog v-model="dialogVisible" :title="title" - width="800" + width="500" :close-on-click-modal="false" :before-close="handleClose" > @@ -14,26 +14,20 @@ :rules="rules" label-width="auto" > - <el-form-item label="鍗¤儭" prop="supplierName"> + <el-form-item label="鐓ょ鍚嶇О" prop="coal"> <el-input - v-model="formData.supplierName" - placeholder="璇疯緭鍏ヤ緵璐у晢鍚嶇О" + v-model="formData.coal" + placeholder="璇疯緭鍏ョ叅绉嶅悕绉�" /> </el-form-item> - <el-form-item label="绾崇◣浜鸿瘑鍒彿" prop="identifyNumber"> + <el-form-item label="缁存姢浜哄鍚�" prop="maintainerId"> <el-input - v-model="formData.identifyNumber" - placeholder="璇疯緭鍏ョ撼绋庝汉璇嗗埆鍙�" + v-model="formData.maintainerId" + placeholder="璇疯緭鍏ョ淮鎶や汉濮撳悕" /> </el-form-item> - <el-form-item label="缁忚惀鍦板潃" prop="address"> - <el-select v-model="formData.address" placeholder="璇烽�夋嫨缁忚惀鍦板潃"> - <el-option label="Zone one" value="shanghai" /> - <el-option label="Zone two" value="beijing" /> - </el-select> - </el-form-item> - <el-form-item label="閾惰璐︽埛" prop="bankAccount"> - <el-input v-model="formData.bankAccount" placeholder="璇疯緭鍏ラ摱琛岃处鎴�" /> + <el-form-item label="缁存姢鏃ユ湡" prop="maintenanceDate"> + <el-input v-model="formData.maintenanceDate" placeholder="璇疯緭鍏ラ摱琛岃处鎴�" /> </el-form-item> <el-form-item> <el-button type="primary" @click="submitForm"> @@ -49,6 +43,7 @@ <script setup> import { ref, watch ,defineProps } from 'vue' +import { addOrEditCoalInfo } from '@/api/basicInformation/coal' const props = defineProps({ beforeClose: { @@ -91,9 +86,17 @@ // 鎻愪氦琛ㄥ崟 const submitForm = async () => { if (!formRef.value) return - await formRef.value.validate((valid, fields) => { + await formRef.value.validate(async (valid, fields) => { if (valid) { - emit('submit', formData.value) + formData.value.maintenanceDate = "2023-10-01" // 绀轰緥鏃ユ湡 + let result = await addOrEditCoalInfo({ + ...formData.value, + }) + let obj = { + title: props.title, + result, + } + emit('submit', obj) } }) } diff --git a/src/views/basicInformation/mould/coalQualityMaintenance.vue b/src/views/basicInformation/mould/coalQualityMaintenance.vue index e42754b..0b87d1d 100644 --- a/src/views/basicInformation/mould/coalQualityMaintenance.vue +++ b/src/views/basicInformation/mould/coalQualityMaintenance.vue @@ -14,49 +14,51 @@ :rules="rules" label-width="auto" > - <el-form-item label="瀹㈡埛鍚嶇О" prop="supplierName"> + <el-form-item label="鐓ょ绫诲瀷" prop="coal"> <el-input - v-model="formData.supplierName" + v-model="formData.coal" placeholder="璇疯緭鍏ヤ緵璐у晢鍚嶇О" /> </el-form-item> - <el-form-item label="绾崇◣浜鸿瘑鍒彿" prop="identifyNumber"> + <el-form-item label="鍏ㄦ按鍚噺鐧惧垎姣� (%)" prop="totalMoisture"> <el-input - v-model="formData.identifyNumber" - placeholder="璇疯緭鍏ョ撼绋庝汉璇嗗埆鍙�" + v-model="formData.totalMoisture" + placeholder="璇疯緭鍏ュ叏姘村惈閲忕櫨鍒嗘瘮" /> </el-form-item> - <el-form-item label="缁忚惀鍦板潃" prop="address"> - <el-cascader - placeholder="璇烽�夋嫨缁忚惀鍦板潃" - size="default" - :options="addressSelectOptions" - v-model="formData.address" - @change="handleChange" - > - </el-cascader> - </el-form-item> - <el-form-item label="璇︾粏鍦板潃" prop="addressDetail"> + <el-form-item label="鍏ㄦ按鍚噺鐧惧垎姣� (%)" prop="analysisMoisture"> <el-input - v-model="formData.addressDetail" + v-model="formData.analysisMoisture" + placeholder="璇疯緭鍏ュ叏姘村惈閲忕櫨鍒嗘瘮" + /> + </el-form-item> + <el-form-item label="鍏ㄦ按鍚噺鐧惧垎姣� (%)" prop="volatileMatter"> + <el-input + v-model="formData.volatileMatter" + placeholder="璇疯緭鍏ュ叏姘村惈閲忕櫨鍒嗘瘮" + /> + </el-form-item> + <el-form-item label="鍥哄畾纰崇櫨鍒嗘瘮 (%)" prop="fixedCarbon"> + <el-input + v-model="formData.fixedCarbon" placeholder="璇疯緭鍏ュ鎴疯缁嗗湴鍧�" /> </el-form-item> - <el-form-item label="閾惰璐︽埛" prop="bankAccount"> + <el-form-item label="浣庝綅鍙戠儹閲忥紙鍗曚綅锛氬崈鍗�/鍗冨厠锛�" prop="lowerHeatValue"> <el-input - v-model="formData.bankAccount" + v-model="formData.lowerHeatValue" placeholder="璇疯緭鍏ラ摱琛岃处鎴�" /> </el-form-item> - <el-form-item label="寮�鎴疯" prop="bank"> - <el-input v-model="formData.bank" placeholder="璇疯緭鍏ュ紑鎴疯" /> + <el-form-item label="楂樹綅鍙戠儹閲忥紙鍗曚綅锛氬崈鍗�/鍗冨厠锛�" prop="higherHeatValue"> + <el-input v-model="formData.higherHeatValue" placeholder="璇疯緭鍏ュ紑鎴疯" /> </el-form-item> - <el-form-item label="鑱旂郴浜�" prop="contacts"> - <el-input v-model="formData.contacts" placeholder="璇疯緭鍏ヨ仈绯讳汉" /> + <el-form-item label="鐏板垎鐧惧垎姣� (%)" prop="ashContent"> + <el-input v-model="formData.ashContent" placeholder="璇疯緭鍏ヨ仈绯讳汉" /> </el-form-item> - <el-form-item label="鑱旂郴浜虹數璇�" prop="contactsPhone"> + <el-form-item label="纭惈閲忕櫨鍒嗘瘮 (%)" prop="sulfurContent"> <el-input - v-model="formData.contactsPhone" + v-model="formData.sulfurContent" placeholder="璇疯緭鍏ヨ仈绯讳汉鐢佃瘽" /> </el-form-item> @@ -77,6 +79,7 @@ <script setup> import { ref, watch, defineProps, onMounted } from "vue"; import addressList from "@/api/jsonApi/areaList.json"; +import { addOrEditCoalQuality } from "@/api/basicInformation/coalQualityMaintenance.js"; const props = defineProps({ beforeClose: { type: Function, @@ -143,9 +146,12 @@ // 鎻愪氦琛ㄥ崟 const submitForm = async () => { if (!formRef.value) return; - await formRef.value.validate((valid, fields) => { + await formRef.value.validate(async (valid, fields) => { if (valid) { - emit("submit", formData.value); + + let result = await addOrEditCoalQuality({...formData.value}); + console.log(result); + // emit("submit", formData.value); } }); }; @@ -166,26 +172,8 @@ emit("update:coalQualityMaintenanceDialogFormVisible", false); }; const rules = reactive({ - supplierName: [ - { required: true, message: "璇疯緭鍏ヤ緵璐у晢鍚嶇О", trigger: "blur" }, - ], - identifyNumber: [ - { required: true, message: "璇锋纭緭鍏ョ撼绋庝汉璇嗗埆鍙�", trigger: "blur" }, - { min: 17, max: 20, message: "璇疯緭鍏�17-20浣嶇撼绋庝汉璇嗗埆鍙�", trigger: "blur" }, - ], - address: [ - { - required: true, - message: "璇烽�夋嫨缁忚惀鍦板潃", - trigger: "change", - }, - ], - bankAccount: [{ required: true, message: "璇疯緭鍏ラ摱琛岃处鎴�", trigger: "blur" }], - bank: [{ required: true, message: "璇疯緭鍏ュ紑鎴疯", trigger: "blur" }], - contacts: [{ required: true, message: "璇疯緭鍏ュ紑鎴疯", trigger: "blur" }], - contactsPhone: [ - { required: true, message: "璇疯緭鍏ヨ仈绯讳汉", trigger: "blur" }, - { min: 11, max: 11, message: "璇疯緭鍏�11浣嶈仈绯讳汉鐢佃瘽", trigger: "blur" }, + coal: [ + { required: true, message: "璇疯緭鍏ョ叅绉嶅悕绉�", trigger: "blur" }, ], }); </script> diff --git a/src/views/basicInformation/mould/supplier.vue b/src/views/basicInformation/mould/supplier.vue index ae30965..5072173 100644 --- a/src/views/basicInformation/mould/supplier.vue +++ b/src/views/basicInformation/mould/supplier.vue @@ -1,73 +1,41 @@ <template> <div> - <el-dialog - v-model="dialogVisible" - :title="title" - width="600" - :close-on-click-modal="false" - :before-close="handleClose" - > - <el-form - ref="formRef" - style="max-width: 400px; margin: 0 auto" - :model="formData" - :rules="rules" - label-width="auto" - > + <el-dialog v-model="dialogVisible" :title="title" width="600" :close-on-click-modal="false" + :before-close="handleClose"> + <el-form ref="formRef" style="max-width: 400px; margin: 0 auto" :model="formData" :rules="rules" label-width="auto"> <el-form-item label="瀹㈡埛鍚嶇О" prop="supplierName"> - <el-input - v-model="formData.supplierName" - placeholder="璇疯緭鍏ヤ緵璐у晢鍚嶇О" - /> + <el-input v-model="formData.supplierName" placeholder="璇疯緭鍏ヤ緵璐у晢鍚嶇О" /> </el-form-item> - <el-form-item label="绾崇◣浜鸿瘑鍒彿" prop="identifyNumber"> - <el-input - v-model="formData.identifyNumber" - placeholder="璇疯緭鍏ョ撼绋庝汉璇嗗埆鍙�" - /> + <el-form-item label="绾崇◣浜鸿瘑鍒彿" prop="taxpayerId"> + <el-input v-model="formData.taxpayerId" placeholder="璇疯緭鍏ョ撼绋庝汉璇嗗埆鍙�" /> </el-form-item> - <el-form-item label="缁忚惀鍦板潃" prop="address"> - <el-cascader - placeholder="璇烽�夋嫨缁忚惀鍦板潃" - size="default" - :options="addressSelectOptions" - v-model="formData.address" - @change="handleChange" - > + <el-form-item label="缁忚惀鍦板潃" prop="bids"> + <el-cascader placeholder="璇烽�夋嫨缁忚惀鍦板潃" size="default" :options="addressSelectOptions" v-model="formData.bids" + @change="handleChange"> </el-cascader> </el-form-item> - <el-form-item label="璇︾粏鍦板潃" prop="addressDetail"> - <el-input - v-model="formData.addressDetail" - placeholder="璇疯緭鍏ュ鎴疯缁嗗湴鍧�" - /> + <el-form-item label="璇︾粏鍦板潃" prop="businessAddress"> + <el-input v-model="formData.businessAddress" placeholder="璇疯緭鍏ュ鎴疯缁嗗湴鍧�" /> </el-form-item> - <el-form-item label="閾惰璐︽埛" prop="bankAccount"> - <el-input - v-model="formData.bankAccount" - placeholder="璇疯緭鍏ラ摱琛岃处鎴�" - /> + <el-form-item label="寮�鎴疯" prop="bankAccount"> + <el-input v-model="formData.bankAccount" placeholder="璇疯緭鍏ュ紑鎴疯" /> </el-form-item> - <el-form-item label="寮�鎴疯" prop="bank"> - <el-input v-model="formData.bank" placeholder="璇疯緭鍏ュ紑鎴疯" /> + <el-form-item label="閾惰璐︽埛" prop="bankName"> + <el-input v-model="formData.bankName" placeholder="璇疯緭鍏ラ摱琛岃处鎴�" /> </el-form-item> - <el-form-item label="鑱旂郴浜�" prop="contacts"> - <el-input v-model="formData.contacts" placeholder="璇疯緭鍏ヨ仈绯讳汉" /> + <el-form-item label="鑱旂郴浜�" prop="contactPerson"> + <el-input v-model="formData.contactPerson" placeholder="璇疯緭鍏ヨ仈绯讳汉" /> </el-form-item> - <el-form-item label="鑱旂郴浜虹數璇�" prop="contactsPhone"> - <el-input - v-model="formData.contactsPhone" - placeholder="璇疯緭鍏ヨ仈绯讳汉鐢佃瘽" - /> + <el-form-item label="鑱旂郴浜虹數璇�" prop="contactPhone"> + <el-input v-model="formData.contactPhone" placeholder="璇疯緭鍏ヨ仈绯讳汉鐢佃瘽" /> + </el-form-item> + <el-form-item label="鑱旂郴浜哄湴鍧�" prop="contactAddress"> + <el-input v-model="formData.contactAddress" placeholder="璇疯緭鍏ヨ仈绯讳汉鍦板潃" /> </el-form-item> <el-form-item> <el-button type="primary" @click="submitForm"> 纭畾 </el-button> - <el-button v-if="addOrEdit === 'edit'" @click="resetForm" - >閲嶇疆</el-button - > - <el-button v-if="addOrEdit === 'add'" @click="cancelForm" - >鍙栨秷</el-button - > + <el-button v-if="addOrEdit === 'edit'" @click="resetForm">閲嶇疆</el-button> + <el-button v-if="addOrEdit === 'add'" @click="cancelForm">鍙栨秷</el-button> </el-form-item> </el-form> </el-dialog> @@ -77,11 +45,11 @@ <script setup> import { ref, watch, defineProps, onMounted } from "vue"; import addressList from "@/api/jsonApi/areaList.json"; -import imageUpload from "@/components/ImageUpload/index.vue"; +import { addOrEditSupply } from "@/api/basicInformation/supplier"; const props = defineProps({ beforeClose: { type: Function, - default: () => {}, + default: () => { }, }, form: { type: Object, @@ -99,7 +67,7 @@ const emit = defineEmits(["submit", "handleBeforeClose"]); -onMounted(()=>{ +onMounted(() => { addressSelectOptions.value = mapAddress(addressList); }) // 鍦板潃閫夋嫨鏁版嵁 @@ -144,9 +112,25 @@ // 鎻愪氦琛ㄥ崟 const submitForm = async () => { if (!formRef.value) return; - await formRef.value.validate((valid, fields) => { + await formRef.value.validate(async (valid, fields) => { if (valid) { - emit("submit", formData.value); + if(props.title.includes('鏂板')){ + let result = await addOrEditSupply({ + ...formData.value, + }) + let obj = { + ...formData.value, + result + }; + }else{ + delete formData.value.createTime + delete formData.value.updateTime + let result = await addOrEditSupply({ + ...formData.value, + }) + console.log(result) + } + emit("submit", obj); } }); }; @@ -170,21 +154,21 @@ supplierName: [ { required: true, message: "璇疯緭鍏ヤ緵璐у晢鍚嶇О", trigger: "blur" }, ], - identifyNumber: [ + taxpayerId: [ { required: true, message: "璇锋纭緭鍏ョ撼绋庝汉璇嗗埆鍙�", trigger: "blur" }, { min: 17, max: 20, message: "璇疯緭鍏�17-20浣嶇撼绋庝汉璇嗗埆鍙�", trigger: "blur" }, ], - address: [ + bids: [ { required: true, message: "璇烽�夋嫨缁忚惀鍦板潃", trigger: "change", }, ], - bankAccount: [{ required: true, message: "璇疯緭鍏ラ摱琛岃处鎴�", trigger: "blur" }], - bank: [{ required: true, message: "璇疯緭鍏ュ紑鎴疯", trigger: "blur" }], - contacts: [{ required: true, message: "璇疯緭鍏ュ紑鎴疯", trigger: "blur" }], - contactsPhone: [ + bankName: [{ required: true, message: "璇疯緭鍏ラ摱琛岃处鎴�", trigger: "blur" }], + bankAccount: [{ required: true, message: "璇疯緭鍏ュ紑鎴疯", trigger: "blur" }], + contactPerson: [{ required: true, message: "鑱旂郴浜�", trigger: "blur" }], + contactPhone: [ { required: true, message: "璇疯緭鍏ヨ仈绯讳汉", trigger: "blur" }, { min: 11, max: 11, message: "璇疯緭鍏�11浣嶈仈绯讳汉鐢佃瘽", trigger: "blur" }, ], -- Gitblit v1.9.3