diff --git a/src/components/Container/src/ScrollContainer.vue b/src/components/Container/src/ScrollContainer.vue index afdba247..4ce4fffd 100644 --- a/src/components/Container/src/ScrollContainer.vue +++ b/src/components/Container/src/ScrollContainer.vue @@ -82,7 +82,7 @@ height: 100%; .scrollbar__wrap { - margin-bottom: 18px !important; + margin-bottom: 0 !important; overflow-x: hidden; } 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 @@ + + + + + + \ 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/form.less b/src/design/ant/form.less index cefa073e..20456d81 100644 --- a/src/design/ant/form.less +++ b/src/design/ant/form.less @@ -24,6 +24,10 @@ .ant-select-selection-search-input, .ant-input-affix-wrapper, .ant-input-number-input { height: 26px!important; } + // 解除文本框高度受限制 + .ant-input-affix-wrapper-textarea-with-clear-btn { + height: auto!important; + } .ant-picker-small { height: 26px; width: 100%; diff --git a/src/design/ant/modal.less b/src/design/ant/modal.less index 43cdc0b7..f8eb1d78 100644 --- a/src/design/ant/modal.less +++ b/src/design/ant/modal.less @@ -6,13 +6,20 @@ font-size: 12px; position: relative; top: 16px; - left: 16px; + left: 15px; + .vben-basic-title { + padding-left: 0; + } } } .ant-modal-body { padding: 15px 30px; - margin-top: 5px; + margin-top: 0; + .scroll-container { + padding: 0 30px!important; + } .ant-form { + height: 100%; background-color: #F5F9FC; border-radius: 2px; padding: 10px 20px 15px; @@ -26,9 +33,17 @@ } } } + .vben-basic-table { + .ant-table-wrapper { + padding: 0; + } + .ant-table-title { + padding: 8px 0!important; + } + } } .ant-modal-footer { - border: none; + border-top: none!important; padding: 5px 30px 20px; .ant-btn { height: 26px; 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/design/iconfont.less b/src/design/iconfont.less index f0c86188..daebd273 100644 --- a/src/design/iconfont.less +++ b/src/design/iconfont.less @@ -1,7 +1,9 @@ -.icon-locksuo, .icon-duihao1 { +.icon-locksuo, +.icon-duihao1 { color: #17a6a3; } -.icon-lock-openkaisuo, .icon-chahao { +.icon-lock-openkaisuo, +.icon-chahao { color: @msg-color; } .IconColor { 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) + } + } ]" /> - - + --> + + \ No newline at end of file diff --git a/src/views/system/print/components/temModal.vue b/src/views/system/print/components/temModal.vue index 91e933d2..672deff6 100644 --- a/src/views/system/print/components/temModal.vue +++ b/src/views/system/print/components/temModal.vue @@ -8,8 +8,11 @@ @register="registerModal" @ok="handleSave" > - - + + +