From deb5baea0b833c619cddc85f5409137fade95dca Mon Sep 17 00:00:00 2001
From: gaoluyang <2820782392@qq.com>
Date: 星期二, 06 一月 2026 10:52:46 +0800
Subject: [PATCH] 二级套餐包改造: 1.封装公用组件
---
src/views/basicData/customerFile/index.vue | 121 +++++++++++++++++++++-------------------
1 files changed, 63 insertions(+), 58 deletions(-)
diff --git a/src/views/basicData/customerFile/index.vue b/src/views/basicData/customerFile/index.vue
index 76a8c68..1552587 100644
--- a/src/views/basicData/customerFile/index.vue
+++ b/src/views/basicData/customerFile/index.vue
@@ -5,12 +5,23 @@
<span class="search_title">瀹㈡埛鍚嶇О锛�</span>
<el-input
v-model="searchForm.customerName"
- style="width: 240px"
+ style="width: 240px;margin-right: 10px"
placeholder="璇疯緭鍏�"
@change="handleQuery"
clearable
:prefix-icon="Search"
/>
+ <span class="search_title">瀹㈡埛鍒嗙被锛�</span>
+ <el-select
+ v-model="searchForm.customerType"
+ placeholder="璇烽�夋嫨"
+ style="width: 240px"
+ clearable
+ @change="handleQuery"
+ >
+ <el-option label="闆跺敭瀹㈡埛" value="闆跺敭瀹㈡埛" />
+ <el-option label="杩涢攢鍟嗗鎴�" value="杩涢攢鍟嗗鎴�" />
+ </el-select>
<el-button type="primary" @click="handleQuery" style="margin-left: 10px"
>鎼滅储</el-button
>
@@ -36,11 +47,14 @@
@pagination="pagination"
></PIMTable>
</div>
- <el-dialog
+ <FormDialog
v-model="dialogFormVisible"
- :title="operationType === 'add' ? '鏂板瀹㈡埛淇℃伅' : '缂栬緫瀹㈡埛淇℃伅'"
+ :title="(type) => type === 'add' ? '鏂板瀹㈡埛淇℃伅' : '缂栬緫瀹㈡埛淇℃伅'"
+ :operation-type="operationType"
width="70%"
@close="closeDia"
+ @confirm="submitForm"
+ @cancel="closeDia"
>
<el-form
:model="form"
@@ -122,6 +136,14 @@
/>
</el-form-item>
</el-col>
+ <el-col :span="12">
+ <el-form-item label="瀹㈡埛鍒嗙被锛�" prop="customerType">
+ <el-select v-model="form.customerType" placeholder="璇烽�夋嫨" clearable>
+ <el-option label="闆跺敭瀹㈡埛" value="闆跺敭瀹㈡埛" />
+ <el-option label="杩涢攢鍟嗗鎴�" value="杩涢攢鍟嗗鎴�" />
+ </el-select>
+ </el-form-item>
+ </el-col>
</el-row>
<el-row :gutter="30" v-for="(contact, index) in formYYs.contactList" :key="index">
<el-col :span="12">
@@ -169,69 +191,36 @@
type="date"
placeholder="璇烽�夋嫨"
clearable
- disabled
/>
</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>
+ </FormDialog>
<!-- 鐢ㄦ埛瀵煎叆瀵硅瘽妗� -->
- <el-dialog
- :title="upload.title"
+ <ImportDialog
+ ref="importDialogRef"
v-model="upload.open"
+ :title="upload.title"
width="400px"
- append-to-body
- >
- <el-upload
- ref="uploadRef"
- :limit="1"
- accept=".xlsx, .xls"
- :headers="upload.headers"
- :action="upload.url + '?updateSupport=' + upload.updateSupport"
- :disabled="upload.isUploading"
- :before-upload="upload.beforeUpload"
- :on-progress="upload.onProgress"
- :on-success="upload.onSuccess"
- :on-error="upload.onError"
- :on-change="upload.onChange"
- :auto-upload="false"
- drag
- >
- <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 text-center">
- <span>浠呭厑璁稿鍏ls銆亁lsx鏍煎紡鏂囦欢銆�</span>
- <el-link
- type="primary"
- :underline="false"
- style="font-size: 12px; vertical-align: baseline"
- @click="importTemplate"
- >涓嬭浇妯℃澘</el-link
- >
- </div>
- </template>
- </el-upload>
- <template #footer>
- <div class="dialog-footer">
- <el-button type="primary" @click="submitFileForm">纭� 瀹�</el-button>
- <el-button @click="upload.open = false">鍙� 娑�</el-button>
- </div>
- </template>
- </el-dialog>
+ :action="upload.url"
+ :headers="upload.headers"
+ :disabled="upload.isUploading"
+ :before-upload="upload.beforeUpload"
+ :on-progress="upload.onProgress"
+ :on-success="upload.onSuccess"
+ :on-error="upload.onError"
+ :on-change="upload.onChange"
+ @confirm="submitFileForm"
+ @cancel="handleImportCancel"
+ @download-template="importTemplate"
+ />
</div>
</template>
<script setup>
import {onMounted, ref} from "vue";
-import { Search } from "@element-plus/icons-vue";
+import { Search, Close } from "@element-plus/icons-vue";
import {
addCustomer,
delCustomer,
@@ -243,10 +232,17 @@
import { userListNoPage } from "@/api/system/user.js";
import useUserStore from "@/store/modules/user";
import { getToken } from "@/utils/auth.js";
+import FormDialog from "@/components/Dialog/FormDialog.vue";
+import ImportDialog from "@/components/Dialog/ImportDialog.vue";
const { proxy } = getCurrentInstance();
const userStore = useUserStore();
const tableColumn = ref([
+ {
+ label: "瀹㈡埛鍒嗙被",
+ prop: "customerType",
+ width: 120,
+ },
{
label: "瀹㈡埛鍚嶇О",
prop: "customerName",
@@ -307,9 +303,6 @@
clickFun: (row) => {
openForm("edit", row);
},
- disabled: (row) => {
- return row.maintainer !== userStore.nickName
- }
},
],
},
@@ -318,6 +311,7 @@
const selectedRows = ref([]);
const userList = ref([]);
const tableLoading = ref(false);
+const importDialogRef = ref(null);
const page = reactive({
current: 1,
size: 100,
@@ -339,6 +333,7 @@
const data = reactive({
searchForm: {
customerName: "",
+ customerType: "",
},
form: {
customerName: "",
@@ -352,6 +347,7 @@
basicBankAccount: "",
bankAccount: "",
bankCode: "",
+ customerType: "",
},
rules: {
customerName: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
@@ -369,6 +365,7 @@
basicBankAccount: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
bankAccount: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
bankCode: [{ required: true, message: "璇疯緭鍏�", trigger: "blur" }],
+ customerType: [{ required: true, message: "璇烽�夋嫨", trigger: "change" }],
},
});
const upload = reactive({
@@ -403,7 +400,9 @@
if(response.code === 200){
proxy.$modal.msgSuccess("鏂囦欢涓婁紶鎴愬姛");
upload.open = false;
- proxy.$refs["uploadRef"].clearFiles();
+ if (importDialogRef.value) {
+ importDialogRef.value.clearFiles();
+ }
getList();
}else if(response.code === 500){
proxy.$modal.msgError(response.msg);
@@ -461,7 +460,13 @@
/** 鎻愪氦涓婁紶鏂囦欢 */
function submitFileForm() {
upload.isUploading = true;
- proxy.$refs["uploadRef"].submit();
+ if (importDialogRef.value) {
+ importDialogRef.value.submit();
+ }
+}
+/** 鍙栨秷瀵煎叆 */
+function handleImportCancel() {
+ upload.open = false;
}
/** 瀵煎叆鎸夐挳鎿嶄綔 */
function handleImport() {
--
Gitblit v1.9.3