| | |
| | | <el-button icon="el-icon-plus" size="small" type="primary" @click="rowSaveHandlerClick">å建</el-button> |
| | | <el-button icon="el-icon-delete" plain size="small" type="danger" @click="allDelHandler">å é¤</el-button> |
| | | <el-button icon="el-icon-view" plain size="small" type="primary" @click="chekView">æ¥ç使ç¨èå´</el-button> |
| | | <el-button icon="el-icon-download" plain size="small" type="primary" @click="downloadTemplateHandler">ä¸è½½å¯¼å
¥æ¨¡æ¿ |
| | | </el-button> |
| | | <el-button icon="el-icon-upload2" plain size="small" type="primary" @click="upLoadHandler">导å
¥</el-button> |
| | | <el-button icon="el-icon-download" plain size="small" type="primary" @click="downLoadHandler">导åº</el-button> |
| | | </template> |
| | | |
| | | <template slot="menu" slot-scope="scope"> |
| | |
| | | </avue-crud> |
| | | </basic-container> |
| | | </el-main> |
| | | |
| | | <!-- å³ä¾§ä¿¡æ¯ --> |
| | | <el-aside width="30%"> |
| | | <basic-container> |
| | | <div style="height: 85vh; overflow-y: auto"> |
| | |
| | | </el-descriptions-item> |
| | | <el-descriptions-item> |
| | | <template slot="label"> |
| | | æä¸¾ç±»å |
| | | å½åæä¸¾ç±»å |
| | | </template> |
| | | {{ lastItem.enumId }} |
| | | </el-descriptions-item> |
| | |
| | | <template slot="label"> |
| | | ä½¿ç¨æä¸¾ |
| | | </template> |
| | | <el-tag :type="lastItem.enumId ? 'success' : 'danger'"> |
| | | {{ lastItem.enumId ? 'æ¯' : 'å¦' }} |
| | | <el-tag :type="lastItem.enumFlag ? 'success' : 'danger'"> |
| | | {{ lastItem.enumFlag ? 'æ¯' : 'å¦' }} |
| | | </el-tag> |
| | | </el-descriptions-item> |
| | | <el-descriptions-item> |
| | | <template slot="label"> |
| | | æä¸¾ç±»å |
| | | </template> |
| | | {{ lastItem.enumId }} |
| | | {{ lastItem.enumFlag }} |
| | | </el-descriptions-item> |
| | | <el-descriptions-item> |
| | | <template slot="label"> |
| | |
| | | </div> |
| | | </basic-container> |
| | | </el-aside> |
| | | <!-- æ°å¢å¯¹è¯æ¡ --> |
| | | <el-dialog |
| | | v-dialogDrag |
| | | v-loading="addLoading" |
| | | :title="dialogTitle === 'add' ? 'å建' : 'ç¼è¾'" |
| | | :visible.sync="addVisible" |
| | | append-to-body="true" |
| | | class="avue-dialog" |
| | | width="65%" |
| | | @close="addEscHandler" |
| | | > |
| | | <el-form ref="form" :model="form" :rules="rules" label-width="120px"> |
| | | <el-row> |
| | | <div class="addDialog"> |
| | | <div> |
| | | |
| | | <h3>屿§é¡¹</h3> |
| | | |
| | | <el-col :span="12"> |
| | | <el-form-item label="åç§°ï¼" prop="id"> |
| | | <el-input v-model="form.id"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="æ ç¾ï¼" prop="name"> |
| | | <el-input v-model="form.name"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="屿§ç±»åï¼" prop="attributeDataType"> |
| | | <el-select v-model="form.attributeDataType" placeholder="è¯·éæ©å±æ§ç±»å" @change="attributeDataTypeChange"> |
| | | <el-option v-for="item in typeSelectList" :label="item" :value="item"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="æè¿°ï¼" prop="description"> |
| | | <el-input v-model="form.description" :rows="2" type="textarea"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | </div> |
| | | <div v-if="!hideType" class="addDialogBottom"> |
| | | <div class="left"> |
| | | <h3>{{ form.attributeDataType }}</h3> |
| | | |
| | | <el-form-item |
| | | v-if="form.attributeDataType !== 'VTInteger' && form.attributeDataType !== 'VTLong' |
| | | && form.attributeDataType !== 'VTDouble' && form.attributeDataType !== 'VTBoolean'" |
| | | label="é¿åº¦ï¼" prop="attrLength"> |
| | | <el-input v-model="form.attrLength"></el-input> |
| | | </el-form-item> |
| | | |
| | | <el-form-item v-if="form.attributeDataType === 'VTDouble'" label="精度ï¼" prop="precisionLength"> |
| | | <el-input v-model="form.precisionLength"></el-input> |
| | | </el-form-item> |
| | | |
| | | <el-form-item v-if="form.attributeDataType === 'VTDouble'" label="é¿åº¦ï¼" prop="scaleLength"> |
| | | <el-input v-model="form.scaleLength"></el-input> |
| | | </el-form-item> |
| | | |
| | | |
| | | <el-form-item v-if="form.attributeDataType !== 'VTBoolean' && !form.enumSwitch" label="é»è®¤å¼ï¼" |
| | | prop="defaultValue"> |
| | | <el-input v-model="form.defaultValue"></el-input> |
| | | </el-form-item> |
| | | |
| | | <el-form-item v-if="form.attributeDataType === 'VTBoolean'" label="é»è®¤å¼ï¼" prop="defaultValue"> |
| | | <el-select v-model="form.defaultValue"> |
| | | <el-option label="false" value="false"></el-option> |
| | | <el-option label="true" value="true"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | <el-form-item v-if="form.attributeDataType !== 'VTBoolean' && form.enumSwitch" label="é»è®¤å¼ï¼" |
| | | prop="defaultValue"> |
| | | <el-select v-model="form.defaultValue"> |
| | | <el-option v-for="(item,index) in rangeOptionValue" :key="index" :label="item" |
| | | :value="item"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="å
许为空ï¼" prop="nullableFlag"> |
| | | <el-switch v-model="form.nullableFlag"></el-switch> |
| | | </el-form-item> |
| | | |
| | | </div> |
| | | <el-divider direction="vertical"></el-divider> |
| | | <!-- VTString --> |
| | | <div v-if="form.attributeDataType === 'VTString'" class="right"> |
| | | <h3>å¼å</h3> |
| | | <el-form-item label="å½åå¼åç±»åï¼" prop="attributeSelectType"> |
| | | <el-select v-model="form.attributeSelectType" placeholder="è¯·éæ©å±æ§ç±»å" |
| | | @change="attributeSelectTypeChange"> |
| | | <el-option label="ä¸å¡ç±»å" value="business"></el-option> |
| | | <el-option label="龿¥ç±»å" value="link"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | <el-form-item v-if="form.attributeSelectType === 'link'" label="çæ¬æ¬¡ï¼" prop="version"> |
| | | <el-select v-model="form.version" placeholder="è¯·éæ©çæ¬æ¬¡"> |
| | | <el-option :value="1" label="å½åçæ¬æ¬¡"></el-option> |
| | | <el-option :value="3" label="ææ°çæ¬æ¬¡"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="éæ©åç
§ç±»åï¼" prop="referValue"> |
| | | <el-input v-model="form.referValue" @focus="referFormFocusHandler"></el-input> |
| | | </el-form-item> |
| | | |
| | | <span v-if="!form.referValue"> |
| | | <el-form-item label="ä½¿ç¨æä¸¾ï¼" prop="enumSwitch"> |
| | | <el-switch v-model="form.enumSwitch" @change="switchEnumChange"></el-switch> |
| | | </el-form-item> |
| | | |
| | | |
| | | <el-form-item :label="form.enumSwitch ? 'æä¸¾éæ©ï¼' : 'æ·»å æä¸¾å¼ï¼'" prop="enumSwitch"> |
| | | <el-select v-if="form.enumSwitch" v-model="form.enumId" placeholder="è¯·éæ©æä¸¾ç±»å" |
| | | @change="enumSelectChange"> |
| | | <el-option v-for="(item,index) in attributeDataTypePickList" :key="index" :label="item.key" |
| | | :value="item.key"></el-option> |
| | | </el-select> |
| | | <el-input v-if="!form.enumSwitch" v-model="form.enumAddValue"> |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item v-if="!form.enumSwitch" label="è¿ç®ç¬¦ï¼"> |
| | | <div> |
| | | <el-button size="mini" @click="enumAddHandler"> = </el-button> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="å½åæä¸¾å¼ï¼" prop="rangeValue"> |
| | | <textarea v-model="form.rangeValue" |
| | | style="width: 330px; height: 80px; border: 1px solid #DCDFE6; overflow: auto; text-align: left;resize: none;"> |
| | | </textarea> |
| | | </el-form-item> |
| | | </span> |
| | | </div> |
| | | <!-- VTInteger VTLong --> |
| | | <div v-if="form.attributeDataType === 'VTInteger' || form.attributeDataType === 'VTLong' " class="right"> |
| | | <h3>å¼å</h3> |
| | | |
| | | <el-form-item label="ä½¿ç¨æä¸¾ï¼" prop="enumSwitch"> |
| | | <el-switch v-model="form.enumSwitch" @change="switchEnumChange"></el-switch> |
| | | </el-form-item> |
| | | |
| | | |
| | | <el-form-item :label="form.enumSwitch ? 'æä¸¾éæ©ï¼' : 'æ·»å æä¸¾å¼ï¼'" prop="enumSwitch"> |
| | | <el-select v-if="form.enumSwitch" v-model="form.enumId" placeholder="è¯·éæ©æä¸¾ç±»å" |
| | | @change="enumSelectChange"> |
| | | <el-option v-for="(item,index) in attributeDataTypePickList" :key="index" :label="item.key" |
| | | :value="item.key"></el-option> |
| | | </el-select> |
| | | <el-input v-if="!form.enumSwitch" v-model="form.enumAddValue"> |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item v-if="!form.enumSwitch" label="è¿ç®ç¬¦ï¼"> |
| | | <div> |
| | | <el-button size="mini" @click="operationHandler('>')"> > </el-button> |
| | | <el-button size="mini" @click="operationHandler('<')"> < </el-button> |
| | | <el-button size="mini" @click="operationHandler('>=')"> >= </el-button> |
| | | <el-button size="mini" @click="operationHandler('<=')"> <= </el-button> |
| | | <el-button size="mini" @click="operationHandler('=')"> = </el-button> |
| | | <el-button size="mini" @click="operationHandler('!=')"> != </el-button> |
| | | <el-button size="mini" @click="operationHandler('()')"> () </el-button> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="å½åæä¸¾å¼ï¼" prop="rangeValue"> |
| | | <textarea v-model="form.rangeValue" |
| | | style="width: 330px; height: 80px; border: 1px solid #DCDFE6; overflow: auto; text-align: left;resize: none;"> |
| | | </textarea> |
| | | </el-form-item> |
| | | </div> |
| | | <!-- VTDouble --> |
| | | <div v-if="form.attributeDataType === 'VTDouble'" class="right"> |
| | | <h3>å¼å</h3> |
| | | <el-form-item label="æ·»å æä¸¾å¼ï¼" prop="enumAddValue"> |
| | | <el-input v-model="form.enumAddValue"> |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="è¿ç®ç¬¦ï¼"> |
| | | <div> |
| | | <el-button size="mini" @click="operationHandler('>')"> > </el-button> |
| | | <el-button size="mini" @click="operationHandler('<')"> < </el-button> |
| | | <el-button size="mini" @click="operationHandler('>=')"> >= </el-button> |
| | | <el-button size="mini" @click="operationHandler('<=')"> <= </el-button> |
| | | <el-button size="mini" @click="operationHandler('=')"> = </el-button> |
| | | <el-button size="mini" @click="operationHandler('!=')"> != </el-button> |
| | | <el-button size="mini" @click="operationHandler('()')"> () </el-button> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="å½åæä¸¾å¼ï¼" prop="rangeValue"> |
| | | <textarea v-model="form.rangeValue" |
| | | style="width: 330px; height: 80px; border: 1px solid #DCDFE6; overflow: auto; text-align: left;resize: none;"> |
| | | </textarea> |
| | | </el-form-item> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </el-row> |
| | | </el-form> |
| | | |
| | | <!-- ä¸å¡ç±»åå¯¹è¯æ¡ --> |
| | | <el-dialog |
| | | v-dialogDrag |
| | | :visible.sync="businessVisible" |
| | | append-to-body="true" |
| | | class="avue-dialog" |
| | | title="ä¸å¡ç±»åéæ©" |
| | | width="70%" |
| | | > |
| | | <avue-crud |
| | | ref="businessCrud" |
| | | :data="businessData" |
| | | :option="businessOption" |
| | | :table-loading="businessLoading" |
| | | @search-change="businessHandleSearch" |
| | | @search-reset="businessHandleReset" |
| | | @row-click="businessRowClick" |
| | | > |
| | | </avue-crud> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="businessEmpty">æ¸
空</el-button> |
| | | <el-button @click="businessVisible = false">å æ¶</el-button> |
| | | <el-button type="primary" @click="businessSaveHandler">ç¡® å®</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | |
| | | <!-- 龿¥ç±»åå¯¹è¯æ¡ --> |
| | | <el-dialog |
| | | v-dialogDrag |
| | | :visible.sync="linkTypeVisible" |
| | | append-to-body="true" |
| | | class="avue-dialog" |
| | | title="龿¥ç±»åéæ©" |
| | | width="70%" |
| | | > |
| | | <avue-crud |
| | | ref="linkTypeCrud" |
| | | :data="linkTypeData" |
| | | :option="linkTypeOption" |
| | | :table-loading="linkTypeLoading" |
| | | @search-change="linkHandleSearch" |
| | | @search-reset="linkHandleReset" |
| | | @row-click="linkRowClick" |
| | | > |
| | | </avue-crud> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="linkEmpty">æ¸
空</el-button> |
| | | <el-button @click="linkTypeVisible = false">å æ¶</el-button> |
| | | <el-button type="primary" @click="linkSaveHandler">ç¡® å®</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <span slot="footer" class="dialog-footer"> |
| | | <el-button @click="addEscHandler">å æ¶</el-button> |
| | | <el-button type="primary" @click="addSaveHandler">ç¡® å®</el-button> |
| | | </span> |
| | | </el-dialog> |
| | | <!--导å
¥ --> |
| | | <upload-file ref="upload" :fileType="upFileType" :fileUrl="fileUrl" :tipList="tipList" title="导å
¥" |
| | | @updata="getTableList"></upload-file> |
| | | <!-- æ¥ç使ç¨èå´ --> |
| | | <el-dialog |
| | | v-dialogDrag |
| | |
| | | |
| | | </avue-crud> |
| | | </el-dialog> |
| | | |
| | | <!-- æ°å¢å¯¹è¯æ¡ --> |
| | | <el-dialog |
| | | v-dialogDrag |
| | | v-loading="addLoading" |
| | | :visible.sync="addVisible" |
| | | append-to-body="true" |
| | | class="avue-dialog" |
| | | title="å建" |
| | | width="65%" |
| | | > |
| | | <el-form ref="form" :model="form" :rules="rules" label-width="120px"> |
| | | <el-row> |
| | | <div class="addDialog"> |
| | | <div> |
| | | |
| | | <h3>屿§é¡¹</h3> |
| | | |
| | | <el-col :span="12"> |
| | | <el-form-item label="åç§°ï¼" prop="id"> |
| | | <el-input v-model="form.id"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="æ ç¾ï¼"> |
| | | <el-input v-model="form.name"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="屿§ç±»åï¼"> |
| | | <el-select v-model="form.attributeDataType" placeholder="è¯·éæ©å±æ§ç±»å" @change="attributeDataTypeChange"> |
| | | <el-option v-for="item in typeSelectList" :label="item" :value="item"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="æè¿°ï¼"> |
| | | <el-input v-model="form.description" :rows="2" type="textarea"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | |
| | | </div> |
| | | <div v-if="!hideType" class="addDialogBottom"> |
| | | <div class="left"> |
| | | <h3>{{ form.attributeDataType }}</h3> |
| | | |
| | | <el-form-item |
| | | v-if="form.attributeDataType !== 'VTInteger' && form.attributeDataType !== 'VTLong' |
| | | && form.attributeDataType !== 'VTDouble' && form.attributeDataType !== 'VTBoolean'" |
| | | label="é¿åº¦ï¼"> |
| | | <el-input v-model="form.attrLength"></el-input> |
| | | </el-form-item> |
| | | |
| | | <el-form-item v-if="form.attributeDataType === 'VTDouble'" label="精度ï¼"> |
| | | <el-input v-model="form.precisionLength"></el-input> |
| | | </el-form-item> |
| | | |
| | | <el-form-item v-if="form.attributeDataType === 'VTDouble'" label="é¿åº¦ï¼"> |
| | | <el-input v-model="form.scaleLength"></el-input> |
| | | </el-form-item> |
| | | |
| | | |
| | | <el-form-item v-if="form.attributeDataType !== 'VTBoolean'" label="é»è®¤å¼ï¼"> |
| | | <el-input v-model="form.defaultValue"></el-input> |
| | | </el-form-item> |
| | | |
| | | <el-form-item v-if="form.attributeDataType === 'VTBoolean'" label="é»è®¤å¼ï¼"> |
| | | <el-select> |
| | | <el-option label="false" value="false"></el-option> |
| | | <el-option label="true" value="true"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="å
许为空ï¼"> |
| | | <el-switch v-model="form.nullableFlag"></el-switch> |
| | | </el-form-item> |
| | | |
| | | </div> |
| | | <el-divider direction="vertical"></el-divider> |
| | | <!-- VTString --> |
| | | <div v-if="form.attributeDataType === 'VTString'" class="right"> |
| | | <h3>å¼å</h3> |
| | | <el-form-item label="å½åå¼åç±»åï¼"> |
| | | <el-select v-model="form.attributeSelectType" placeholder="è¯·éæ©å±æ§ç±»å" @change="attributeSelectTypeChange"> |
| | | <el-option label="ä¸å¡ç±»å" value="business"></el-option> |
| | | <el-option label="龿¥ç±»å" value="link"></el-option> |
| | | </el-select> |
| | | </el-form-item> |
| | | |
| | | |
| | | <el-form-item label="éæ©åç
§ç±»åï¼"> |
| | | <el-input v-model="form.attrLength"></el-input> |
| | | </el-form-item> |
| | | |
| | | |
| | | <el-form-item label="ä½¿ç¨æä¸¾ï¼"> |
| | | <el-switch v-model="form.enumSwitch" @change="switchEnumChange"></el-switch> |
| | | </el-form-item> |
| | | |
| | | |
| | | <el-form-item :label="form.enumSwitch ? 'æä¸¾éæ©ï¼' : 'æ·»å æä¸¾å¼ï¼'"> |
| | | <el-select v-if="form.enumSwitch" v-model="form.attributeDataTypePick" placeholder="è¯·éæ©æä¸¾ç±»å" |
| | | @change="enumSelectChange"> |
| | | <el-option v-for="(item,index) in attributeDataTypePickList" :key="index" :label="item.key" |
| | | :value="item.key"></el-option> |
| | | </el-select> |
| | | <el-input v-if="!form.enumSwitch" v-model="form.enumAddValue"> |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item v-if="!form.enumSwitch" label="è¿ç®ç¬¦ï¼"> |
| | | <div> |
| | | <el-button size="mini" @click="enumAddHandler"> =</el-button> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="å½åæä¸¾å¼ï¼"> |
| | | <textarea v-model="form.range" |
| | | style="width: 330px; height: 80px; border: 1px solid #DCDFE6; overflow: auto; text-align: left;resize: none;"> |
| | | </textarea> |
| | | </el-form-item> |
| | | </div> |
| | | <!-- VTInteger VTLong --> |
| | | <div v-if="form.attributeDataType === 'VTInteger' || form.attributeDataType === 'VTLong' " class="right"> |
| | | <h3>å¼å</h3> |
| | | |
| | | <el-form-item label="ä½¿ç¨æä¸¾ï¼"> |
| | | <el-switch v-model="form.enumSwitch" @change="switchEnumChange"></el-switch> |
| | | </el-form-item> |
| | | |
| | | |
| | | <el-form-item :label="form.enumSwitch ? 'æä¸¾éæ©ï¼' : 'æ·»å æä¸¾å¼ï¼'"> |
| | | <el-select v-if="form.enumSwitch" v-model="form.attributeDataTypePick" placeholder="è¯·éæ©æä¸¾ç±»å" |
| | | @change="enumSelectChange"> |
| | | <el-option v-for="(item,index) in attributeDataTypePickList" :key="index" :label="item.key" |
| | | :value="item.key"></el-option> |
| | | </el-select> |
| | | <el-input v-if="!form.enumSwitch" v-model="form.enumAddValue"> |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item v-if="!form.enumSwitch" label="è¿ç®ç¬¦ï¼"> |
| | | <div> |
| | | <el-button size="mini"> ></el-button> |
| | | <el-button size="mini"> <</el-button> |
| | | <el-button size="mini"> >=</el-button> |
| | | <el-button size="mini"> <=</el-button> |
| | | <el-button size="mini"> =</el-button> |
| | | <el-button size="mini"> !=</el-button> |
| | | <el-button size="mini"> ( )</el-button> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="å½åæä¸¾å¼ï¼"> |
| | | <textarea v-model="form.range" |
| | | style="width: 330px; height: 80px; border: 1px solid #DCDFE6; overflow: auto; text-align: left;resize: none;"> |
| | | </textarea> |
| | | </el-form-item> |
| | | </div> |
| | | <!-- VTDouble --> |
| | | <div v-if="form.attributeDataType === 'VTDouble'" class="right"> |
| | | <h3>å¼å</h3> |
| | | |
| | | |
| | | <el-form-item label="æ·»å æä¸¾å¼ï¼"> |
| | | <el-input v-model="form.enumAddValue"> |
| | | </el-input> |
| | | </el-form-item> |
| | | <el-form-item label="è¿ç®ç¬¦ï¼"> |
| | | <div> |
| | | <el-button size="mini"> ></el-button> |
| | | <el-button size="mini"> <</el-button> |
| | | <el-button size="mini"> >=</el-button> |
| | | <el-button size="mini"> <=</el-button> |
| | | <el-button size="mini"> =</el-button> |
| | | <el-button size="mini"> !=</el-button> |
| | | <el-button size="mini"> ( )</el-button> |
| | | </div> |
| | | </el-form-item> |
| | | <el-form-item label="å½åæä¸¾å¼ï¼"> |
| | | <textarea v-model="form.range" |
| | | style="width: 330px; height: 80px; border: 1px solid #DCDFE6; overflow: auto; text-align: left;resize: none;"> |
| | | </textarea> |
| | | </el-form-item> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </el-row> |
| | | </el-form> |
| | | </el-dialog> |
| | | </el-container> |
| | | </template> |
| | | |
| | | <script> |
| | | import {gridAttribute, getUsedAttributeList, getEnumMapByType} from "@/api/modeling/attributePool/api"; |
| | | import { |
| | | gridAttribute, |
| | | getUsedAttributeList, |
| | | getEnumMapByType, |
| | | deleteAttributes, |
| | | download, |
| | | downloadAttributeTemplate, |
| | | getBizTypes, |
| | | getAllLtName, |
| | | addAttribute, |
| | | updateAttribute |
| | | } from "@/api/modeling/attributePool/api"; |
| | | import basicOption from '@/util/basic-option'; |
| | | import {column} from "./option" |
| | | import func from "@/util/func"; |
| | | |
| | | export default { |
| | | name: "index", |
| | | data() { |
| | | return { |
| | | rules: { |
| | | id: [ |
| | | {required: true, message: '请è¾å
¥åç§°', trigger: 'blur'}, |
| | | {pattern: /^[a-zA-Z]+$/, message: 'åªè½è¾å
¥è±æå符', trigger: 'blur'} |
| | | ] |
| | | }, |
| | | dialogTitle: "", |
| | | businessRow: {}, |
| | | linkRow: {}, |
| | | linkDataSearch: [], |
| | | businessSearchParams: {}, |
| | | linkTypeSearchParams: {}, |
| | | businessLoading: false, |
| | | linkTypeLoading: false, |
| | | businessVisible: false, |
| | | linkTypeVisible: false, |
| | | businessData: [], |
| | | linkTypeData: [], |
| | | businessOption: { |
| | | ...basicOption, |
| | | addBtn: false, |
| | | menu: false, |
| | | searchMenuSpan: 8, |
| | | selection: false, |
| | | refreshBtn: false, |
| | | searchLabelWidth: 100, |
| | | highlightCurrentRow: true, |
| | | column: [ |
| | | { |
| | | label: 'ä¸å¡ç±»åå', |
| | | prop: 'name', |
| | | sortable: true, |
| | | search: true |
| | | }, |
| | | { |
| | | label: 'æ ç¾', |
| | | prop: 'label', |
| | | sortable: true, |
| | | }, |
| | | { |
| | | label: 'ç¶ç±»', |
| | | prop: 'fName', |
| | | sortable: true, |
| | | }, |
| | | { |
| | | label: 'çæ¬è§å', |
| | | prop: 'revRuleName', |
| | | sortable: true, |
| | | }, |
| | | { |
| | | label: 'çå½å¨æ', |
| | | prop: 'lifeCycle', |
| | | sortable: true, |
| | | }, |
| | | ] |
| | | }, |
| | | linkTypeOption: { |
| | | ...basicOption, |
| | | addBtn: false, |
| | | menu: false, |
| | | searchMenuSpan: 8, |
| | | selection: false, |
| | | refreshBtn: false, |
| | | searchLabelWidth: 100, |
| | | highlightCurrentRow: true, |
| | | column: [ |
| | | { |
| | | label: '龿¥ç±»åå', |
| | | prop: 'name', |
| | | sortable: true, |
| | | search: true |
| | | }, |
| | | ] |
| | | }, |
| | | tableData: [], |
| | | option: { |
| | | ...basicOption, |
| | |
| | | description: "", |
| | | nullableFlag: true, |
| | | attrLength: 50, |
| | | enumId: false, |
| | | enumFlag: false, |
| | | enumId: "", |
| | | enumSwitch: false, |
| | | attributeDataTypePick: "", |
| | | enumAddValue: '', |
| | | range: '' |
| | | enumAddValue: "", |
| | | range: "", |
| | | attributeSelectType: "business", |
| | | version: 1, |
| | | defaultValue: "", |
| | | referValue: "", |
| | | btmTypeId: "", |
| | | linkTypeName: "", |
| | | rangeValue: "" |
| | | |
| | | }, |
| | | defaultForm: { |
| | | id: "", |
| | | name: "", |
| | | attributeDataType: "VTString", |
| | | description: "", |
| | | nullableFlag: true, |
| | | attrLength: 50, |
| | | enumId: false, |
| | | enumSwitch: false, |
| | | attributeDataTypePick: "", |
| | | enumAddValue: '', |
| | | range: '', |
| | | attributeSelectType:'business' |
| | | }, |
| | | rules: [], |
| | | typeSelectList: ['VTString', 'VTInteger', 'VTLong', 'VTDouble', 'VTBoolean', 'VTDate', 'VTTime', 'VTDateTime', 'VTNote', 'VTFilePath', 'VTClob'], |
| | | attributeDataTypePickList: [], |
| | | enumAddListChange: [] |
| | | enumAddListChange: [], |
| | | tipList: [ |
| | | "屿§åå屿§ç±»å为å¿
å¡«åæ®µï¼å¹¶ä¸å±æ§åä¸å¯åç³»ç»ä¸å·²æå±æ§åéå¤", |
| | | "å½å±æ§ç±»å为VTStringæ¶å±æ§é¿åº¦åå¿
å¡«ï¼ä¸ºå
¶ä»ç±»åæ¶ä¸å¿
å¡«å", |
| | | "åå¼èå´åå¡«åæ¶è¯·ç¨è±æ ; åéï¼ä¸å¡«åæ¶é»è®¤ä½¿ç¨å½åéä¸çæä¸¾çæææä¸¾é¡¹çå¼ä½ä¸ºåå¼èå´" |
| | | ], |
| | | upFileType: ['xls', 'xlsx'], |
| | | fileUrl: 'api/attributeController/importAttributes', |
| | | } |
| | | }, |
| | | computed: { |
| | |
| | | this.form.attributeDataType === 'VTClob' || |
| | | this.form.attributeDataType === 'VTDateTime' || |
| | | this.form.attributeDataType === 'VTFilePath'; |
| | | }, |
| | | rangeOptionValue() { |
| | | return this.form.rangeValue.split('\n') |
| | | } |
| | | }, |
| | | methods: { |
| | |
| | | }, |
| | | |
| | | // æç´¢ |
| | | handleSearch() { |
| | | |
| | | handleSearch(params, done) { |
| | | this.searchParams = { |
| | | "conditionMap[id]": "*" + params.id + "*" |
| | | }; |
| | | this.getTableList() |
| | | done(); |
| | | }, |
| | | |
| | | // éç½®æç´¢æ¡ä»¶ |
| | | handleReset() { |
| | | |
| | | this.searchParams = {}; |
| | | this.getTableList(); |
| | | }, |
| | | |
| | | // éæ©æ¡ |
| | |
| | | // ç¹å»è¡ |
| | | rowClickHandler(row) { |
| | | this.$refs.userCrud.toggleRowSelection(row); |
| | | console.log(row); |
| | | }, |
| | | |
| | | // æ¡æ° |
| | |
| | | // å建æå¼å¯¹è¯æ¡ |
| | | rowSaveHandlerClick() { |
| | | this.addVisible = true; |
| | | this.form = this.defaultForm; |
| | | this.dialogTitle = "add"; |
| | | this.getEnumMapByTypeHandler('VTString'); |
| | | }, |
| | | |
| | | allDelHandler() { |
| | | // è¡å é¤ |
| | | rowDeleteHandler(row) { |
| | | let params = { |
| | | oid: row.oid, |
| | | name: row.id, |
| | | ts: row.ts |
| | | }; |
| | | let data = [params]; |
| | | this.$confirm('æ¨ç¡®å®è¦å é¤å½åçæ°æ®åï¼', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | deleteAttributes(data).then(res => { |
| | | if (res.data.code === 200) { |
| | | this.$message.success(res.data.obj); |
| | | this.getTableList(); |
| | | } |
| | | }) |
| | | }).catch(() => { |
| | | this.$message({ |
| | | type: 'info', |
| | | message: '已忶å é¤' |
| | | }); |
| | | }); |
| | | }, |
| | | |
| | | // å¤éå é¤ |
| | | allDelHandler() { |
| | | if (this.selectList.length <= 0) { |
| | | this.$message.error('请è³å°éæ©ä¸æ¡æ°æ®è¿è¡å é¤ï¼') |
| | | return; |
| | | } |
| | | let data = this.selectList.map(item => { |
| | | return { |
| | | oid: item.oid, |
| | | name: item.id, |
| | | ts: item.ts |
| | | } |
| | | }) |
| | | this.$confirm('æ¨ç¡®å®è¦å é¤æéæ©çæ°æ®åï¼', 'æç¤º', { |
| | | confirmButtonText: 'ç¡®å®', |
| | | cancelButtonText: 'åæ¶', |
| | | type: 'warning' |
| | | }).then(() => { |
| | | deleteAttributes(data).then(res => { |
| | | if (res.data.code === 200) { |
| | | this.$message.success(res.data.obj); |
| | | this.getTableList(); |
| | | } |
| | | }) |
| | | }).catch(() => { |
| | | this.$message({ |
| | | type: 'info', |
| | | message: '已忶å é¤' |
| | | }); |
| | | }); |
| | | }, |
| | | |
| | | // æ¥ç使ç¨èå´ |
| | |
| | | this.checkViewData = this.checkViewDataSearch; |
| | | }, |
| | | |
| | | // è¡ç¼è¾æé® |
| | | editBtnClick(row) { |
| | | this.dialogTitle = "edit"; |
| | | this.form = {...row}; |
| | | |
| | | editBtnClick() { |
| | | if (row.enumId) this.form.enumSwitch = true; |
| | | this.form.rangeValue = row.range.replace(/;/g, '\n'); |
| | | |
| | | }, |
| | | if (row.btmTypeId) { |
| | | this.form.attributeSelectType = 'business' |
| | | this.form.referValue = row.btmTypeId; |
| | | } |
| | | if (row.linkTypeName) { |
| | | this.form.attributeSelectType = 'link' |
| | | this.form.referValue = row.linkTypeName; |
| | | } |
| | | |
| | | rowDeleteHandler() { |
| | | this.getEnumMapByTypeHandler(this.form.attributeDataType) |
| | | this.addVisible = true; |
| | | |
| | | }, |
| | | |
| | | // 屿§ç±»å䏿æ¡change |
| | | attributeDataTypeChange(val) { |
| | | this.form.rangeValue = null; |
| | | this.getEnumMapByTypeHandler(val); |
| | | this.form.enumSwitch = false; |
| | | if (val === 'VTBoolean') { |
| | | this.form.defaultValue = 'false'; |
| | | } else { |
| | | this.form.defaultValue = ''; |
| | | } |
| | | }, |
| | | |
| | | // 屿§ç±»åä¸ææ¡æ°æ®å¤ç |
| | |
| | | // ä½¿ç¨æä¸¾æ¶ æä¸¾éæ©ä¸ææ¡changeäºä»¶ |
| | | enumSelectChange(val) { |
| | | const list = this.attributeDataTypePickList.find(item => item.key === val).values; |
| | | this.form.range = list.join('\n'); |
| | | this.form.rangeValue = list.join('\n'); |
| | | this.form.defaultValue = list[0]; |
| | | }, |
| | | |
| | | // ä½¿ç¨æä¸¾switchæ»åchangeäºä»¶ |
| | | switchEnumChange(status) { |
| | | if (status) { |
| | | this.form.attributeDataTypePick = this.attributeDataTypePickList[0].key; |
| | | this.form.enumId = this.attributeDataTypePickList[0].key; |
| | | this.form.defaultValue = this.attributeDataTypePickList[0].values[0]; |
| | | const list = this.attributeDataTypePickList[0].values; |
| | | this.form.range = list.join('\n'); |
| | | this.form.rangeValue = list.join('\n'); |
| | | } else { |
| | | this.form.range = ""; |
| | | this.form.defaultValue = ""; |
| | | this.form.rangeValue = ""; |
| | | this.enumId = ""; |
| | | } |
| | | }, |
| | | |
| | | // ä¸ä½¿ç¨æä¸¾ æå¨æ·»å æä¸¾å¼ |
| | | enumAddHandler() { |
| | | // æ£æ¥åè½¬æ¢ this.form.range 为æ°ç»ï¼åæ¶æé¤ç©ºå¼ |
| | | let currentRangeArray = this.form.range ? this.form.range.split('\n').filter(item => item.trim() !== '') : []; |
| | | let currentRangeArray = this.form.rangeValue ? this.form.rangeValue.split('\n').filter(item => item.trim() !== '') : []; |
| | | |
| | | let newValue = this.form.enumAddValue.trim(); |
| | | if (currentRangeArray.includes(newValue)) { |
| | |
| | | |
| | | currentRangeArray.push(newValue); |
| | | this.enumAddListChange = currentRangeArray; |
| | | this.form.range = currentRangeArray.join('\n'); |
| | | this.form.rangeValue = currentRangeArray.join('\n'); |
| | | this.form.enumAddValue = ""; |
| | | }, |
| | | |
| | | // ä¸ä½¿ç¨æä¸¾ æå¨æ·»å æä¸¾å¼(å¤ä¸ªè¿ç®ç¬¦) |
| | | operationHandler(val) { |
| | | // æ£æ¥åè½¬æ¢ this.form.rangeValue 为æ°ç»ï¼åæ¶æé¤ç©ºå¼ |
| | | let currentRangeArray = this.form.rangeValue |
| | | ? this.form.rangeValue.split('\n').filter(item => item.trim() !== '') |
| | | : []; |
| | | |
| | | // å¤ç '()' è¿ç®ç¬¦çæ
åµ |
| | | if (val === '()') { |
| | | // åå² enumAddValue çéå· |
| | | let values = this.form.enumAddValue.split(',').map(item => item.trim()); |
| | | |
| | | // æ£æ¥æ¯å¦æææçå¼ |
| | | if (values.length < 2 || values.some(item => item === '')) { |
| | | this.$message.error('请è¾å
¥ææçå¼ï¼å¹¶ç¨éå·åéï¼'); |
| | | return; |
| | | } |
| | | |
| | | // æ£æ¥å·¦è¾¹å¼æ¯å¦å°äºå³è¾¹å¼ |
| | | let leftValue = parseFloat(values[0]); |
| | | let rightValue = parseFloat(values[1]); |
| | | |
| | | if (isNaN(leftValue) || isNaN(rightValue)) { |
| | | this.$message.error('请è¾å
¥ææçæ°åå¼ï¼'); |
| | | return; |
| | | } |
| | | |
| | | if (leftValue >= rightValue) { |
| | | this.$message.error('左边çå¼ä¸è½å¤§äºæçäºå³è¾¹çå¼ï¼'); |
| | | return; |
| | | } |
| | | |
| | | // æå»º newValue çå½¢å¼ (å¼1,å¼2) |
| | | let newValue = `(${values.join(',')})`; |
| | | |
| | | // æ£æ¥æ°ç弿¯å¦å·²åå¨ |
| | | if (currentRangeArray.includes(newValue)) { |
| | | this.$message.error('该å¼åè§åå·²ç»åå¨ï¼'); |
| | | return; |
| | | } |
| | | |
| | | // æ·»å æ°å¼å°æ°ç»ä¸ |
| | | currentRangeArray.push(newValue); |
| | | this.enumAddListChange = currentRangeArray; |
| | | this.form.rangeValue = currentRangeArray.join('\n'); |
| | | this.form.enumAddValue = ""; |
| | | return; |
| | | } |
| | | |
| | | // å¤çå
¶ä»è¿ç®ç¬¦ |
| | | const operatorMap = { |
| | | '>': '>', |
| | | '<': '<', |
| | | '>=': '>=', |
| | | '<=': '<=', |
| | | '=': '=', |
| | | '!=': '!=' |
| | | }; |
| | | |
| | | // å建æ°çå¼ |
| | | let newValue = operatorMap[val] + this.form.enumAddValue.trim(); |
| | | |
| | | // æ£æ¥æ°ç弿¯å¦å·²åå¨ |
| | | if (currentRangeArray.includes(newValue)) { |
| | | this.$message.error('该å¼åè§åå·²ç»åå¨ï¼'); |
| | | return; |
| | | } |
| | | |
| | | // æ·»å æ°å¼å°æ°ç»ä¸ |
| | | currentRangeArray.push(newValue); |
| | | this.enumAddListChange = currentRangeArray; |
| | | this.form.rangeValue = currentRangeArray.join('\n'); |
| | | this.form.enumAddValue = ""; |
| | | }, |
| | | |
| | | // å¼åç±»å忢 |
| | | attributeSelectTypeChange(){ |
| | | attributeSelectTypeChange() { |
| | | this.$forceUpdate(); // å¼ºå¶æ´æ°formç»ä»¶ |
| | | this.form.referValue = null; // 忢å¼åç±»å æ¸
空å½ååç
§ |
| | | }, |
| | | |
| | | } |
| | | // éæ©åç
§ |
| | | referFormFocusHandler() { |
| | | this.form.enumSwitch = false; |
| | | this.form.rangeValue = ""; |
| | | this.form.enumId = ""; |
| | | const handlers = { |
| | | business: () => { |
| | | this.businessVisible = true; |
| | | this.businessLoading = true; |
| | | this.businessGetTable(); |
| | | }, |
| | | link: () => { |
| | | this.linkTypeVisible = true; |
| | | this.linkTypeLoading = true; |
| | | this.linkGetTable(); |
| | | } |
| | | }; |
| | | |
| | | const {attributeSelectType} = this.form; |
| | | const handler = handlers[attributeSelectType]; |
| | | |
| | | if (handler) { |
| | | handler(); |
| | | } |
| | | ; |
| | | }, |
| | | |
| | | // ä¸å¡ç±»åè¡¨æ ¼æ°æ®è¯·æ± |
| | | businessGetTable() { |
| | | getBizTypes(this.businessSearchParams).then(res => { |
| | | const data = res.data.data; |
| | | this.businessData = data; |
| | | this.businessLoading = false; |
| | | }) |
| | | }, |
| | | |
| | | // ä¸å¡ç±»ååç
§æç´¢ |
| | | businessHandleSearch(val, done) { |
| | | this.businessSearchParams = { |
| | | btmName: val.name |
| | | } |
| | | this.businessGetTable(); |
| | | done() |
| | | }, |
| | | |
| | | // ä¸å¡ç±»ååç
§æ¸
空æç´¢ |
| | | businessHandleReset() { |
| | | this.businessSearchParams = {}; |
| | | this.businessGetTable(); |
| | | }, |
| | | |
| | | // 龿¥ç±»åè¡¨æ ¼æ°æ®è¯·æ± |
| | | linkGetTable() { |
| | | getAllLtName(this.linkTypeSearchParams).then(res => { |
| | | const data = res.data.data.map(item => ({name: item})); |
| | | ; |
| | | this.linkTypeData = data; |
| | | this.linkDataSearch = data; |
| | | this.linkTypeLoading = false; |
| | | }) |
| | | }, |
| | | |
| | | // 龿¥ç±»ååç
§æç´¢ |
| | | linkHandleSearch(params, done) { |
| | | const {name} = params; |
| | | |
| | | if (!params.name) { |
| | | this.linkTypeData = this.linkDataSearch; |
| | | return done(); |
| | | } |
| | | ; |
| | | |
| | | this.linkTypeData = this.linkDataSearch.filter(item => { |
| | | console.log(item) |
| | | return item.name && item.name.includes(name); |
| | | }); |
| | | |
| | | done(); |
| | | }, |
| | | |
| | | // 龿¥ç±»ååç
§æ¸
空æç´¢ |
| | | linkHandleReset() { |
| | | this.linkTypeData = this.linkDataSearch; |
| | | }, |
| | | |
| | | // ä¸å¡ç±»åè¡¨æ ¼è¡ç¹å» |
| | | businessRowClick(row) { |
| | | this.businessRow = row; |
| | | }, |
| | | |
| | | // ä¸å¡ç±»åç¡®å®ä¿å |
| | | businessSaveHandler() { |
| | | if (func.isEmptyObject(this.businessRow)) { |
| | | this.$message.error('è¯·éæ©ä¸æ¡æ°æ®ï¼') |
| | | return; |
| | | } |
| | | |
| | | this.form.referValue = this.businessRow.name; |
| | | this.businessVisible = false; |
| | | }, |
| | | |
| | | // ä¸å¡ç±»åæ¸
空 |
| | | businessEmpty() { |
| | | this.form.referValue = null; |
| | | this.businessVisible = false; |
| | | }, |
| | | |
| | | // 龿¥ç±»åç¡®å®ä¿å |
| | | linkRowClick(row) { |
| | | this.linkRow = row; |
| | | }, |
| | | |
| | | // ä¸å¡ç±»åç¡®å®ä¿å |
| | | linkSaveHandler() { |
| | | if (func.isEmptyObject(this.linkRow)) { |
| | | this.$message.error('è¯·éæ©ä¸æ¡æ°æ®ï¼') |
| | | return; |
| | | } |
| | | |
| | | this.form.referValue = this.linkRow.name; |
| | | this.linkTypeVisible = false; |
| | | }, |
| | | |
| | | // 龿¥ç±»åæ¸
空 |
| | | linkEmpty() { |
| | | this.form.referValue = null; |
| | | this.linkTypeVisible = false; |
| | | }, |
| | | |
| | | // æ°å¢å¯¹è¯æ¡ åæ¶äºä»¶ |
| | | addEscHandler() { |
| | | this.$refs.form.resetFields(); // 对æ´ä¸ªè¡¨åè¿è¡éç½®ï¼å°ææå段å¼é置为åå§å¼å¹¶ç§»é¤æ ¡éªç»æ |
| | | this.addVisible = false; |
| | | const form = { |
| | | id: "", |
| | | name: "", |
| | | attributeDataType: "VTString", |
| | | description: "", |
| | | nullableFlag: true, |
| | | attrLength: 50, |
| | | enumFlag: false, |
| | | enumId: "", |
| | | enumSwitch: false, |
| | | enumAddValue: "", |
| | | range: "", |
| | | attributeSelectType: "business", |
| | | version: 1, |
| | | defaultValue: "", |
| | | referValue: "", |
| | | btmTypeId: "", |
| | | linkTypeName: "", |
| | | rangeValue: "" |
| | | }; |
| | | this.form = form; |
| | | }, |
| | | |
| | | // æ°å¢ä¿å |
| | | addSaveHandler() { |
| | | const form = { |
| | | id: "", |
| | | name: "", |
| | | attributeDataType: "VTString", |
| | | description: "", |
| | | nullableFlag: true, |
| | | attrLength: 50, |
| | | enumFlag: false, |
| | | enumId: "", |
| | | enumSwitch: false, |
| | | enumAddValue: "", |
| | | range: "", |
| | | attributeSelectType: "business", |
| | | version: 1, |
| | | defaultValue: "", |
| | | referValue: "", |
| | | btmTypeId: "", |
| | | linkTypeName: "", |
| | | rangeValue: "" |
| | | }; |
| | | if (this.dialogTitle === 'add') { |
| | | this.form.range = this.form.rangeValue.replace(/\n/g, ';'); |
| | | if (this.form.attributeSelectType === 'business') { |
| | | this.form.btmTypeId = this.form.referValue; |
| | | } else { |
| | | this.form.linkTypeName = this.form.referValue; |
| | | } |
| | | addAttribute(this.form).then(res => { |
| | | if (res.data.code === 200) { |
| | | this.$message.success(res.data.msg); |
| | | this.getTableList(); |
| | | this.form = form; |
| | | this.addVisible = false; |
| | | } |
| | | }) |
| | | } |
| | | if (this.dialogTitle === 'edit') { |
| | | this.form.range = this.form.rangeValue.replace(/\n/g, ';'); |
| | | if (this.form.attributeSelectType === 'business') { |
| | | this.form.btmTypeId = this.form.referValue; |
| | | } else { |
| | | this.form.linkTypeName = this.form.referValue; |
| | | } |
| | | updateAttribute(this.form).then(res => { |
| | | if (res.data.code === 200) { |
| | | this.$message.success(res.data.obj); |
| | | this.getTableList(); |
| | | this.form = form; |
| | | this.addVisible = false; |
| | | } |
| | | }) |
| | | } |
| | | }, |
| | | |
| | | // 导å
¥ |
| | | upLoadHandler() { |
| | | this.$refs.upload.visible = true; |
| | | }, |
| | | |
| | | // å¯¼åº |
| | | downLoadHandler() { |
| | | if (this.selectList.length <= 0) { |
| | | this.$message.warning('请è³å°éæ©ä¸æ¡æ°æ®è¿è¡å¯¼åº'); |
| | | return; |
| | | } |
| | | |
| | | let attrNames = this.selectList.map(item => item.id).join(','); |
| | | download({attrNames: attrNames}).then(res => { |
| | | func.downloadFileByBlobHandler(res); |
| | | this.$message.success('å¯¼åºæå'); |
| | | }).catch(err => { |
| | | this.$message.error(err); |
| | | }) |
| | | }, |
| | | |
| | | // ä¸è½½å¯¼å
¥æ¨¡æ¿ |
| | | downloadTemplateHandler() { |
| | | downloadAttributeTemplate().then(res => { |
| | | func.downloadFileByBlobHandler(res); |
| | | this.$message.success('ä¸è½½æå'); |
| | | }).catch(err => { |
| | | this.$message.error(err); |
| | | }) |
| | | }, |
| | | } |
| | | } |
| | | </script> |
| | |
| | | position: absolute; |
| | | top: 50%; |
| | | left: 50%; |
| | | transform: translate(-50%, -10%); |
| | | transform: translate(-50%, -20%); |
| | | } |
| | | </style> |