From ffd0af47ee31a9592cfab56a907e9841a9113c52 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期四, 20 七月 2023 10:37:17 +0800 Subject: [PATCH] 代码提交,前端代码打包 --- Source/UBCS-WEB/dist/src/views/resource/sms.vue | 438 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 438 insertions(+), 0 deletions(-) diff --git a/Source/UBCS-WEB/dist/src/views/resource/sms.vue b/Source/UBCS-WEB/dist/src/views/resource/sms.vue new file mode 100644 index 0000000..ede08ce --- /dev/null +++ b/Source/UBCS-WEB/dist/src/views/resource/sms.vue @@ -0,0 +1,438 @@ +<template> + <basic-container> + <avue-crud :option="option" + :table-loading="loading" + :data="data" + :page.sync="page" + :permission="permissionList" + :before-open="beforeOpen" + v-model="form" + ref="crud" + @row-update="rowUpdate" + @row-save="rowSave" + @row-del="rowDel" + @search-change="searchChange" + @search-reset="searchReset" + @selection-change="selectionChange" + @current-change="currentChange" + @size-change="sizeChange" + @refresh-change="refreshChange" + @on-load="onLoad"> + <template slot="menuLeft"> + <el-button type="danger" + size="small" + icon="el-icon-delete" + plain + v-if="permission.sms_delete" + @click="handleDelete">鍒� 闄� + </el-button> + </template> + <template slot-scope="scope" slot="menu"> + <el-button type="text" + icon="el-icon-video-play" + size="small" + v-if="userInfo.role_name.includes('admin')" + @click="handleDebug(scope.row)">璋冭瘯 + </el-button> + <el-button type="text" + icon="el-icon-circle-check" + size="small" + v-if="permission.sms_enable" + @click.stop="handleEnable(scope.row)">鍚敤 + </el-button> + </template> + <template slot-scope="{row}" + slot="status"> + <el-tag>{{row.statusName}}</el-tag> + </template> + <template slot-scope="{row}" + slot="category"> + <el-tag>{{row.categoryName}}</el-tag> + </template> + </avue-crud> + <el-dialog title="鎵嬫満鐭俊鍙戦�佽皟璇�" + append-to-body + :visible.sync="box" + width="550px"> + <avue-form :option="debugOption" v-model="debugForm" @submit="handleSend"/> + </el-dialog> + </basic-container> +</template> + +<script> + import {getList, getDetail, add, update, remove, enable, send} from "@/api/resource/sms"; + import {mapGetters} from "vuex"; + import func from "@/util/func"; + + export default { + data() { + return { + form: {}, + query: {}, + loading: true, + box: false, + page: { + pageSize: 10, + currentPage: 1, + total: 0 + }, + selectionList: [], + option: { + height: 'auto', + calcHeight: 30, + tip: false, + searchShow: true, + searchMenuSpan: 6, + border: true, + index: true, + viewBtn: true, + selection: true, + menuWidth: 350, + labelWidth: 100, + dialogWidth: 880, + dialogClickModal: false, + column: [ + { + label: "鍒嗙被", + type: "radio", + value: 1, + span: 24, + width: 100, + searchLabelWidth: 50, + row: true, + dicUrl: "/api/ubcs-system/dict/dictionary?code=sms", + props: { + label: "dictValue", + value: "dictKey" + }, + dataType: "number", + slot: true, + prop: "category", + search: true, + rules: [{ + required: true, + message: "璇烽�夋嫨鍒嗙被", + trigger: "blur" + }] + }, + { + label: "璧勬簮缂栧彿", + prop: "smsCode", + span: 24, + width: 200, + search: true, + rules: [{ + required: true, + message: "璇疯緭鍏ヨ祫婧愮紪鍙�", + trigger: "blur" + }] + }, + { + label: "妯$増ID", + prop: "templateId", + span: 24, + width: 200, + search: true, + rules: [{ + required: true, + message: "璇疯緭鍏ユā鐗圛D", + trigger: "blur" + }] + }, + { + label: "accessKey", + prop: "accessKey", + span: 24, + overHidden: true, + rules: [{ + required: true, + message: "璇疯緭鍏ccessKey", + trigger: "blur" + }], + }, + { + label: "secretKey", + prop: "secretKey", + span: 24, + overHidden: true, + display: true, + hide: true, + rules: [{ + required: true, + message: "璇疯緭鍏ecretKey", + trigger: "blur" + }], + }, + { + label: "regionId", + prop: "regionId", + span: 24, + value: "cn-hangzhou", + hide: true, + display: false + }, + { + label: "鐭俊绛惧悕", + prop: "signName", + span: 24, + width: 200, + rules: [{ + required: true, + message: "璇疯緭鍏ョ煭淇$鍚�", + trigger: "blur" + }], + }, + { + label: "鏄惁鍚敤", + prop: "status", + span: 24, + width: 80, + align: "center", + slot: true, + addDisplay: false, + editDisplay: false, + viewDisplay: false, + }, + { + label: "澶囨敞", + prop: "remark", + span: 24, + hide: true + }, + ] + }, + data: [], + debugForm: { + code: '', + }, + debugOption: { + submitText: "鍙戦��", + column: [ + { + label: "璧勬簮缂栧彿", + prop: "code", + disabled: true, + span: 24, + }, + { + label: "鍙戦�佹墜鏈�", + prop: "phones", + span: 24, + }, + { + label: "鍙戦�佸弬鏁�", + prop: "params", + span: 24, + placeholder: "渚�: {'code':2333,'title':'閫氱煡鏍囬'}", + }, + ] + } + }; + }, + watch: { + 'form.category'() { + const category = func.toInt(this.form.category); + this.$refs.crud.option.column.filter(item => { + if (item.prop === "templateId") { + if (category === 1) { + item.label = "妯$増鍐呭"; + } else { + item.label = "妯$増ID"; + } + } + if (item.prop === "accessKey") { + if (category === 1) { + item.label = "apiKey"; + } else if (category === 4) { + item.label = "appId"; + } else { + item.label = "accessKey"; + } + } + if (item.prop === "secretKey") { + item.display = category !== 1; + if (category === 4) { + item.label = "appKey"; + } else { + item.label = "secretKey"; + } + } + if (item.prop === "regionId") { + if (category === 3) { + item.display = true; + item.value = "cn-hangzhou"; + } else { + item.display = false; + } + } + }); + } + }, + computed: { + ...mapGetters(["userInfo", "permission"]), + permissionList() { + return { + addBtn: this.vaildData(this.permission.sms_add, false), + viewBtn: this.vaildData(this.permission.sms_view, false), + delBtn: this.vaildData(this.permission.sms_delete, false), + editBtn: this.vaildData(this.permission.sms_edit, false) + }; + }, + ids() { + let ids = []; + this.selectionList.forEach(ele => { + ids.push(ele.id); + }); + return ids.join(","); + } + }, + methods: { + rowSave(row, done, loading) { + add(row).then(() => { + this.onLoad(this.page); + this.$message({ + type: "success", + message: "鎿嶄綔鎴愬姛!" + }); + done(); + }, error => { + window.console.log(error); + loading(); + }); + }, + rowUpdate(row, index, done, loading) { + update(row).then(() => { + this.onLoad(this.page); + this.$message({ + type: "success", + message: "鎿嶄綔鎴愬姛!" + }); + done(); + }, error => { + window.console.log(error); + loading(); + }); + }, + rowDel(row) { + this.$confirm("纭畾灏嗛�夋嫨鏁版嵁鍒犻櫎?", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning" + }) + .then(() => { + return remove(row.id); + }) + .then(() => { + this.onLoad(this.page); + this.$message({ + type: "success", + message: "鎿嶄綔鎴愬姛!" + }); + }); + }, + handleEnable(row) { + this.$confirm("鏄惁纭畾鍚敤杩欐潯閰嶇疆?", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning" + }) + .then(() => { + return enable(row.id); + }) + .then(() => { + this.onLoad(this.page); + this.$message({ + type: "success", + message: "鎿嶄綔鎴愬姛!" + }); + this.$refs.crud.toggleSelection(); + }); + }, + handleDebug(row) { + this.box = true; + this.debugForm.code = row.smsCode; + }, + handleSend(form, done, loading) { + send(form.code, form.phones, form.params).then((res) => { + this.$message({ + type: "success", + message: "鍙戦�佹垚鍔�!" + }); + done(); + window.console.log(res); + this.box = false; + }, error => { + window.console.log(error); + loading(); + }); + }, + handleDelete() { + if (this.selectionList.length === 0) { + this.$message.warning("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�"); + return; + } + this.$confirm("纭畾灏嗛�夋嫨鏁版嵁鍒犻櫎?", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning" + }) + .then(() => { + return remove(this.ids); + }) + .then(() => { + this.onLoad(this.page); + this.$message({ + type: "success", + message: "鎿嶄綔鎴愬姛!" + }); + this.$refs.crud.toggleSelection(); + }); + }, + beforeOpen(done, type) { + if (["edit", "view"].includes(type)) { + getDetail(this.form.id).then(res => { + this.form = res.data.data; + }); + } + done(); + }, + searchReset() { + this.query = {}; + this.onLoad(this.page); + }, + searchChange(params, done) { + this.query = params; + this.page.currentPage = 1; + this.onLoad(this.page, params); + done(); + }, + selectionChange(list) { + this.selectionList = list; + }, + selectionClear() { + this.selectionList = []; + this.$refs.crud.toggleSelection(); + }, + currentChange(currentPage) { + this.page.currentPage = currentPage; + }, + sizeChange(pageSize) { + this.page.pageSize = pageSize; + }, + refreshChange() { + this.onLoad(this.page, this.query); + }, + onLoad(page, params = {}) { + this.loading = true; + getList(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => { + const data = res.data.data; + this.page.total = data.total; + this.data = data.records; + this.loading = false; + this.selectionClear(); + }); + } + } + }; +</script> + -- Gitblit v1.9.3