From a40a9f516208777db85603bc303e44885066942c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=8A=B2=E9=BE=99?= <2860996570@qq.com> Date: Wed, 27 Sep 2023 14:45:13 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BD=AC=E7=A7=BB=E8=8F=9C=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/router/index.js | 34 +- .../hdtj/components/detailDialog.vue | 659 ++++++++++++++ src/views/volunteer/hdtj/hdGl/index.vue | 851 +++++++++++++++++- src/views/volunteer/hdtj/hdtjChild/index.vue | 81 +- src/views/volunteer/hdtj/hdyq/index.vue | 81 +- src/views/volunteer/userbq/bqhsj/index.vue | 373 +++++++- src/views/volunteer/userbq/dictGl/data.vue | 402 +++++++++ src/views/volunteer/userbq/dictGl/index.vue | 349 ++++++- 8 files changed, 2791 insertions(+), 39 deletions(-) create mode 100644 src/views/volunteer/hdtj/components/detailDialog.vue create mode 100644 src/views/volunteer/userbq/dictGl/data.vue diff --git a/src/router/index.js b/src/router/index.js index 1a11ed0..760551e 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -61,19 +61,19 @@ export const constantRoutes = [ component: () => import("@/views/error/401"), hidden: true, }, - // { - // path: "", - // component: Layout, - // redirect: "index", - // children: [ - // { - // path: "index", - // component: () => import("@/views/index"), - // name: "Index", - // meta: { title: "首页", icon: "dashboard", affix: true }, - // }, - // ], - // }, + { + path: "", + component: Layout, + redirect: "index", + children: [ + { + path: "index", + component: () => import("@/views/index"), + name: "Index", + meta: { title: "首页", icon: "dashboard", affix: true }, + }, + ], + }, { path: "/user", component: Layout, @@ -91,14 +91,14 @@ export const constantRoutes = [ { path: "", component: Layout, - redirect: "Zdgl", + redirect: "dictGl", children: [ { path: "/volunteer/zyzsjgl/zdgl/:dictId(\\d+)", - component: () => import("@/views/volunteer/zyzsjgl/zdgl/data"), + component: () => import("@/views/volunteer/userbq/dictGl/data"), hidden: true, - name:"Zdgl", - meta: { title: "字典详情", icon: "dashboard", affix: true , activeMenu: "/volunteer/zyzsjgl/zdgl"}, + name:"dictGl", + meta: { title: "字典详情", icon: "dashboard", affix: true , activeMenu: "/volunteer/userbq/dictGl"}, }, ], }, diff --git a/src/views/volunteer/hdtj/components/detailDialog.vue b/src/views/volunteer/hdtj/components/detailDialog.vue new file mode 100644 index 0000000..0d80c24 --- /dev/null +++ b/src/views/volunteer/hdtj/components/detailDialog.vue @@ -0,0 +1,659 @@ + + + diff --git a/src/views/volunteer/hdtj/hdGl/index.vue b/src/views/volunteer/hdtj/hdGl/index.vue index e1ef63c..8e485fa 100644 --- a/src/views/volunteer/hdtj/hdGl/index.vue +++ b/src/views/volunteer/hdtj/hdGl/index.vue @@ -1,9 +1,852 @@ + +
+
+ + + +
+
+ 新增活动 +
+
+
+ + + + + + + + + + + + + + + +
+ +
+ + + +
+
{{ titleText }}
+
+
+ +
+
+ 活动信息 +
+ +
+ + + + + + +
+
+ + + + + + + + +
+ + + + + + + + +
+
+ 人员要求信息 +
+
+ + + + + + + + + +
+
+ + + + + + + + + +
+
+ + + + + + + + + + + + +
+
+ + + + + + +
+
+ + + + + + +
+
+
+ 提交 + 取消 +
+
+
+
+ + + .itemE { + width: 50%; + display: flex; + & > div:nth-of-type(1) { + display: flex; + // align-items: center; + color: #4c4949; + width: 24%; + } + & > div:nth-last-of-type(2) { + color: #807a7a; + } + } + } + .mainsTitle { + margin-bottom: 12px; + display: flex; + font-family: "Alibaba-PuHuiTi-Regular"; + & > div:nth-of-type(1) { + color: #807a7a; + width: 12%; + } + & > div:nth-of-type(2) { + width: 88%; + color: #606266; + } + } + .noneStyle { + height: 200px; + margin-bottom: 12px; + display: flex; + align-items: center; + justify-content: center; + font-family: "Alibaba-PuHuiTi-Medium.otf"; + color: #606266; + font-size: 14px; + } + .mainPeople { + overflow: auto; + height: 200px; + box-sizing: border-box; + margin-bottom: 12px; + .subMan { + width: 100%; + height: 95px; + background: #fafafa; + border: 1px solid #f5edeb; + border-radius: 10px; + display: flex; + justify-content: space-between; + box-sizing: border-box; + padding: 15px; + margin-bottom: 10px; + .leftSub { + width: 84%; + height: 100%; + display: flex; + align-items: center; + .leftAvatar { + height: 65px; + width: 65px; + background-size: 100% 100%; + border-radius: 10px; + } + .leftName { + margin-left: 15px; + & > div:nth-of-type(1) { + font-family: "Alibaba-PuHuiTi-Medium.otf"; + color: #4c4949; + font-size: 18px; + margin-bottom: 18px; + } + } + } + .rightSub { + flex: 1; + display: flex; + flex-direction: column; + justify-content: space-between; + .numPercen { + display: flex; + // align-items: flex-end; + align-items: center; + & > span:nth-of-type(1) { + font-family: "Alibaba-PuHuiTi-Regular"; + font-weight: 400; + color: #8a8585; + margin-right: 10px; + } + & > span:nth-of-type(2) { + font-family: "youshebiaotihei"; + color: #49b28f; + font-size: 20px; + } + } + .itemBtn { + display: flex; + justify-content: space-between; + .look { + background: #fff; + border-radius: 4px; + color: #188ffe; + font-family: "Alibaba-PuHuiTi-Regular"; + padding: 5px 10px; + cursor: pointer; + user-select: none; + } + .looks { + background: #fff; + border-radius: 4px; + color: #49b28f; + font-family: "Alibaba-PuHuiTi-Regular"; + padding: 5px 10px; + cursor: pointer; + user-select: none; + } + } + } + } + } +} +::-webkit-scrollbar { + width: 5px; +} +::-webkit-scrollbar-thumb { + background: #e5d3d4; +} +::-webkit-scrollbar-track { + background: #f4f1f1; +} +.inputBox { + display: flex; + justify-content: space-between; + & > div { + width: 47%; + } +} +::v-deep .el-select { + width: 100%; +} +::v-deep .el-form-item__label { + font-size: 14px; + font-family: "Alibaba-PuHuiTi-Regular"; + font-weight: 400; + color: #4c4949; + text-align: left; + padding-right: 0; +} +.footBtn { + display: flex; + flex-direction: row-reverse; +} +::v-deep .footBtn .el-button { + margin-left: 10px; + font-family: "Alibaba-PuHuiTi-Regular"; +} + diff --git a/src/views/volunteer/hdtj/hdtjChild/index.vue b/src/views/volunteer/hdtj/hdtjChild/index.vue index cd1a4c3..4103cac 100644 --- a/src/views/volunteer/hdtj/hdtjChild/index.vue +++ b/src/views/volunteer/hdtj/hdtjChild/index.vue @@ -1,9 +1,80 @@ + - +import inviteView from '../../components/invite.vue' +import recommendView from '../../components/recommend.vue' +import myInput from "@/views/components/myInput/index.vue" +export default { + components:{inviteView,recommendView,myInput}, + data() { + return { + input: '', + activeName: 'recommendView', + defaultRouter:'recommendView', + isClick:false, + } + }, + methods:{ + // 输入框的值 + changeInput(value){ + this.input = value; + this.isClick = true; + }, + // 监听输入框是否清空 + changeValue(value){ + if(this.isClick && value == ''){ + this.$refs.myComponents.getList('1') + this.isClick = false; + } + }, + handleClick() { + this.defaultRouter = this.activeName + } + }, + async created() { - + }, +} + + diff --git a/src/views/volunteer/hdtj/hdyq/index.vue b/src/views/volunteer/hdtj/hdyq/index.vue index 6d5ce84..87f882b 100644 --- a/src/views/volunteer/hdtj/hdyq/index.vue +++ b/src/views/volunteer/hdtj/hdyq/index.vue @@ -1,9 +1,80 @@ + - +import inviteView from '../../components/invite.vue' +import recommendView from '../../components/recommend.vue' +import myInput from "@/views/components/myInput/index.vue" +export default { + components:{inviteView,recommendView,myInput}, + data() { + return { + input: '', + activeName: 'inviteView', + defaultRouter:'inviteView', + isClick:false, + } + }, + methods:{ + // 输入框的值 + changeInput(value){ + this.input = value; + this.isClick = true; + }, + // 监听输入框是否清空 + changeValue(value){ + if(this.isClick && value == ''){ + this.$refs.myComponents.getList('1') + this.isClick = false; + } + }, + handleClick() { + this.defaultRouter = this.activeName + } + }, + async created() { - + }, +} + + diff --git a/src/views/volunteer/userbq/bqhsj/index.vue b/src/views/volunteer/userbq/bqhsj/index.vue index 83208b9..d2cd934 100644 --- a/src/views/volunteer/userbq/bqhsj/index.vue +++ b/src/views/volunteer/userbq/bqhsj/index.vue @@ -1,9 +1,376 @@ - + diff --git a/src/views/volunteer/userbq/dictGl/data.vue b/src/views/volunteer/userbq/dictGl/data.vue new file mode 100644 index 0000000..bfc3c6d --- /dev/null +++ b/src/views/volunteer/userbq/dictGl/data.vue @@ -0,0 +1,402 @@ + + + \ No newline at end of file diff --git a/src/views/volunteer/userbq/dictGl/index.vue b/src/views/volunteer/userbq/dictGl/index.vue index 2518173..4f1f255 100644 --- a/src/views/volunteer/userbq/dictGl/index.vue +++ b/src/views/volunteer/userbq/dictGl/index.vue @@ -1,9 +1,348 @@ - - +import { listType, getType, delType, addType, updateType, refreshCache } from "@/api/system/dict/type"; +import delgdata from "./data.vue" +export default { + name: "Dict", + dicts: ['sys_normal_disable'], + components:{delgdata}, + data() { + return { + // 遮罩层 + loading: true, + // 选中数组 + ids: [], + // 非单个禁用 + single: true, + // 非多个禁用 + multiple: true, + // 显示搜索条件 + showSearch: true, + // 总条数 + total: 0, + // 字典表格数据 + typeList: [], + // 弹出层标题 + title: "", + // 是否显示弹出层 + open: false, + // 日期范围 + dateRange: [], + // 查询参数 + queryParams: { + pageNum: 1, + pageSize: 10, + dictName: undefined, + dictType: undefined, + status: undefined + }, + // 表单参数 + form: {}, + // 表单校验 + rules: { + dictName: [ + { required: true, message: "字典名称不能为空", trigger: "blur" } + ], + dictType: [ + { required: true, message: "字典类型不能为空", trigger: "blur" } + ] + } + }; + }, + created() { + this.getList(); + }, + methods: { + /** 查询字典类型列表 */ + getList() { + this.loading = true; + listType(this.addDateRange(this.queryParams, this.dateRange)).then(response => { + this.typeList = response.rows; + this.total = response.total; + this.loading = false; + } + ); + }, + // 取消按钮 + cancel() { + this.open = false; + this.reset(); + }, + // 表单重置 + reset() { + this.form = { + dictId: undefined, + dictName: undefined, + dictType: undefined, + status: "0", + remark: undefined + }; + this.resetForm("form"); + }, + /** 搜索按钮操作 */ + handleQuery() { + this.queryParams.pageNum = 1; + this.getList(); + }, + /** 重置按钮操作 */ + resetQuery() { + this.dateRange = []; + this.resetForm("queryForm"); + this.handleQuery(); + }, + /** 新增按钮操作 */ + handleAdd() { + this.reset(); + this.open = true; + this.title = "添加字典类型"; + }, + // 多选框选中数据 + handleSelectionChange(selection) { + this.ids = selection.map(item => item.dictId) + this.single = selection.length!=1 + this.multiple = !selection.length + }, + /** 修改按钮操作 */ + handleUpdate(row) { + this.reset(); + const dictId = row.dictId || this.ids + getType(dictId).then(response => { + this.form = response.data; + this.open = true; + this.title = "修改字典类型"; + }); + }, + /** 提交按钮 */ + submitForm: function() { + this.$refs["form"].validate(valid => { + if (valid) { + if (this.form.dictId != undefined) { + updateType(this.form).then(response => { + this.$modal.msgSuccess("修改成功"); + this.open = false; + this.getList(); + }); + } else { + addType(this.form).then(response => { + this.$modal.msgSuccess("新增成功"); + this.open = false; + this.getList(); + }); + } + } + }); + }, + /** 删除按钮操作 */ + handleDelete(row) { + const dictIds = row.dictId || this.ids; + this.$modal.confirm('是否确认删除字典编号为"' + dictIds + '"的数据项?').then(function() { + return delType(dictIds); + }).then(() => { + this.getList(); + this.$modal.msgSuccess("删除成功"); + }).catch(() => {}); + }, + /** 导出按钮操作 */ + handleExport() { + this.download('system/dict/type/export', { + ...this.queryParams + }, `type_${new Date().getTime()}.xlsx`) + }, + /** 刷新缓存按钮操作 */ + handleRefreshCache() { + refreshCache().then(() => { + this.$modal.msgSuccess("刷新成功"); + this.$store.dispatch('dict/cleanDict'); + }); + } + } +}; + \ No newline at end of file