diff --git a/src/components/EmailModal.vue/index.vue b/src/components/EmailModal.vue/index.vue
new file mode 100644
index 00000000..ebb14ed6
--- /dev/null
+++ b/src/components/EmailModal.vue/index.vue
@@ -0,0 +1,218 @@
+
+
+
+
+
+
+
+
模版
+
+
+
+
+
+ {{ item.templateName }}
+
+
+
+
+ - pdf
+
+
+
+ - xlsx
+
+
+
+ - doc
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/components/Modal/src/index.less b/src/components/Modal/src/index.less
index 54d48357..79813b48 100644
--- a/src/components/Modal/src/index.less
+++ b/src/components/Modal/src/index.less
@@ -24,7 +24,7 @@
}
&-title {
- font-size: 16px;
+ font-size: 12px;
font-weight: bold;
.base-title {
@@ -33,8 +33,7 @@
}
.ant-modal-body {
- padding: 20;
-
+ padding: 0 30px;
> .scrollbar > .scrollbar__bar.is-horizontal {
display: none;
}
@@ -107,9 +106,6 @@
}
}
-.ant-modal-confirm .ant-modal-body {
- padding: 24px !important;
-}
@media screen and (max-height: 600px) {
.ant-modal {
top: 60px;
diff --git a/src/design/ant/modal.less b/src/design/ant/modal.less
index 3e370fda..f8eb1d78 100644
--- a/src/design/ant/modal.less
+++ b/src/design/ant/modal.less
@@ -33,6 +33,14 @@
}
}
}
+ .vben-basic-table {
+ .ant-table-wrapper {
+ padding: 0;
+ }
+ .ant-table-title {
+ padding: 8px 0!important;
+ }
+ }
}
.ant-modal-footer {
border-top: none!important;
diff --git a/src/design/ant/table.less b/src/design/ant/table.less
index ed06bd62..cd1cc13f 100644
--- a/src/design/ant/table.less
+++ b/src/design/ant/table.less
@@ -9,12 +9,6 @@
}
.ant-table-wrapper {
padding: 0!important;
- .ant-table-title {
- padding: 0;
- }
- .ant-table-title {
- padding: 5px 10px!important;
- }
}
.ant-table-selection-column {
border-right: 1px solid rgba(232, 232, 232, 1) !important;
diff --git a/src/views/baseinfo/infoclient/TenantAuditStepModal.vue b/src/views/baseinfo/infoclient/TenantAuditStepModal.vue
index 2715c4f7..c6797e90 100644
--- a/src/views/baseinfo/infoclient/TenantAuditStepModal.vue
+++ b/src/views/baseinfo/infoclient/TenantAuditStepModal.vue
@@ -40,6 +40,10 @@
+
+
+
+
@@ -89,6 +93,7 @@
import Menus3 from './menu3/index.vue'
import Menus4 from './menu4/index.vue'
import CustTemplateDetail from './custTemplateDetail/index.vue'
+ import CustomerParams from './customerParams/index.vue'
import { number } from 'vue-types'
// import Menus5 from './menu5/index.vue'
// import { tr } from 'node_modules/element-plus/es/locale'
@@ -183,8 +188,6 @@
activeKey.value = '2'
const res: API.DataResult = await getCodeGoodsTypeInfo({ id: unref(rowId) })
if (res.succeeded) {
- console.log(res, 11111111)
-
clientId.value = res.data.id
customerName.value = res.data.shortName
res.data.ArrclientTag = []
diff --git a/src/views/baseinfo/infoclient/customerParams/api.ts b/src/views/baseinfo/infoclient/customerParams/api.ts
new file mode 100644
index 00000000..f076ded1
--- /dev/null
+++ b/src/views/baseinfo/infoclient/customerParams/api.ts
@@ -0,0 +1,56 @@
+/*
+ * @Description:
+ * @Author: lijj
+ * @Date: 2024-04-25 15:48:33
+ */
+
+import { request } from '/@/utils/request'
+import { DataResult, PageRequest } from '/@/api/model/baseModel'
+enum Api {
+ list = '/mainApi/ClientParam/GetClientParamList',
+ edit = '/mainApi/ClientParam//EditClientParam',
+ info = '/mainApi/ClientParam/GetClientParamInfo',
+ delete = '/mainApi/ClientParam/BatchDelClientParam',
+ GetTenantParamDataSelectList = '/mainApi/ClientParam/GetTenantParamDataSelectList'
+}
+// 列表 (Auth)
+export function GetClientParamList(data: PageRequest) {
+ return request({
+ url: Api.list,
+ method: 'post',
+ data
+ })
+}
+// 编辑 (Auth)
+export function EditClientParam(data: PageRequest) {
+ return request({
+ url: Api.edit,
+ method: 'post',
+ data
+ })
+}
+// 详情 (Auth)
+export function GetClientParamInfo(query) {
+ return request({
+ url: Api.info,
+ method: 'get',
+ params: query
+ })
+}
+
+// 删除 (Auth)
+export function BatchDelClientParam(data: PageRequest) {
+ return request({
+ url: Api.delete,
+ method: 'post',
+ data
+ })
+}
+
+export function GetTenantParamDataSelectList(query) {
+ return request({
+ url: Api.GetTenantParamDataSelectList,
+ method: 'get',
+ params: query
+ })
+}
\ No newline at end of file
diff --git a/src/views/baseinfo/infoclient/customerParams/columns.tsx b/src/views/baseinfo/infoclient/customerParams/columns.tsx
new file mode 100644
index 00000000..19e3463a
--- /dev/null
+++ b/src/views/baseinfo/infoclient/customerParams/columns.tsx
@@ -0,0 +1,165 @@
+/*
+ * @Description:
+ * @Author: lijj
+ * @Date: 2024-04-25 15:48:33
+ */
+import { ref } from 'vue'
+import { BasicColumn, FormSchema } from '/@/components/Table'
+// 引入字典数据
+import { getDictOption } from '/@/utils/dictUtil'
+import { useOptionsStore } from '/@/store/modules/options'
+import { GetTenantParamDataSelectList } from './api'
+const optionsStore = useOptionsStore()
+const itemNameOption = ref([])
+// 模块字典
+const modulesDict = await getDictOption('modules')
+export const columns: BasicColumn[] = [
+ {
+ title: '客户名称',
+ dataIndex: 'customerName',
+ width: 150
+ },
+ {
+ title: '客户参数类型',
+ dataIndex: 'paramType',
+ width: 150
+ },
+ {
+ title: '客户参数名称',
+ dataIndex: 'paramName',
+ width: 200
+ },
+ {
+ title: '备注',
+ dataIndex: 'note',
+ width: 200
+ }
+]
+
+export const searchFormSchema: FormSchema[] = [
+ {
+ field: 'paramName',
+ label: '客户参数名称',
+ colProps: { span: 6 },
+ component: 'Input'
+ },
+]
+export const formSchema: FormSchema[] = [
+ {
+ label: '',
+ field: 'id',
+ component: 'Input',
+ defaultValue: '',
+ show: false
+ },
+ {
+ field: 'paramCode',
+ label: '客户参数类别',
+ required: true,
+ component: 'ApiSelect',
+ colProps: { span: 12 },
+ componentProps: ({ formModel }) => {
+ return {
+ option: optionsStore.getOptionsByCode('GetTenantParamSelectList'),
+ labelField: 'paramName',
+ valueField: 'paramCode',
+ filterOption: (input: string, option: any) => {
+ return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
+ },
+ onChange: (e, obj) => {
+ GetTenantParamDataSelectList({ code: e }).then(res => {
+ itemNameOption.value = res.data
+ })
+ if (obj) {
+ formModel.paramName = obj.label
+ formModel.paramId = obj.id
+ formModel.paramType = obj.type
+ } else {
+ formModel.paramName = ''
+ formModel.paramId = ''
+ formModel.paramType = ''
+ }
+ }
+ }
+ }
+ },
+ {
+ field: 'itemCode',
+ label: '客户参数名称',
+ required: true,
+ component: 'ApiSelect',
+ colProps: { span: 12 },
+ componentProps: ({ formModel }) => {
+ return {
+ option: itemNameOption.value,
+ labelField: 'itemName',
+ valueField: 'itemCode',
+ filterOption: (input: string, option: any) => {
+ return option.label.toLowerCase().indexOf(input.toLowerCase()) >= 0
+ },
+ onChange: (e, obj) => {
+ if (obj) {
+ formModel.itemName = obj.label
+ } else {
+ formModel.itemName = ''
+ }
+ }
+ }
+ }
+ },
+ {
+ label: '',
+ field: 'itemName',
+ component: 'Input',
+ defaultValue: '',
+ show: false
+ },
+ {
+ label: '',
+ field: 'customerId',
+ component: 'Input',
+ defaultValue: '',
+ show: false
+ },
+ {
+ label: '',
+ field: 'paramId',
+ component: 'Input',
+ defaultValue: '',
+ show: false
+ },
+ {
+ label: '',
+ field: 'paramName',
+ component: 'Input',
+ defaultValue: '',
+ show: false
+ },
+ {
+ label: '',
+ field: 'paramType',
+ component: 'Input',
+ defaultValue: '',
+ show: false
+ },
+ {
+ field: 'customerName',
+ label: '客户名称',
+ dynamicDisabled: true,
+ component: 'Input',
+ colProps: { span: 12 }
+ },
+ {
+ field: 'orderNo',
+ label: '排序',
+ required: true,
+ component: 'Input',
+ colProps: { span: 12 }
+ },
+ {
+ field: 'note',
+ label: '备注',
+ component: 'InputTextArea',
+ colProps: { span: 24 }
+ }
+]
diff --git a/src/views/baseinfo/infoclient/customerParams/components/Modal.vue b/src/views/baseinfo/infoclient/customerParams/components/Modal.vue
new file mode 100644
index 00000000..3847fe61
--- /dev/null
+++ b/src/views/baseinfo/infoclient/customerParams/components/Modal.vue
@@ -0,0 +1,113 @@
+
+
+
+
+
+
+
+ 取消
+
+
+ 仅保存
+
+
+ 保存并关闭
+
+
+
+
+
diff --git a/src/views/baseinfo/infoclient/customerParams/index.vue b/src/views/baseinfo/infoclient/customerParams/index.vue
new file mode 100644
index 00000000..729bab93
--- /dev/null
+++ b/src/views/baseinfo/infoclient/customerParams/index.vue
@@ -0,0 +1,125 @@
+
+
+
+
+
+
+ 新建
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/views/baseinfo/infoclient/index.vue b/src/views/baseinfo/infoclient/index.vue
index ba74baee..2227e0b1 100644
--- a/src/views/baseinfo/infoclient/index.vue
+++ b/src/views/baseinfo/infoclient/index.vue
@@ -21,13 +21,24 @@
onClick: handleAudit.bind(null, record),
disabled: checkPermissions('op:infoclient:edit'),
},
+ {
+ icon: 'ant-design:delete-outlined',
+ tooltip: '删除',
+ color: 'error',
+ popConfirm: {
+ title: '是否要删除此条数据?',
+ okText: '是',
+ cancelText: '否',
+ confirm: handleDelete.bind(null, record)
+ }
+ }
]"
/>
-
-
+ -->