diff --git a/admin/.vscode/settings.json b/admin/.vscode/settings.json index 3542a5c..396dcdd 100644 --- a/admin/.vscode/settings.json +++ b/admin/.vscode/settings.json @@ -11,6 +11,7 @@ "cSpell.words": [ "brotli", "btns", + "daterange", "datetimerange", "echarts", "execa", diff --git a/admin/src/api/user/protocol.ts b/admin/src/api/user/protocol.ts index 472d0b2..ab0ab2d 100644 --- a/admin/src/api/user/protocol.ts +++ b/admin/src/api/user/protocol.ts @@ -68,7 +68,7 @@ export function user_protocol_edit(data: type_user_protocol_edit) { export function user_protocol_delete(Id: number | string) { return request.post({ url: '/user_protocol/del', data: { Id } }) } -// 用户协议批量删除 +// 用户协议删除-批量 export function user_protocol_delete_batch(data: { Ids: string }) { return request.post({ url: '/user_protocol/delBatch', data }) } diff --git a/admin/src/views/user/protocol/edit.vue b/admin/src/views/user/protocol/edit.vue index 50cbd7f..6610958 100644 --- a/admin/src/views/user/protocol/edit.vue +++ b/admin/src/views/user/protocol/edit.vue @@ -75,14 +75,14 @@ const formRules = { message: '请输入协议内容', trigger: ['blur'] } + ], + Sort: [ + { + required: true, + message: '请输入排序', + trigger: ['blur'] + } ] - // Sort: [ - // { - // required: true, - // message: '请输入排序', - // trigger: ['blur'] - // } - // ], } const handleSubmit = async () => { diff --git a/admin/src/views/user/protocol/index.vue b/admin/src/views/user/protocol/index.vue index 2d24e2a..86dcbc0 100644 --- a/admin/src/views/user/protocol/index.vue +++ b/admin/src/views/user/protocol/index.vue @@ -31,7 +31,7 @@ -
+
- + 导出 - { console.log(val) multipleSelection.value = val } + const handleDelete = async (Id: number) => { try { await feedback.confirm('确定要删除?') @@ -189,6 +191,7 @@ const deleteBatch = async () => { getLists() } catch (error) {} } + const exportFile = async () => { try { await feedback.confirm('确定要导出?') diff --git a/admin/typings/element-plus.d.ts b/admin/typings/element-plus.d.ts deleted file mode 100644 index 0c6109e..0000000 --- a/admin/typings/element-plus.d.ts +++ /dev/null @@ -1,118 +0,0 @@ -// 复制node_modules\element-plus\global.d.ts -// 更改'@vue/runtime-core'为'vue' - -// GlobalComponents for Volar -declare module 'vue' { - export interface GlobalComponents { - ElAffix: (typeof import('element-plus'))['ElAffix'] - ElAlert: (typeof import('element-plus'))['ElAlert'] - ElAside: (typeof import('element-plus'))['ElAside'] - ElAutocomplete: (typeof import('element-plus'))['ElAutocomplete'] - ElAvatar: (typeof import('element-plus'))['ElAvatar'] - ElBacktop: (typeof import('element-plus'))['ElBacktop'] - ElBadge: (typeof import('element-plus'))['ElBadge'] - ElBreadcrumb: (typeof import('element-plus'))['ElBreadcrumb'] - ElBreadcrumbItem: (typeof import('element-plus'))['ElBreadcrumbItem'] - ElButton: (typeof import('element-plus'))['ElButton'] - ElButtonGroup: (typeof import('element-plus'))['ElButtonGroup'] - ElCalendar: (typeof import('element-plus'))['ElCalendar'] - ElCard: (typeof import('element-plus'))['ElCard'] - ElCarousel: (typeof import('element-plus'))['ElCarousel'] - ElCarouselItem: (typeof import('element-plus'))['ElCarouselItem'] - ElCascader: (typeof import('element-plus'))['ElCascader'] - ElCascaderPanel: (typeof import('element-plus'))['ElCascaderPanel'] - ElCheckbox: (typeof import('element-plus'))['ElCheckbox'] - ElCheckboxButton: (typeof import('element-plus'))['ElCheckboxButton'] - ElCheckboxGroup: (typeof import('element-plus'))['ElCheckboxGroup'] - ElCol: (typeof import('element-plus'))['ElCol'] - ElCollapse: (typeof import('element-plus'))['ElCollapse'] - ElCollapseItem: (typeof import('element-plus'))['ElCollapseItem'] - ElCollapseTransition: (typeof import('element-plus'))['ElCollapseTransition'] - ElColorPicker: (typeof import('element-plus'))['ElColorPicker'] - ElContainer: (typeof import('element-plus'))['ElContainer'] - ElConfigProvider: (typeof import('element-plus'))['ElConfigProvider'] - ElDatePicker: (typeof import('element-plus'))['ElDatePicker'] - ElDialog: (typeof import('element-plus'))['ElDialog'] - ElDivider: (typeof import('element-plus'))['ElDivider'] - ElDrawer: (typeof import('element-plus'))['ElDrawer'] - ElDropdown: (typeof import('element-plus'))['ElDropdown'] - ElDropdownItem: (typeof import('element-plus'))['ElDropdownItem'] - ElDropdownMenu: (typeof import('element-plus'))['ElDropdownMenu'] - ElEmpty: (typeof import('element-plus'))['ElEmpty'] - ElFooter: (typeof import('element-plus'))['ElFooter'] - ElForm: (typeof import('element-plus'))['ElForm'] - ElFormItem: (typeof import('element-plus'))['ElFormItem'] - ElHeader: (typeof import('element-plus'))['ElHeader'] - ElIcon: (typeof import('element-plus'))['ElIcon'] - ElImage: (typeof import('element-plus'))['ElImage'] - ElImageViewer: (typeof import('element-plus'))['ElImageViewer'] - ElInput: (typeof import('element-plus'))['ElInput'] - ElInputNumber: (typeof import('element-plus'))['ElInputNumber'] - ElLink: (typeof import('element-plus'))['ElLink'] - ElMain: (typeof import('element-plus'))['ElMain'] - ElMenu: (typeof import('element-plus'))['ElMenu'] - ElMenuItem: (typeof import('element-plus'))['ElMenuItem'] - ElMenuItemGroup: (typeof import('element-plus'))['ElMenuItemGroup'] - ElOption: (typeof import('element-plus'))['ElOption'] - ElOptionGroup: (typeof import('element-plus'))['ElOptionGroup'] - ElPageHeader: (typeof import('element-plus'))['ElPageHeader'] - ElPagination: (typeof import('element-plus'))['ElPagination'] - ElPopconfirm: (typeof import('element-plus'))['ElPopconfirm'] - ElPopper: (typeof import('element-plus'))['ElPopper'] - ElPopover: (typeof import('element-plus'))['ElPopover'] - ElProgress: (typeof import('element-plus'))['ElProgress'] - ElRadio: (typeof import('element-plus'))['ElRadio'] - ElRadioButton: (typeof import('element-plus'))['ElRadioButton'] - ElRadioGroup: (typeof import('element-plus'))['ElRadioGroup'] - ElRate: (typeof import('element-plus'))['ElRate'] - ElRow: (typeof import('element-plus'))['ElRow'] - ElScrollbar: (typeof import('element-plus'))['ElScrollbar'] - ElSelect: (typeof import('element-plus'))['ElSelect'] - ElSlider: (typeof import('element-plus'))['ElSlider'] - ElStep: (typeof import('element-plus'))['ElStep'] - ElSteps: (typeof import('element-plus'))['ElSteps'] - ElSubMenu: (typeof import('element-plus'))['ElSubMenu'] - ElSwitch: (typeof import('element-plus'))['ElSwitch'] - ElTabPane: (typeof import('element-plus'))['ElTabPane'] - ElTable: (typeof import('element-plus'))['ElTable'] - ElTableColumn: (typeof import('element-plus'))['ElTableColumn'] - ElTabs: (typeof import('element-plus'))['ElTabs'] - ElTag: (typeof import('element-plus'))['ElTag'] - ElText: (typeof import('element-plus'))['ElText'] - ElTimePicker: (typeof import('element-plus'))['ElTimePicker'] - ElTimeSelect: (typeof import('element-plus'))['ElTimeSelect'] - ElTimeline: (typeof import('element-plus'))['ElTimeline'] - ElTimelineItem: (typeof import('element-plus'))['ElTimelineItem'] - ElTooltip: (typeof import('element-plus'))['ElTooltip'] - ElTransfer: (typeof import('element-plus'))['ElTransfer'] - ElTree: (typeof import('element-plus'))['ElTree'] - ElTreeV2: (typeof import('element-plus'))['ElTreeV2'] - ElTreeSelect: (typeof import('element-plus'))['ElTreeSelect'] - ElUpload: (typeof import('element-plus'))['ElUpload'] - ElSpace: (typeof import('element-plus'))['ElSpace'] - ElSkeleton: (typeof import('element-plus'))['ElSkeleton'] - ElSkeletonItem: (typeof import('element-plus'))['ElSkeletonItem'] - ElStatistic: (typeof import('element-plus'))['ElStatistic'] - ElCheckTag: (typeof import('element-plus'))['ElCheckTag'] - ElDescriptions: (typeof import('element-plus'))['ElDescriptions'] - ElDescriptionsItem: (typeof import('element-plus'))['ElDescriptionsItem'] - ElResult: (typeof import('element-plus'))['ElResult'] - ElSelectV2: (typeof import('element-plus'))['ElSelectV2'] - ElWatermark: (typeof import('element-plus'))['ElWatermark'] - ElTour: (typeof import('element-plus'))['ElTour'] - ElTourStep: (typeof import('element-plus'))['ElTourStep'] - } - - interface ComponentCustomProperties { - $message: (typeof import('element-plus'))['ElMessage'] - $notify: (typeof import('element-plus'))['ElNotification'] - $msgbox: (typeof import('element-plus'))['ElMessageBox'] - $messageBox: (typeof import('element-plus'))['ElMessageBox'] - $alert: (typeof import('element-plus'))['ElMessageBox']['alert'] - $confirm: (typeof import('element-plus'))['ElMessageBox']['confirm'] - $prompt: (typeof import('element-plus'))['ElMessageBox']['prompt'] - $loading: (typeof import('element-plus'))['ElLoadingService'] - } -} - -export {} diff --git a/server/admin/generator/tpl_utils/templates/gocode/controller.go.tpl b/server/admin/generator/tpl_utils/templates/gocode/controller.go.tpl index f932149..7f99f64 100644 --- a/server/admin/generator/tpl_utils/templates/gocode/controller.go.tpl +++ b/server/admin/generator/tpl_utils/templates/gocode/controller.go.tpl @@ -3,6 +3,7 @@ package {{{ .ModuleName }}} import ( "net/http" "strconv" + "strings" "time" "github.com/gin-gonic/gin" "x_admin/core/request" diff --git a/server/admin/generator/tpl_utils/templates/gocode/service.go.tpl b/server/admin/generator/tpl_utils/templates/gocode/service.go.tpl index 59d9faa..d884bb8 100644 --- a/server/admin/generator/tpl_utils/templates/gocode/service.go.tpl +++ b/server/admin/generator/tpl_utils/templates/gocode/service.go.tpl @@ -196,7 +196,14 @@ func (service {{{ toCamelCase .EntityName }}}Service) Del({{{ toUpperCamelCase . func (service {{{ toCamelCase .EntityName }}}Service) DelBatch(Ids []string) (e error) { var obj model.{{{ toUpperCamelCase .EntityName }}} err := service.db.Where("{{{ $.PrimaryKey }}} in (?)", Ids).Delete(&obj).Error - return err + if err != nil { + return err + } + // 删除缓存 + for _, v := range Ids { + cacheUtil.RemoveCache(v) + } + return nil } // 获取Excel的列 diff --git a/server/admin/generator/tpl_utils/templates/vue/index.vue.tpl b/server/admin/generator/tpl_utils/templates/vue/index.vue.tpl index fadde6c..bd5a4e4 100644 --- a/server/admin/generator/tpl_utils/templates/vue/index.vue.tpl +++ b/server/admin/generator/tpl_utils/templates/vue/index.vue.tpl @@ -54,7 +54,7 @@ -
+