From 7407f7fd5b9d8e52edf4d1398eae710a0dd08ce9 Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期四, 15 八月 2024 16:01:47 +0800 Subject: [PATCH] 整合代码 --- Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue | 811 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 808 insertions(+), 3 deletions(-) diff --git a/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue b/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue index 767ed05..5506afe 100644 --- a/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue +++ b/Source/plt-web/plt-web-ui/src/views/modelingMenu/modeling/businessType/index.vue @@ -46,34 +46,555 @@ </div> </basic-container> </el-aside> + <el-main> + <basic-container> + <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"> + 鍚嶇О + </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"> + 瀹炵幇绫� + </template> + <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"> + 鎻忚堪 + </template> + <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-item :contentStyle="descriptionOption.contentStyle" + :labelStyle="descriptionOption.labelStyle"> + <template slot="label"> + 鐗堟湰瑙勫垯 + </template> + <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 v-if="nodeRow.revLevel !== '0'" :contentStyle="descriptionOption.contentStyle" + :labelStyle="descriptionOption.labelStyle"> + <template slot="label"> + 鐗堟湰鍙疯鍒� + </template> + <el-tag v-if="nodeRow.revisionRuleId">{{ nodeRow.revisionRuleId }}</el-tag> + </el-descriptions-item> + <el-descriptions-item v-if="nodeRow.revLevel !== '0'" :contentStyle="descriptionOption.contentStyle" + :labelStyle="descriptionOption.labelStyle"> + <template slot="label"> + 鍒嗛殧绗� + </template> + <el-tag v-if="nodeRow.delimiter">{{ nodeRow.delimiter }}</el-tag> + </el-descriptions-item> + <el-descriptions-item v-if="nodeRow.revLevel !== '0' && nodeRow.revLevel !== '1'" + :contentStyle="descriptionOption.contentStyle" + :labelStyle="descriptionOption.labelStyle"> + <template slot="label"> + 鐗堟鍙疯鍒� + </template> + <el-tag v-if="nodeRow.revisionRuleId" + :type="nodeRow.revisionRuleId === '0' ? 'warning' : nodeRow.revisionRuleId === '1' ? '' : 'success'"> + {{ + nodeRow.versionRule === '0' + ? '1.2.3...' + : nodeRow.versionRule === '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-item :contentStyle="descriptionOption.contentStyle" + :labelStyle="descriptionOption.labelStyle"> + <template slot="label"> + 鐢熷懡鍛ㄦ湡 + </template> + <el-tag v-if="nodeRow.lifeCycleId">{{ nodeRow.lifeCycleId }}</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.fName" :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="revisionRuleName"> + <div style="display: flex;gap: 5px;align-items: center"> + <el-input v-model="form.revisionRuleId" :readOnly="true"></el-input> + <el-button plain size="small" style="margin-left: 5px;height: 30px" type="success" @click="versionAddHandler">娣诲姞</el-button> + <el-switch + style="width: 300px" + v-model="form.inputRevisionFlag" + active-text="鎵嬪伐杈撳叆"> + </el-switch> + </div> + </el-form-item> + <el-form-item v-if="form.revLevel !== '0'" label="鍒嗛殧绗︼細" label-width="100px" prop="delimiter"> + <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.versionRule" 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.lifeCycleId" :readOnly="true"></el-input> + <el-button plain size="small" style="margin-left: 5px;height: 30px" type="success" @click="lifeAddHandler('input')">娣诲姞</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="dialogLifeTable" + :show-header="false" + style="width: 100%"> + <el-table-column + align="center" + prop="id"> + </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="dialogDeleteLifeTable(scope.$index)"> + 绉婚櫎 + </el-button> + </template> + </el-table-column> + </el-table> + </div> + <el-button plain size="mini" style="margin-left: 5px" type="success" + @click="lifeAddHandler('table')">娣诲姞 + </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-dialog + v-dialogDrag + :visible.sync="dialogVersionVisible" + append-to-body="true" + class="avue-dialog" + title="鐗堟湰鍙疯鍒�" + width="60%" + > + + <avue-crud + :key="dialogVersionKey" + ref="dialogAttrCrud" + :data="dialogVersionData" + :option="dialogVersionOption" + :table-loading="dialogVersionLoading" + @row-click="dialogVersionRowClick" + @search-change="versionHandleSearch" + @search-reset="versionHandleReset" + > + </avue-crud> + + <span slot="footer" class="dialog-footer"> + <el-button @click="dialogVersionVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="dialogVersionAddClickHandler">纭� 瀹�</el-button> + </span> + + </el-dialog> + + <!-- 鐢熷懡鍛ㄦ湡 --> + <el-dialog + v-dialogDrag + :visible.sync="dialogLfeVisible" + append-to-body="true" + class="avue-dialog" + title="鐢熷懡鍛ㄦ湡妯℃澘" + width="60%" + > + <avue-crud + :key="dialogLifeKey" + ref="dialogAttrCrud" + :data="dialogLifeData" + :option="dialogLifeOption" + :table-loading="dialogLifeLoading" + @row-click="dialogLifeRowClick" + @search-change="lifeHandleSearch" + @search-reset="lifeHandleReset" + > + </avue-crud> + <span slot="footer" class="dialog-footer"> + <el-button @click="dialogLfeVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="dialogLifeAddClickHandler">纭� 瀹�</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"; +import {getVersionRuleAllList} from "@/api/modeling/version/api"; +import {gridLifeCycle} from "@/api/modeling/lifeCycle/api"; export default { name: "index", data() { return { + dialogLifeDefalutData:[], // 鏌ヨ閲嶇疆榛樿鏁版嵁 + lifeType:'', + dialogLifeTable:[], + dialogLifeSaveRow:{}, + dialogLifeKey:Math.random(), + dialogLifeData:[], + dialogLifeOption:{ + ...basicOption, + addBtn:false, + selection:false, + refreshBtn:false, + menu:false, + height:450, + searchMenuSpan: 8, + highlightCurrentRow:true, + column:[ + { + label:'鐢熷懡鍛ㄦ湡妯℃澘鍚�', + prop:'id', + searchLabelWidth:120, + search:true + } + ] + }, + dialogLifeLoading:false, + dialogLfeVisible:false, + dialogVersionDefalutData:[], // 鏌ヨ閲嶇疆榛樿鏁版嵁 + dialogSwitchValue:false, + dialogVersionSaveRow:{}, + dialogVersionVisible:false, + dialogVersionKey:Math.random(), + dialogVersionData:[], + dialogVersionOption:{ + ...basicOption, + addBtn:false, + selection:false, + refreshBtn:false, + menu:false, + height:450, + searchMenuSpan: 8, + highlightCurrentRow:true, + // calcHeight: 100, + column:[ + { + label:'鐗堟湰鍙疯鍒�', + prop:'id', + searchLabelWidth:110, + search:true + } + ] + }, + dialogVersionLoading:false, + dialogAttrSelectList: [], + searchAttrParams: {}, + dialogAttrLoading: false, + dialogAttrReload: Math.random(), + attrPage: { + currentPage: 1, + pageSize: 30, + total: 0, + pageSizes: [30, 50, 100, 200], + }, + dialogAttrSaveOption: { + ...basicOption, + 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: { + id:'', // 绫诲瀷鍚嶇О + name:'', // 鏍囩 + fName:'', // 缁ф壙鑷� + implClass:'', // 瀹炵幇绫� + description:'', // 鎻忚堪 + revLevel:'', // 鐗堟湰瑙勫垯 + revisionRuleId:'',// 鐗堟湰鍙疯鍒� + inputRevisionFlag:'', // 鎵嬪伐杈撳叆 + versionRule:'', // 鐗堟鍙疯鍒� + lifeCycleId:'', // 鐢熷懡鍛ㄦ湡 + subLifeCycleId:'', // 鐢熷懡鍛ㄦ湡澶囬�夊垪琛� + }, + nodeRow: {}, treeOption: { height: 'auto', defaultExpandAll: false, menu: false, addBtn: false, props: { - label: 'name', - value: 'name', + label: 'id', + value: 'id', children: 'children' } }, - treeData: [] + treeData: [], + descriptionOption: { + labelStyle: 'text-align:center;width:100px;', + contentStyle: 'max-width:200px;text-align:center;word-break;break-all;' + }, + icons: { + id: 'el-icon-finished', + name: 'el-icon-tickets', + desc: 'el-icon-chat-line-square' + }, } }, created() { this.getTreeList(); }, methods: { + //鏍戣〃鏌ヨ getTreeList() { getBizTypes().then(res => { const data = res.data.data.map(item => { @@ -81,13 +602,278 @@ }); this.treeData = data; }) + }, + + // 鏍戠偣鍑� + 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(); // 寮哄埗鍒锋柊琛ㄦ牸 瑙e喅琛ㄦ牸閿欒 + 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(){ + this.dialogVersionVisible = true; + this.dialogVersionKey = Math.random(); // 鎵撳紑鏃跺埛鏂拌〃鏍奸伩鍏嶈〃鏍奸敊琛� + this.dialogVersionLoading = true; + getVersionRuleAllList().then(res => { + const data = res.data.data.map(item => { + return { + id:item.id + } + }); + this.dialogVersionData = data; + this.dialogVersionDefalutData = data; + this.dialogVersionLoading = false; + }).catch(err => { + this.$message.error(err) + }); + }, + + // 鐗堟湰瑙勫垯琛岀偣鍑� + dialogVersionRowClick(row){ + this.dialogVersionSaveRow = row; + }, + + // 鐗堟湰瑙勫垯鎼滅储 + versionHandleSearch(params,done){ + const {id} = params; + + if (!params.id) { + this.dialogVersionData = this.dialogVersionDefalutData; + return done(); + } + ; + + this.dialogVersionData = this.dialogVersionDefalutData.filter(item => { + return item.id && item.id.includes(id); + }); + + done(); + + }, + + // 鐗堟湰绠$悊缃┖ + versionHandleReset(){ + this.dialogVersionData = this.dialogVersionDefalutData; + }, + + // 鐗堟湰瑙勫垯淇濆瓨 + dialogVersionAddClickHandler(){ + if(func.isEmptyObject(this.dialogVersionSaveRow)){ + this.$message.error('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�'); + return; + } + this.form.revRuleName = this.dialogVersionSaveRow.id; + this.dialogVersionVisible = false; + }, + + // 鐢熷懡鍛ㄦ湡鏂板 + lifeAddHandler(val){ + this.dialogLfeVisible = true; + this.dialogLifeKey = Math.random(); // 鎵撳紑鏃跺埛鏂拌〃鏍奸伩鍏嶈〃鏍奸敊琛� + this.dialogLifeLoading = true; + this.lifeType = val; + gridLifeCycle().then(res => { + const data = res.data.data.map(item => { + return { + id:item.id + } + }); + this.dialogLifeData = data; + this.dialogLifeDefalutData = data; + this.dialogLifeLoading = false + }).catch(err => { + this.$message.error(err) + }); + }, + + // 鐢熷懡鍛ㄦ湡琛岀偣鍑� + dialogLifeRowClick(row){ + this.dialogLifeSaveRow = row; + }, + + // 鐢熷懡鍛ㄦ湡淇濆瓨 + dialogLifeAddClickHandler(){ + if(func.isEmptyObject(this.dialogLifeSaveRow)){ + this.$message.error('璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�'); + return; + } + if(this.lifeType === 'input'){ + this.form.lifeCycle = this.dialogLifeSaveRow.id; + }else { + const flag = this.dialogLifeTable.some(item => item.id === this.dialogLifeSaveRow.id); + + if (flag) { + this.$message.error('宸插瓨鍦ㄧ浉鍚岀殑鏁版嵁锛岃娣诲姞鍏朵粬鏁版嵁'); + return; + } + this.dialogLifeTable.push(this.dialogLifeSaveRow); + } + this.dialogLfeVisible = false; + }, + + // 鐢熷懡鍛ㄦ湡澶囬�夊垪琛ㄧЩ闄� + dialogDeleteLifeTable(index){ + this.dialogLifeTable.splice(index,1) + }, + + // 鐢熷懡鍛ㄦ湡鎼滅储 + lifeHandleSearch(params,done){ + const {id} = params; + + if (!params.id) { + this.dialogLifeData = this.dialogLifeDefalutData; + return done(); + } + ; + + this.dialogLifeData = this.dialogLifeDefalutData.filter(item => { + return item.id && item.id.includes(id); + }); + + done(); + + }, + + // 鐢熷懡鍛ㄦ湡閲嶇疆 + lifeHandleReset(){ + this.dialogLifeData = this.dialogLifeDefalutData; + }, + + // 鏂板缂栬緫淇濆瓨 + addDialogSavaHandler(){ + console.log(this.form) } + } } </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; } @@ -140,4 +926,23 @@ text-align: center; padding-left: 4.5px; } + +.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> -- Gitblit v1.9.3