diff --git a/project/qianxinan/AppSignInfo/list.vue b/project/qianxinan/AppSignInfo/list.vue index fc319855..62df59b8 100644 --- a/project/qianxinan/AppSignInfo/list.vue +++ b/project/qianxinan/AppSignInfo/list.vue @@ -3,31 +3,48 @@ - 设置 + + + + 设置 + + + + + + + + + + - + - - - - - - - - - - - - - + + + + + + + + + + + + - - + + + + + + @@ -46,16 +63,19 @@ export default { }, data() { return { - search: {name: ""}, + search: {name: "", createDateStart: "", createDateEnd: ""}, page: {current: 1, size: 10, total: 0}, tableData: [], colConfigs: [ - {prop: "createDate", label: "签到时间"}, + {prop: "wxUserName", label: "用户"}, {prop: "departmentName", label: "部门"}, - {prop: "status", label: "状态", dict: "wxSignStatus"}, - {prop: "wxUserName", label: "用户"} + {prop: "createDate", label: "签到日期"}, + {prop: "createTime", label: "签到时间"}, + {prop: "status", label: "状态", dict: "wxSignStatus"} ], - treeData: [] + treeData: [], + form: {}, + sta: {} } }, methods: { @@ -69,9 +89,6 @@ export default { } }) }, - handleAdd(id) { - this.$router.push({hash: "#add", query: {id}}) - }, getDepartments() { this.instance.post("/app/wxcp/wxdepartment/listAll").then(res => { if (res?.data) { @@ -79,13 +96,49 @@ export default { } }) }, + getSetting() { + this.instance.post("/app/appwechatsignconfig/queryDetailById").then(res => { + if (res?.data) { + this.form = res.data + } + }) + }, + getStaData() { + const {departmentId} = this.search + this.instance.post("/app/appwechatsigninfo/querySignStatistic", null, { + params: {departmentId} + }).then(res => { + if (res?.data) { + this.sta = res.data + } + }) + }, handleSearchTree(name) { this.$refs.DeptTree.filter(name) + }, + reloadTable() { + this.page.current = 1 + this.getTableData() + }, + handleSelectDept(data) { + this.search.departmentId = data.id + this.reloadTable() + this.getStaData() + }, + submit() { + return this.$refs.SettingForm.validate() + .then(() => this.instance.post("/app/appwechatsignconfig/addOrUpdate", this.form)) + .then(res => { + if (res?.code == 0) { + return this.$message.success("提交成功") + } + }) } }, created() { this.getTableData() this.getDepartments() + this.getStaData() } } @@ -93,5 +146,9 @@ export default { diff --git a/ui/lib/styles/common.scss b/ui/lib/styles/common.scss index 358a26bf..7413a2e9 100644 --- a/ui/lib/styles/common.scss +++ b/ui/lib/styles/common.scss @@ -17,13 +17,12 @@ $--font-path: '~element-ui/lib/theme-chalk/fonts'; /** 常用内外边距样式 */ -@each $padMar, $pm in (mar:margin, pad:padding) { - @each $v in (8, 10, 16, 20, 32, 48, 56, 64, 80) { - @each $pos, $p in (l:left, r:right, t:top, b:bottom) { - .#{$padMar}-#{$pos+$v} { - #{$pm}-#{$p}: #{$v}px - } - } +@each $v in (8, 10, 16, 20, 32, 48, 56, 64, 80) { + //gap + .gap-#{$v} { + gap: #{$v}px + } + @each $padMar, $pm in (mar:margin, pad:padding) { .#{$padMar}-#{$v} { #{$pm}: #{$v}px } @@ -37,6 +36,11 @@ $--font-path: '~element-ui/lib/theme-chalk/fonts'; #{$pm}-left: #{$v}px; #{$pm}-right: #{$v}px; } + @each $pos, $p in (l:left, r:right, t:top, b:bottom) { + .#{$padMar}-#{$pos+$v} { + #{$pm}-#{$p}: #{$v}px + } + } } } diff --git a/ui/packages/basic/AiBar.vue b/ui/packages/basic/AiBar.vue index 9756fed1..6eff9d32 100644 --- a/ui/packages/basic/AiBar.vue +++ b/ui/packages/basic/AiBar.vue @@ -1,117 +1,113 @@ - - + + - {{ title }} + {{ title }} - + + diff --git a/ui/packages/basic/AiDialog.vue b/ui/packages/basic/AiDialog.vue index f4cfe81a..3924578e 100644 --- a/ui/packages/basic/AiDialog.vue +++ b/ui/packages/basic/AiDialog.vue @@ -1,163 +1,165 @@ - - - {{ title }} - - - - - - - - - - - + + + {{ title }} + + + + + + + + + + + diff --git a/ui/packages/layout/AiCard.vue b/ui/packages/layout/AiCard.vue index 2a97e547..fab82f5c 100644 --- a/ui/packages/layout/AiCard.vue +++ b/ui/packages/layout/AiCard.vue @@ -1,6 +1,6 @@ - - + + @@ -9,7 +9,8 @@ - + + @@ -21,7 +22,11 @@ export default { title: { type: String }, - hideTitle: Boolean + hideTitle: Boolean, + panel: Boolean + }, + computed: { + hideHeader: v => v.hideTitle || v.panel } } @@ -37,5 +42,15 @@ export default { .ai-card__body { padding: 12px 40px 22px; } + + &.panel { + margin-bottom: 0; + + .ai-card__body { + padding: 12px 16px; + } + } + + } diff --git a/ui/packages/layout/AiDialogBtn.vue b/ui/packages/layout/AiDialogBtn.vue index 594fd6d6..861cd401 100644 --- a/ui/packages/layout/AiDialogBtn.vue +++ b/ui/packages/layout/AiDialogBtn.vue @@ -4,8 +4,8 @@ {{ text }} - + 关闭 @@ -21,12 +21,26 @@ export default { text: {default: "点击弹窗"}, dialogTitle: {default: "展示信息"}, customFooter: {default: true}, - width: {default: "1200px"} + width: {default: "1200px"}, + submit: {default: null} + }, + computed: { + needFooter: v => v.customFooter && !v.submit }, data() { return { dialog: false } + }, + methods: { + handleConfirm() { + if (!this.submit) { + this.dialog = false + this.$emit('onConfirm') + } else { + this.submit?.()?.then(() => this.dialog = false) + } + } } } diff --git a/ui/packages/layout/AiList.vue b/ui/packages/layout/AiList.vue index 0a294140..8f91f388 100644 --- a/ui/packages/layout/AiList.vue +++ b/ui/packages/layout/AiList.vue @@ -6,9 +6,14 @@ - - - + + + + + + + + @@ -68,7 +73,7 @@ export default {