提交 b86916cc authored 作者: 龙菲's avatar 龙菲

修改按钮和表单样式;增加3D文物的查询和查看3D文物的按钮

上级 9b582a13
......@@ -30,7 +30,7 @@
</div>
<div class="tools animate__animated animate__fadeInRight">
<div class="wrapper">
<el-button round v-if="!hasToken">
<el-button round v-if="!hasToken">
<i class="el-icon-user"></i>
<span>登录</span>
<!-- <i class="el-icon-arrow-down el-icon--right"></i> -->
......
<template>
<el-form :inline="true">
<el-form :inline="true" size="mini">
<el-form-item
:label="item.label"
v-for="(item, index) in config"
......@@ -42,19 +42,23 @@
:value-format="'yyyy-MM-dd HH:mm:ss'"
>
</el-date-picker>
<el-checkbox v-if="item.type=='checkbox'" v-model="searchData[item.prop]"></el-checkbox>
</el-form-item>
<el-form-item>
<el-form-item style="margin-left:26px">
<el-button
type="primary"
icon="el-icon-search"
@click.native="handleSearch"
size="mini"
>
查询</el-button
>
<el-button
type="primary"
plain
icon="el-icon-refresh"
@click.native="handleReset"
size="mini"
>
重置</el-button
>
......
......@@ -2,14 +2,34 @@
<span>
<span v-for="(op, index) in operations" :key="index">
<span v-if="op.type == 'delete'">
<el-popconfirm :title="deleteTitle ? deleteTitle : '确定删除吗?'" @confirm="clickOperation(op)">
<el-button type="danger" :disabled="disabled" size="mini" slot="reference" :icon="icons[op.type]" style="margin-right: 4px">
{{ op.title }}</el-button>
<el-popconfirm
:title="deleteTitle ? deleteTitle : '确定删除吗?'"
@confirm="clickOperation(op)"
>
<el-link
type="danger"
:disabled="disabled"
size="mini"
slot="reference"
:icon="icons[op.type]"
>
{{ op.title }}</el-link
>
</el-popconfirm>
</span>
<el-button size="mini" :icon="icons[op.type]" :disabled="(disabled &&op.type!='view')" @click="clickOperation(op)" type="primary" style="margin-right: 4px"
v-else>{{ op.title }}
</el-button>
<span class="view-3d" v-else-if="op.type == 'view3D'" >
<svg-icon icon-class="three"></svg-icon>{{ op.title }}</span
>
<el-link
size="mini"
:icon="icons[op.type]"
:disabled="disabled && op.type != 'view'"
@click="clickOperation(op)"
type="primary"
style="margin-right: 16px"
v-else
>{{ op.title }}
</el-link>
</span>
</span>
</template>
......@@ -27,10 +47,10 @@ export default {
deleteTitle: {
type: String,
},
disabled:{
disabled: {
type: Boolean,
default:false
}
default: false,
},
},
data() {
return {
......@@ -41,8 +61,9 @@ export default {
download: "el-icon-download",
dataPermission: "el-icon-key",
editRole: "el-icon-user",
editPassword: 'el-icon-lock',
approval: 'el-icon-s-check',
editPassword: "el-icon-lock",
approval: "el-icon-s-check",
view3D: "three",
},
};
},
......@@ -53,3 +74,9 @@ export default {
},
};
</script>
<style lang="scss" scoped>
.view-3d {
color: #409eff;
margin-right: 16px;
}
</style>
......@@ -19,7 +19,7 @@
:http-request="httpRequest"
>
<i v-if="listType === 'picture-card'" class="el-icon-plus"></i>
<el-button v-else size="small" type="primary">点击上传</el-button>
<el-button v-else size="mini" type="primary" size="mini">点击上传</el-button>
<div v-if="showTip" slot="tip" class="el-upload__tip">
只能上传{{ fileTypeName || "jpg/png" }}文件,且不超过
{{ fileSize }}MB,最多上传{{ fileLimit }}个文件
......
<template>
<div class="images-list">
<!-- <el-upload :disabled="onlyRead" action="#" :on-remove="handleRemove" :on-exceed="handleExceed" :on-change="handleChange"
......@@ -13,11 +12,25 @@
{{ fileSize }}MB,最多上传{{ fileLimit }}个文件
</div>
</el-upload> -->
<el-upload action="#" :on-remove="handleRemove" :on-exceed="handleExceed" :on-change="handleChange"
:file-list="fileList" :multiple="fileLimit > 1" :limit="fileLimit" :list-type="listType" :accept="fileAccept"
:auto-upload="false" ref="ManualUploader" >
<i v-if="listType == 'picture-card'" class="el-icon-plus" slot="trigger"></i>
<el-button v-else size="small" type="primary">点击上传</el-button>
<el-upload
action="#"
:on-remove="handleRemove"
:on-exceed="handleExceed"
:on-change="handleChange"
:file-list="fileList"
:multiple="fileLimit > 1"
:limit="fileLimit"
:list-type="listType"
:accept="fileAccept"
:auto-upload="false"
ref="ManualUploader"
>
<i
v-if="listType == 'picture-card'"
class="el-icon-plus"
slot="trigger"
></i>
<el-button v-else type="primary" size="mini">点击上传</el-button>
<div v-if="showTip" slot="tip" class="el-upload__tip">
<div v-if="advice" style="color: #f56c6c">建议:{{ advice }}</div>
......@@ -29,7 +42,7 @@
</template>
<script>
export default {
name: "ManualUploader",//用于使用getfiles方法获取文件的父组件
name: "ManualUploader", //用于使用getfiles方法获取文件的父组件
props: {
files: {
type: Array,
......@@ -66,8 +79,8 @@ export default {
},
onlyRead: {
type: Boolean,
default: false
}
default: false,
},
},
data() {
return {
......@@ -221,7 +234,7 @@ export default {
},
};
</script>
<style lang="scss" >
<style lang="scss">
// .disabled .el-upload--picture-card,
// .el-upload--card {
// display: none !important;
......@@ -230,4 +243,4 @@ export default {
.el-upload-list__item {
transition: none !important;
}
</style>
\ No newline at end of file
</style>
<template>
<div class="images-list">
<el-upload action="#" :on-remove="handleRemove" :on-exceed="handleExceed" :on-change="handleChange"
:file-list="fileList" :multiple="fileLimit > 1" :limit="fileLimit" :list-type="listType" :accept="fileAccept"
:auto-upload="false" ref="ManualUploaderBind" :class="{ disabled: uploadDisabled || onlyRead }">
<i v-if="listType === 'picture-card'" class="el-icon-plus" slot="trigger"></i>
<el-button v-else size="small" type="primary">点击上传</el-button>
<el-upload
action="#"
:on-remove="handleRemove"
:on-exceed="handleExceed"
:on-change="handleChange"
:file-list="fileList"
:multiple="fileLimit > 1"
:limit="fileLimit"
:list-type="listType"
:accept="fileAccept"
:auto-upload="false"
ref="ManualUploaderBind"
:class="{ disabled: uploadDisabled || onlyRead }"
>
<i
v-if="listType === 'picture-card'"
class="el-icon-plus"
slot="trigger"
></i>
<el-button v-else size="mini" type="primary">点击上传</el-button>
<div v-if="(showTip &&!onlyRead)" slot="tip" class="el-upload__tip">
<div v-if="showTip && !onlyRead" slot="tip" class="el-upload__tip">
<div v-if="advice" style="color: #f56c6c">建议:{{ advice }}</div>
提示:只能上传{{ fileTypeName || "jpg/png" }}文件,且不超过
{{ fileSize }}MB,最多上传{{ fileLimit }}个文件
......@@ -17,7 +31,7 @@
</template>
<script>
export default {
name: "ManualUploaderBind",//用于使用双向绑定的父组件
name: "ManualUploaderBind", //用于使用双向绑定的父组件
props: {
// // 用于v-model绑定
value: {
......@@ -54,8 +68,8 @@ export default {
},
onlyRead: {
type: Boolean,
default: false
}
default: false,
},
},
data() {
return {
......@@ -227,7 +241,7 @@ export default {
},
};
</script>
<style lang="scss" >
<style lang="scss">
.disabled .el-upload--picture-card {
display: none !important;
}
......@@ -235,4 +249,4 @@ export default {
.el-upload-list__item {
transition: none !important;
}
</style>
\ No newline at end of file
</style>
......@@ -114,6 +114,9 @@ export default {
content: "保存";
padding-right: 0px;
}
.ql-editor{
min-height: 120px;
}
.ql-snow .ql-tooltip[data-mode="video"]::before {
content: "请输入视频地址:";
......
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1695004644918" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2132" xmlns:xlink="http://www.w3.org/1999/xlink" width="80" height="80"><path d="M571.284211 754.526316l264.08421-158.989474s2.694737 0 2.694737-2.694737l2.694737-2.694737v-2.694736-2.694737-2.694737V153.6v-2.694737-2.694737-2.694737-2.694736-2.694737s0-2.694737-2.694737-2.694737H835.368421h-2.694737-2.694737L428.463158 35.031579h-2.694737-2.694737-2.694737-2.694736-2.694737-2.694737-2.694737L169.768421 202.105263s-2.694737 0-2.694737 2.694737v2.694737s0 2.694737-2.694737 2.694737v2.694737C161.684211 215.578947 161.684211 215.578947 161.684211 218.273684V652.126316l2.694736 2.694737s2.694737 0 2.694737 2.694736h5.389474L555.115789 754.526316h5.389474c2.694737 0 5.389474 0 5.389474-2.694737 2.694737 2.694737 2.694737 2.694737 5.389474 2.694737-2.694737 0 0 0 0 0zM425.768421 113.178947c10.778947 0 18.863158-8.084211 18.863158-18.863158v-16.168421L778.778947 161.684211l-223.663158 153.6-113.178947-35.031579c-2.694737-8.084211-8.084211-16.168421-18.863158-16.168421-5.389474 0-10.778947 2.694737-13.473684 5.389473l-188.631579-56.589473L404.210526 88.926316v5.389473c2.694737 10.778947 10.778947 18.863158 21.557895 18.863158zM598.231579 485.052632l-18.863158-5.389474v-134.736842L805.726316 188.631579v363.789474l-13.473684-5.389474c-10.778947-2.694737-21.557895 2.694737-24.252632 13.473684-2.694737 10.778947 2.694737 18.863158 10.778947 24.252632l-199.410526 121.263158v-185.936842l8.084211 2.694736h5.389473c8.084211 0 16.168421-5.389474 18.863158-13.473684 2.694737-10.778947-2.694737-21.557895-13.473684-24.252631zM226.357895 603.621053c-5.389474-8.084211-18.863158-10.778947-26.947369-2.694737h-2.694737V245.221053l207.494737 64.673684v37.726316c0 10.778947 8.084211 18.863158 18.863158 18.863158s18.863158-8.084211 18.863158-18.863158v-26.947369L538.947368 350.315789v118.568422l-8.08421-2.694737c-10.778947-2.694737-21.557895 2.694737-24.252632 13.473684s2.694737 21.557895 13.473685 24.252631l18.863157 5.389474v204.8l-320.673684-80.842105h2.694737c10.778947-8.084211 10.778947-21.557895 5.389474-29.642105z" p-id="2133"></path><path d="M406.905263 220.968421c0 10.778947 8.084211 18.863158 18.863158 18.863158s18.863158-8.084211 18.863158-18.863158V156.294737c0-10.778947-8.084211-18.863158-18.863158-18.863158s-18.863158 8.084211-18.863158 18.863158v64.673684zM272.168421 587.452632c5.389474 0 8.084211 0 10.778947-2.694737l59.284211-48.505263c8.084211-5.389474 10.778947-18.863158 2.694737-26.947369-5.389474-8.084211-18.863158-10.778947-26.947369-2.694737l-59.28421 48.505263c-8.084211 5.389474-10.778947 18.863158-2.694737 26.947369 5.389474 2.694737 10.778947 5.389474 16.168421 5.389474zM393.431579 493.136842c5.389474 0 8.084211 0 10.778947-2.694737l24.252632-18.863158 29.642105 8.084211h5.389474c8.084211 0 16.168421-5.389474 18.863158-13.473684 2.694737-10.778947-2.694737-21.557895-13.473684-24.252632l-24.252632-8.08421v-26.947369c0-10.778947-8.084211-18.863158-18.863158-18.863158s-18.863158 8.084211-18.863158 18.863158v32.336842l-24.252631 18.863158c-8.084211 5.389474-10.778947 18.863158-2.694737 26.947369 2.694737 5.389474 8.084211 8.084211 13.473684 8.08421zM652.126316 541.642105l64.673684 21.557895h5.389474c8.084211 0 16.168421-5.389474 18.863158-13.473684 2.694737-10.778947-2.694737-21.557895-13.473685-24.252632l-64.673684-21.557895c-10.778947-2.694737-21.557895 2.694737-24.252631 13.473685s2.694737 21.557895 13.473684 24.252631zM910.821053 441.936842c-8.084211-8.084211-18.863158-8.084211-26.947369 0s-8.084211 18.863158 0 26.947369c43.115789 43.115789 67.368421 94.315789 67.368421 145.515789 0 132.042105-148.210526 247.915789-353.010526 272.168421-10.778947 0-18.863158 10.778947-16.168421 21.557895 0 10.778947 8.084211 16.168421 18.863158 16.168421h2.694737c223.663158-26.947368 388.042105-158.989474 388.042105-309.894737-2.694737-61.978947-29.642105-121.263158-80.842105-172.463158zM512 910.821053v-2.694737-2.694737-2.694737s0-2.694737-2.694737-2.694737v-2.694737l-45.810526-59.28421c-5.389474-8.084211-18.863158-10.778947-26.947369-2.694737-8.084211 5.389474-10.778947 18.863158-2.694736 26.947368l21.557894 26.947369c-8.084211 0-16.168421-2.694737-24.252631-2.694737C220.968421 862.315789 72.757895 746.442105 72.757895 614.4c0-48.505263 18.863158-94.315789 56.589473-134.736842 5.389474-8.084211 5.389474-21.557895-2.694736-26.947369-8.084211-8.084211-18.863158-5.389474-26.947369 2.694737-43.115789 48.505263-64.673684 102.4-64.673684 158.989474 0 150.905263 161.684211 282.947368 388.042105 309.894737 10.778947 0 21.557895 2.694737 32.336842 2.694737l-24.252631 32.336842c-5.389474 8.084211-5.389474 18.863158 2.694737 26.947368 2.694737 2.694737 8.084211 5.389474 10.778947 5.389474 5.389474 0 10.778947-2.694737 16.168421-8.084211l45.810526-59.28421v-2.694737-2.694737-2.694737c2.694737-2.694737 5.389474-2.694737 5.389474-5.389473z" p-id="2134"></path></svg>
\ No newline at end of file
......@@ -57,6 +57,7 @@
:label-width="labelWidth"
:rules="userInfoRules"
:model="userInfoForm"
size="mini"
>
<el-form-item label="用户名" prop="username">
<span v-if="!isEditingUserInfo">{{ userInfo.username }}</span>
......@@ -72,12 +73,14 @@
</el-form-item>
<el-form-item>
<el-button
size="mini"
type="primary"
@click.native="handleSubmitUserInfo"
:icon="isEditingUserInfo?'el-icon-circle-check':'el-icon-edit'"
:icon="isEditingUserInfo ? 'el-icon-circle-check' : 'el-icon-edit'"
>{{ isEditingUserInfo ? "保存" : "修改个人信息" }}</el-button
>
<el-button
size="mini"
type="primary"
@click.native="handleCancelChangeUserInfo"
v-if="isEditingUserInfo"
......@@ -103,12 +106,13 @@
</el-form-item>
<el-form-item>
<el-button
size="mini"
type="primary"
icon="el-icon-circle-check"
@click.native="handleSubmitPwd"
>保存</el-button
>
<el-button type="primary" @click.native="handleCancelChangePwd"
<el-button type="primary" size="mini" @click.native="handleCancelChangePwd"
>取消</el-button
>
</el-form-item>
......
......@@ -118,7 +118,7 @@ export function previewFile(href, previewName) {
* @param typeSuffix 文件后缀
*/
export function downloadBlob(url, fileName, typeSuffix) {
return new Promise((resolve,reject)=>{
return new Promise((resolve, reject) => {
axios({
url,
method: 'get',
......@@ -127,21 +127,21 @@ export function downloadBlob(url, fileName, typeSuffix) {
'authorization': getToken()
}
}).
then(response => {
const blob = new Blob([response.data])
const link = document.createElement('a')
link.href = URL.createObjectURL(blob)
if (typeSuffix) {
link.download = fileName + '.' + typeSuffix
} else {
link.download = fileName
}
link.click()
URL.revokeObjectURL(link.href)
resolve()
}).catch(err => {
console.error(err);
reject(err)
})
then(response => {
const blob = new Blob([response.data])
const link = document.createElement('a')
link.href = URL.createObjectURL(blob)
if (typeSuffix) {
link.download = fileName + '.' + typeSuffix
} else {
link.download = fileName
}
link.click()
URL.revokeObjectURL(link.href)
resolve()
}).catch(err => {
console.error(err);
reject(err)
})
})
};
......@@ -61,7 +61,7 @@
</el-pagination>
</div>
<div class="dialog-footer">
<el-button type="primary" @click.native="handleClose">关闭</el-button>
<el-button type="primary" size="mini" @click.native="handleClose">关闭</el-button>
</div>
</el-dialog>
</template>
......
......@@ -16,6 +16,7 @@
<div class="el-dialog-div">
<div class="dialog-content">
<el-form
size="mini"
:model="dialogForm"
class="basic-info"
:rules="rules"
......@@ -259,9 +260,10 @@
</el-form>
<div class="dialog-footer">
<el-button @click="cancelForm">取 消</el-button>
<el-button @click="cancelForm" size="mini">取 消</el-button>
<el-button
type="primary"
size="mini"
@click="handleSubmit"
:loading="loading"
preventReClick
......@@ -409,14 +411,12 @@ export default {
label: "label",
children: "children",
checkStrictly: true,
},
culturalRelicTextureProps: {
value: "value",
label: "label",
children: "children",
checkStrictly: true,
},
dialogVisible: false,
orgTreeData: [],
......@@ -425,7 +425,6 @@ export default {
label: "name",
children: "children",
checkStrictly: true,
},
rules: {
name: [{ required: true, message: "请输入文物名称", trigger: "blur" }],
......@@ -716,7 +715,7 @@ export default {
};
</script>
<style lang='scss' scoped>
<style lang="scss" scoped>
.title {
display: flex;
margin-bottom: 16px;
......
......@@ -55,7 +55,7 @@
</el-row>
</el-main>
<div class="dialog-footer">
<el-button type="primary" @click="handleClose">关闭</el-button>
<el-button type="primary" size="mini" @click="handleClose">关闭</el-button>
</div>
</div>
</el-dialog>
......
......@@ -36,7 +36,7 @@
<template slot-scope="scope">
<el-button
type="text"
size="48"
size="mini"
icon="el-icon-circle-close"
@click.native="handleCancel(scope.$index)"
v-if="scope.row.status == null"
......@@ -46,7 +46,7 @@
</el-table>
</div>
<div class="dialog-footer">
<el-button type="primary" @click.native="handleClose">关闭</el-button>
<el-button type="primary" size="mini" @click.native="handleClose">关闭</el-button>
</div>
</el-dialog>
</template>
......
......@@ -43,12 +43,12 @@ export const title = [{
columnAlign: 'center',
showOverFlowToolTip: true,
},
{
prop: "regionName",
label: "所属地",
columnAlign: 'center',
showOverFlowToolTip: true,
},
// {
// prop: "regionName",
// label: "所属地",
// columnAlign: 'center',
// showOverFlowToolTip: true,
// },
// {
// prop: "intro",
// label: "馆藏介绍",
......@@ -57,12 +57,12 @@ export const title = [{
// width: 120,
// },
{
prop: "themeWord",
label: "主题词",
columnAlign: 'center',
showOverFlowToolTip: true,
},
// {
// prop: "themeWord",
// label: "主题词",
// columnAlign: 'center',
// showOverFlowToolTip: true,
// },
{
prop: "faceImageUrl",
label: "封面",
......@@ -76,11 +76,11 @@ export const title = [{
columnAlign: 'center',
isStatus: true
},
{
prop: "num",
label: "数量",
columnAlign: 'center',
},
// {
// prop: "num",
// label: "数量",
// columnAlign: 'center',
// },
{
prop: "loveCount",
......@@ -121,16 +121,16 @@ export const title = [{
export const operates = {
operate: true,
label: "操作",
width: "200px",
titleAlign: "center",
columnAlign: "center",
width: "280px",
}
export const operations = [
// {
// type: 'view',
// title: '预览'
// },
{
type: 'view3D',
title: '查看3D文物'
},
{
type: 'edit',
title: '编辑'
......
......@@ -6,6 +6,7 @@
<div class="tools">
<div class="tools-item">
<el-button
size="mini"
type="primary"
@click.native="handleOperation({ type: 'downloadTemplate' })"
icon="el-icon-download"
......@@ -15,15 +16,18 @@
>
<el-button
size="mini"
type="primary"
@click.native="handleOperation({ type: 'viewImportRecord' })"
icon="el-icon-document"
plain
>
查看导入记录</el-button
>
</div>
<div class="tools-item">
<el-button
size="mini"
type="primary"
@click.native="handleOperation({ type: 'add' })"
icon="el-icon-plus"
......@@ -41,6 +45,7 @@
multiple
>
<el-button
size="mini"
type="success"
@click.native="handleOperation({ type: 'multiAdd' })"
icon="el-icon-upload"
......@@ -75,7 +80,12 @@
v-if="
$getFullUrl(data.scope.faceImagePressUrl || data.scope.faceImageUrl)
"
style="cursor: pointer;width: 80px;height: 80px;object-fit: contain;"
style="
cursor: pointer;
width: 80px;
height: 80px;
object-fit: contain;
"
@click="handelPreviewImages(data.scope.faceImageUrl)"
/>
</template>
......@@ -100,6 +110,7 @@
</template>
</TablePage>
<el-pagination
background
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="Number(list.current)"
......@@ -198,9 +209,14 @@ export default {
},
],
},
// 是否只看3D
{
prop: "onlyShow3d",
type: "checkbox",
label: "只看3D",
},
],
editVisible: false, //编辑
isAdd: true,
form: {
name: "", //名称
......@@ -233,7 +249,7 @@ export default {
headers: {
authorization: getToken(),
},
isUpLoading:false,
isUpLoading: false,
multiUploadVisible: false, //控制批量上传弹窗显示
importRecordVisible: false, //上传记录
filesList: [], //上传当中的文件队列
......@@ -359,15 +375,15 @@ export default {
//下载批量导入模板
handleDownloadTemplate() {
this.loading = true
this.loading = true;
let a = document.createElement("a");
a.href = '/files/zip/crImportTemplate.zip'
a.href = "/files/zip/crImportTemplate.zip";
a.download = "文物导入模板及操作说明.zip";
a.style.display = "none";
document.body.appendChild(a);
a.click();
a.remove();
this.loading = false
this.loading = false;
},
// // 文件个数超出
......@@ -517,7 +533,7 @@ export default {
this.editVisible = false;
this.form = {
status: 1,
num: 1,
num: 1,
};
},
......@@ -554,5 +570,7 @@ export default {
}
.pagination {
margin: 16px;
display: flex;
justify-content: right;
}
</style>
\ No newline at end of file
</style>
......@@ -34,7 +34,7 @@
</template>
</TablePage>
<div class="dialog-footer">
<el-button type="primary" @click="handleClose">关闭</el-button>
<el-button type="primary" size="mini" @click="handleClose">关闭</el-button>
</div>
</div>
</el-dialog>
......
......@@ -70,7 +70,7 @@
</el-col>
</el-row>
<el-button v-if="(!treeData.length > 0 && !isDisableEvent)" type="primary" icon="el-icon-circle-plus-outline"
@click="handleAddUnit('manual')" size="small">手动添加展览单元</el-button>
@click="handleAddUnit('manual')" size="mini">手动添加展览单元</el-button>
<span v-if="(treeData.length == 0 && isDisableEvent)">暂无</span>
<!-- <el-button
v-if="!treeData.length > 0"
......
......@@ -72,7 +72,7 @@
</el-pagination>
</div>
<div class="dialog-footer">
<el-button type="primary" @click.native="handleClose">关闭</el-button>
<el-button type="primary" size="mini" @click.native="handleClose">关闭</el-button>
</div>
</el-dialog>
</template>
......
......@@ -15,7 +15,7 @@
</div>
<div class="el-dialog-div">
<div class="dialog-content" v-if="dialogVisible" id="dialog-content">
<el-form :model="dialogForm" class="basic-info" :rules="rules" ref="form">
<el-form size="mini" :model="dialogForm" class="basic-info" :rules="rules" ref="form">
<el-row :gutter="50">
<el-col :span="12">
<el-form-item label="展览标题" :label-width="formLabelWidth" prop="title">
......@@ -127,13 +127,13 @@
</el-form>
</div>
<div class="dialog-footer">
<el-button icon="el-icon-top" @click.native="handleToTop"></el-button>
<el-button @click="cancelForm" icon="el-icon-circle-close" type="warning">取 消</el-button>
<el-button type="primary" @click="handleSubmit(0)" :disabled="loading" icon="el-icon-document-checked">
<el-button size="mini" icon="el-icon-top" @click.native="handleToTop"></el-button>
<el-button size="mini" @click="cancelForm" icon="el-icon-circle-close" type="warning">取 消</el-button>
<el-button size="mini" type="primary" @click="handleSubmit(0)" :disabled="loading" icon="el-icon-document-checked">
只保存
</el-button>
<!-- <el-button @click="handlePreview">预 览</el-button> -->
<el-button type="primary" @click="handleSubmit(1)" icon="el-icon-circle-check" :disabled="loading">保存并提交审核
<el-button size="mini" type="primary" @click="handleSubmit(1)" icon="el-icon-circle-check" :disabled="loading">保存并提交审核
</el-button>
</div>
</div>
......
......@@ -30,7 +30,7 @@
/>
<Footer/>
<div class="dialog-footer">
<el-button type="primary" @click="handleClose">关闭</el-button>
<el-button size="mini" type="primary" @click="handleClose">关闭</el-button>
</div>
</div>
</el-dialog>
......
......@@ -36,7 +36,7 @@
<template slot-scope="scope">
<el-button
type="text"
size="48"
size="mini"
icon="el-icon-circle-close"
@click.native="handleCancel(scope.$index)"
v-if="scope.row.status == null"
......
......@@ -294,7 +294,8 @@
import AudioPlayer from "@/components/AudioPlayer";
import ReaderOperations from "@/components/ReaderOperations";
import Video from "@/components/Video";
import { debounce, previewFile } from "@/utils/index";
import { debounce } from "@/utils/index";
import { previewFile } from "@/utils/file";
import ChStyleUnit from "./ChStyleUnit.vue";
import { swiper, swiperSlide } from "vue-awesome-swiper";
import "swiper/dist/css/swiper.css";
......@@ -541,8 +542,7 @@ export default {
};
</script>
<style lang="scss" >
<style lang="scss">
.unit-content_intro {
p {
// color: red !important;
......@@ -699,7 +699,7 @@ $themeColor: #a30e0c;
margin: 80px;
padding: 80px;
display: flex;
background-color: rgba(#591d11, 0.8);
background-color: rgba(#591d11, 0.8);
// justify-content: space-between;
width: 100%;
.face-image {
......@@ -717,7 +717,7 @@ $themeColor: #a30e0c;
.intro-text {
color: #fff;
flex: 1;
padding: 40px;
margin-left: 40px;
......@@ -1193,4 +1193,4 @@ $themeColor: #a30e0c;
-webkit-animation-play-state: paused;
/* Safari 和 Chrome */
}
</style>
\ No newline at end of file
</style>
......@@ -14,31 +14,79 @@
</div>
<div class="tools">
<div class="tools-item">
<el-button :disabled="loading" type="primary" @click.native="handleOperation({ type: 'downloadTemplate' })" icon="el-icon-download">
下载导入模板</el-button>
<el-button type="primary" @click.native="handleOperation({ type: 'viewImportRecord' })" icon="el-icon-document">
查看导入记录</el-button>
<el-button
:disabled="loading"
size="mini"
type="primary"
@click.native="handleOperation({ type: 'downloadTemplate' })"
icon="el-icon-download"
>
下载导入模板</el-button
>
<el-button
type="primary"
size="mini"
@click.native="handleOperation({ type: 'viewImportRecord' })"
icon="el-icon-document"
plain
>
查看导入记录</el-button
>
</div>
<div class="tools-item">
<el-button type="primary" @click.native="handleOperation({ type: 'add' })" icon="el-icon-plus">
添加</el-button>
<el-upload class="upload-button" :action="importZipUrl" :headers="headers" accept=".zip" :show-file-list="false"
:before-upload="handleUpload" :on-success="handleSuccess" multiple>
<el-button type="success" @click.native="handleOperation({ type: 'multiAdd' })" icon="el-icon-upload">
整量导入</el-button>
<el-button
type="primary"
size="mini"
@click.native="handleOperation({ type: 'add' })"
icon="el-icon-plus"
>
添加</el-button
>
<el-upload
class="upload-button"
:action="importZipUrl"
:headers="headers"
accept=".zip"
:show-file-list="false"
:before-upload="handleUpload"
:on-success="handleSuccess"
multiple
>
<el-button
type="success"
size="mini"
@click.native="handleOperation({ type: 'multiAdd' })"
icon="el-icon-upload"
>
整量导入</el-button
>
</el-upload>
</div>
</div>
<TablePage :data="list.records" :tableTitle="tableTitle" :operates="tableOperates">
<TablePage
:data="list.records"
:tableTitle="tableTitle"
:operates="tableOperates"
>
<template v-slot:status="data">
<el-popconfirm :title="getStatusTitle(data.scope.status)" @confirm="handleChangeStatus(data.scope)"
v-if="!isDisabledStatusbtn(data.scope.checkStatus)">
<el-switch slot="reference" :disabled="isDisabledStatusbtn(data.scope.checkStatus)"
:value="Boolean(Number(data.scope.status))"></el-switch>
<el-popconfirm
:title="getStatusTitle(data.scope.status)"
@confirm="handleChangeStatus(data.scope)"
v-if="!isDisabledStatusbtn(data.scope.checkStatus)"
>
<el-switch
slot="reference"
:disabled="isDisabledStatusbtn(data.scope.checkStatus)"
:value="Boolean(Number(data.scope.status))"
></el-switch>
</el-popconfirm>
<el-switch slot="reference" :disabled="isDisabledStatusbtn(data.scope.checkStatus)"
:value="Boolean(Number(data.scope.status))" v-else></el-switch>
<el-switch
slot="reference"
:disabled="isDisabledStatusbtn(data.scope.checkStatus)"
:value="Boolean(Number(data.scope.status))"
v-else
></el-switch>
</template>
<template v-slot:displayType="data">
{{ dicts.displayType[data.scope.type] }}
......@@ -54,46 +102,88 @@
<el-tag type="danger" v-if="data.scope.checkStatus == -2">
已驳回
</el-tag>
<el-tag type="warning" v-if="(data.scope.checkStatus == -1)">
<el-tag type="warning" v-if="data.scope.checkStatus == -1">
待提交
</el-tag>
</template>
<template v-slot:faceImageUrl="data">
<img :src="
$getFullUrl(data.scope.faceImagePressUrl || data.scope.faceImageUrl)
" alt="暂无图片" v-if="
$getFullUrl(data.scope.faceImagePressUrl || data.scope.faceImageUrl)
" style="cursor: pointer" width="100px" @click="handelPreviewImages(data.scope.faceImageUrl)" />
<img
:src="
$getFullUrl(data.scope.faceImagePressUrl || data.scope.faceImageUrl)
"
alt="暂无图片"
v-if="
$getFullUrl(data.scope.faceImagePressUrl || data.scope.faceImageUrl)
"
style="cursor: pointer"
width="100px"
@click="handelPreviewImages(data.scope.faceImageUrl)"
/>
</template>
<template v-slot:themeType="data">
{{ themeTypeCode(data.scope.themeType) }}
</template>
<template v-slot:operates="scope">
<TableOperation :operations="tableOperations" :rawData="scope.scope.row" @handleOperation="handleOperation"
:disabled="isDisabled(scope.scope.row.checkStatus)">
<TableOperation
:operations="tableOperations"
:rawData="scope.scope.row"
@handleOperation="handleOperation"
:disabled="isDisabled(scope.scope.row.checkStatus)"
>
</TableOperation>
</template>
</TablePage>
<el-pagination style="margin: 16px 0" @size-change="handleSizeChange" @current-change="handleCurrentChange"
:current-page="Number(list.current)" :page-sizes="[10, 20, 50, 100]" :page-size="Number(list.size)"
layout="total, sizes, prev, pager, next, jumper" :total="Number(list.total)" class="pagination">
<el-pagination
style="margin: 16px 0"
@size-change="handleSizeChange"
@current-change="handleCurrentChange"
:current-page="Number(list.current)"
:page-sizes="[10, 20, 50, 100]"
:page-size="Number(list.size)"
layout="total, sizes, prev, pager, next, jumper"
:total="Number(list.total)"
class="pagination"
>
</el-pagination>
<InfoEditDialog :visible="editDialogVisible" :form="form" :currentPageIds="currentPageIds"
@handleClose="handleClose" @refresh="loadData" @changeDisplay="reloadDisplay" ref="InfoEditDialog" />
<PreviewDialog v-if="Object.keys(curPreviewObj).length > 0" :visible="previewDialogVisible"
:displayDetail="curPreviewObj" @handleClose="handleClosePreviewDialog" />
<InfoEditDialog
:visible="editDialogVisible"
:form="form"
:currentPageIds="currentPageIds"
@handleClose="handleClose"
@refresh="loadData"
@changeDisplay="reloadDisplay"
ref="InfoEditDialog"
/>
<PreviewDialog
v-if="Object.keys(curPreviewObj).length > 0"
:visible="previewDialogVisible"
:displayDetail="curPreviewObj"
@handleClose="handleClosePreviewDialog"
/>
<!-- <CopyDialog
:visible="copyDialogVisible"
@handleClose="handleCloseCopyDialog"
@handleCopySelect="handleCopySelect"
:list="list"
/> -->
<ImportRecordDialog :visible="importRecordVisible" @reload="loadData" @handleClose="handleImportRecordClose" />
<UploadListDialog :visible="multiUploadVisible" :filesList="filesList" @handleClose="handleMultiUploadClose"
@handleCancel="handleMultiUploadCancel" />
<el-image-viewer v-if="imgViewerVisible" :on-close="closeImgViewer" :url-list="imgList" />
<ImportRecordDialog
:visible="importRecordVisible"
@reload="loadData"
@handleClose="handleImportRecordClose"
/>
<UploadListDialog
:visible="multiUploadVisible"
:filesList="filesList"
@handleClose="handleMultiUploadClose"
@handleCancel="handleMultiUploadCancel"
/>
<el-image-viewer
v-if="imgViewerVisible"
:on-close="closeImgViewer"
:url-list="imgList"
/>
</div>
</template>
......@@ -117,7 +207,7 @@ import { mapGetters } from "vuex";
import { themeTypeCode } from "./contants";
import { getToken } from "@/utils/auth";
import { importZip } from "@/utils/file";
import {titles} from '@/utils/boutiqueTitles'
import { titles } from "@/utils/boutiqueTitles";
export default {
components: {
TablePage,
......@@ -252,17 +342,17 @@ export default {
isDisabled(checkStatus) {
return (checkStatus) => {
return checkStatus == '0'
return checkStatus == "0";
//在审核中和已通过,则不能使用提交审核、编辑及删除按钮
}
};
},
isDisabledStatusbtn(checkStatus) {
//待提交、审核中,不能使用上下架
return (checkStatus) => {
return checkStatus == '0' || checkStatus == '-1'
}
}
return checkStatus == "0" || checkStatus == "-1";
};
},
},
async created() {
......@@ -331,8 +421,8 @@ export default {
case "view":
if (row) {
if (titles.includes(row.title)) {
this.$message.info('精品展暂不支持预览!')
return
this.$message.info("精品展暂不支持预览!");
return;
}
this.previewDialogVisible = true;
let res = await getDisplayById({ exhibitionId: row.exhibitionId });
......@@ -371,15 +461,15 @@ export default {
//下载批量导入模板
handleDownloadTemplate() {
this.loading = true
this.loading = true;
let a = document.createElement("a");
a.href = '/files/zip/displayImportTemplate.zip'
a.href = "/files/zip/displayImportTemplate.zip";
a.download = "展览整量导入模板.zip";
a.style.display = "none";
document.body.appendChild(a);
a.click();
a.remove();
this.loading = false
this.loading = false;
},
uploadSelf(file, index) {
......@@ -395,7 +485,7 @@ export default {
this.$set(this.filesList[index], "status", "success");
this.$set(this.filesList[index], "desc", "上传成功");
this.$message.success("文件" + file.name + "上传成功!");
this.loadData()
this.loadData();
} else {
this.$set(this.filesList[index], "status", "warning");
this.$set(this.filesList[index], "desc", "上传失败" + res.data.msg);
......@@ -659,4 +749,4 @@ export default {
margin: 0 10px;
}
}
</style>
\ No newline at end of file
</style>
<template>
<div class="base-info">
<el-form :model="displayDetail" class="basic-info" ref="form">
<el-form :model="displayDetail" class="basic-info" ref="form" size="mini">
<el-row :gutter="50">
<el-col :span="10">
<el-form-item label="展览标题" :label-width="formLabelWidth">
......
......@@ -18,7 +18,10 @@
</div>
</el-tab-pane> -->
<el-tab-pane label="效果预览" name="page" v-if="!isBoutique">
<div class="container" v-if="dicts && Object.keys(displayDetail).length>0">
<div
class="container"
v-if="dicts && Object.keys(displayDetail).length > 0"
>
<NavBar />
<NormalStyle
v-if="displayDetail.themeType == '1'"
......@@ -35,7 +38,7 @@
:displayDetail="displayDetail"
:dicts="dicts"
/>
<Footer/>
<Footer />
</div>
</el-tab-pane>
<el-tab-pane label="审批历史记录" name="history">
......@@ -59,7 +62,10 @@
</el-tabs>
<div class="dialog-footer">
<span v-if="displayDetail.checkStatus == 0">
<el-button @click.native="handleCancel" style="margin-right: 6px"
<el-button
size="mini"
@click.native="handleCancel"
style="margin-right: 6px"
>取消</el-button
>
<el-popover
......@@ -70,6 +76,7 @@
>
<div>
<el-form
size="mini"
:model="dialogForm"
prop="remark"
:rules="rules"
......@@ -80,21 +87,22 @@
type="textarea"
placeholder="驳回意见"
v-model="dialogForm.remark"
size="small"
size="mini"
:rows="4"
>
</el-input>
<el-button
size="mini"
type="primary"
style="float: right; margin-top: 16px"
@click.native="handleCheck(-2)"
size="small"
>确定</el-button
>
</el-form-item>
</el-form>
</div>
<el-button
size="mini"
slot="reference"
type="danger"
icon="el-icon-close"
......@@ -103,6 +111,7 @@
>
</el-popover>
<el-button
size="mini"
style="margin-left: 6px"
type="primary"
icon="el-icon-check"
......@@ -111,7 +120,7 @@
>
</span>
<span v-else>
<el-button type="primary" @click.native="handleClose">关闭</el-button>
<el-button size="mini" type="primary" @click.native="handleClose">关闭</el-button>
</span>
</div>
</div>
......@@ -297,7 +306,7 @@ export default {
};
</script>
<style lang='scss' scoped>
<style lang="scss" scoped>
::v-deep .el-step.is-horizontal {
max-width: 300px !important;
}
......@@ -376,4 +385,4 @@ export default {
.el-dialog__body {
padding: 0 20px 30px 20px;
}
</style>
\ No newline at end of file
</style>
......@@ -6,7 +6,7 @@
</div>
<div class="el-dialog-div">
<div class="dialog-content">
<el-form :model="dialogForm" class="basic-info" ref="form" :rules="rules">
<el-form :model="dialogForm" class="basic-info" ref="form" :rules="rules" size="mini">
<el-form-item label="名称" :label-width="formLabelWidth" prop="name">
<el-input v-model="dialogForm.name" autocomplete="off" placeholder="请输入文献名称"></el-input>
</el-form-item>
......@@ -36,8 +36,8 @@
</el-form>
</div>
<div class="dialog-footer">
<el-button @click="cancelForm">取 消</el-button>
<el-button type="primary" @click="handleSubmit">确定<i class="el-icon-circle-check"
<el-button size="mini" @click="cancelForm">取 消</el-button>
<el-button size="mini" type="primary" @click="handleSubmit">确定<i class="el-icon-circle-check"
style="margin-left: 5px"></i></el-button>
</div>
</div>
......
......@@ -3,6 +3,7 @@
<div class="top-bar">
<SearchBar :config="searchConfig" @search="search" @reset="reset" />
<el-button
size="mini"
type="primary"
@click.native="handleOperation({ type: 'add' })"
icon="el-icon-plus"
......
......@@ -22,6 +22,7 @@
class="login-form"
auto-complete="on"
label-position="left"
size="mini"
>
<div class="title-container">
<h3 class="title">欢迎登录</h3>
......@@ -94,6 +95,7 @@
</el-row>
<el-button
size="mini"
:loading="loading"
type="primary"
style="width: 100%; margin-bottom: 30px"
......
<template>
<el-dialog :visible.sync="dialogVisible" width="50%" style="height: 98%" :before-close="handleClose" top="5vh"
lock-scroll v-loading="loading" element-loading-background="rgba(0, 0, 0, 0.5)">
<el-dialog
:visible.sync="dialogVisible"
width="50%"
style="height: 98%"
:before-close="handleClose"
top="5vh"
lock-scroll
v-loading="loading"
element-loading-background="rgba(0, 0, 0, 0.5)"
>
<div class="title" slot="title">
<div class="divider"></div>
<div class="label">{{ title }}</div>
</div>
<div class="dialog-content">
<el-form :model="dialogForm" class="basic-info">
<el-form :model="dialogForm" class="basic-info" size="mini">
<el-form-item label="博物馆名称" :label-width="formLabelWidth">
<el-input v-model="dialogForm.name" autocomplete="off" placeholder="请输入博物馆名称"></el-input>
<el-input
v-model="dialogForm.name"
autocomplete="off"
placeholder="请输入博物馆名称"
></el-input>
</el-form-item>
<!-- <el-form-item label="所属部门" :label-width="formLabelWidth">
<el-cascader
......@@ -23,38 +35,63 @@
</el-cascader>
</el-form-item> -->
<el-form-item label="所属地" :label-width="formLabelWidth">
<el-cascader style="width: 100%" v-model="dialogForm.regionCode" :options="regionTree"
:props="regionOptionProps" placeholder="请选择所属地" :key="regionCodeModalKey">
<el-cascader
style="width: 100%"
v-model="dialogForm.regionCode"
:options="regionTree"
:props="regionOptionProps"
placeholder="请选择所属地"
:key="regionCodeModalKey"
>
</el-cascader>
</el-form-item>
<el-row :gutter="5">
<el-col :span="12">
<el-form-item label="经度" :label-width="formLabelWidth">
<el-input style="width: 100%" v-model="dialogForm.longitude" autocomplete="off"
placeholder="请输入经度"></el-input>
<el-input
style="width: 100%"
v-model="dialogForm.longitude"
autocomplete="off"
placeholder="请输入经度"
></el-input>
</el-form-item>
</el-col>
<el-col :span="12"><el-form-item label="纬度" :label-width="formLabelWidth">
<el-input v-model="dialogForm.latitude" autocomplete="off" placeholder="请输入纬度"></el-input>
</el-form-item></el-col>
<el-col :span="12"
><el-form-item label="纬度" :label-width="formLabelWidth">
<el-input
v-model="dialogForm.latitude"
autocomplete="off"
placeholder="请输入纬度"
></el-input> </el-form-item
></el-col>
</el-row>
<el-form-item label="状态" :label-width="formLabelWidth">
<el-switch v-model="status"> </el-switch>
</el-form-item>
<el-form-item label="博物馆封面" :label-width="formLabelWidth">
<ManualUploader :files="faceImage" :fileLimit="1" :fileSize="50" listType="picture-card"
:fileType="['png', 'jpeg', 'jpg']" ref="museumFaceImage" />
<ManualUploader
:files="faceImage"
:fileLimit="1"
:fileSize="50"
listType="picture-card"
:fileType="['png', 'jpeg', 'jpg']"
ref="museumFaceImage"
/>
</el-form-item>
<el-form-item label="简介" :label-width="formLabelWidth">
<VueQuillEditor v-model="dialogForm.intro" :placeholder="'请输入博物馆介绍'" />
<VueQuillEditor
v-model="dialogForm.intro"
:placeholder="'请输入博物馆介绍'"
/>
</el-form-item>
</el-form>
</div>
<div class="dialog-footer">
<el-button @click="cancelForm">取 消</el-button>
<el-button type="primary" @click="handleSubmit">确定<i class="el-icon-circle-check"
style="margin-left: 5px"></i></el-button>
<el-button size="mini" @click="cancelForm">取 消</el-button>
<el-button size="mini" type="primary" @click="handleSubmit"
>确定<i class="el-icon-circle-check" style="margin-left: 5px"></i
></el-button>
</div>
</el-dialog>
</template>
......@@ -93,7 +130,7 @@ export default {
get: function () {
return this.visible;
},
set: function () { },
set: function () {},
},
title() {
if (this.dialogForm.id) {
......@@ -167,7 +204,6 @@ export default {
label: "name",
children: "children",
checkStrictly: true,
},
regionOptionProps: {
value: "code",
......@@ -181,7 +217,7 @@ export default {
regionCodeModalKey: 0,
faceImage: [],
parentPid: null, //博物馆根节点id
loading:false
loading: false,
};
},
methods: {
......@@ -216,7 +252,7 @@ export default {
});
},
async handleSubmit() {
this.loading = true
this.loading = true;
let params = { ...this.dialogForm };
let deleteFileArr = [];
// 回填图片
......@@ -256,7 +292,6 @@ export default {
this.$message.success("修改成功!");
this.reload();
}
} else {
let res = await addMuseum(params);
if (res.code == 0) {
......@@ -264,7 +299,7 @@ export default {
this.reload();
}
}
this.loading = false
this.loading = false;
},
reload() {
this.$emit("refresh", true); //需要重新获取orgTree
......@@ -278,13 +313,13 @@ export default {
this.$emit("handleClose");
this.faceImage = [];
})
.catch((_) => { });
.catch((_) => {});
},
},
};
</script>
<style lang='scss' scoped>
<style lang="scss" scoped>
.title {
display: flex;
margin-bottom: 16px;
......@@ -341,4 +376,4 @@ export default {
.video-lists {
display: flex;
}
</style>
\ No newline at end of file
</style>
......@@ -2,7 +2,11 @@
<div class="app-container">
<div class="top-bar">
<SearchBar :config="searchConfig" @search="search" @reset="reset" />
<el-button type="primary" @click.native="handleOperation('add')">
<el-button
size="mini"
type="primary"
@click.native="handleOperation('add')"
>
<i class="el-icon-plus"></i>
添加</el-button
>
......@@ -82,8 +86,8 @@
@confirm="handleOperation('delete', scope.row)"
>
<el-button
type="danger"
size="mini"
type="danger"
icon="el-icon-delete"
slot="reference"
>删除</el-button
......@@ -261,7 +265,7 @@ export default {
this.tableData = res[0].children;
} else {
this.orgTreeData = res;
this.tableData = res
this.tableData = res;
}
this.loading = false;
......@@ -377,4 +381,4 @@ export default {
.pagination {
margin: 16px;
}
</style>
\ No newline at end of file
</style>
......@@ -15,7 +15,7 @@
</div>
<div class="el-dialog-div">
<div class="dialog-content">
<el-form :model="dialogForm" class="basic-info">
<el-form :model="dialogForm" class="basic-info" size="mini">
<el-form-item label="名称" :label-width="formLabelWidth">
<el-input
v-model="dialogForm.title"
......@@ -73,8 +73,8 @@
</el-form>
</div>
<div class="dialog-footer">
<el-button @click="cancelForm">取 消</el-button>
<el-button type="primary" @click="handleSubmit"
<el-button size="mini" @click="cancelForm">取 消</el-button>
<el-button size="mini" type="primary" @click="handleSubmit"
>确定<i class="el-icon-circle-check" style="margin-left: 5px"></i
></el-button>
</div>
......
......@@ -10,11 +10,11 @@ export const title = [{
columnAlign: 'center',
},
{
prop: "regionName",
label: "所属地",
columnAlign: 'center',
},
// {
// prop: "regionName",
// label: "所属地",
// columnAlign: 'center',
// },
{
prop: "images",
label: "封面",
......
......@@ -2,7 +2,7 @@
<div class="app-container">
<div class="top-bar">
<SearchBar :config="searchConfig" @search="search" @reset="reset" />
<el-button type="primary" @click.native="handleOperation({ type: 'add' })" icon="el-icon-plus">
<el-button size="mini" type="primary" @click.native="handleOperation({ type: 'add' })" icon="el-icon-plus">
添加</el-button>
</div>
<TablePage :data="list.records" :tableTitle="tableTitle" :operates="tableOperates" v-loading="loading">
......
......@@ -12,7 +12,7 @@
<div class="label">修改角色数据权限</div>
</div>
<div class="dialog-content">
<el-form :model="dialogForm" class="basic-info">
<el-form :model="dialogForm" class="basic-info" size="mini">
<el-form-item label="数据范围" :label-width="formLabelWidth">
<el-select
v-model="dataScopeData"
......@@ -45,8 +45,8 @@
</el-form>
</div>
<div class="dialog-footer">
<el-button @click="cancelForm">取 消</el-button>
<el-button type="primary" @click="handleSubmit"
<el-button size="mini" @click="cancelForm">取 消</el-button>
<el-button size="mini" type="primary" @click="handleSubmit"
>保存<i class="el-icon-circle-check" style="margin-left: 5px"></i
></el-button>
</div>
......
......@@ -14,6 +14,7 @@
</div>
<div class="dialog-content">
<el-form
size="mini"
:model="dialogForm"
class="basic-info"
:rules="rules"
......@@ -73,8 +74,8 @@
</el-form>
</div>
<div class="dialog-footer">
<el-button @click="cancelForm">取 消</el-button>
<el-button type="primary" @click="handleSubmit"
<el-button size="mini" @click="cancelForm">取 消</el-button>
<el-button size="mini" type="primary" @click="handleSubmit"
>确定<i class="el-icon-circle-check" style="margin-left: 5px"></i
></el-button>
</div>
......
......@@ -3,6 +3,7 @@
<div class="top-bar">
<SearchBar :config="searchConfig" @search="search" @reset="reset" />
<el-button
size="mini"
type="primary"
@click.native="handleOperation({ type: 'add' })"
icon="el-icon-plus"
......
......@@ -11,15 +11,13 @@
:label-width="labelWidth"
:rules="pwdRules"
class="form"
size="small"
size="mini"
v-loading="loading"
>
<!-- <el-form-item label="旧密码" prop="oldPwd">
<el-input v-model="pwdForm.oldPwd" type="password"></el-input>
</el-form-item> -->
<el-form-item label="新密码" prop="password">
<el-input v-model="pwdForm.password" clearable type="text">
<el-button
size="mini"
@click.native="handleClickReset"
slot="append"
icon="el-icon-refresh-left"
......@@ -27,23 +25,16 @@
>
</el-input>
</el-form-item>
<!-- <el-form-item label="确认密码" prop="checkPass" >
<el-input v-model="pwdForm.checkPass" type="password" show-password></el-input>
</el-form-item> -->
<!-- <el-form-item>
<el-button type="primary" icon="el-icon-circle-check" @click.native="handleSubmitPwd">保存</el-button>
<el-button type="primary" @click.native="handleCancelChangePwd">取消</el-button>
</el-form-item> -->
</el-form>
<div class="buttons">
<el-button
size="mini"
type="primary"
icon="el-icon-circle-check"
@click.native="handleSubmitPwd"
size="small"
>保存
</el-button>
<el-button @click.native="handleCancelChangePwd" size="mini"
<el-button size="mini" @click.native="handleCancelChangePwd"
>取消</el-button
>
</div>
......@@ -213,4 +204,4 @@ export default {
display: flex;
justify-content: flex-end;
}
</style>
\ No newline at end of file
</style>
......@@ -27,8 +27,8 @@
</el-tree>
</div>
<div class="dialog-footer">
<el-button @click="cancelForm">取 消</el-button>
<el-button type="primary" @click="handleSubmit"
<el-button size="mini" @click="cancelForm">取 消</el-button>
<el-button type="primary" size="mini" @click="handleSubmit"
>确定<i class="el-icon-circle-check" style="margin-left: 5px"></i
></el-button>
</div>
......
<template>
<el-dialog :visible="dialogVisible" width="40%" style="height: 98%" :before-close="handleClose" top="5vh" lock-scroll
v-loading="loading" element-loading-background="rgba(0, 0, 0, 0.5)">
<el-dialog
:visible="dialogVisible"
width="40%"
style="height: 98%"
:before-close="handleClose"
top="5vh"
lock-scroll
v-loading="loading"
element-loading-background="rgba(0, 0, 0, 0.5)"
>
<div class="title" slot="title">
<div class="divider"></div>
<div class="label">{{ title }}</div>
</div>
<div class="dialog-content">
<el-form :model="dialogForm" class="basic-info" :rules="rules" ref="form">
<el-form-item label="账号" :label-width="formLabelWidth" prop="username">
<el-input v-model="dialogForm.username" autocomplete="off" placeholder="请输入用户名" clearable></el-input>
<el-form :model="dialogForm" class="basic-info" :rules="rules" ref="form" size="mini">
<el-form-item
label="账号"
:label-width="formLabelWidth"
prop="username"
>
<el-input
v-model="dialogForm.username"
autocomplete="off"
placeholder="请输入用户名"
clearable
></el-input>
</el-form-item>
<el-form-item label="密码" :label-width="formLabelWidth" prop="password" v-if="!dialogForm.id">
<el-input v-model="dialogForm.password" autocomplete="off" show-password type="password" placeholder="请输入密码"
clearable></el-input>
<el-form-item
label="密码"
:label-width="formLabelWidth"
prop="password"
v-if="!dialogForm.id"
>
<el-input
v-model="dialogForm.password"
autocomplete="off"
show-password
type="password"
placeholder="请输入密码"
clearable
></el-input>
</el-form-item>
<el-form-item label="手机号" :label-width="formLabelWidth">
<el-input v-model="dialogForm.phone" autocomplete="off" placeholder="请输入手机号" clearable></el-input>
<el-input
v-model="dialogForm.phone"
autocomplete="off"
placeholder="请输入手机号"
clearable
></el-input>
</el-form-item>
<el-form-item label="昵称" :label-width="formLabelWidth">
<el-input v-model="dialogForm.nickName" autocomplete="off" placeholder="请输入昵称" clearable></el-input>
<el-input
v-model="dialogForm.nickName"
autocomplete="off"
placeholder="请输入昵称"
clearable
></el-input>
</el-form-item>
<el-form-item label="真实姓名" :label-width="formLabelWidth">
<el-input v-model="dialogForm.realName" autocomplete="off" placeholder="请输入真实姓名" clearable></el-input>
<el-input
v-model="dialogForm.realName"
autocomplete="off"
placeholder="请输入真实姓名"
clearable
></el-input>
</el-form-item>
<el-form-item label="所属部门" :label-width="formLabelWidth" prop="deptId">
<el-cascader style="width: 100%" v-model="dialogForm.deptId" :options="orgTreeData" :props="optionProps"
placeholder="请选择所属部门" clearable>
<el-form-item
label="所属部门"
:label-width="formLabelWidth"
prop="deptId"
>
<el-cascader
style="width: 100%"
v-model="dialogForm.deptId"
:options="orgTreeData"
:props="optionProps"
placeholder="请选择所属部门"
clearable
>
</el-cascader>
</el-form-item>
<el-form-item label="所属地区" :label-width="formLabelWidth" prop="regionCode">
<el-cascader style="width: 100%" v-model="dialogForm.regionCode" :options="regionTree"
:props="culturalRegionProps" placeholder="请选择所属地区" filterable clearable>
<el-form-item
label="所属地区"
:label-width="formLabelWidth"
prop="regionCode"
>
<el-cascader
style="width: 100%"
v-model="dialogForm.regionCode"
:options="regionTree"
:props="culturalRegionProps"
placeholder="请选择所属地区"
filterable
clearable
>
</el-cascader>
</el-form-item>
<el-form-item label="是否启用" :label-width="formLabelWidth">
......@@ -39,9 +103,10 @@
</el-form>
</div>
<div class="dialog-footer">
<el-button @click="cancelForm">取 消</el-button>
<el-button type="primary" @click="handleSubmit">确定<i class="el-icon-circle-check"
style="margin-left: 5px"></i></el-button>
<el-button size="mini" @click="cancelForm">取 消</el-button>
<el-button size="mini" type="primary" @click="handleSubmit"
>确定<i class="el-icon-circle-check" style="margin-left: 5px"></i
></el-button>
</div>
</el-dialog>
</template>
......@@ -50,7 +115,7 @@
import { addUser, upadateUser } from "@/api/user";
import ManualUploader from "@/components/Uploader/ManualUploader.vue";
import { mapGetters } from "vuex";
import md5 from 'js-md5'
import md5 from "js-md5";
export default {
name: "InfoEditDialog",
components: {
......@@ -88,7 +153,7 @@ export default {
// 编辑状态
if (that.dialogForm.id) {
console.log('that.dialogForm', that.dialogForm);
console.log("that.dialogForm", that.dialogForm);
// return
// 回填状态
that.status = Boolean(Number(that.dialogForm.status));
......@@ -193,7 +258,7 @@ export default {
deptId: [{ required: true, message: "请输入部门", trigger: "change" }],
},
value: [],
loading: false
loading: false,
};
},
methods: {
......@@ -206,7 +271,7 @@ export default {
handleSubmit() {
this.$refs.form.validate(async (valid) => {
if (valid) {
this.loading = true
this.loading = true;
let params = JSON.parse(JSON.stringify(this.dialogForm));
// 修改状态
params.status = this.status ? 1 : 0;
......@@ -218,26 +283,25 @@ export default {
params.regionCode = params.regionCode[params.regionCode.length - 1];
}
if (params.id) {
//修改用户信息时不提交盐和用户密码
delete params.password
delete params.salt
delete params.password;
delete params.salt;
let res = await upadateUser(params);
if (res.code == 0) {
this.$message.success("修改成功!");
this.reload();
}
this.loading = false
this.loading = false;
} else {
//加密密码
params.password = md5(params.password)
params.password = md5(params.password);
let res = await addUser(params);
if (res.code == 0) {
this.$message.success("添加成功!");
this.reload();
}
this.loading = false
this.loading = false;
}
}
});
......@@ -254,7 +318,7 @@ export default {
this.$emit("handleClose");
this.$refs.form.resetFields(); //对表单进行重置且移除校验结果
})
.catch((_) => { });
.catch((_) => {});
},
loadRegionTree() {
let parentId = "";
......@@ -278,7 +342,7 @@ export default {
};
</script>
<style lang='scss' scoped>
<style lang="scss" scoped>
.title {
display: flex;
margin-bottom: 16px;
......@@ -308,4 +372,4 @@ export default {
display: flex;
justify-content: flex-end;
}
</style>
\ No newline at end of file
</style>
......@@ -12,7 +12,7 @@
<el-col :span="20">
<div class="top-bar">
<SearchBar :config="searchConfig" @search="search" @reset="reset" />
<el-button type="primary" @click.native="handleOperation({ type: 'add' })" icon="el-icon-plus">
<el-button size="mini" type="primary" @click.native="handleOperation({ type: 'add' })" icon="el-icon-plus">
新增</el-button>
</div>
<TablePage :data="list.records" :tableTitle="tableTitle" :operates="tableOperates" v-loading="loading">
......
......@@ -6,7 +6,7 @@
<div class="label">{{ title }}</div>
</div>
<div class="dialog-content">
<el-form :model="dialogForm" class="basic-info" ref="form" :rules="rules" >
<el-form :model="dialogForm" class="basic-info" ref="form" :rules="rules" size="mini">
<el-form-item label="名称" :label-width="formLabelWidth" prop="name">
<el-input v-model="dialogForm.name" autocomplete="off" placeholder="请输入名称"></el-input>
</el-form-item>
......@@ -40,8 +40,8 @@
</el-form>
</div>
<div class="dialog-footer">
<el-button @click="cancelForm">取 消</el-button>
<el-button type="primary" @click="handleSubmit">确定<i class="el-icon-circle-check"
<el-button size="mini" @click="cancelForm">取 消</el-button>
<el-button size="mini" type="primary" @click="handleSubmit">确定<i class="el-icon-circle-check"
style="margin-left: 5px"></i></el-button>
</div>
</el-dialog>
......
......@@ -2,7 +2,7 @@
<div class="app-container">
<div class="top-bar">
<SearchBar :config="searchConfig" @search="search" @reset="reset" />
<el-button type="primary" @click.native="handleOperation({ type: 'add' })" icon="el-icon-plus">
<el-button size="mini" type="primary" @click.native="handleOperation({ type: 'add' })" icon="el-icon-plus">
添加</el-button>
</div>
<TablePage :data="list.records" :tableTitle="tableTitle" :operates="tableOperates" v-loading="loading">
......
......@@ -40,16 +40,16 @@ module.exports = {
},
proxy: {
'/api': {
target: 'http://114.115.157.218:9603/api',//生产
// target:'http://192.168.1.230:9603/api',//公司服务器
// target: 'http://114.115.157.218:9603/api',//生产
target: 'http://192.168.1.230:9603/api',//公司服务器
changeOrigin: true,
pathRewrite: {
'^/api': ''
}
},
'/files': {
target: 'http://114.115.157.218:9603/files',//生产
// target: 'http://192.168.1.230:9603/files',//公司服务器
// target: 'http://114.115.157.218:9603/files',//生产
target: 'http://192.168.1.230:9603/files',//公司服务器
changeOrigin: true,
pathRewrite: {
'^/files': ''
......@@ -68,12 +68,23 @@ module.exports = {
}
}
},
// css: {
// loaderOptions: {
// sass: {
// prependData: `@import "@/assets/styles/variable.scss";` //引入全局变量
// }
// }
// },
css: {
// 是否使用css分离插件 ExtractTextPlugin
extract: true,
// 开启 CSS source maps?
sourceMap: false,
loaderOptions: {
sass: {
prependData: `@import "@/assets/styles/variable.scss";` //引入全局变量
}
}
prependData: `@import "@/assets/styles/variable.scss";`, //引入全局变量
},
},
},
chainWebpack(config) {
// it can improve the speed of the first screen, it is recommended to turn on preload
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论