From 390c3dd9027f3d112bebc0864b9dc70b15d5457e Mon Sep 17 00:00:00 2001 From: “linengliang” <vanSuperEnergy@163.com> Date: 星期五, 03 十一月 2023 09:39:40 +0800 Subject: [PATCH] 查询 --- src/views/system/NewPermissionList.vue | 15 +++ src/views/system/modules/SecretModel.vue | 59 ++++++++++++++ src/views/system/modules/SecretForm.vue | 153 ++++++++++++++++++++++++++++++++++++++ src/views/base/Secret.vue | 0 4 files changed, 226 insertions(+), 1 deletions(-) diff --git a/src/views/base/Secret.vue b/src/views/base/Secret.vue new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/views/base/Secret.vue diff --git a/src/views/system/NewPermissionList.vue b/src/views/system/NewPermissionList.vue index e23fa6c..771e49b 100644 --- a/src/views/system/NewPermissionList.vue +++ b/src/views/system/NewPermissionList.vue @@ -11,6 +11,7 @@ type="primary" icon="delete">鎵归噺鍒犻櫎 </a-button> + <a-button @click="handleSecret" type="primary" icon="frown" v-if="selectionRows.length===1&&selectionRows[0].title==='鑺濋夯寮�闂�'">鏌ヨ</a-button> </div> <!-- table鍖哄煙-begin --> @@ -75,6 +76,7 @@ <permission-modal ref="modalForm" @ok="modalFormOk"></permission-modal> <permission-data-rule-list ref="PermissionDataRuleList" @ok="modalFormOk"></permission-data-rule-list> + <secret-model ref="secret"></secret-model> </a-card> </template> @@ -85,6 +87,7 @@ import { JeecgListMixin } from '@/mixins/JeecgListMixin' import PermissionDataRuleList from './PermissionDataRuleList' import JEllipsis from '@/components/jeecg/JEllipsis' +import SecretModel from './modules/SecretModel.vue' const columns = [ { @@ -147,7 +150,8 @@ components: { PermissionDataRuleList, PermissionModal, - JEllipsis + JEllipsis, + SecretModel }, data() { return { @@ -185,6 +189,10 @@ }) } }, + onSelectChange(selectedRowKeys, selectionRows) { + this.selectedRowKeys = selectedRowKeys; + this.selectionRows = selectionRows; + }, // 鏍规嵁宸插睍寮�鐨勮鏌ヨ鏁版嵁锛堢敤浜庝繚瀛樺悗鍒锋柊鏃跺紓姝ュ姞杞藉瓙绾х殑鏁版嵁锛� loadDataByExpandedRows(dataList) { if (this.expandedRowKeys.length > 0) { @@ -220,6 +228,11 @@ handleExpandedRowsChange(expandedRows) { this.expandedRowKeys = expandedRows }, + handleSecret(){ + this.$refs.secret.title='绉樺瘑' + this.$refs.secret.add(); + + } } } </script> diff --git a/src/views/system/modules/SecretForm.vue b/src/views/system/modules/SecretForm.vue new file mode 100644 index 0000000..0c22480 --- /dev/null +++ b/src/views/system/modules/SecretForm.vue @@ -0,0 +1,153 @@ +<template> + <a-spin :spinning="confirmLoading"> + <j-form-container :disabled="formDisabled"> + <a-form-model ref="form" :model="model" :rules="validatorRules" slot="detail"> + <a-row> + <a-col :span="24"> + <a-form-model-item label="绫诲瀷" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="type"> + <a-input v-model="model.type" placeholder="璇疯緭鍏ョ被鍨�" ></a-input> + </a-form-model-item> + </a-col> + <a-col :span="24"> + <a-form-model-item label="鏌ヨ" :labelCol="labelCol" :wrapperCol="wrapperCol" prop="sql"> + <a-textarea v-model="model.sql" rows="4" placeholder="璇疯緭鍏ユ煡璇�" /> + </a-form-model-item> + </a-col> + </a-row> + </a-form-model> + </j-form-container> + </a-spin> +</template> + +<script> + + import { httpAction, getAction } from '@/api/manage' + import { validateDuplicateValue } from '@/utils/util' + + export default { + name: 'SecretForm', + components: { + }, + props: { + //琛ㄥ崟绂佺敤 + disabled: { + type: Boolean, + default: false, + required: false + } + }, + data () { + return { + name:'', + code:'', + model:{ + }, + labelCol: { + xs: { span: 24 }, + sm: { span: 5 }, + }, + wrapperCol: { + xs: { span: 24 }, + sm: { span: 16 }, + }, + confirmLoading: false, + validatorRules: { + type : [ + { required: true, message: '璇疯緭鍏ql绫诲瀷!'}, + ], + sql:[{ required: true, message: '璇疯緭鍏ql!'},] + }, + url: { + add: "/sys/permission/addSecret", + edit: "/base/departmentCategory/edit", + queryById: "/base/departmentCategory/queryById", + check:"/base/departmentCategory/check" + } + } + }, + computed: { + formDisabled(){ + return this.disabled + }, + }, + created () { + //澶囦唤model鍘熷鍊� + this.modelDefault = JSON.parse(JSON.stringify(this.model)); + }, + methods: { + add () { + this.edit(this.modelDefault); + }, + edit (record) { + this.model = Object.assign({}, record); + this.name=this.model.name; + this.code=this.model.code; + this.visible = true; + + }, + submitForm () { + const that = this; + // 瑙﹀彂琛ㄥ崟楠岃瘉 + this.$refs.form.validate(valid => { + if (valid) { + that.confirmLoading = true; + let httpurl = ''; + let method = ''; + if(!this.model.id){ + httpurl+=this.url.add; + method = 'post'; + }else{ + httpurl+=this.url.edit; + method = 'put'; + } + httpAction(httpurl,this.model,method).then((res)=>{ + if(res.success){ + that.$message.success(res.message); + that.$emit('ok'); + }else{ + that.$message.warning(res.message); + } + }).finally(() => { + that.confirmLoading = false; + }) + } + + }) + }, + validateCode(rule, value, callback){ + var params = { + code:value, + delFlag:'0', + }; + getAction(this.url.check,params).then(res=>{ + if(res.result.length==0){ + callback(); + } + else if(this.model.id&&this.code==value){ + callback(); + } + else{ + callback('閮ㄩ棬绫诲瀷缂栫爜閲嶅') + } + }) + }, + validateName(rule, value, callback){ + var params = { + name:value, + delFlag:'0', + }; + getAction(this.url.check,params).then(res=>{ + if(res.result.length==0){ + callback(); + } + else if(this.model.id&&this.name==value){ + callback(); + } + else{ + callback('閮ㄩ棬绫诲瀷鍚嶇О閲嶅') + } + }) + }, + } + } +</script> \ No newline at end of file diff --git a/src/views/system/modules/SecretModel.vue b/src/views/system/modules/SecretModel.vue new file mode 100644 index 0000000..361b014 --- /dev/null +++ b/src/views/system/modules/SecretModel.vue @@ -0,0 +1,59 @@ +<template> + <j-modal + :title="title" + :width="width" + :visible="visible" + switchFullscreen + @ok="handleOk" + :okButtonProps="{ class:{'jee-hidden': disableSubmit} }" + @cancel="handleCancel" + cancelText="鍏抽棴"> + <secret-form ref="realForm" @ok="submitCallback" :disabled="disableSubmit"></secret-form> + </j-modal> +</template> + +<script> + import SecretForm from './SecretForm.vue' + export default { + name: 'SecretModal', + components: { + SecretForm + }, + data () { + return { + title:'', + width:800, + visible: false, + disableSubmit: false + } + }, + methods: { + add () { + this.visible=true + this.$nextTick(()=>{ + this.$refs.realForm.add(); + }) + }, + edit (record) { + this.visible=true + this.$nextTick(()=>{ + this.$refs.realForm.edit(record); + }) + }, + close () { + this.$emit('close'); + this.visible = false; + }, + handleOk () { + this.$refs.realForm.submitForm(); + }, + submitCallback(){ + this.$emit('ok'); + this.visible = false; + }, + handleCancel () { + this.close() + } + } + } +</script> \ No newline at end of file -- Gitblit v1.9.3