|
@@ -76,14 +76,10 @@
|
|
|
<p class="table-button-null"></p>
|
|
|
<p class="table-button-p"
|
|
|
@click="tableButton(2,scope.row)"
|
|
|
- v-hasPermiRouter="['demo:demo:detail']"
|
|
|
- >详情</p>
|
|
|
- <p class="table-button-p"
|
|
|
- @click="tableButton(3,scope.row)"
|
|
|
v-hasPermiRouter="['demo:demo:edit']"
|
|
|
>编辑</p>
|
|
|
<p class="table-button-p"
|
|
|
- @click="tableButton(4,scope.row)"
|
|
|
+ @click="tableButton(3,scope.row)"
|
|
|
v-hasPermiRouter="['demo:demo:del']"
|
|
|
>删除</p>
|
|
|
<p class="table-button-null"></p>
|
|
@@ -100,21 +96,128 @@
|
|
|
/>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <el-dialog class="externalLink-dialog" :title="externalLinkDialogTitle"
|
|
|
+ <el-dialog class="externalLink-dialog" :title="dialogForm.id?'编辑':'新增'"
|
|
|
:visible.sync="externalLinkDialogType" v-if="externalLinkDialogType" width="1240px" height="700"
|
|
|
append-to-body :close-on-click-modal="false" @close="dialogOff()">
|
|
|
<div class="externalLink-dialog-max-big-box">
|
|
|
<el-form :model="dialogForm" class="dialogForm" ref="dialogForm"
|
|
|
- :rules="rules" style="width:100%;" label-width="90px">
|
|
|
- <el-form-item label="名称:" prop="name">
|
|
|
- <el-input
|
|
|
- maxLength="20"
|
|
|
- v-model="dialogForm.linkName"
|
|
|
- placeholder="请输入名称"
|
|
|
- clearable
|
|
|
- style="width: 360px"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
+ :rules="rules" style="width:100%;" label-width="100px">
|
|
|
+ <div class="externalLink-dialog-big-box">
|
|
|
+ <div class="externalLink-dialog-left-box">
|
|
|
+ <el-form-item label="名称:" prop="linkName">
|
|
|
+ <el-input
|
|
|
+ maxLength="20"
|
|
|
+ v-model="dialogForm.linkName"
|
|
|
+ placeholder="请输入名称"
|
|
|
+ clearable
|
|
|
+ style="width: 280px"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="链接地址:" prop="linkUrl">
|
|
|
+ <el-input
|
|
|
+ maxLength="50"
|
|
|
+ v-model="dialogForm.linkUrl"
|
|
|
+ placeholder="请输入链接地址"
|
|
|
+ clearable
|
|
|
+ style="width: 280px"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="跳转类型:" prop="skipType">
|
|
|
+ <el-radio-group v-model="dialogForm.skipType">
|
|
|
+ <el-radio :label="false" style="width:70px;">当前窗口</el-radio>
|
|
|
+ <el-radio :label="true" style="width:70px;">新窗口</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="登录验证:" prop="isAuth">
|
|
|
+ <el-radio-group v-model="dialogForm.isAuth">
|
|
|
+ <el-radio :label="false" style="width:70px;">否</el-radio>
|
|
|
+ <el-radio :label="true" style="width:70px;">是</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="认证方式:" prop="authMode">
|
|
|
+ <el-radio-group v-model="dialogForm.authMode">
|
|
|
+ <el-radio :label=0 style="width:70px;">无</el-radio>
|
|
|
+ <el-radio :label=2 style="width:70px;">cookie</el-radio>
|
|
|
+ <el-radio :label=1 style="width:70px;">携参</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="请求地址:" prop="reqApi" v-if="dialogForm.isAuth">
|
|
|
+ <el-input
|
|
|
+ maxLength="20"
|
|
|
+ v-model="dialogForm.reqApi"
|
|
|
+ placeholder="请输入请求地址"
|
|
|
+ clearable
|
|
|
+ style="width: 280px"
|
|
|
+ />
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="请求类型:" prop="reqMethod" v-if="dialogForm.isAuth">
|
|
|
+ <el-radio-group v-model="dialogForm.reqMethod">
|
|
|
+ <el-radio label="post" style="width:60px;">POST</el-radio>
|
|
|
+ <el-radio label="get" style="width:60px;">GET</el-radio>
|
|
|
+ </el-radio-group>
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
+ <div class="externalLink-dialog-center-box scrollbar-box" v-if="dialogForm.isAuth">
|
|
|
+ <el-form-item label="请求参数:" prop="authMode">
|
|
|
+ <div class="for-custom-parameter-max-big-box" v-for="(item,index) in dialogForm.requestArgument" :key="index">
|
|
|
+ <div class="input-box">
|
|
|
+ <el-select v-model="item.type" placeholder="请选择参数类型" clearable size="small">
|
|
|
+ <el-option
|
|
|
+ v-for="dict in typeOptions"
|
|
|
+ :key="dict.value"
|
|
|
+ :label="dict.name"
|
|
|
+ :value="dict.value"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ <el-input class="top-border" v-if="item.type != 5" maxLength="20"
|
|
|
+ v-model="item.key" placeholder="请输入key"/>
|
|
|
+ <el-input class="top-border" v-if="item.type == 1" maxLength="50"
|
|
|
+ v-model="item.value" placeholder="请输入value"/>
|
|
|
+ <el-select class="top-border" v-model="item.num" v-if="item.type == 5" placeholder="请选择时间戳长度" clearable size="small">
|
|
|
+ <el-option key="10" label="10位时间戳" value="10"/>
|
|
|
+ <el-option key="13" label="13位时间戳" value="13"/>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ <div class="del-button-box" @click="delRequestArgument(index)">
|
|
|
+ <p class="del-button-null"></p>
|
|
|
+ <p class="del-button el-icon-remove"></p>
|
|
|
+ <p class="del-button-null"></p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <p class="el-icon-circle-plus-outline add-button" @click="addRequestArgument" v-if="!dialogForm.requestArgument[4]"></p>
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
+ <div class="externalLink-dialog-right-box scrollbar-box" v-if="dialogForm.authMode == '1'">
|
|
|
+ <el-form-item label="携带参数:" prop="authMode">
|
|
|
+ <div class="for-custom-parameter-max-big-box" v-for="(item,index) in dialogForm.carryArgument" :key="index">
|
|
|
+ <div class="input-box">
|
|
|
+ <el-select v-model="item.type" placeholder="请选择参数类型" clearable size="small">
|
|
|
+ <el-option
|
|
|
+ v-for="dict in typeOptions"
|
|
|
+ :key="dict.value"
|
|
|
+ :label="dict.name"
|
|
|
+ :value="dict.value"
|
|
|
+ />
|
|
|
+ </el-select>
|
|
|
+ <el-input class="top-border" v-if="item.type != 5" maxLength="20"
|
|
|
+ v-model="item.key" placeholder="请输入key"/>
|
|
|
+ <el-input class="top-border" v-if="item.type == 1" maxLength="50"
|
|
|
+ v-model="item.value" placeholder="请输入value"/>
|
|
|
+ <el-select class="top-border" v-model="item.num" v-if="item.type == 5" placeholder="请选择时间戳长度" clearable size="small">
|
|
|
+ <el-option key="10" label="10位时间戳" value="10"/>
|
|
|
+ <el-option key="13" label="13位时间戳" value="13"/>
|
|
|
+ </el-select>
|
|
|
+ </div>
|
|
|
+ <div class="del-button-box" @click="delCarryArgument(index)">
|
|
|
+ <p class="del-button-null"></p>
|
|
|
+ <p class="del-button el-icon-remove"></p>
|
|
|
+ <p class="del-button-null"></p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ <p class="el-icon-circle-plus-outline add-button" @click="addCarryArgument" v-if="!dialogForm.carryArgument[4]"></p>
|
|
|
+ </el-form-item>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</el-form>
|
|
|
</div>
|
|
|
<div slot="footer" class="dialog-footer dialog-footer-box">
|
|
@@ -155,7 +258,6 @@
|
|
|
//组件传参
|
|
|
propsData:{},
|
|
|
//弹窗参数
|
|
|
- externalLinkDialogTitle:'',
|
|
|
externalLinkDialogType:false,
|
|
|
dialogForm:{},
|
|
|
rules:{
|
|
@@ -163,7 +265,38 @@
|
|
|
{ required: true, message: '请输入名称', trigger: 'blur' },
|
|
|
{ required: true, message: "请输入名称", validator: this.spaceJudgment, trigger: "blur" }
|
|
|
],
|
|
|
+ linkUrl:[
|
|
|
+ { required: true, message: '请输入链接地址', trigger: 'blur' },
|
|
|
+ { required: true, message: "请输入链接地址", validator: this.spaceJudgment, trigger: "blur" }
|
|
|
+ ],
|
|
|
+ skipType:[
|
|
|
+ { required: true, message: '请选择跳转类型', trigger: 'blur' },
|
|
|
+ { required: true, message: "请选择跳转类型", validator: this.spaceJudgment, trigger: "blur" }
|
|
|
+ ],
|
|
|
+ isAuth:[
|
|
|
+ { required: true, message: '请选择登录验证', trigger: 'blur' },
|
|
|
+ { required: true, message: "请选择登录验证", validator: this.spaceJudgment, trigger: "blur" }
|
|
|
+ ],
|
|
|
+ authMode:[
|
|
|
+ { required: true, message: '请选择认证方式', trigger: 'blur' },
|
|
|
+ { required: true, message: "请选择认证方式", validator: this.spaceJudgment, trigger: "blur" }
|
|
|
+ ],
|
|
|
+ reqMethod:[
|
|
|
+ { required: true, message: '请选择请求类型', trigger: 'blur' },
|
|
|
+ { required: true, message: "请选择请求类型", validator: this.spaceJudgment, trigger: "blur" }
|
|
|
+ ],
|
|
|
+ reqApi:[
|
|
|
+ { required: true, message: '请输入请求地址', trigger: 'blur' },
|
|
|
+ { required: true, message: "请输入请求地址", validator: this.spaceJudgment, trigger: "blur" }
|
|
|
+ ],
|
|
|
},
|
|
|
+ typeOptions:[
|
|
|
+ {name:'数据',value:'1'},
|
|
|
+ {name:'cookie',value:'2'},
|
|
|
+ {name:'localStorage',value:'3'},
|
|
|
+ {name:'sessionStorage',value:'4'},
|
|
|
+ {name:'timestamp',value:'5'},//13位10位
|
|
|
+ ],
|
|
|
}
|
|
|
},
|
|
|
created () {
|
|
@@ -204,21 +337,25 @@
|
|
|
let self = this;
|
|
|
if(type == 1){
|
|
|
//新增
|
|
|
- this.$set(this,'dialogForm',{});
|
|
|
+ this.dialogFormReset();
|
|
|
this.$set(this,'externalLinkDialogType',true);
|
|
|
}else if(type == 2){
|
|
|
//详情
|
|
|
- this.$set(this,'pageType',2);
|
|
|
- let obj = JSON.parse(JSON.stringify(row))
|
|
|
- obj.showType = true;
|
|
|
- this.$set(this,'propsData',obj);
|
|
|
+ let params = JSON.parse(row.params)
|
|
|
+ let obj = {
|
|
|
+ linkName:row.linkName,
|
|
|
+ linkUrl:row.linkUrl,
|
|
|
+ skipType:row.skipType,
|
|
|
+ isAuth:row.isAuth,
|
|
|
+ authMode:row.authMode,
|
|
|
+ reqApi:row.isAuth?row.reqApi:'',
|
|
|
+ reqMethod:row.isAuth?row.reqMethod:'',
|
|
|
+ requestArgument:params.requestArgument,
|
|
|
+ carryArgument:params.carryArgument,
|
|
|
+ };
|
|
|
+ this.$set(this,'dialogForm',JSON.parse(JSON.stringify(obj)));
|
|
|
+ this.$set(this,'externalLinkDialogType',true);
|
|
|
}else if(type == 3){
|
|
|
- //编辑
|
|
|
- this.$set(this,'pageType',2);
|
|
|
- let obj = JSON.parse(JSON.stringify(row))
|
|
|
- obj.showType = false;
|
|
|
- this.$set(this,'propsData',obj);
|
|
|
- }else if(type == 4){
|
|
|
//删除
|
|
|
this.$confirm('是否确认删除?', "警告", {
|
|
|
confirmButtonText: "确定",
|
|
@@ -226,7 +363,7 @@
|
|
|
type: "warning"
|
|
|
}).then(function() {
|
|
|
}).then(() => {
|
|
|
- deleteFunction({id:row.id}).then(response => {
|
|
|
+ systemLinkDelete({id:row.id}).then(response => {
|
|
|
self.msgSuccess(response.message)
|
|
|
self.getList();
|
|
|
});
|
|
@@ -235,7 +372,187 @@
|
|
|
},
|
|
|
//弹窗关闭
|
|
|
dialogOff(){
|
|
|
-
|
|
|
+ this.$set(this,'externalLinkDialogType',false);
|
|
|
+ },
|
|
|
+ //提交接口
|
|
|
+ dialogSubmit(){
|
|
|
+ let self = this;
|
|
|
+ this.$refs["dialogForm"].validate(valid => {
|
|
|
+ if (valid) {
|
|
|
+ //检查请求参数
|
|
|
+ if(this.dialogForm.isAuth){
|
|
|
+ if(!this.dialogForm.requestArgument[0]){
|
|
|
+ this.msgError('请添加请求参数')
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for(let i=0;i<self.dialogForm.requestArgument.length;i++){
|
|
|
+ if(!self.dialogForm.requestArgument[i].type){
|
|
|
+ this.msgError('请选择第 '+(i+1)+' 条,请求参数的参数类型')
|
|
|
+ return
|
|
|
+ }else if(self.dialogForm.requestArgument[i].type == 1){
|
|
|
+ if(!self.dialogForm.requestArgument[i].key){
|
|
|
+ this.msgError('请输入第 '+(i+1)+' 条,请求参数的key')
|
|
|
+ return
|
|
|
+ }else if(!self.dialogForm.requestArgument[i].value){
|
|
|
+ this.msgError('请输入第 '+(i+1)+' 条,请求参数的value')
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }else if(self.dialogForm.requestArgument[i].type == 2 ||
|
|
|
+ self.dialogForm.requestArgument[i].type == 3 ||
|
|
|
+ self.dialogForm.requestArgument[i].type == 4){
|
|
|
+ if(!self.dialogForm.requestArgument[i].key){
|
|
|
+ this.msgError('请输入第 '+(i+1)+' 条,请求参数的key')
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }else if(self.dialogForm.requestArgument[i].type == 5){
|
|
|
+ if(!self.dialogForm.requestArgument[i].num){
|
|
|
+ this.msgError('请选择第 '+(i+1)+' 条,请求参数的时间戳长度')
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //检查携带参数
|
|
|
+ if(this.dialogForm.authMode == 1){
|
|
|
+ if(!this.dialogForm.carryArgument[0]){
|
|
|
+ this.msgError('请添加携带参数')
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for(let i=0;i<self.dialogForm.carryArgument.length;i++){
|
|
|
+ if(!self.dialogForm.carryArgument[i].type){
|
|
|
+ this.msgError('请选择第 '+(i+1)+' 条,携带参数的参数类型')
|
|
|
+ return
|
|
|
+ }else if(self.dialogForm.carryArgument[i].type == 1){
|
|
|
+ if(!self.dialogForm.carryArgument[i].key){
|
|
|
+ this.msgError('请输入第 '+(i+1)+' 条,携带参数的key')
|
|
|
+ return
|
|
|
+ }else if(!self.dialogForm.carryArgument[i].value){
|
|
|
+ this.msgError('请输入第 '+(i+1)+' 条,携带参数的value')
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }else if(self.dialogForm.carryArgument[i].type == 2 ||
|
|
|
+ self.dialogForm.carryArgument[i].type == 3 ||
|
|
|
+ self.dialogForm.carryArgument[i].type == 4){
|
|
|
+ if(!self.dialogForm.carryArgument[i].key){
|
|
|
+ this.msgError('请输入第 '+(i+1)+' 条,携带参数的key')
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }else if(self.dialogForm.carryArgument[i].type == 5){
|
|
|
+ if(!self.dialogForm.carryArgument[i].num){
|
|
|
+ this.msgError('请选择第 '+(i+1)+' 条,携带参数的时间戳长度')
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //数据处理
|
|
|
+ let requestArgument = [];
|
|
|
+ let carryArgument = [];
|
|
|
+ this.dialogForm.requestArgument.forEach((item)=>{
|
|
|
+ let minObj = {
|
|
|
+ type:item.type
|
|
|
+ }
|
|
|
+ if(item.type == 1){
|
|
|
+ minObj.key = item.key;
|
|
|
+ minObj.value = item.value;
|
|
|
+ }else if(item.type == 2 || item.type == 3 || item.type == 4){
|
|
|
+ minObj.key = item.key;
|
|
|
+ }else if(item.type == 5){
|
|
|
+ minObj.num = item.num;
|
|
|
+ }
|
|
|
+ requestArgument.push(minObj)
|
|
|
+ })
|
|
|
+ this.dialogForm.carryArgument.forEach((item)=>{
|
|
|
+ let minObj = {
|
|
|
+ type:item.type
|
|
|
+ }
|
|
|
+ if(item.type == 1){
|
|
|
+ minObj.key = item.key;
|
|
|
+ minObj.value = item.value;
|
|
|
+ }else if(item.type == 2 || item.type == 3 || item.type == 4){
|
|
|
+ minObj.key = item.key;
|
|
|
+ }else if(item.type == 5){
|
|
|
+ minObj.num = item.num;
|
|
|
+ }
|
|
|
+ carryArgument.push(minObj)
|
|
|
+ })
|
|
|
+ let params = {
|
|
|
+ requestArgument:requestArgument,
|
|
|
+ carryArgument:carryArgument,
|
|
|
+ }
|
|
|
+ let obj = {
|
|
|
+ linkName:this.dialogForm.linkName,
|
|
|
+ linkUrl:this.dialogForm.linkUrl,
|
|
|
+ skipType:this.dialogForm.skipType,
|
|
|
+ isAuth:this.dialogForm.isAuth,
|
|
|
+ authMode:this.dialogForm.authMode,
|
|
|
+ reqApi:this.dialogForm.isAuth?this.dialogForm.reqApi:'',
|
|
|
+ reqMethod:this.dialogForm.isAuth?this.dialogForm.reqMethod:'',
|
|
|
+ params:JSON.stringify(params),
|
|
|
+ };
|
|
|
+ if(this.dialogForm.id){
|
|
|
+ obj.id = this.dialogForm.id
|
|
|
+ this.systemLinkUpdate(obj);
|
|
|
+ }else{
|
|
|
+ this.systemLinkAdd(obj);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ //重置弹窗数据
|
|
|
+ dialogFormReset(){
|
|
|
+ this.$set(this,'dialogForm',{
|
|
|
+ linkName:'',
|
|
|
+ linkUrl:'',
|
|
|
+ skipType:false,
|
|
|
+ isAuth:false,
|
|
|
+ reqApi:'',
|
|
|
+ reqMethod:'post',
|
|
|
+ authMode:0,
|
|
|
+ requestArgument:[],
|
|
|
+ carryArgument:[],
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //新增请求参数
|
|
|
+ addRequestArgument(){
|
|
|
+ this.dialogForm.requestArgument.push({
|
|
|
+ type:'',
|
|
|
+ })
|
|
|
+ },
|
|
|
+ //删除请求参数
|
|
|
+ delRequestArgument(index){
|
|
|
+ this.dialogForm.requestArgument.splice(index,1);
|
|
|
+ },
|
|
|
+ //新增携带参数
|
|
|
+ addCarryArgument(){
|
|
|
+ this.dialogForm.carryArgument.push({
|
|
|
+ type:'',
|
|
|
+ key:'',
|
|
|
+ value:'',
|
|
|
+ num:'',
|
|
|
+ })
|
|
|
+ },
|
|
|
+ //删除携带参数
|
|
|
+ delCarryArgument(index){
|
|
|
+ this.dialogForm.carryArgument.splice(index,1);
|
|
|
+ },
|
|
|
+ //新增接口
|
|
|
+ systemLinkAdd(obj){
|
|
|
+ systemLinkAdd(obj).then(response => {
|
|
|
+ this.msgSuccess(response.message)
|
|
|
+ this.$set(this,'externalLinkDialogType',false);
|
|
|
+ this.dialogFormReset();
|
|
|
+ this.getList();
|
|
|
+ });
|
|
|
+ },
|
|
|
+ //编辑接口
|
|
|
+ systemLinkUpdate(obj){
|
|
|
+ systemLinkUpdate(obj).then(response => {
|
|
|
+ this.msgSuccess(response.message)
|
|
|
+ this.$set(this,'externalLinkDialogType',false);
|
|
|
+ this.dialogFormReset();
|
|
|
+ this.getList();
|
|
|
+ });
|
|
|
},
|
|
|
},
|
|
|
}
|
|
@@ -243,7 +560,81 @@
|
|
|
<style scoped lang="scss">
|
|
|
.externalLink{
|
|
|
.externalLinkPage{
|
|
|
-
|
|
|
+ }
|
|
|
+ }
|
|
|
+</style>
|
|
|
+<style lang="scss">
|
|
|
+ .externalLink-dialog{
|
|
|
+ .externalLink-dialog-max-big-box{
|
|
|
+ .externalLink-dialog-big-box{
|
|
|
+ display: flex;
|
|
|
+ height:520px;
|
|
|
+ .externalLink-dialog-left-box{
|
|
|
+ width:400px;
|
|
|
+ }
|
|
|
+ .externalLink-dialog-center-box{
|
|
|
+ padding-left:20px;
|
|
|
+ width:400px;
|
|
|
+ border-left:1px dashed #dedede;
|
|
|
+ }
|
|
|
+ .externalLink-dialog-right-box{
|
|
|
+ padding-left:20px;
|
|
|
+ width:400px;
|
|
|
+ border-left:1px dashed #dedede;
|
|
|
+ }
|
|
|
+ .for-custom-parameter-max-big-box{
|
|
|
+ display: flex;
|
|
|
+ width:260px;
|
|
|
+ margin-bottom:20px;
|
|
|
+ .input-box{
|
|
|
+ flex:1;
|
|
|
+ border: 1px solid #999;
|
|
|
+ border-right:none;
|
|
|
+ border-top-left-radius:4px;
|
|
|
+ border-bottom-left-radius:4px;
|
|
|
+ .top-border{
|
|
|
+ border-top:1px solid #999;
|
|
|
+ }
|
|
|
+ .el-input--suffix{
|
|
|
+ border:none;
|
|
|
+ }
|
|
|
+ .el-input__inner{
|
|
|
+ border:none;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .del-button-box{
|
|
|
+ display: flex;
|
|
|
+ flex-direction: column;
|
|
|
+ width:30px;
|
|
|
+ background-color: #FF6666;
|
|
|
+ border:1px solid #FF6666;
|
|
|
+ border-top-right-radius:4px;
|
|
|
+ border-bottom-right-radius:4px;
|
|
|
+ cursor: pointer;
|
|
|
+ .del-button-null{
|
|
|
+ flex:1;
|
|
|
+ }
|
|
|
+ .del-button{
|
|
|
+ line-height:83px;
|
|
|
+ text-align: center;
|
|
|
+ font-size:20px;
|
|
|
+ color:#fff;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .add-button{
|
|
|
+ width:260px;
|
|
|
+ height:40px;
|
|
|
+ line-height:40px;
|
|
|
+ text-align: center;
|
|
|
+ font-size:20px;
|
|
|
+ color:#fff;
|
|
|
+ background-color: #0183FA;
|
|
|
+ border:1px solid #0183FA;
|
|
|
+ border-radius:4px;
|
|
|
+ cursor: pointer;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
</style>
|