| | |
| | | </el-aside> |
| | | <el-main> |
| | | <basic-container> |
| | | <div style="display: flex;justify-content: center"> |
| | | <div class="descBox"> |
| | | <el-descriptions :column="1" border class="margin-top" size="medium" title="属性信息"> |
| | | <div style="display: flex;justify-content: center; height: 230px"> |
| | | <div class="descBox" style="max-height: 100px"> |
| | | <el-descriptions :column="1" border class="margin-top" size="medium" title="属性信息"> |
| | | <el-descriptions-item :contentStyle="descriptionOption.contentStyle" |
| | | :labelStyle="descriptionOption.labelStyle"> |
| | | <template slot="label"> |
| | | <i :class="icons.name"></i> |
| | | 名称 |
| | | </template> |
| | | <el-tag v-if="nodeRow.id">{{ nodeRow.id }}</el-tag> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item :contentStyle="descriptionOption.contentStyle" |
| | | :labelStyle="descriptionOption.labelStyle"> |
| | | <template slot="label"> |
| | | 标签 |
| | | </template> |
| | | <el-tag v-if="nodeRow.name">{{ nodeRow.name }}</el-tag> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item :contentStyle="descriptionOption.contentStyle" |
| | | :labelStyle="descriptionOption.labelStyle"> |
| | | <template slot="label"> |
| | | <i :class="icons.label"></i> |
| | | 标签 |
| | | </template> |
| | | <el-tag v-if="nodeRow.label">{{ nodeRow.label }}</el-tag> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item :contentStyle="descriptionOption.contentStyle" |
| | | :labelStyle="descriptionOption.labelStyle"> |
| | | <template slot="label"> |
| | | <i :class="icons.implClass"></i> |
| | | 实现类 |
| | | </template> |
| | | <el-tooltip class="item" effect="dark" :content="nodeRow.implClass" placement="top-start"> |
| | | <el-tag v-if="nodeRow.implClass">{{ nodeRow.implClass }}</el-tag> |
| | | <el-tooltip v-if="nodeRow.implClass" :content="nodeRow.implClass" class="item" effect="dark" |
| | | placement="top-start"> |
| | | <el-tag style="max-width: 250px;overflow: hidden">{{ nodeRow.implClass }} |
| | | </el-tag> |
| | | </el-tooltip> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item :contentStyle="descriptionOption.contentStyle" |
| | | :labelStyle="descriptionOption.labelStyle"> |
| | | <template slot="label"> |
| | | <i :class="icons.desc"></i> |
| | | 描述 |
| | | </template> |
| | | <el-tag v-if="nodeRow.description">{{ nodeRow.description }}</el-tag> |
| | | <span v-if="nodeRow.description">{{ nodeRow.description }}</span> |
| | | </el-descriptions-item> |
| | | </el-descriptions> |
| | | </div> |
| | | <div class="descBox"> |
| | | <el-descriptions :column="1" border class="margin-top" size="medium" title="属性信息"> |
| | | <el-descriptions :column="1" border class="margin-top" size="medium" title="版本规则"> |
| | | <el-descriptions-item :contentStyle="descriptionOption.contentStyle" |
| | | :labelStyle="descriptionOption.labelStyle"> |
| | | <template slot="label"> |
| | | <i :class="icons.name"></i> |
| | | 名称 |
| | | 版本规则 |
| | | </template> |
| | | <el-tag v-if="nodeRow.name">{{ nodeRow.name }}</el-tag> |
| | | <el-tag v-if="nodeRow.revLevel" |
| | | :type="nodeRow.revLevel === '0' ? 'warning' : nodeRow.revLevel === '1' ? '' : 'success'"> |
| | | {{ |
| | | nodeRow.revLevel === '0' |
| | | ? '不可修订' |
| | | : nodeRow.revLevel === '1' |
| | | ? '采用一级版本管理' |
| | | : '采用二级版本管理' |
| | | }} |
| | | </el-tag> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item :contentStyle="descriptionOption.contentStyle" |
| | | <el-descriptions-item v-if="nodeRow.revLevel !== '0'" :contentStyle="descriptionOption.contentStyle" |
| | | :labelStyle="descriptionOption.labelStyle"> |
| | | <template slot="label"> |
| | | <i :class="icons.label"></i> |
| | | 标签 |
| | | 版本号规则 |
| | | </template> |
| | | <el-tag v-if="nodeRow.label">{{ nodeRow.label }}</el-tag> |
| | | <el-tag v-if="nodeRow.revRuleName">{{ nodeRow.revRuleName }}</el-tag> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item :contentStyle="descriptionOption.contentStyle" |
| | | <el-descriptions-item v-if="nodeRow.revLevel !== '0'" :contentStyle="descriptionOption.contentStyle" |
| | | :labelStyle="descriptionOption.labelStyle"> |
| | | <template slot="label"> |
| | | <i :class="icons.implClass"></i> |
| | | 实现类 |
| | | 分隔符 |
| | | </template> |
| | | <el-tag v-if="nodeRow.implClass">{{ nodeRow.implClass }}</el-tag> |
| | | <el-tag v-if="nodeRow.delimiter">{{ nodeRow.delimiter }}</el-tag> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item :contentStyle="descriptionOption.contentStyle" |
| | | <el-descriptions-item v-if="nodeRow.revLevel !== '0' && nodeRow.revLevel !== '1'" |
| | | :contentStyle="descriptionOption.contentStyle" |
| | | :labelStyle="descriptionOption.labelStyle"> |
| | | <template slot="label"> |
| | | <i :class="icons.desc"></i> |
| | | 描述 |
| | | 版次号规则 |
| | | </template> |
| | | <el-tag v-if="nodeRow.description">{{ nodeRow.description }}</el-tag> |
| | | <el-tag v-if="nodeRow.verRuleName" |
| | | :type="nodeRow.verRuleName === '0' ? 'warning' : nodeRow.revLevel === '1' ? '' : 'success'"> |
| | | {{ |
| | | nodeRow.verRuleName === '0' |
| | | ? '1.2.3...' |
| | | : nodeRow.revLevel === '1' |
| | | ? 'a.b.c...' |
| | | : '0.1.2...' |
| | | }} |
| | | </el-tag> |
| | | </el-descriptions-item> |
| | | |
| | | </el-descriptions> |
| | | </div> |
| | | <div class="descBox"> |
| | | <el-descriptions :column="1" border class="margin-top" size="medium" title="属性信息"> |
| | | <el-descriptions :column="1" border class="margin-top" size="medium" title="生命周期"> |
| | | <el-descriptions-item :contentStyle="descriptionOption.contentStyle" |
| | | :labelStyle="descriptionOption.labelStyle"> |
| | | <template slot="label"> |
| | | <i :class="icons.name"></i> |
| | | 名称 |
| | | 生命周期 |
| | | </template> |
| | | <el-tag v-if="nodeRow.name">{{ nodeRow.name }}</el-tag> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item :contentStyle="descriptionOption.contentStyle" |
| | | :labelStyle="descriptionOption.labelStyle"> |
| | | <template slot="label"> |
| | | <i :class="icons.label"></i> |
| | | 标签 |
| | | </template> |
| | | <el-tag v-if="nodeRow.label">{{ nodeRow.label }}</el-tag> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item :contentStyle="descriptionOption.contentStyle" |
| | | :labelStyle="descriptionOption.labelStyle"> |
| | | <template slot="label"> |
| | | <i :class="icons.implClass"></i> |
| | | 实现类 |
| | | </template> |
| | | <el-tag v-if="nodeRow.implClass">{{ nodeRow.implClass }}</el-tag> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item :contentStyle="descriptionOption.contentStyle" |
| | | :labelStyle="descriptionOption.labelStyle"> |
| | | <template slot="label"> |
| | | <i :class="icons.desc"></i> |
| | | 描述 |
| | | </template> |
| | | <el-tag v-if="nodeRow.description">{{ nodeRow.description }}</el-tag> |
| | | <el-tag v-if="nodeRow.lifeCycle">{{ nodeRow.lifeCycle }}</el-tag> |
| | | </el-descriptions-item> |
| | | </el-descriptions> |
| | | </div> |
| | | </div> |
| | | |
| | | <div style="margin-top: 30px"> |
| | | <h3>属性列表</h3> |
| | | <avue-crud |
| | | :data="attrData" |
| | | :option="attrOption"> |
| | | </avue-crud> |
| | | </div> |
| | | </basic-container> |
| | | </el-main> |
| | | |
| | | <!-- 新增 && 编辑 --> |
| | | <el-dialog |
| | | v-dialogDrag |
| | | :title="title === 'add' ? '创建' : '修改'" |
| | | :visible.sync="visible" |
| | | append-to-body="true" |
| | | class="avue-dialog" |
| | | width="75%" |
| | | @close="addDialogClose"> |
| | | <el-form ref="form" :model="form" :rules="rules" label-width="90px"> |
| | | <div class="dialogForm"> |
| | | <div class="leftForm"> |
| | | <el-form-item label="类型名称:" prop="name"> |
| | | <el-input v-model="form.id" :readOnly="title === 'edit'"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="标签:"> |
| | | <el-input v-model="form.name"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="继承自:"> |
| | | <el-input v-model="form.name" :readOnly="title === 'edit'"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="实现类:"> |
| | | <el-input v-model="form.implClass"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="描述"> |
| | | <el-input v-model="form.description" :rows="2" type="textarea"></el-input> |
| | | </el-form-item> |
| | | </div> |
| | | <div class="centerForm"> |
| | | <el-form-item label="版本规则:" label-width="100px" prop="revLevel"> |
| | | <el-select v-model="form.revLevel"> |
| | | <el-option label="不可修订" value="0"></el-option> |
| | | <el-option label="采用一级版本管理" value="1"></el-option> |
| | | <el-option label="采用二级版本管理" value="2"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item v-if="form.revLevel !== '0'" label="版本号规则:" label-width="100px" prop="revLevel"> |
| | | <div style="display: flex;gap: 5px;align-items: center"> |
| | | <el-input v-model="form.revRuleName" :readOnly="true"></el-input> |
| | | <el-button plain size="small" style="margin-left: 5px;height: 30px" type="success" @click="versionAddHandler">添加</el-button> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item v-if="form.revLevel !== '0'" label="分隔符:" label-width="100px" prop="revLevel"> |
| | | <el-select v-model="form.delimiter" clearable> |
| | | <el-option label="." value="."></el-option> |
| | | <el-option label="-" value="-"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item v-if="form.revLevel !== '0' && form.revLevel !== '1'" label="版次号规则:" label-width="100px" |
| | | prop="revLevel"> |
| | | <el-select v-model="form.verRuleName" clearable> |
| | | <el-option label="1.2.3..." value="1.2.3..."></el-option> |
| | | <el-option label="a.b.c..." value="a.b.c..."></el-option> |
| | | <el-option label="0.1.2..." value="0.1.2..."></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </div> |
| | | <div class="rightForm"> |
| | | <el-form-item label="生命周期:" label-width="138px" prop="revLevel"> |
| | | <div style="display: flex;gap: 5px;align-items: center"> |
| | | <el-input v-model="form.lifeCycle" :readOnly="true"></el-input> |
| | | <el-button plain size="small" style="margin-left: 5px;height: 30px" type="success">添加</el-button> |
| | | </div> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="备选生命周期列表:" label-width="138px"> |
| | | <div style="display: flex; align-items: center"> |
| | | <div style="height: 200px; width: 280px; border: 1px solid #bdbbbb;overflow-y: auto"> |
| | | <!-- 内容 --> |
| | | <el-table |
| | | :data="bizFormData" |
| | | :show-header="false" |
| | | style="width: 100%"> |
| | | <el-table-column |
| | | align="center" |
| | | prop="name"> |
| | | </el-table-column> |
| | | <el-table-column |
| | | fixed="right" |
| | | label="操作" |
| | | width="60"> |
| | | <template slot-scope="scope"> |
| | | <el-button |
| | | size="small" |
| | | style="color:#F56C6C;" |
| | | type="text" |
| | | @click.native.prevent="bizTypeDeleteRow('form',scope.$index)"> |
| | | 移除 |
| | | </el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | <el-button plain size="mini" style="margin-left: 5px" type="success" |
| | | @click="FormItemReferChange('form')">添加 |
| | | </el-button> |
| | | |
| | | </div> |
| | | </el-form-item> |
| | | </div> |
| | | </div> |
| | | </el-form> |
| | | <div class="bottomForm"> |
| | | <h3>属性池列表</h3> |
| | | <avue-crud |
| | | :data="dialogAttrData" |
| | | :option="dialogAttrOption"> |
| | | <template slot="menuLeft"> |
| | | <el-button icon="el-icon-plus" size="small" type="primary" @click="addDialogClickHandler">创建</el-button> |
| | | </template> |
| | | </avue-crud> |
| | | </div> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="addDialogClose">取 消</el-button> |
| | | <el-button type="primary" @click="addDialogSavaHandler">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <el-dialog |
| | | v-dialogDrag |
| | | :visible.sync="attrPollDialogVisible" |
| | | append-to-body="true" |
| | | class="avue-dialog" |
| | | title="属性池" |
| | | width="60%" |
| | | @close="dialogAttrClose" |
| | | > |
| | | <avue-crud |
| | | :key="dialogAttrReload" |
| | | ref="dialogAttrCrud" |
| | | :data="dialogAttrSaveData" |
| | | :option="dialogAttrSaveOption" |
| | | :page.sync="attrPage" |
| | | :table-loading="dialogAttrLoading" |
| | | @selection-change="dialogAttrSelectChange" |
| | | @row-click="dialogAttrRowClickHandler" |
| | | @size-change="attrSizeChange" |
| | | @current-change="attrCurrentChange" |
| | | @search-change="attrHandleSearch" |
| | | @search-reset="attrHandleReset" |
| | | > |
| | | </avue-crud> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="dialogAttrClose">取 消</el-button> |
| | | <el-button type="primary" @click="dialogAttrAddClickHandler">确 定</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | |
| | | </el-container> |
| | | </template> |
| | | |
| | | <script> |
| | | import basicOption from '@/util/basic-option' |
| | | import {getBizTypes} from "@/api/modeling/businessType/api" |
| | | import {gridAttribute} from "@/api/modeling/attributePool/api"; |
| | | import func from "@/util/func"; |
| | | |
| | | export default { |
| | | name: "index", |
| | | data() { |
| | | return { |
| | | form:{ |
| | | |
| | | dialogAttrSelectList: [], |
| | | searchAttrParams: {}, |
| | | dialogAttrLoading: false, |
| | | dialogAttrReload: Math.random(), |
| | | attrPage: { |
| | | currentPage: 1, |
| | | pageSize: 30, |
| | | total: 0, |
| | | pageSizes: [30, 50, 100, 200], |
| | | }, |
| | | nodeRow:{}, |
| | | dialogAttrSaveOption: { |
| | | ...basicOption, |
| | | calcHeight: -60, |
| | | addBtn: false, |
| | | menu: false, |
| | | refreshBtn: false, |
| | | index: false, |
| | | highlightCurrentRow: true, |
| | | height: 450, |
| | | searchMenuSpan: 8, |
| | | column: [ |
| | | { |
| | | label: '属性名', |
| | | prop: 'id', |
| | | sortable: true, |
| | | search: true, |
| | | }, |
| | | { |
| | | label: '属性类型', |
| | | prop: 'attributeDataType', |
| | | sortable: true, |
| | | }, |
| | | { |
| | | label: '初始值', |
| | | prop: 'defaultValue', |
| | | sortable: true, |
| | | }, |
| | | { |
| | | label: '说明', |
| | | prop: 'description', |
| | | sortable: true, |
| | | overHidden: true |
| | | } |
| | | ] |
| | | }, |
| | | dialogAttrSaveData: [], |
| | | attrPollDialogVisible: false, |
| | | rules: [], |
| | | dialogAttrData: [], |
| | | dialogAttrOption: { |
| | | ...basicOption, |
| | | editBtn: false, |
| | | refreshBtn: false, |
| | | selection: false, |
| | | height: 210, |
| | | addBtn: false, |
| | | // index:false, |
| | | column: [ |
| | | { |
| | | label: '属性名', |
| | | prop: 'id', |
| | | sortable: true, |
| | | }, |
| | | { |
| | | label: '属性类型', |
| | | prop: 'attributeDataType', |
| | | sortable: true, |
| | | }, |
| | | { |
| | | label: '初始值', |
| | | prop: 'defaultValue', |
| | | sortable: true, |
| | | }, |
| | | { |
| | | label: '说明', |
| | | prop: 'description', |
| | | overHidden: true |
| | | } |
| | | ] |
| | | }, |
| | | title: '', |
| | | visible: false, |
| | | attrData: [], |
| | | attrOption: { |
| | | ...basicOption, |
| | | calcHeight: -40, |
| | | addBtn: false, |
| | | menu: false, |
| | | index: false, |
| | | selection: false, |
| | | refreshBtn: false, |
| | | column: [ |
| | | { |
| | | prop: 'id', |
| | | label: '属性名', |
| | | sortable: true |
| | | }, |
| | | { |
| | | prop: 'btmTypeId', |
| | | label: '业务类型', |
| | | sortable: true |
| | | }, |
| | | { |
| | | prop: 'attrDataType', |
| | | label: '属性类型', |
| | | sortable: true |
| | | }, |
| | | { |
| | | prop: 'defaultValue', |
| | | label: '默认值', |
| | | sortable: true |
| | | }, |
| | | { |
| | | prop: 'description', |
| | | label: '说明', |
| | | overHidden: true |
| | | } |
| | | ] |
| | | }, |
| | | form: {}, |
| | | nodeRow: {}, |
| | | treeOption: { |
| | | height: 'auto', |
| | | defaultExpandAll: false, |
| | | menu: false, |
| | | addBtn: false, |
| | | props: { |
| | | label: 'name', |
| | | value: 'name', |
| | | label: 'id', |
| | | value: 'id', |
| | | children: 'children' |
| | | } |
| | | }, |
| | | treeData: [], |
| | | descriptionOption: { |
| | | labelStyle: 'text-align:center;min-width:80px;', |
| | | contentStyle: 'width:200px;text-align:center;word-break;break-all;' |
| | | labelStyle: 'text-align:center;width:100px;', |
| | | contentStyle: 'max-width:200px;text-align:center;word-break;break-all;' |
| | | }, |
| | | icons: { |
| | | id: 'el-icon-finished', |
| | |
| | | this.getTreeList(); |
| | | }, |
| | | methods: { |
| | | //树表查询 |
| | | getTreeList() { |
| | | getBizTypes().then(res => { |
| | | const data = res.data.data.map(item => { |
| | |
| | | }, |
| | | |
| | | // 树点击 |
| | | nodeClick(row){ |
| | | console.log(row); |
| | | nodeClick(row) { |
| | | this.attrData = JSON.parse(row.attributes); |
| | | this.nodeRow = row; |
| | | }, |
| | | |
| | | // 创建按钮 |
| | | addClickHandler() { |
| | | this.title = 'add'; |
| | | this.visible = true; |
| | | }, |
| | | |
| | | // 对话框 属性池列表增加按钮 |
| | | addDialogClickHandler() { |
| | | this.dialogAttrLoading = true; |
| | | this.attrPollDialogVisible = true; |
| | | this.dialogAttrReload = Math.random(); // 强制刷新表格 解决表格错行 |
| | | this.getAttrDialogDta(); |
| | | }, |
| | | |
| | | // 查询属性池列表数据 |
| | | getAttrDialogDta() { |
| | | gridAttribute(this.attrPage.currentPage, this.attrPage.pageSize, this.searchAttrParams).then(res => { |
| | | const data = res.data.data; |
| | | this.dialogAttrSaveData = data; |
| | | this.attrPage.total = res.data.total; |
| | | this.dialogAttrLoading = false; |
| | | }).catch(err => { |
| | | this.$message.error(err); |
| | | }); |
| | | }, |
| | | |
| | | // 新增属性池列表关闭对话框 |
| | | dialogAttrClose() { |
| | | this.attrPollDialogVisible = false; |
| | | this.searchAttrParams = {}; |
| | | }, |
| | | |
| | | // 添加属性池表格选择框 |
| | | dialogAttrSelectChange(row) { |
| | | this.dialogAttrSelectList = row; |
| | | }, |
| | | |
| | | // 添加属性池 行点击 |
| | | dialogAttrRowClickHandler(row) { |
| | | |
| | | func.rowClickHandler( |
| | | row, |
| | | this.$refs.dialogAttrCrud, |
| | | this.attrLastIndex, |
| | | (newIndex) => { |
| | | this.attrLastIndex = newIndex; |
| | | }, |
| | | () => { |
| | | this.selectList = []; |
| | | } |
| | | ); |
| | | }, |
| | | |
| | | //添加属性池 条数 |
| | | attrSizeChange(val) { |
| | | this.attrPage.pageSize = val; |
| | | this.getAttrDialogDta() |
| | | }, |
| | | |
| | | //添加属性池 页码 |
| | | attrCurrentChange(val) { |
| | | this.attrPage.currentPage = val; |
| | | this.getAttrDialogDta(); |
| | | }, |
| | | |
| | | //添加属性池 搜索 |
| | | attrHandleSearch(params, done) { |
| | | if (func.isEmptyObject(params)) { |
| | | this.searchAttrParams = {}; |
| | | } else { |
| | | this.searchAttrParams = { |
| | | "conditionMap[id]": "*" + params.id + "*" |
| | | }; |
| | | } |
| | | |
| | | this.getAttrDialogDta(); |
| | | done(); |
| | | }, |
| | | |
| | | //添加属性池 清空搜索 |
| | | attrHandleReset() { |
| | | this.searchAttrParams = {}; |
| | | this.getAttrDialogDta(); |
| | | }, |
| | | |
| | | // 添加属性池 保存 |
| | | dialogAttrAddClickHandler() { |
| | | let hasDuplicate = false; |
| | | |
| | | // 先创建一个临时数组来存储不重复的项 |
| | | const newItems = []; |
| | | |
| | | this.dialogAttrSelectList.forEach(item => { |
| | | const exists = this.dialogAttrData.some(existingItem => existingItem.id === item.id); |
| | | |
| | | if (exists) { |
| | | hasDuplicate = true; |
| | | return; |
| | | } |
| | | |
| | | // 如果没有重复项,则将该项添加到临时数组中 |
| | | newItems.push({ |
| | | id: item.id, |
| | | attributeDataType: item.attributeDataType, |
| | | defaultValue: item.defaultValue, |
| | | description: item.description |
| | | }); |
| | | }); |
| | | |
| | | if (hasDuplicate) { |
| | | this.$message.error('请检查是否有添加重复项!'); |
| | | } else { |
| | | // 如果没有重复项,将新项添加到 dialogAttrData |
| | | this.dialogAttrData.push(...newItems); |
| | | this.attrPollDialogVisible = false; |
| | | } |
| | | }, |
| | | |
| | | // 版本规则管理添加 |
| | | versionAddHandler(){ |
| | | |
| | | } |
| | | } |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss" scoped> |
| | | ::v-deep { |
| | | .avue-dialog .el-dialog__body{ |
| | | padding: 20px 20px 0px 20px; // 上右下左 |
| | | margin-bottom: 10px !important; |
| | | } |
| | | |
| | | .el-scrollbar__wrap { |
| | | overflow: auto !important; |
| | | } |
| | |
| | | text-align: center; |
| | | padding-left: 4.5px; |
| | | } |
| | | .descBox{ |
| | | |
| | | .descBox { |
| | | width: 32%; |
| | | margin-left: 20px; |
| | | } |
| | | |
| | | .dialogForm { |
| | | display: flex; |
| | | justify-content: space-around; |
| | | } |
| | | |
| | | .dialogForm > div { |
| | | width: 29%; |
| | | border: 1px solid #eee; |
| | | padding: 25px 20px 5px 10px; /* 上 右 下 左 */ |
| | | box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2); /* 添加阴影效果 */ |
| | | } |
| | | |
| | | |
| | | </style> |