You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
676 lines
22 KiB
676 lines
22 KiB
<template>
|
|
<div>
|
|
<div class="config-item">
|
|
<div class="config-item-main">
|
|
<span class="data-title">地图DataV</span>
|
|
<el-form ref="areaForm" class="areaForm" :model="areaForm" size="small" label-width="100px">
|
|
<el-form-item class="geoInput" label="GeoJSON" prop="map_data">
|
|
<el-tooltip v-if="!editStatus.areaForm.map_data" class="item" effect="dark" content="双击输入框进行编辑" placement="top">
|
|
<span
|
|
class="edit-readonly"
|
|
style="padding: 4px 15px;"
|
|
@dblclick="handleDblClick('areaForm', 'map_data')"
|
|
>
|
|
{{ areaForm.map_data || '' }}
|
|
</span>
|
|
</el-tooltip>
|
|
<el-input
|
|
v-else
|
|
ref="areaFormmap_data"
|
|
v-model="areaForm.map_data"
|
|
type="textarea"
|
|
rows="5"
|
|
@blur="handleBlur('areaForm', 'map_data')"
|
|
@keyup.enter="handleBlur('areaForm', 'map_data')"
|
|
/>
|
|
</el-form-item>
|
|
<div class="config-remarks" style="margin-left: 100px; margin-bottom: 20px;">双击输入框可进行编辑。数据将用于“区域屏”,显示区域地图。<i class="iconfont icon-zhuyi-lan" @click="geoJsonVisible=true" /></div>
|
|
|
|
<el-form-item label="地图边距微调" class="padding-style-input" prop="map_spacing">
|
|
<el-tooltip v-if="!editStatus.areaForm.map_spacing" class="item" effect="dark" content="双击输入框进行编辑" placement="top">
|
|
<div style="display: flex; justify-content: flex-start; width: 340px; height: 32px; align-items: flex-start;">
|
|
<span
|
|
class="edit-readonly"
|
|
@dblclick="handleDblClick('areaForm', 'map_spacing')"
|
|
>
|
|
{{ areaForm.map_spacing || '' }}
|
|
</span>
|
|
|
|
<span class="edit-slot">像素</span>
|
|
</div>
|
|
</el-tooltip>
|
|
<el-input
|
|
v-else
|
|
ref="areaFormmap_spacing"
|
|
v-model="areaForm.map_spacing"
|
|
@blur="handleBlur('areaForm', 'map_spacing')"
|
|
@keyup.enter="handleBlur('areaForm', 'map_spacing')"
|
|
><template slot="append">像素</template></el-input>
|
|
</el-form-item>
|
|
<div class="config-remarks" style="margin-left: 100px;">双击输入框可进行编辑。由于地图形状各异,如果需要调整地图垂直位置(让显示更居中),可通过次参数微调,保存后在预览页面查看最终效果!</div>
|
|
</el-form>
|
|
</div>
|
|
|
|
</div>
|
|
<div class="config-item">
|
|
<div class="config-item-main">
|
|
<span class="data-title">总分馆管理</span>
|
|
<div class="upload-item" style="align-items: flex-start;">
|
|
<p>总分馆列表</p>
|
|
<el-card class="box-card" style="padding: 20px;">
|
|
<el-table
|
|
ref="table"
|
|
:data="tableData"
|
|
style="width: 100%"
|
|
max-height="360"
|
|
@selection-change="selectionChangeHandler"
|
|
@row-click="clickRowHandler"
|
|
>
|
|
<el-table-column type="selection" align="center" width="55" />
|
|
<el-table-column prop="name" label="名称" width="150" />
|
|
<el-table-column prop="libcode" label="馆代码" width="100">
|
|
<template slot-scope="scope">
|
|
<span v-if="scope.row.branchType === 1|| scope.row.branchType === '1'">{{ scope.row.libcode }}</span>
|
|
<span v-else>{{ scope.row.tcId }}</span>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column prop="mapX" label="坐标" width="200">
|
|
<template slot-scope="scope">
|
|
{{ scope.row.mapX }},{{ scope.row.mapY }}
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column prop="promotions" label="宣传图片" width="80">
|
|
<template slot-scope="scope">
|
|
{{ scope.row.promotions.length }}
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column fixed="right" label="操作" width="100">
|
|
<template slot-scope="scope">
|
|
<el-button style="padding: 5px 6px !important;" @click="initForm('edit',scope.row)"><i class="iconfont icon-bianji" />编辑</el-button>
|
|
</template>
|
|
</el-table-column>
|
|
</el-table>
|
|
<el-pagination
|
|
v-if="tableData.length !== 0"
|
|
style="margin: 34px 0 10px 0 !important;"
|
|
:current-page="page.page"
|
|
:total="page.total"
|
|
:page-size="page.size"
|
|
:pager-count="5"
|
|
layout="total, prev, pager, next, sizes"
|
|
@size-change="handleSizeChange"
|
|
@current-change="handleCurrentPage"
|
|
/>
|
|
</el-card>
|
|
<div style="display: flex; flex-direction: column; justify-content: flex-start; margin-left: 15px;">
|
|
<el-button size="mini" @click="initForm('add')">
|
|
<i class="iconfont icon-xinzeng" />
|
|
新增
|
|
</el-button>
|
|
<el-button :loading="deleteLoading" size="mini" style="margin-left: 0; margin-top: 14px;" :disabled="selections.length === 0" @click="toDelete(selections)">
|
|
<i class="iconfont icon-shanchu" />
|
|
删除
|
|
</el-button>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<el-dialog class="geoJson-dialog" :close-on-click-modal="false" :modal-append-to-body="false" append-to-body :before-close="handleClose" :visible.sync="geoJsonVisible" title="地图GeoJSON获取方法">
|
|
<div class="setting-dialog geo-remarks">
|
|
<p>1.开发网址:
|
|
<a
|
|
:href="link"
|
|
target="_blank"
|
|
rel="noopener noreferrer"
|
|
class="external-link"
|
|
>
|
|
{{ link }}
|
|
</a>
|
|
<!-- <i class="iconfont" :class="copied ? 'icon-fuzhichenggong1' : 'icon-fuzhi'" @click="copyLink" /> -->
|
|
</p>
|
|
<p style="padding: 15px 0;">2.在地图上找到并选择正确的区域(区域最小单位是:区/县)</p>
|
|
<div style="display: flex; justify-content: space-between;">
|
|
<p>3.在右侧工具栏中找到:<br>
|
|
“其他类型(GeoJSON、SVG)”<br>
|
|
点击下方的“GeoJSON”后面的按钮<br>
|
|
复制代码,粘贴到此处即可。</p>
|
|
<img src="@/assets/images/screen/geo.png" alt="">
|
|
</div>
|
|
</div>
|
|
</el-dialog>
|
|
|
|
<el-dialog class="auto-dialog" :close-on-click-modal="false" :modal-append-to-body="false" append-to-body :before-close="handleClose" :visible.sync="libDialogVisible" :title="formTitle">
|
|
<div class="setting-dialog">
|
|
<el-form ref="form" :inline="true" :model="form" :rules="rules" size="small" label-width="90px">
|
|
<div style="width: 696px;">
|
|
<div>
|
|
<el-form-item label="名称" prop="name">
|
|
<el-input v-model="form.name" placeholder="请输入" style="width: 586px;" />
|
|
</el-form-item>
|
|
</div>
|
|
<el-form-item label="类型" prop="branchType">
|
|
<el-radio-group v-model="form.branchType" v-removeAriaHidden @change="changeBranchType">
|
|
<el-radio label="1">总馆</el-radio>
|
|
<el-radio label="2">分馆</el-radio>
|
|
</el-radio-group>
|
|
</el-form-item>
|
|
<el-form-item v-if="form.branchType === '1'" label="馆代码" prop="libcode" style="margin-left: 30px; margin-right: 0 !important;">
|
|
<el-input v-model="form.libcode" placeholder="请输入" />
|
|
</el-form-item>
|
|
<el-form-item v-else label="馆代码" prop="tcId" style="margin-left: 30px; margin-right: 0 !important;">
|
|
<el-input v-model="form.tcId" placeholder="请输入" />
|
|
</el-form-item>
|
|
<div>
|
|
<el-form-item label="面积" prop="occupationArea">
|
|
<el-input v-model="form.occupationArea" placeholder="请输入" style="width: 586px;">
|
|
<template slot="append">平方米</template>
|
|
</el-input>
|
|
</el-form-item>
|
|
</div>
|
|
<div>
|
|
<el-form-item label="地址" prop="address">
|
|
<el-input v-model="form.address" placeholder="请输入" style="width: 586px;" />
|
|
</el-form-item>
|
|
</div>
|
|
<div class="location-item">
|
|
<el-form-item label="坐标" prop="location">
|
|
<el-input v-model="form.mapX" placeholder="请输入">
|
|
<template slot="prepend">X</template>
|
|
</el-input>
|
|
<el-input v-model="form.mapY" placeholder="请输入">
|
|
<template slot="prepend">Y</template>
|
|
</el-input>
|
|
</el-form-item>
|
|
</div>
|
|
<div>
|
|
<el-form-item label="简介" prop="explains">
|
|
<el-input v-model="form.explains" type="textarea" rows="4" placeholder="请输入" style="width: 586px;" />
|
|
</el-form-item>
|
|
</div>
|
|
<div>
|
|
<el-form-item label="宣传图片" prop="remarks">
|
|
<div style="display: flex; justify-content: flex-start; flex-wrap: wrap;">
|
|
<div class="libImg-list">
|
|
<div v-for="(item,index) in libImgList" :key="index" class="libImg-item">
|
|
<img :src="item.imgPath" alt="">
|
|
<i class="iconfont icon-shanchu" @click="handleDelete(index)" />
|
|
</div>
|
|
</div>
|
|
<UploadCover upload-type="other-digital" :limit-num="libImgList.length" @childCover="handleCover" />
|
|
</div>
|
|
<div style="font-size: 12px; color: #9098a4;">点击上传图片,最多可上传 3 张</div>
|
|
</el-form-item>
|
|
</div>
|
|
</div>
|
|
</el-form>
|
|
<div slot="footer" class="dialog-footer">
|
|
<el-button type="text" @click="handleClose">取消</el-button>
|
|
<el-button :loading="btnLoading" type="primary" @click="handleComfired">确定</el-button>
|
|
</div>
|
|
</div>
|
|
</el-dialog>
|
|
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
import { FetchEditScreenSetting, FetchInitScreenBranch, FetchEditScreenBranch, FetchDeleteScreenBranch } from '@/api/digitalScreen/index'
|
|
import UploadCover from '@/views/components/upload.vue'
|
|
import { mapGetters } from 'vuex'
|
|
|
|
export default {
|
|
name: 'AreaSetting',
|
|
components: { UploadCover },
|
|
props: {
|
|
mapData: {
|
|
type: String,
|
|
default: null
|
|
},
|
|
mapSpacing: {
|
|
type: String,
|
|
default: null
|
|
}
|
|
},
|
|
data() {
|
|
return {
|
|
formTitle: '新增分馆',
|
|
btnLoading: false,
|
|
deleteLoading: false,
|
|
areaForm: {
|
|
map_data: null,
|
|
map_spacing: null
|
|
},
|
|
editStatus: {
|
|
areaForm: {
|
|
map_data: false,
|
|
map_spacing: false
|
|
}
|
|
},
|
|
originalValues: {
|
|
areaForm: {}
|
|
},
|
|
geoJsonVisible: false,
|
|
link: 'https://datav.aliyun.com/portal/school/atlas/area_selector',
|
|
copied: false,
|
|
tableData: [],
|
|
page: {
|
|
page: 0,
|
|
size: 10,
|
|
total: 0
|
|
},
|
|
libDialogVisible: false,
|
|
form: {
|
|
name: '',
|
|
branchType: '1',
|
|
libcode: '',
|
|
occupationArea: '',
|
|
address: '',
|
|
mapX: '',
|
|
mapY: '',
|
|
explains: '',
|
|
tcId: ''
|
|
},
|
|
selections: [],
|
|
rules: {
|
|
name: [
|
|
{ required: true, message: '名称不可为空', trigger: 'blur' }
|
|
],
|
|
branchType: [
|
|
{ required: true, message: '请选择类型', trigger: 'change' }
|
|
],
|
|
tcId: [
|
|
{ required: true, message: '馆代码不可为空', trigger: 'blur' }
|
|
],
|
|
libcode: [
|
|
{ required: true, message: '馆代码不可为空', trigger: 'blur' }
|
|
]
|
|
},
|
|
libImgList: []
|
|
}
|
|
},
|
|
computed: {
|
|
...mapGetters([
|
|
'baseApi',
|
|
'user'
|
|
])
|
|
},
|
|
watch: {
|
|
mapData(newVal) {
|
|
if (newVal !== this.areaForm.map_data) {
|
|
this.areaForm.map_data = newVal
|
|
this.originalValues.areaForm.map_data = newVal
|
|
}
|
|
},
|
|
mapSpacing(newVal) {
|
|
if (newVal !== this.areaForm.map_spacing) {
|
|
this.areaForm.map_spacing = newVal
|
|
this.originalValues.areaForm.map_spacing = newVal
|
|
}
|
|
}
|
|
},
|
|
created() {
|
|
this.areaForm.map_data = this.mapData
|
|
this.areaForm.map_spacing = this.mapSpacing
|
|
},
|
|
mounted() {
|
|
this.$emit('ready')
|
|
},
|
|
methods: {
|
|
initScreenBranch() {
|
|
const params = {
|
|
'libcode': this.user.fonds.fondsNo,
|
|
'page': this.page.page,
|
|
'size': this.page.size
|
|
}
|
|
FetchInitScreenBranch(params).then((res) => {
|
|
console.log('initScreenBranch', res.content)
|
|
if (res.content.length !== 0) {
|
|
this.tableData = res.content
|
|
this.page.total = res.totalElements
|
|
} else {
|
|
this.tableData = []
|
|
this.page.total = 0
|
|
}
|
|
}).catch(err => {
|
|
console.log(err)
|
|
})
|
|
},
|
|
handleDblClick(formName, field) {
|
|
this.originalValues[formName][field] = this[formName][field]
|
|
this.editStatus[formName][field] = true
|
|
this.$nextTick(() => {
|
|
const input = this.$refs[`${formName}${field}`]
|
|
if (input) input.focus()
|
|
})
|
|
},
|
|
handleBlur(formName, field) {
|
|
this.editStatus[formName][field] = false
|
|
if (this[formName][field] !== this.originalValues[formName][field]) {
|
|
this.submitMapData(formName, field)
|
|
}
|
|
},
|
|
submitMapData(formName, field) {
|
|
const value = this[formName][field]
|
|
if (!value) {
|
|
this.$message.warning(`${this.getFieldLabel(formName, field)}不能为空`)
|
|
this[formName][field] = this.originalValues[formName][field]
|
|
return
|
|
}
|
|
|
|
const param = {
|
|
'code': field,
|
|
'context': value,
|
|
'libcode': this.user.fonds.fondsNo,
|
|
'remarks': null
|
|
}
|
|
FetchEditScreenSetting(param)
|
|
.then((res) => {
|
|
if (res.code !== 500) {
|
|
this.$message.success(`${this.getFieldLabel(formName, field)}更新成功`)
|
|
this.$emit('update:mapData', value)
|
|
this.$emit('triggerInit')
|
|
} else {
|
|
this.$message.error(`${this.getFieldLabel(formName, field)}更新失败`)
|
|
}
|
|
})
|
|
.catch(() => {
|
|
this.$message.error(`${this.getFieldLabel(formName, field)}更新失败`)
|
|
})
|
|
},
|
|
getFieldLabel(formName, field) {
|
|
const labels = {
|
|
areaForm: {
|
|
map_data: 'GeoJSON',
|
|
map_spacing: '地图边距微调'
|
|
}
|
|
}
|
|
return labels[formName][field] || field
|
|
},
|
|
handleCover(value) {
|
|
if (value) {
|
|
const imgUrl = this.baseApi + '/api/fileRelevant/getImg?imgType=1&imgId=' + value
|
|
this.libImgList.push({ imgPath: imgUrl })
|
|
} else {
|
|
this.libImgList = []
|
|
}
|
|
},
|
|
|
|
initForm(type, branchData) {
|
|
if (type === 'add') {
|
|
this.formTitle = '新增分馆'
|
|
if (this.form.branchType === '1') {
|
|
this.form.name = this.user.fonds.fondsName
|
|
this.form.libcode = this.user.fonds.fondsNo
|
|
} else {
|
|
this.form.name = ''
|
|
this.form.libcode = ''
|
|
}
|
|
} else {
|
|
this.formTitle = '编辑分馆'
|
|
this.form = branchData
|
|
this.form.branchType = branchData.branchType === 1 || branchData.branchType === '1' ? '1' : '2'
|
|
this.libImgList = branchData.promotions
|
|
this.form.explains = branchData.explains.replace(/<br\/?>/g, '\n')
|
|
}
|
|
this.libDialogVisible = true
|
|
},
|
|
changeBranchType(val) {
|
|
if (val === '1') {
|
|
this.form.name = this.user.fonds.fondsName
|
|
this.form.libcode = this.user.fonds.fondsNo
|
|
} else {
|
|
this.form.name = ''
|
|
this.form.libcode = ''
|
|
}
|
|
},
|
|
selectionChangeHandler(val) {
|
|
this.selections = val
|
|
},
|
|
clickRowHandler(row) {
|
|
this.$refs.table.clearSelection()
|
|
this.$refs.table.toggleRowSelection(row)
|
|
},
|
|
toDelete(selections) {
|
|
this.deleteLoading = true
|
|
|
|
this.$confirm(`确定要删除所选的数据吗?`, '提示', {
|
|
confirmButtonText: '确定',
|
|
cancelButtonText: '取消',
|
|
type: 'warning'
|
|
}).then(() => {
|
|
const ids = []
|
|
selections.forEach(book => {
|
|
ids.push(book.id)
|
|
})
|
|
console.log('ids', ids)
|
|
FetchDeleteScreenBranch(ids).then((res) => {
|
|
console.log('res', res)
|
|
if (res.code !== 500) {
|
|
this.$message({ message: '删除成功', type: 'success', offset: 8 })
|
|
this.initScreenBranch()
|
|
} else {
|
|
this.$message({ message: '删除失败', type: 'error', offset: 8 })
|
|
}
|
|
this.deleteLoading = false
|
|
}).catch(err => {
|
|
console.log(err)
|
|
this.deleteLoading = false
|
|
})
|
|
}).catch(() => {
|
|
this.deleteLoading = false
|
|
})
|
|
},
|
|
handleDelete(index) {
|
|
this.libImgList.splice(index, 1)
|
|
},
|
|
|
|
handleComfired() {
|
|
this.$refs.form.validate((valid) => {
|
|
if (valid) {
|
|
this.btnLoading = true
|
|
if (this.libImgList.length !== 0) {
|
|
this.form.promotions = this.libImgList
|
|
}
|
|
if (this.form.branchType === '2') {
|
|
this.form.libcode = this.user.fonds.fondsNo
|
|
}
|
|
this.form.explains = this.form.explains.replace(/\n/g, '<br>')
|
|
console.log('FetchEditScreenBranch', this.form)
|
|
FetchEditScreenBranch(this.form).then((res) => {
|
|
console.log('res', res)
|
|
if (res.code !== 500) {
|
|
this.$message({ message: '新增成功', type: 'success', offset: 8 })
|
|
this.initScreenBranch()
|
|
} else {
|
|
this.$message({ message: res.message, type: 'error', offset: 8 })
|
|
}
|
|
this.handleClose()
|
|
}).catch(err => {
|
|
console.log(err)
|
|
this.handleClose()
|
|
})
|
|
} else {
|
|
console.log('error submit!!')
|
|
return false
|
|
}
|
|
})
|
|
},
|
|
handleClose() {
|
|
this.geoJsonVisible = false
|
|
this.libDialogVisible = false
|
|
this.$refs['form'].resetFields()
|
|
this.$refs['form'].clearValidate()
|
|
this.form = {
|
|
name: '', branchType: '1', libcode: '', tcId: '', occupationArea: '', address: '', mapX: '', mapY: '', explains: ''
|
|
}
|
|
this.libImgList = []
|
|
this.btnLoading = false
|
|
},
|
|
handleSizeChange(size) {
|
|
this.page.size = size
|
|
this.page.page = 0
|
|
this.initScreenBranch()
|
|
},
|
|
handleCurrentPage(val) {
|
|
this.page.page = val
|
|
this.initScreenBranch()
|
|
},
|
|
copyLink() {
|
|
navigator.clipboard.writeText(this.link)
|
|
.then(() => {
|
|
this.copied = true
|
|
// 2秒后恢复复制图标
|
|
setTimeout(() => {
|
|
this.copied = false
|
|
}, 2000)
|
|
})
|
|
.catch(err => {
|
|
console.error('无法复制内容: ', err)
|
|
this.fallbackCopyText()
|
|
})
|
|
},
|
|
fallbackCopyText() {
|
|
const textArea = document.createElement('textarea')
|
|
textArea.value = this.link
|
|
textArea.style.position = 'fixed'
|
|
document.body.appendChild(textArea)
|
|
textArea.focus()
|
|
textArea.select()
|
|
|
|
try {
|
|
const successful = document.execCommand('copy')
|
|
this.copied = successful
|
|
if (successful) {
|
|
setTimeout(() => {
|
|
this.copied = false
|
|
}, 2000)
|
|
}
|
|
} catch (err) {
|
|
console.error('复制失败: ', err)
|
|
}
|
|
|
|
document.body.removeChild(textArea)
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss" scoped>
|
|
@import "~@/assets/styles/digitalScreen.scss";
|
|
.geoInput{
|
|
.edit-readonly{
|
|
width: 800px !important;
|
|
height: 110px !important;
|
|
line-height: 20px !important;
|
|
overflow: hidden;
|
|
overflow-y: scroll;
|
|
}
|
|
}
|
|
|
|
.areaForm{
|
|
::v-deep .geoInput{
|
|
.el-form-item__content {
|
|
width: 800px !important;
|
|
height: 110px !important;
|
|
}
|
|
}
|
|
}
|
|
|
|
.icon-zhuyi-lan{
|
|
font-size: 20px;
|
|
color: #0348f3;
|
|
cursor: pointer;
|
|
}
|
|
.geoJson-dialog{
|
|
::v-deep .el-dialog{
|
|
width: 850px;
|
|
.el-dialog__body{
|
|
padding: 10px 0 20px 0;
|
|
}
|
|
}
|
|
|
|
}
|
|
.geo-remarks{
|
|
font-size: 14px;
|
|
line-height: 30px;
|
|
.external-link {
|
|
color: #0348f3; /* Vue的默认主题色 */
|
|
text-decoration: none;
|
|
}
|
|
.external-link:hover {
|
|
text-decoration: underline;
|
|
}
|
|
.iconfont{
|
|
cursor: pointer;
|
|
margin-left: 6px;
|
|
font-size: 18px;
|
|
}
|
|
.icon-fuzhichenggong1{
|
|
font-size: 20px;
|
|
}
|
|
}
|
|
::v-deep .el-table tr .el-table__cell{
|
|
padding: 8px 0 !important;
|
|
}
|
|
.location-item{
|
|
::v-deep .el-form-item{
|
|
display: flex;
|
|
justify-content: flex-start;
|
|
margin-right: 0 !important;
|
|
.el-form-item__content{
|
|
width: 586px !important;
|
|
display: flex;
|
|
justify-content: space-between;
|
|
.el-input:first-child{
|
|
margin-right: 20px;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
.libImg-list{
|
|
display: flex;
|
|
justify-content: flex-start;
|
|
width: 600px;
|
|
margin-bottom: 10px;
|
|
.libImg-item{
|
|
position: relative;
|
|
display: flex;
|
|
justify-content: flex-start;
|
|
height: 96px;
|
|
margin-right: 10px;
|
|
img{
|
|
display: block;
|
|
height: 100%;
|
|
}
|
|
i{
|
|
// position: absolute;
|
|
// left: 4px;
|
|
// top: 0;
|
|
color: red;
|
|
cursor: pointer;
|
|
margin: 76px 0 0 5px;
|
|
}
|
|
}
|
|
}
|
|
.padding-style-input{
|
|
.edit-readonly{
|
|
width: 289px !important;
|
|
border-right: none !important;
|
|
margin-right: 0 !important;
|
|
border-radius: 4px 0 0 4px !important;
|
|
}
|
|
}
|
|
.edit-slot {
|
|
background-color: #f5f7fa;
|
|
color: #909399;
|
|
display: block;
|
|
position: relative;
|
|
border: 1px solid #dcdfe6;
|
|
border-radius: 0 4px 4px 0;
|
|
padding: 0 20px;
|
|
white-space: nowrap;
|
|
height: 32px;
|
|
}
|
|
</style>
|