|
@@ -1,267 +1,64 @@
|
|
|
<!-- -->
|
|
|
<template>
|
|
|
<div class="tab2Add">
|
|
|
- <div class="top">
|
|
|
- 典藏信息 > {{ ruleForm.type === "img" ? "精品图片" : "三维模型" }} >
|
|
|
- {{ ruleForm.id ? "编辑" : "新增" }}
|
|
|
- </div>
|
|
|
+ <div class="top">建筑可对话-发布审核</div>
|
|
|
<div class="conten">
|
|
|
- <el-form
|
|
|
- :model="ruleForm"
|
|
|
- ref="ruleForm"
|
|
|
- label-width="120px"
|
|
|
- class="demo-ruleForm"
|
|
|
- >
|
|
|
- <!-- 名称 -->
|
|
|
- <div class="checkBox2">
|
|
|
- <el-form-item label="名称:">
|
|
|
- <i class="biaoshi biaoshi2"></i>
|
|
|
- <el-input
|
|
|
- v-model="ruleForm.name"
|
|
|
- maxlength="10"
|
|
|
- show-word-limit
|
|
|
- ></el-input>
|
|
|
- </el-form-item>
|
|
|
- <!-- 总登记号 -->
|
|
|
- <el-form-item label="总登记号:">
|
|
|
- <el-input
|
|
|
- v-model="ruleForm.registerNum"
|
|
|
- maxlength="25"
|
|
|
- show-word-limit
|
|
|
- ></el-input>
|
|
|
- </el-form-item>
|
|
|
- </div>
|
|
|
- <div class="checkBox">
|
|
|
- <!-- 日期 -->
|
|
|
- <el-form-item label="日期:">
|
|
|
- <i class="biaoshi biaoshi2"></i>
|
|
|
- <el-date-picker
|
|
|
- format="yyyy-MM-dd"
|
|
|
- value-format="yyyy-MM-dd"
|
|
|
- v-model="day"
|
|
|
- type="date"
|
|
|
- placeholder="选择日期"
|
|
|
- >
|
|
|
- </el-date-picker>
|
|
|
- </el-form-item>
|
|
|
-
|
|
|
- <!-- 类型 -->
|
|
|
- <el-form-item label="类别:">
|
|
|
- <el-select
|
|
|
- v-model="ruleForm.dictTextureId"
|
|
|
- clearable
|
|
|
- placeholder="请选择类别"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="i in dictTextureArr"
|
|
|
- :key="i.value"
|
|
|
- :label="i.label"
|
|
|
- :value="i.value"
|
|
|
- >
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- <!-- 年代 -->
|
|
|
- <el-form-item label="年代:">
|
|
|
- <el-cascader
|
|
|
- ref="elCascader"
|
|
|
- clearable
|
|
|
- v-model="dictAgeId"
|
|
|
- :options="options"
|
|
|
- >
|
|
|
- </el-cascader>
|
|
|
- </el-form-item>
|
|
|
- <!-- 级别 -->
|
|
|
- <el-form-item label="级别:">
|
|
|
- <el-select
|
|
|
- v-model="ruleForm.dictLevelId"
|
|
|
- clearable
|
|
|
- placeholder="请选择级别"
|
|
|
- >
|
|
|
- <el-option
|
|
|
- v-for="i in dictLevelArr"
|
|
|
- :key="i.value"
|
|
|
- :label="i.label"
|
|
|
- :value="i.value"
|
|
|
- >
|
|
|
- </el-option>
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </div>
|
|
|
- <!-- 尺寸 -->
|
|
|
- <el-form-item label="尺寸:" class="sizeInput">
|
|
|
- <el-input v-model="chang" maxlength="100" show-word-limit></el-input>
|
|
|
- </el-form-item>
|
|
|
-
|
|
|
- <!-- 图片 -->
|
|
|
- <el-form-item label="图片:">
|
|
|
- <i class="biaoshi biaoshi1"></i>
|
|
|
- <el-upload
|
|
|
- accept=".png,.jpg,.jpeg,.gif"
|
|
|
- :data="{ type: 'img' }"
|
|
|
- class="avatar-uploader"
|
|
|
- :action="baseURL + '/api/cms/goods/upload'"
|
|
|
- :headers="{ token }"
|
|
|
- :show-file-list="true"
|
|
|
- :before-upload="beforethumbUpload"
|
|
|
- :on-success="upload_thumb_success"
|
|
|
+ <div class="row">
|
|
|
+ <div class="ll">标题:</div>
|
|
|
+ <div class="rr">{{ info.name }}</div>
|
|
|
+ </div>
|
|
|
+ <div class="row">
|
|
|
+ <div class="ll">正文:</div>
|
|
|
+ <div class="rr" v-html="info.description"></div>
|
|
|
+ </div>
|
|
|
+ <div class="row">
|
|
|
+ <div class="ll">话题:</div>
|
|
|
+ <div class="rr">{{ info.dictTopicName }}</div>
|
|
|
+ </div>
|
|
|
+ <div class="row">
|
|
|
+ <div class="ll">位置:</div>
|
|
|
+ <div class="rr">{{ info.positionName }}</div>
|
|
|
+ </div>
|
|
|
+ <div class="row">
|
|
|
+ <div class="ll">图片:</div>
|
|
|
+ <div class="rr img">
|
|
|
+ <div
|
|
|
+ @click="lookImg(baseURL + item.filePath)"
|
|
|
+ title="查看大图"
|
|
|
+ v-for="(item, index) in imgList"
|
|
|
+ :key="item.id"
|
|
|
>
|
|
|
- <div v-if="ruleForm.thumb" class="imgdiv">
|
|
|
- <img
|
|
|
- style="
|
|
|
- width: 150px;
|
|
|
- height: 150px;
|
|
|
- display: block;
|
|
|
- object-fit: cover;
|
|
|
- "
|
|
|
- :src="baseURL + ruleForm.thumb"
|
|
|
- />
|
|
|
- <i
|
|
|
- class="el-icon-circle-close"
|
|
|
- @click.stop="ruleForm.thumb = ''"
|
|
|
- ></i>
|
|
|
- </div>
|
|
|
- <i v-else class="el-icon-plus avatar-uploader-icon"></i>
|
|
|
- </el-upload>
|
|
|
- <p class="upHint">
|
|
|
- 格式要求:支持png、jpg、gif和jpeg的图片格式;最大支持20MB。
|
|
|
- </p>
|
|
|
- </el-form-item>
|
|
|
- <!-- 说明 -->
|
|
|
- <el-form-item label="说明:">
|
|
|
- <div class="txtBtn">
|
|
|
- <el-button
|
|
|
- :disabled="ruleForm.description.length >= 128"
|
|
|
- size="small"
|
|
|
- round
|
|
|
- @click="ruleForm.description += '  '"
|
|
|
- >首行缩进</el-button
|
|
|
- >
|
|
|
- <el-button
|
|
|
- :disabled="ruleForm.description.length >= 135"
|
|
|
- size="small"
|
|
|
- round
|
|
|
- @click="ruleForm.description += '<br/>'"
|
|
|
- >换行</el-button
|
|
|
- >
|
|
|
+ <img :src="baseURL + item.filePath" alt="" />
|
|
|
+ <p v-show="index === 0">封 面</p>
|
|
|
</div>
|
|
|
- <el-input
|
|
|
- type="textarea"
|
|
|
- v-model="ruleForm.description"
|
|
|
- maxlength="140"
|
|
|
- show-word-limit
|
|
|
- ></el-input>
|
|
|
- </el-form-item>
|
|
|
- <!-- 附件 -->
|
|
|
- <div class="rowFrom">
|
|
|
- <el-form-item label="模型文件:" v-if="ruleForm.type === 'model'">
|
|
|
- <i class="biaoshi"></i>
|
|
|
- <el-upload
|
|
|
- accept=".4dage"
|
|
|
- multiple
|
|
|
- drag
|
|
|
- class="upload-demo"
|
|
|
- :data="{ type: 'model' }"
|
|
|
- :file-list="fileList"
|
|
|
- :action="baseURL + '/api/cms/goods/upload'"
|
|
|
- :headers="{ token }"
|
|
|
- :before-upload="beforeFujian"
|
|
|
- :on-success="successFujian"
|
|
|
- :before-remove="beforeRemove"
|
|
|
- :on-remove="handleRemove"
|
|
|
- :limit="1"
|
|
|
- :on-exceed="handleExceed"
|
|
|
- :show-file-list="true"
|
|
|
- >
|
|
|
- <i class="el-icon-upload"></i>
|
|
|
- <div class="el-upload__text">
|
|
|
- 将文件拖到此处,或<em>点击上传</em>
|
|
|
- </div>
|
|
|
- <div class="el-upload__text smEl">
|
|
|
- 仅支持.4dage格式的模型文件,大小不得超过500MB
|
|
|
- </div>
|
|
|
- </el-upload>
|
|
|
- </el-form-item>
|
|
|
-       
|
|
|
- <el-form-item label="音频文件:" v-if="ruleForm.type === 'model'">
|
|
|
- <el-upload
|
|
|
- accept=".mp3"
|
|
|
- multiple
|
|
|
- drag
|
|
|
- class="upload-demo"
|
|
|
- :data="{ type: 'audio' }"
|
|
|
- :file-list="fileList2"
|
|
|
- :action="baseURL + '/api/cms/goods/upload'"
|
|
|
- :headers="{ token }"
|
|
|
- :before-upload="beforeFujian2"
|
|
|
- :on-success="successFujian2"
|
|
|
- :before-remove="beforeRemove2"
|
|
|
- :on-remove="handleRemove2"
|
|
|
- :limit="1"
|
|
|
- :on-exceed="handleExceed2"
|
|
|
- :show-file-list="true"
|
|
|
- >
|
|
|
- <i class="el-icon-upload"></i>
|
|
|
- <div class="el-upload__text">
|
|
|
- 将文件拖到此处,或<em>点击上传</em>
|
|
|
- </div>
|
|
|
- <div class="el-upload__text smEl">
|
|
|
- 仅支持MP3格式的音频文件,大小不得超过10MB
|
|
|
- </div>
|
|
|
- </el-upload>
|
|
|
- </el-form-item>
|
|
|
</div>
|
|
|
- </el-form>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
<!-- 底部按钮 -->
|
|
|
<div class="con_btn">
|
|
|
- <el-button @click="goBack">取 消</el-button> 
|
|
|
- <el-button type="primary" @click="saveGood">保 存</el-button>
|
|
|
+ <el-button @click="goBack">返 回</el-button> 
|
|
|
+ <el-button @click="saveGood(2)">不 通 过</el-button> 
|
|
|
+ <el-button type="primary" @click="saveGood(1)">通 过</el-button>
|
|
|
</div>
|
|
|
+ <viewer class="viewerCla" ref="viewer" :images="lookPics">
|
|
|
+ <img :src="lookPics[0]" alt="" />
|
|
|
+ </viewer>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
-import { goodsSave, goodsDetail, dictGetTree } from '../../apis/tab2'
|
|
|
+import { goodsDetail, shareAudit } from '../../apis/tab2'
|
|
|
import axios from '@/utils/request'
|
|
|
export default {
|
|
|
name: 'tab2Add',
|
|
|
components: {},
|
|
|
data () {
|
|
|
- // 这里存放数据
|
|
|
return {
|
|
|
- // 日期
|
|
|
- day: '',
|
|
|
-
|
|
|
+ info: {},
|
|
|
+ imgList: [],
|
|
|
// 服务器前缀地址
|
|
|
baseURL: '',
|
|
|
- // 尺寸
|
|
|
- chang: '',
|
|
|
- // 年代
|
|
|
- dictAgeId: [],
|
|
|
- options: [],
|
|
|
- // 类型数组
|
|
|
- dictTextureArr: [],
|
|
|
- // 级别数组
|
|
|
- dictLevelArr: [],
|
|
|
- ruleForm: {
|
|
|
- // 总登记号
|
|
|
- registerNum: '',
|
|
|
- // 类别
|
|
|
- dictTextureId: '',
|
|
|
- // 级别
|
|
|
- dictLevelId: '',
|
|
|
- name: '',
|
|
|
- type: null,
|
|
|
- description: '',
|
|
|
- thumb: '',
|
|
|
- // 上传模型
|
|
|
- filePath: '',
|
|
|
- fileName: ''
|
|
|
- },
|
|
|
- fileList: [],
|
|
|
- // ---------音频
|
|
|
- fileList2: []
|
|
|
+ lookPics: []
|
|
|
}
|
|
|
},
|
|
|
// 监听属性 类似于data概念
|
|
@@ -270,207 +67,39 @@ export default {
|
|
|
watch: {},
|
|
|
// 方法集合
|
|
|
methods: {
|
|
|
+ // 点击查看大图
|
|
|
+ lookImg (url) {
|
|
|
+ const dom = this.$refs.viewer.$viewer
|
|
|
+ this.lookPics = [url]
|
|
|
+ dom.show()
|
|
|
+ },
|
|
|
// 点击取消
|
|
|
goBack () {
|
|
|
let k = this.$route.query.k
|
|
|
if (!k) k = '1'
|
|
|
this.$router.push({
|
|
|
path: '/layout/tab2',
|
|
|
- query: { typeU: this.ruleForm.type, k }
|
|
|
+ query: { k }
|
|
|
})
|
|
|
},
|
|
|
- // 点击保存
|
|
|
- async saveGood () {
|
|
|
- if (this.ruleForm.name.trim() === '') {
|
|
|
- return this.$message.warning('名称不能为空')
|
|
|
- }
|
|
|
- if (this.ruleForm.thumb === '') {
|
|
|
- return this.$message.warning('图片不能为空')
|
|
|
- }
|
|
|
- if (this.ruleForm.filePath === '' && this.ruleForm.type === 'model') {
|
|
|
- return this.$message.warning('文件不能为空')
|
|
|
- }
|
|
|
- if (!this.day) return this.$message.warning('日期不能为空')
|
|
|
- const obj = { ...this.ruleForm }
|
|
|
- obj.day = this.day
|
|
|
- // 年代数据判断
|
|
|
- if (this.dictAgeId && this.dictAgeId[1]) {
|
|
|
- obj.dictAgeId = this.dictAgeId[1]
|
|
|
- // eslint-disable-next-line no-constant-condition
|
|
|
- const tempArr = this.$refs.elCascader.getCheckedNodes()[0].pathLabels
|
|
|
- obj.dictAgeFront = tempArr.join('/')
|
|
|
- }
|
|
|
- // 长宽高判断
|
|
|
- if (this.chang) obj.sizeLength = this.chang
|
|
|
- const res = await goodsSave(obj)
|
|
|
+ async saveGood (val) {
|
|
|
+ const res = await shareAudit(this.info.id, val)
|
|
|
if (res.code === 0) {
|
|
|
this.$message.success('操作成功')
|
|
|
this.goBack()
|
|
|
} else this.$message.warning(res.msg)
|
|
|
- },
|
|
|
- // 上传图片
|
|
|
- beforethumbUpload (file) {
|
|
|
- // console.log(998, file)
|
|
|
- // 限制图片大小和格式
|
|
|
- const sizeOk = file.size / 1024 / 1024 < 20
|
|
|
- const typeOk =
|
|
|
- file.type === 'image/png' ||
|
|
|
- (file.type === 'image/jpeg' && !file.name.includes('.jfif')) ||
|
|
|
- file.type === 'image/gif'
|
|
|
-
|
|
|
- return new Promise((resolve, reject) => {
|
|
|
- if (!typeOk) {
|
|
|
- this.$message.error('图片格式有误!')
|
|
|
- reject(file)
|
|
|
- } else if (!sizeOk) {
|
|
|
- this.$message.error('图片大小超过20M!')
|
|
|
- reject(file)
|
|
|
- } else {
|
|
|
- resolve(file)
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- upload_thumb_success (data) {
|
|
|
- this.$message.success('上传成功')
|
|
|
- this.ruleForm.thumb = data.data.filePath
|
|
|
- },
|
|
|
- // 上传附件
|
|
|
- beforeFujian (file) {
|
|
|
- console.log('附件上传前', file)
|
|
|
- const sizeOk = file.size / 1024 / 1024 < 500
|
|
|
- const typeOk = file.type === '' && file.name.includes('.4dage')
|
|
|
- return new Promise((resolve, reject) => {
|
|
|
- if (!sizeOk) {
|
|
|
- this.$message.error('模型大小超过500M!')
|
|
|
- reject(file)
|
|
|
- } else if (!typeOk) {
|
|
|
- this.$message.error('模型格式有误!')
|
|
|
- reject(file)
|
|
|
- } else {
|
|
|
- resolve(file)
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- successFujian (file) {
|
|
|
- console.log('上传附件成功', file)
|
|
|
- if (file.code === 0) {
|
|
|
- this.ruleForm.filePath = file.data.filePath
|
|
|
- this.ruleForm.fileName = file.data.fileName
|
|
|
- this.$message.success('上传成功')
|
|
|
- } else if (file.code === -1) {
|
|
|
- this.$message.warning('上传失败,不支持的文件格式')
|
|
|
- }
|
|
|
- },
|
|
|
- beforeRemove (file, fileList) {
|
|
|
- if (file && file.status === 'success') {
|
|
|
- return this.$confirm(`确定移除 ${file.name}?`)
|
|
|
- }
|
|
|
- },
|
|
|
- handleRemove (file, fileList) {
|
|
|
- this.ruleForm.filePath = ''
|
|
|
- this.ruleForm.fileName = ''
|
|
|
- },
|
|
|
- handleExceed (files, fileList) {
|
|
|
- this.$message.warning('只能上传一个文件,请删除原文件后操作')
|
|
|
- },
|
|
|
-
|
|
|
- // 上传音频-------------
|
|
|
- beforeFujian2 (file) {
|
|
|
- console.log('附件上传前222', file)
|
|
|
- const sizeOk = file.size / 1024 / 1024 < 10
|
|
|
- const typeOk = file.type === 'audio/mpeg'
|
|
|
- return new Promise((resolve, reject) => {
|
|
|
- if (!sizeOk) {
|
|
|
- this.$message.error('音频大小超过10M!')
|
|
|
- reject(file)
|
|
|
- } else if (!typeOk) {
|
|
|
- this.$message.error('音频格式有误!')
|
|
|
- reject(file)
|
|
|
- } else {
|
|
|
- resolve(file)
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- successFujian2 (file) {
|
|
|
- console.log('上传附件成功222', file)
|
|
|
- if (file.code === 0) {
|
|
|
- this.ruleForm.audioPath = file.data.filePath
|
|
|
- this.ruleForm.audioName = file.data.fileName
|
|
|
- this.$message.success('上传成功')
|
|
|
- } else if (file.code === -1) {
|
|
|
- this.$message.warning('上传失败,不支持的文件格式')
|
|
|
- }
|
|
|
- },
|
|
|
- beforeRemove2 (file, fileList) {
|
|
|
- if (file && file.status === 'success') {
|
|
|
- return this.$confirm(`确定移除 ${file.name}?`)
|
|
|
- }
|
|
|
- },
|
|
|
- handleRemove2 (file, fileList) {
|
|
|
- this.ruleForm.audioPath = ''
|
|
|
- this.ruleForm.audioName = ''
|
|
|
- },
|
|
|
- handleExceed2 (files, fileList) {
|
|
|
- this.$message.warning('只能上传一个文件,请删除原文件后操作')
|
|
|
}
|
|
|
},
|
|
|
// 生命周期 - 创建完成(可以访问当前this实例)
|
|
|
async created () {
|
|
|
// 获取服务器前缀地址
|
|
|
this.baseURL = axios.defaults.baseURL
|
|
|
- // 获取用户token
|
|
|
- this.token = localStorage.getItem('HNBWY_token')
|
|
|
- // 拿到路由跳转传过来的数据
|
|
|
- this.ruleForm.type = this.$route.query.typeU
|
|
|
-
|
|
|
- // 几个下拉框的数据
|
|
|
- // --------年代
|
|
|
- const res = await dictGetTree({ type: 'age' })
|
|
|
- const temp = []
|
|
|
- res.data.forEach((v, i) => {
|
|
|
- temp.push({ value: v.id, label: v.name, children: [] })
|
|
|
- v.children.forEach((p) => {
|
|
|
- temp[i].children.push({ value: p.id, label: p.name })
|
|
|
- })
|
|
|
- })
|
|
|
- this.options = [...temp]
|
|
|
-
|
|
|
- // -------类别
|
|
|
- const res2 = await dictGetTree({ type: 'texture' })
|
|
|
- this.dictTextureArr = res2.data.map((v) => {
|
|
|
- return { value: v.id, label: v.name }
|
|
|
- })
|
|
|
- // -------级别
|
|
|
- const res3 = await dictGetTree({ type: 'level' })
|
|
|
- this.dictLevelArr = res3.data.map((v) => {
|
|
|
- return { value: v.id, label: v.name }
|
|
|
- })
|
|
|
-
|
|
|
- // 如果是编辑
|
|
|
let id = this.$route.query.id
|
|
|
if (id) {
|
|
|
id = Number(id)
|
|
|
- const resSon = await goodsDetail(id)
|
|
|
- this.ruleForm = resSon.data
|
|
|
- // 附件回显
|
|
|
- this.fileList = [{ name: resSon.data.fileName }]
|
|
|
- // 音频回显
|
|
|
- if (resSon.data.audioName) {
|
|
|
- this.fileList2 = [{ name: resSon.data.audioName }]
|
|
|
- }
|
|
|
-
|
|
|
- // 年代回显
|
|
|
- if (resSon.data.dictAgeId) {
|
|
|
- res.data.forEach((v) => {
|
|
|
- v.children.forEach((p) => {
|
|
|
- if (p.id === resSon.data.dictAgeId) this.dictAgeId = [v.id, p.id]
|
|
|
- })
|
|
|
- })
|
|
|
- }
|
|
|
- // 尺寸回显
|
|
|
- this.chang = resSon.data.sizeLength
|
|
|
- // 日期回显
|
|
|
- this.day = resSon.data.day
|
|
|
+ const res = await goodsDetail(id)
|
|
|
+ this.info = res.data.entity
|
|
|
+ this.imgList = res.data.file
|
|
|
}
|
|
|
},
|
|
|
// 生命周期 - 挂载完成(可以访问DOM元素)
|
|
@@ -488,19 +117,9 @@ export default {
|
|
|
.tab2Add {
|
|
|
width: 100%;
|
|
|
height: 100%;
|
|
|
-
|
|
|
- .rowFrom {
|
|
|
- display: flex;
|
|
|
-
|
|
|
- /deep/.el-upload-list {
|
|
|
- width: 360px;
|
|
|
- }
|
|
|
-
|
|
|
- /deep/.el-upload-list li {
|
|
|
- width: 360px !important;
|
|
|
- }
|
|
|
+ .viewerCla img {
|
|
|
+ display: none;
|
|
|
}
|
|
|
-
|
|
|
.top {
|
|
|
margin-top: -20px;
|
|
|
height: 50px;
|
|
@@ -511,136 +130,55 @@ export default {
|
|
|
}
|
|
|
|
|
|
.conten {
|
|
|
- padding-right: 300px;
|
|
|
- padding-top: 20px;
|
|
|
-
|
|
|
- .upHint {
|
|
|
- position: absolute;
|
|
|
- bottom: 40px;
|
|
|
- left: 160px;
|
|
|
- }
|
|
|
-
|
|
|
- .avatar-uploader .el-upload {
|
|
|
- border-radius: 6px;
|
|
|
- cursor: pointer;
|
|
|
- position: relative;
|
|
|
- overflow: hidden;
|
|
|
- }
|
|
|
-
|
|
|
- .avatar-uploader .el-upload:hover {
|
|
|
- border-color: #3e5eb3;
|
|
|
- }
|
|
|
-
|
|
|
- .avatar-uploader-icon {
|
|
|
- border: 1px dashed #ccc;
|
|
|
- font-size: 28px;
|
|
|
- color: #8c939d;
|
|
|
- width: 150px;
|
|
|
- height: 150px;
|
|
|
- line-height: 150px;
|
|
|
- text-align: center;
|
|
|
- }
|
|
|
-
|
|
|
- .biaoshi1::before {
|
|
|
- left: -64px;
|
|
|
- }
|
|
|
-
|
|
|
- .biaoshi2::before {
|
|
|
- top: -11px;
|
|
|
- left: -64px;
|
|
|
- }
|
|
|
-
|
|
|
- /deep/.el-form-item {
|
|
|
- margin-bottom: 12px;
|
|
|
- }
|
|
|
-
|
|
|
- /deep/.el-textarea textarea {
|
|
|
- margin-top: 10px;
|
|
|
- height: 55px;
|
|
|
- resize: none;
|
|
|
- }
|
|
|
-
|
|
|
- /deep/.el-textarea .el-input__count {
|
|
|
- position: absolute;
|
|
|
- bottom: -24px;
|
|
|
- right: 4px;
|
|
|
- background-color: transparent;
|
|
|
- height: 30px;
|
|
|
- line-height: 30px;
|
|
|
- }
|
|
|
-
|
|
|
- .smEl {
|
|
|
- color: #ccc;
|
|
|
- font-size: 12px;
|
|
|
- margin-top: -15px;
|
|
|
+ max-height: 670px;
|
|
|
+ overflow-y: auto;
|
|
|
+ padding: 20px 50px 50px;
|
|
|
+ .row {
|
|
|
+ display: flex;
|
|
|
+ margin-bottom: 15px;
|
|
|
+ .ll {
|
|
|
+ width: 80px;
|
|
|
+ font-weight: 700;
|
|
|
+ }
|
|
|
+ .rr {
|
|
|
+ width: calc(100% - 100px);
|
|
|
+ }
|
|
|
+ .img {
|
|
|
+ display: flex;
|
|
|
+ flex-wrap: wrap;
|
|
|
+ & > div {
|
|
|
+ cursor: pointer;
|
|
|
+ width: 150px;
|
|
|
+ height: 150px;
|
|
|
+ margin: 0 18px 18px 0;
|
|
|
+ position: relative;
|
|
|
+ & > p {
|
|
|
+ position: absolute;
|
|
|
+ bottom: 0;
|
|
|
+ left: 0;
|
|
|
+ width: 100%;
|
|
|
+ height: 30px;
|
|
|
+ background-color: rgba(0, 0, 0, 0.6);
|
|
|
+ color: #fff;
|
|
|
+ text-align: center;
|
|
|
+ line-height: 30px;
|
|
|
+ }
|
|
|
+ & > img {
|
|
|
+ width: 150px;
|
|
|
+ height: 150px;
|
|
|
+ object-fit: cover;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
.con_btn {
|
|
|
position: absolute;
|
|
|
- bottom: 20px;
|
|
|
+ bottom: 10px;
|
|
|
left: 50%;
|
|
|
transform: translateX(-50%);
|
|
|
- }
|
|
|
-
|
|
|
- .txtBtn {
|
|
|
- position: absolute;
|
|
|
- top: -32px;
|
|
|
- right: 4px;
|
|
|
- }
|
|
|
-
|
|
|
- /deep/.imgdiv .el-icon-circle-close {
|
|
|
- font-size: 20px;
|
|
|
- }
|
|
|
-
|
|
|
- .checkBox {
|
|
|
display: flex;
|
|
|
- }
|
|
|
-
|
|
|
- .checkBox2 {
|
|
|
- width: 100%;
|
|
|
- display: flex;
|
|
|
-
|
|
|
- & > div {
|
|
|
- width: 50%;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- .fromSize {
|
|
|
- /deep/.el-form-item__content {
|
|
|
- display: flex;
|
|
|
- }
|
|
|
-
|
|
|
- /deep/.el-input {
|
|
|
- width: 100px;
|
|
|
- }
|
|
|
-
|
|
|
- /deep/.el-input--suffix {
|
|
|
- width: 90px;
|
|
|
- }
|
|
|
-
|
|
|
- /deep/.el-input__inner {
|
|
|
- padding: 0 5px !important;
|
|
|
- }
|
|
|
-
|
|
|
- .sizeRow {
|
|
|
- margin-right: 90px;
|
|
|
- }
|
|
|
-
|
|
|
- .sizeRow2 {
|
|
|
- /deep/.el-input {
|
|
|
- width: 110px;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
- .sizeInput{
|
|
|
- /deep/input{
|
|
|
- padding-right: 70px !important;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- /deep/.el-upload-list {
|
|
|
- margin-top: -12px;
|
|
|
+ justify-content: center;
|
|
|
}
|
|
|
}
|
|
|
</style>
|