Browse Source

fix: [试验管理] 试验列表/新增试验的样式修改

luojie
memorylkf 2 weeks ago
parent
commit
c182983a39
5 changed files with 331 additions and 179 deletions
  1. BIN
      src/assets/images/back.png
  2. +8
    -2
      src/lang/en/business/study/study.js
  3. +7
    -1
      src/lang/zh/business/study/study.js
  4. +156
    -0
      src/views/business/study/comp/edit.vue
  5. +160
    -176
      src/views/business/study/list.vue

BIN
src/assets/images/back.png View File

Before After
Width: 64  |  Height: 64  |  Size: 961 B

+ 8
- 2
src/lang/en/business/study/study.js View File

@ -13,7 +13,7 @@ export default {
formCount: 'Records', formCount: 'Records',
formFinishCount: 'Completed Records', formFinishCount: 'Completed Records',
createDate: 'Creation Date', createDate: 'Creation Date',
remark: 'Remark',
remark: 'Description',
statusCg: 'Draft', statusCg: 'Draft',
statusSyz: 'On-going', statusSyz: 'On-going',
@ -35,5 +35,11 @@ export default {
jd: 'De-archive', jd: 'De-archive',
js: 'Unlock', js: 'Unlock',
notEmpty: ' Can Not Be Empty'
create: 'Create New Study',
inputName: 'Input Study Name',
inputSn: 'Input Study ID',
inputLeader: 'Select Study Director',
cancel: 'Cancel',
save: 'Save',
submit: 'Submit'
} }

+ 7
- 1
src/lang/zh/business/study/study.js View File

@ -35,5 +35,11 @@ export default {
jd: '解档', jd: '解档',
js: '解锁', js: '解锁',
notEmpty: '不能为空'
create: '创建试验',
inputName: '请输入试验名称',
inputSn: '请输入试验编号',
inputLeader: '请选择负责人',
cancel: '取消',
save: '保存',
submit: '提交'
} }

+ 156
- 0
src/views/business/study/comp/edit.vue View File

@ -0,0 +1,156 @@
<template>
<div class="content-edit">
<div class="edit-top">
<div class="left-top">
<img src="@/assets/images/back.png" @click="cancel()" />
<div class="left-title">{{$t('page.business.study.create')}}</div>
</div>
<div class="right-top">
<el-button @click="cancel()">{{$t('page.business.study.cancel')}}</el-button>
<el-button type="primary" @click="save(1)" plain>{{$t('page.business.study.save')}}</el-button>
<el-button type="primary" @click="save(3)">{{$t('page.business.study.submit')}}</el-button>
</div>
</div>
<div class="edit-content">
<el-form ref="infoDialogForm" :model="infoDialog.formData" :rules="infoDialog.rules" label-width="100px" class="edit-form">
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.study.name')+':'" prop="name">
<el-input v-model="infoDialog.formData.name" :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="$t('page.business.study.sn')+':'" prop="sn">
<el-input v-model="infoDialog.formData.sn" :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="$t('page.business.study.leader')+':'" prop="leader">
<el-input v-model="infoDialog.formData.leader" :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="$t('page.business.study.remark')+':'" prop="remark">
<el-input type="textarea" :rows="5" :placeholder="$t('form.placeholderInput')" v-model="infoDialog.formData.remark"> </el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
</div>
</div>
</template>
<script>
import { study_info,study_save} from "@/api/business/study/study";
import SelectDept from '../../comps/select/SelectDept.vue';
const EmptyDialogData = {
id:'',
name:'',
sn:'',
leader:'',
reamrk:''
}
export default {
name: "StudyEdit",
props:{
},
components:{
SelectDept
},
computed: {
},
filters:{
},
data() {
return {
infoDialog:{
visible:false,
formData:{},
rules:{
name: [
{ required: true, message: this.$t('page.business.study.inputName'), trigger: "blur" }
],
sn: [
{ required: true, message: this.$t('page.business.study.inputSn'), trigger: "blur" }
],
leader: [
{ required: true, message: this.$t('page.business.study.inputLeader'), trigger: "change" }
],
}
},
};
},
created() {
},
methods: {
edit(row) {
this.$refs['infoDialogForm'] && this.$refs['infoDialogForm'].resetFields()
this.infoDialog.formData = _.merge({}, EmptyDialogData)
if(row && row.id){
this.$modal.loading()
study_info({id:row.id}).then(({data}) => {
this.infoDialog.formData = data
}).finally(() => {
this.$modal.closeLoading()
})
}else{
}
},
cancel(){
this.$emit('cancel')
},
save(status) {
this.$refs['infoDialogForm'].validate(valid => {
if (valid) {
this.$modal.loading()
this.infoDialog.formData.status = status
study_save(this.infoDialog.formData).then(() => {
this.$emit('save')
}).finally(() => {
this.$modal.closeLoading()
})
}
})
},
}
};
</script>
<style lang="scss">
.content-edit{
background: #f5f5f5;
padding: 0;
.edit-top{
background: #fff;
padding: 10px 20px;
margin-bottom: 10px;
display: flex;
flex-direction: row;
align-items: center;
justify-content: space-between;
.left-top{
flex-shrink: 0;
display: flex;
flex-direction: row;
align-items: center;
img{
height: 16px;
margin-right: 20px;
cursor: pointer;
}
.right-top{
}
}
}
.edit-content{
background: #fff;
padding: 20px;
min-height: 500px;
.edit-form{
width: 800px;
margin: 0 auto;
}
}
}
</style>

+ 160
- 176
src/views/business/study/list.vue View File

@ -1,140 +1,146 @@
<template> <template>
<div class="app-container study-page"> <div class="app-container study-page">
<el-form :model="searchForm" ref="searchForm" :inline="true">
<el-form-item prop="name">
<el-input v-model="searchForm.name" :label="$t('page.business.study.name')" :placeholder="$t('form.placeholderInput')" clearable style="width: 150px" @keyup.enter.native="search" />
</el-form-item>
<el-form-item prop="sn">
<el-input v-model="searchForm.sn" :label="$t('page.business.study.sn')" :placeholder="$t('form.placeholderInput')" clearable style="width: 150px" @keyup.enter.native="search" />
</el-form-item>
<div class="content-list" v-show="showType==='list'">
<el-form :model="searchForm" ref="searchForm" :inline="true" class="search-box">
<el-form-item :label="$t('page.business.study.name')" prop="name">
<el-input v-model="searchForm.name" :placeholder="$t('form.placeholderInput')" clearable style="width: 150px" @keyup.enter.native="search" />
</el-form-item>
<el-form-item :label="$t('page.business.study.sn')" prop="sn">
<el-input v-model="searchForm.sn" :placeholder="$t('form.placeholderInput')" clearable style="width: 150px" @keyup.enter.native="search" />
</el-form-item>
<el-form-item>
<el-date-picker v-model="daterange" :label="$t('page.business.study.dateRange')" clearable type="daterange" range-separator="-" :start-placeholder="$t('page.business.study.startDate')"
:end-placeholder="$t('page.business.study.endDate')" value-format="yyyy-MM-dd" @change="search" style="width: 220px" />
</el-form-item>
<el-form-item :label="$t('page.business.study.dateRange')">
<el-date-picker v-model="daterange" clearable type="daterange" range-separator="-" :start-placeholder="$t('page.business.study.startDate')"
:end-placeholder="$t('page.business.study.endDate')" value-format="yyyy-MM-dd" @change="search" style="width: 220px" />
</el-form-item>
<el-form-item prop="status">
<el-select
v-model="searchForm.status"
:label="$t('page.business.study.status')"
:placeholder="$t('form.placeholderSelect')"
clearable
style="width: 100px"
@change="search"
>
<el-option :label="$t('page.business.study.statusCg')" :value="1" />
<el-option :label="$t('page.business.study.statusSyz')" :value="3" />
<el-option :label="$t('page.business.study.statusYsd')" :value="5" />
<el-option :label="$t('page.business.study.statusDgd')" :value="7" />
<el-option :label="$t('page.business.study.statusGd')" :value="9" />
<el-option :label="$t('page.business.study.statusDjd')" :value="10" />
</el-select>
</el-form-item>
<el-form-item prop="status" :label="$t('page.business.study.status')">
<el-select
v-model="searchForm.status"
:placeholder="$t('form.placeholderSelect')"
clearable
style="width: 100px"
@change="search"
>
<el-option :label="$t('page.business.study.statusCg')" :value="1" />
<el-option :label="$t('page.business.study.statusSyz')" :value="3" />
<el-option :label="$t('page.business.study.statusYsd')" :value="5" />
<el-option :label="$t('page.business.study.statusDgd')" :value="7" />
<el-option :label="$t('page.business.study.statusGd')" :value="9" />
<el-option :label="$t('page.business.study.statusDjd')" :value="10" />
</el-select>
</el-form-item>
<el-form-item prop="leaderName">
<el-input v-model="searchForm.leaderName" :label="$t('page.business.study.leader')" :placeholder="$t('form.placeholderInput')" clearable style="width: 150px" @keyup.enter.native="search" />
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="search">{{ $t('form.search') }}</el-button>
<el-button icon="el-icon-refresh" @click="reset">{{ $t('form.reset') }}</el-button>
</el-form-item>
</el-form>
<el-row>
<el-col>
<el-button type="primary" icon="el-icon-plus" @click="edit(null)" v-hasPermi="['business:study:add']">{{ $t('page.business.study.add') }}</el-button>
</el-col>
</el-row>
<el-form-item prop="leaderName" :label="$t('page.business.study.leader')">
<el-input v-model="searchForm.leaderName" :placeholder="$t('form.placeholderInput')" clearable style="width: 150px" @keyup.enter.native="search" />
</el-form-item>
<div class="right-btn">
<el-form-item>
<el-button type="primary" icon="el-icon-search" @click="search">{{ $t('form.search') }}</el-button>
<el-button icon="el-icon-refresh" @click="reset">{{ $t('form.reset') }}</el-button>
</el-form-item>
</div>
</el-form>
<el-table v-loading="loading" :data="list">
<el-table-column :label="$t('page.business.study.sort')" type="index" width="50" />
<el-table-column :label="$t('page.business.study.name')" align="center" prop="name" />
<el-table-column :label="$t('page.business.study.sn')" align="center" prop="sn" />
<el-table-column :label="$t('page.business.study.status')" prop="status" width="150">
<template slot-scope="scope">
<span v-if="scope.row.status===1">{{$t('page.business.study.statusCg')}}</span>
<span v-if="scope.row.status===3">{{$t('page.business.study.statusSyz')}}</span>
<span v-if="scope.row.status===5">{{$t('page.business.study.statusYsd')}}</span>
<span v-if="scope.row.status===7">{{$t('page.business.study.statusDgd')}}</span>
<span v-if="scope.row.status===9">{{$t('page.business.study.statusGd')}}</span>
<span v-if="scope.row.status===10">{{$t('page.business.study.statusDjd')}}</span>
</template>
</el-table-column>
<div class="content-box">
<el-row class="add-box">
<el-col>
<el-button type="primary" icon="el-icon-plus" @click="edit(null)" v-hasPermi="['business:study:add']">{{ $t('page.business.study.add') }}</el-button>
</el-col>
</el-row>
<el-table-column :label="$t('page.business.study.borrowStatus')" prop="borrowStatus" width="150">
<template slot-scope="scope">
<span v-if="scope.row.borrowStatus===1">{{$t('page.business.study.borrowStatusWjy')}}</span>
<span v-if="scope.row.borrowStatus===5">{{$t('page.business.study.borrowStatusJyz')}}</span>
<span v-if="scope.row.borrowStatus===10">{{$t('page.business.study.borrowStatusDjy')}}</span>
</template>
</el-table-column>
<el-table v-loading="loading" :data="list">
<el-table-column :label="$t('page.business.study.sort')" type="index" width="50" />
<el-table-column :label="$t('page.business.study.name')" prop="name" />
<el-table-column :label="$t('page.business.study.sn')" prop="sn" />
<el-table-column :label="$t('page.business.study.status')" prop="status" width="100">
<template slot-scope="scope">
<span v-if="scope.row.status===1">{{$t('page.business.study.statusCg')}}</span>
<span v-if="scope.row.status===3">{{$t('page.business.study.statusSyz')}}</span>
<span v-if="scope.row.status===5">{{$t('page.business.study.statusYsd')}}</span>
<span v-if="scope.row.status===7">{{$t('page.business.study.statusDgd')}}</span>
<span v-if="scope.row.status===9">{{$t('page.business.study.statusGd')}}</span>
<span v-if="scope.row.status===10">{{$t('page.business.study.statusDjd')}}</span>
</template>
</el-table-column>
<el-table-column :label="$t('page.business.study.formCount')" align="center" prop="formCount" width="100" />
<el-table-column :label="$t('page.business.study.formFinishCount')" align="center" prop="formFinishCount" width="100" />
<el-table-column :label="$t('page.business.study.leader')" align="center" prop="leaderName" />
<el-table-column :label="$t('page.business.study.createDate')" align="center" prop="createTime" width="150" />
<el-table-column :label="$t('form.operate')" fixed="right" align="center" width="100">
<template slot-scope="scope">
<!-- 编辑 -->
<el-button type="text" @click="edit(scope.row)" v-hasPermi="['business:study:edit']" v-if="scope.row.status===1 || scope.row.status===3">{{$t('page.business.study.edit')}}</el-button>
<!-- 删除 -->
<el-button type="text" @click="del(scope.row)" v-hasPermi="['business:study:remove']" v-if="scope.row.status===1">{{$t('page.business.study.delete')}}</el-button>
<!-- 详情 -->
<el-button type="text" @click="detail(scope.row)" v-hasPermi="['business:study:detail']" v-if="scope.row.status===1 || scope.row.status===3 || scope.row.status===5 || (scope.row.status===9 && scope.row.borrowStatus===10)">{{$t('page.business.study.detail')}}</el-button>
<!-- 进入试验 -->
<el-button type="text" @click="enter(scope.row)" v-hasPermi="['business:study:enter']" v-if="scope.row.status===3 || scope.row.status===5 || (scope.row.status===9 && scope.row.borrowStatus===10)">{{$t('page.business.study.enter')}}</el-button>
<!-- 归档 -->
<el-button type="text" @click="gd(scope.row)" v-hasPermi="['business:study:gd']" v-if="scope.row.status===5">{{$t('page.business.study.gd')}}</el-button>
<!-- 解锁 -->
<el-button type="text" @click="jd(scope.row)" v-hasPermi="['business:study:js']" v-if="scope.row.status===5">{{$t('page.business.study.js')}}</el-button>
<!-- 解档 -->
<el-button type="text" @click="jd(scope.row)" v-hasPermi="['business:study:jd']" v-if="scope.row.status===9 && scope.row.borrowStatus===1">{{$t('page.business.study.jd')}}</el-button>
<!-- 借阅 -->
<el-button type="text" @click="jd(scope.row)" v-hasPermi="['business:study:jy']" v-if="scope.row.status===9 && scope.row.borrowStatus===1">{{$t('page.business.study.jy')}}</el-button>
</template>
</el-table-column>
</el-table>
<el-table-column :label="$t('page.business.study.borrowStatus')" prop="borrowStatus" width="100">
<template slot-scope="scope">
<span v-if="scope.row.borrowStatus===1">{{$t('page.business.study.borrowStatusWjy')}}</span>
<span v-if="scope.row.borrowStatus===5">{{$t('page.business.study.borrowStatusJyz')}}</span>
<span v-if="scope.row.borrowStatus===10">{{$t('page.business.study.borrowStatusDjy')}}</span>
</template>
</el-table-column>
<pagination
v-show="total>0"
:total="total"
:page.sync="searchForm.pageNum"
:limit.sync="searchForm.pageSize"
@pagination="getList"
/>
<el-table-column :label="$t('page.business.study.formCount')" align="center" prop="formCount" width="100" />
<el-table-column :label="$t('page.business.study.formFinishCount')" align="center" prop="formFinishCount" width="120" />
<el-table-column :label="$t('page.business.study.leader')" align="center" prop="leaderName" width="100" />
<el-table-column :label="$t('page.business.study.createDate')" align="center" prop="createTime" width="140" />
<el-table-column :label="$t('form.operate')" fixed="right" align="center" width="200">
<template slot-scope="scope">
<!-- 编辑 -->
<el-button type="text" @click="edit(scope.row)" v-hasPermi="['business:study:edit']" v-if="scope.row.status===1 || scope.row.status===3">{{$t('page.business.study.edit')}}</el-button>
<!-- 删除 -->
<el-button type="text" @click="del(scope.row)" v-hasPermi="['business:study:remove']" v-if="scope.row.status===1">{{$t('page.business.study.delete')}}</el-button>
<!-- 详情 -->
<el-button type="text" @click="detail(scope.row)" v-hasPermi="['business:study:detail']" v-if="scope.row.status===1 || scope.row.status===3 || scope.row.status===5 || (scope.row.status===9 && scope.row.borrowStatus===10)">{{$t('page.business.study.detail')}}</el-button>
<!-- 进入试验 -->
<el-button type="text" @click="enter(scope.row)" v-hasPermi="['business:study:enter']" v-if="scope.row.status===3 || scope.row.status===5 || (scope.row.status===9 && scope.row.borrowStatus===10)">{{$t('page.business.study.enter')}}</el-button>
<!-- 归档 -->
<el-button type="text" @click="gd(scope.row)" v-hasPermi="['business:study:gd']" v-if="scope.row.status===5">{{$t('page.business.study.gd')}}</el-button>
<!-- 解锁 -->
<el-button type="text" @click="jd(scope.row)" v-hasPermi="['business:study:js']" v-if="scope.row.status===5">{{$t('page.business.study.js')}}</el-button>
<!-- 解档 -->
<el-button type="text" @click="jd(scope.row)" v-hasPermi="['business:study:jd']" v-if="scope.row.status===9 && scope.row.borrowStatus===1">{{$t('page.business.study.jd')}}</el-button>
<!-- 借阅 -->
<el-button type="text" @click="jd(scope.row)" v-hasPermi="['business:study:jy']" v-if="scope.row.status===9 && scope.row.borrowStatus===1">{{$t('page.business.study.jy')}}</el-button>
</template>
</el-table-column>
</el-table>
<el-dialog :close-on-click-modal="false" :title="infoDialog.title" :visible.sync="infoDialog.visible" width="600px" append-to-body>
<el-form ref="infoDialogForm" :model="infoDialog.formData" :rules="infoDialog.rules" label-width="100px">
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.study.name')+':'" prop="name">
<el-input v-model="infoDialog.formData.name" :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="$t('page.business.study.sn')+':'" prop="sn">
<el-input v-model="infoDialog.formData.sn" :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="$t('page.business.study.leader')+':'" prop="leader">
<el-input v-model="infoDialog.formData.leader" :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="$t('page.business.study.remark')+':'" prop="remark">
<el-input type="textarea" :rows="5" :placeholder="$t('form.placeholderInput')" v-model="infoDialog.formData.remark"> </el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="save"> </el-button>
<el-button @click="infoDialog.visible = false"> </el-button>
<pagination
v-show="total>0"
:total="total"
:page.sync="searchForm.pageNum"
:limit.sync="searchForm.pageSize"
@pagination="getList"
/>
</div> </div>
</el-dialog>
<!-- <el-dialog :close-on-click-modal="false" :title="infoDialog.title" :visible.sync="infoDialog.visible" width="600px" append-to-body>
<el-form ref="infoDialogForm" :model="infoDialog.formData" :rules="infoDialog.rules" label-width="100px">
<el-row>
<el-col :span="24">
<el-form-item :label="$t('page.business.study.name')+':'" prop="name">
<el-input v-model="infoDialog.formData.name" :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="$t('page.business.study.sn')+':'" prop="sn">
<el-input v-model="infoDialog.formData.sn" :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="$t('page.business.study.leader')+':'" prop="leader">
<el-input v-model="infoDialog.formData.leader" :placeholder="$t('form.placeholderInput')" />
</el-form-item>
</el-col>
<el-col :span="24">
<el-form-item :label="$t('page.business.study.remark')+':'" prop="remark">
<el-input type="textarea" :rows="5" :placeholder="$t('form.placeholderInput')" v-model="infoDialog.formData.remark"> </el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="save"> </el-button>
<el-button @click="infoDialog.visible = false"> </el-button>
</div>
</el-dialog> -->
</div>
<Edit ref="edit" v-show="showType==='edit'" @cancel="showType='list'" @save="save" />
</div> </div>
</template> </template>
@ -142,6 +148,7 @@
<script> <script>
import { study_list,study_info,study_save,study_delete} from "@/api/business/study/study"; import { study_list,study_info,study_save,study_delete} from "@/api/business/study/study";
import SelectDept from '../comps/select/SelectDept.vue'; import SelectDept from '../comps/select/SelectDept.vue';
import Edit from './comp/edit.vue'
const EmptyDialogData = { const EmptyDialogData = {
id:'', id:'',
name:'', name:'',
@ -154,7 +161,8 @@ export default {
props:{ props:{
}, },
components:{ components:{
SelectDept
SelectDept,
Edit
}, },
computed: { computed: {
}, },
@ -177,23 +185,8 @@ export default {
loading: true, loading: true,
total: 0, total: 0,
list: [], list: [],
infoDialog:{
title:'',
visible:false,
formData:{},
rules:{
name: [
{ required: true, message: this.$t('page.business.study.name')+this.$t('page.business.study.notEmpty'), trigger: "blur" }
],
sn: [
{ required: true, message: this.$t('page.business.study.sn')+this.$t('page.business.study.notEmpty'), trigger: "blur" }
],
leader: [
{ required: true, message: this.$t('page.business.study.leader')+this.$t('page.business.study.notEmpty'), trigger: "change" }
],
}
},
//线list,edit
showType:'list'
}; };
}, },
created() { created() {
@ -229,40 +222,12 @@ export default {
this.search() this.search()
}, },
edit(row) { edit(row) {
this.$refs['infoDialogForm'] && this.$refs['infoDialogForm'].resetFields()
this.infoDialog.title = '新增'
this.infoDialog.formData = _.merge({}, EmptyDialogData)
if(row && row.id){
this.infoDialog.title = '编辑'
this.$modal.loading()
study_info({id:row.id}).then(({data}) => {
this.infoDialog.formData = data
}).finally(() => {
this.$modal.closeLoading()
})
}
this.infoDialog.visible = true
// this.infoDialog.title = this.$t('page.business.study.edit')
// this.$modal.loading()
// study_info({id:row.id}).then(({data}) => {
// this.infoDialog.formData = data
// }).finally(() => {
// this.$modal.closeLoading()
// })
this.showType = 'edit'
this.$refs.edit.edit(row)
}, },
save() { save() {
this.$refs['infoDialogForm'].validate(valid => {
if (valid) {
this.$modal.loading()
study_save(this.infoDialog.formData).then(() => {
this.infoDialog.visible = false
this.getList()
}).finally(() => {
this.$modal.closeLoading()
})
}
})
this.showType = 'list'
this.getList()
}, },
del(row) { del(row) {
this.$confirm('确定要删除吗', '提示', { this.$confirm('确定要删除吗', '提示', {
@ -285,4 +250,23 @@ export default {
}; };
</script> </script>
<style lang="scss"> <style lang="scss">
.study-page{
background: #f5f5f5;
padding: 0;
.search-box{
background: #fff;
padding: 20px 20px 2px 20px;
margin-bottom: 10px;
.right-btn{
text-align:right
}
}
.content-box{
background: #fff;
padding: 20px;
.add-box{
margin-bottom: 10px;
}
}
}
</style> </style>

Loading…
Cancel
Save