提交 6b90e618 authored 作者: 龙菲's avatar 龙菲

增加列表序号;修改文物来源为字典取值

上级 020edfe8
...@@ -2,7 +2,10 @@ ...@@ -2,7 +2,10 @@
<span> <span>
<span v-for="(op, index) in operations" :key="index"> <span v-for="(op, index) in operations" :key="index">
<span v-if="op.type == 'delete'"> <span v-if="op.type == 'delete'">
<el-popconfirm title="确定删除吗?" @onConfirm="clickOperation(op)"> <el-popconfirm
:title="deleteTitle ? deleteTitle : '确定删除吗?'"
@onConfirm="clickOperation(op)"
>
<el-button <el-button
type="danger" type="danger"
size="mini" size="mini"
...@@ -37,6 +40,9 @@ export default { ...@@ -37,6 +40,9 @@ export default {
rawData: { rawData: {
type: Object, type: Object,
}, },
deleteTitle: {
type: String,
},
}, },
data() { data() {
return { return {
...@@ -44,9 +50,9 @@ export default { ...@@ -44,9 +50,9 @@ export default {
edit: "el-icon-edit", edit: "el-icon-edit",
view: "el-icon-view", view: "el-icon-view",
delete: "el-icon-delete", delete: "el-icon-delete",
download:'el-icon-download', download: "el-icon-download",
dataPermission:"el-icon-key", dataPermission: "el-icon-key",
editRole:"el-icon-user" editRole: "el-icon-user",
}, },
}; };
}, },
......
...@@ -11,6 +11,7 @@ ...@@ -11,6 +11,7 @@
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
@current-change="handleCurrentChange" @current-change="handleCurrentChange"
> >
<el-table-column type="index" width="50" label="序号"> </el-table-column>
<el-table-column v-if="hasMultiSelection" type="selection" width="55" /> <el-table-column v-if="hasMultiSelection" type="selection" width="55" />
<el-table-column <el-table-column
v-for="(item, index) in tableTitle" v-for="(item, index) in tableTitle"
...@@ -62,6 +63,9 @@ ...@@ -62,6 +63,9 @@
<template v-else-if="item.prop == 'themeType'"> <template v-else-if="item.prop == 'themeType'">
<slot name="themeType" :scope="scope.row"></slot> <slot name="themeType" :scope="scope.row"></slot>
</template> </template>
<template v-else-if="item.needTimeTag">
<slot name="createTime" :scope="scope.row"></slot>
</template>
<span v-else>{{ scope.row[item.prop] }}</span> <span v-else>{{ scope.row[item.prop] }}</span>
</template> </template>
</el-table-column> </el-table-column>
......
...@@ -96,6 +96,13 @@ export function formatTime(time, option) { ...@@ -96,6 +96,13 @@ export function formatTime(time, option) {
} }
} }
// 获取昨天
export function getYestoday() {
let d = new Date().getTime() - 1000 * 60 * 60 * 24
return parseTime(new Date(new Date().getTime() - 1000 * 60 * 60 * 24),"{yy}-{mm}-{dd}")
}
/** /**
* @param {string} url * @param {string} url
* @returns {Object} * @returns {Object}
...@@ -185,38 +192,15 @@ export function getFullUrl(url) { ...@@ -185,38 +192,15 @@ export function getFullUrl(url) {
* 增加万单位 * 增加万单位
* @param num * @param num
*/ */
export function formatNum(num) { export function formatNum(num) {
num = Number(num); num = Number(num);
if (num == 0) { if (num == 0) {
return num + ''; return num + '';
} else } else
if (num > 0 && num < 10000) { if (num > 0 && num < 10000) {
return num + ''; return num + '';
} else { } else {
return (num / 10000).toFixed(1) + 'w'; return (num / 10000).toFixed(1) + 'w';
} }
} }
// /**
// * 树 转 列表
// * 广度优先,先进先出
// * @param {Array} tree 树状数据
// * @param {String} childKey children的key
// */
// export function treeToList(tree, childKey = 'children') {
// let stack = tree.concat([])
// let data = []
// while (stack.length !== 0) {
// // 从stack中拿出来分析
// let shift = stack.shift() // stack.pop() 先进后出
// data.push(shift)
// let children = shift[childKey]
// if (children) {
// for (let i = 0; i < children.length; i++) {
// // 把数据放入stack中
// stack.push(children[i])
// }
// }
// }
// return data
// }
...@@ -23,10 +23,27 @@ ...@@ -23,10 +23,27 @@
<template v-slot:fileSize="scope"> <template v-slot:fileSize="scope">
{{ getFileSize(scope.scope.fileSize) }} {{ getFileSize(scope.scope.fileSize) }}
</template> </template>
<template v-slot:createTime="scope">
{{ scope.scope.createTime }}
<el-tag
size="mini"
type="success"
v-if="isToday(scope.scope.createTime)"
>今天</el-tag
>
<el-tag
size="mini"
type="primary"
v-if="getYestoday == scope.scope.createTime.split(' ')[0]"
>昨天
</el-tag>
</template>
<template v-slot:operates="scope"> <template v-slot:operates="scope">
<TableOperation <TableOperation
:operations="tableOperations" :operations="tableOperations"
:rawData="scope.scope.row" :rawData="scope.scope.row"
:deleteTitle="'点击确定将会删除该批次导入的所有文物,确定删除?'"
@handleOperation="handleOperation" @handleOperation="handleOperation"
></TableOperation> ></TableOperation>
</template> </template>
...@@ -44,7 +61,7 @@ ...@@ -44,7 +61,7 @@
</el-pagination> </el-pagination>
</div> </div>
<div class="dialog-footer"> <div class="dialog-footer">
<el-button type="primary" @click.native="handleClose" >关闭</el-button> <el-button type="primary" @click.native="handleClose">关闭</el-button>
</div> </div>
</el-dialog> </el-dialog>
</template> </template>
...@@ -52,7 +69,12 @@ ...@@ -52,7 +69,12 @@
<script> <script>
import TablePage from "@/components/Table/TablePage.vue"; import TablePage from "@/components/Table/TablePage.vue";
import TableOperation from "@/components/Table/TableOperation.vue"; import TableOperation from "@/components/Table/TableOperation.vue";
import { importRecordsTitle, importOperates, importOperations } from "../config"; import {
importRecordsTitle,
importOperates,
importOperations,
} from "../config";
import { parseTime, getYestoday } from "@/utils/index";
import { getImportListPage, deleteByBatchNum } from "@/api/file"; import { getImportListPage, deleteByBatchNum } from "@/api/file";
import SearchBar from "@/components/SearchBar"; import SearchBar from "@/components/SearchBar";
export default { export default {
...@@ -96,6 +118,22 @@ export default { ...@@ -96,6 +118,22 @@ export default {
return (Number(fileSize) / 1024 / 1024).toFixed(2) + "M"; return (Number(fileSize) / 1024 / 1024).toFixed(2) + "M";
}; };
}, },
isToday(time) {
return (time) => {
if (time) {
let timeDate = time.split(" ")[0];
let today = parseTime(new Date(), "{yy}-{mm}-{dd}");
return timeDate == today;
} else {
return false;
}
};
},
getYestoday() {
console.log(getYestoday());
return getYestoday();
},
}, },
data() { data() {
return { return {
...@@ -166,18 +204,13 @@ export default { ...@@ -166,18 +204,13 @@ export default {
} }
}, },
async handleOperation(value, row) { async handleOperation(value, row) {
console.log("handleOperation", value, row);
switch (value.type) { switch (value.type) {
case "add":
this.editVisible = true;
break;
case "view":
break;
case "delete": case "delete":
let { batchNum, type,id } = row; let { batchNum, type, id } = row;
let deleteRes = await deleteByBatchNum({ batchNum, type }); let deleteRes = await deleteByBatchNum({ batchNum, type });
if (deleteRes.code == 0) { if (deleteRes.code == 0) {
this.$message.success("删除成功!"); this.$message.success("删除成功!");
this.$emit("reload");
this.loadData(); this.loadData();
} }
break; break;
...@@ -196,7 +229,6 @@ export default { ...@@ -196,7 +229,6 @@ export default {
this.loadData(); this.loadData();
}, },
handleClose() { handleClose() {
this.$emit("handleClose"); this.$emit("handleClose");
}, },
......
...@@ -35,7 +35,21 @@ ...@@ -35,7 +35,21 @@
placeholder="请输入文物名称" placeholder="请输入文物名称"
></el-input> ></el-input>
</el-form-item> </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-cascader>
</el-form-item>
<el-form-item label="文物类别" :label-width="formLabelWidth"> <el-form-item label="文物类别" :label-width="formLabelWidth">
<el-select <el-select
v-model="dialogForm.type" v-model="dialogForm.type"
...@@ -52,6 +66,28 @@ ...@@ -52,6 +66,28 @@
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="文物质地" :label-width="formLabelWidth">
<el-cascader
style="width: 100%"
v-model="dialogForm.textureType"
:options="culturalRelicTextureType"
:props="culturalRelicTextureProps"
placeholder="请选择文物质地"
filterable
>
</el-cascader>
</el-form-item>
<el-form-item label="文物年代" :label-width="formLabelWidth">
<el-cascader
style="width: 100%"
v-model="dialogForm.years"
:options="culturalRelicYears"
:props="culturalRelicYearsProps"
placeholder="请选择文物年代"
filterable
>
</el-cascader>
</el-form-item>
<el-form-item label="文物级别" :label-width="formLabelWidth"> <el-form-item label="文物级别" :label-width="formLabelWidth">
<el-select <el-select
v-model="dialogForm.level" v-model="dialogForm.level"
...@@ -68,30 +104,7 @@ ...@@ -68,30 +104,7 @@
</el-option> </el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
<el-form-item label="文物质地" :label-width="formLabelWidth">
<el-cascader
style="width: 100%"
v-model="dialogForm.textureType"
:options="culturalRelicTextureType"
:props="culturalRelicTextureProps"
placeholder="请选择文物质地"
filterable
>
</el-cascader>
<!-- <el-select
v-model="dialogForm.textureType"
placeholder="请选择文物质地"
style="width: 100%"
>
<el-option
v-for="(value, key) in culturalRelicTexture"
:key="key"
:label="value"
:value="key"
>
</el-option>
</el-select> -->
</el-form-item>
<el-form-item label="具体尺寸" :label-width="formLabelWidth"> <el-form-item label="具体尺寸" :label-width="formLabelWidth">
<el-input <el-input
v-model="dialogForm.detailSize" v-model="dialogForm.detailSize"
...@@ -99,23 +112,8 @@ ...@@ -99,23 +112,8 @@
placeholder="请输入具体尺寸" placeholder="请输入具体尺寸"
></el-input> ></el-input>
</el-form-item> </el-form-item>
<el-form-item label="文物年代" :label-width="formLabelWidth">
<el-cascader
style="width: 100%"
v-model="dialogForm.years"
:options="culturalRelicYears"
:props="culturalRelicYearsProps"
placeholder="请选择文物年代"
filterable
>
</el-cascader>
</el-form-item>
<el-form-item label="文物数量" :label-width="formLabelWidth"> <el-form-item label="文物数量" :label-width="formLabelWidth">
<!-- <el-input
v-model="dialogForm.num"
autocomplete="off"
placeholder="请输入文物数量"
></el-input> -->
<el-input-number <el-input-number
v-model="dialogForm.num" v-model="dialogForm.num"
:min="1" :min="1"
...@@ -123,31 +121,7 @@ ...@@ -123,31 +121,7 @@
label="请输入文物数量" label="请输入文物数量"
></el-input-number> ></el-input-number>
</el-form-item> </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-cascader>
</el-form-item>
<el-form-item
label="馆藏介绍"
:label-width="formLabelWidth"
prop="intro"
>
<VueQuillEditor
v-model="dialogForm.intro"
placeholder="请输入馆藏介绍"
/>
</el-form-item>
<el-form-item label="关联文献" :label-width="formLabelWidth"> <el-form-item label="关联文献" :label-width="formLabelWidth">
<el-select <el-select
v-model="literatureValues" v-model="literatureValues"
...@@ -171,11 +145,21 @@ ...@@ -171,11 +145,21 @@
</el-form-item> </el-form-item>
<el-form-item label="来源方式" :label-width="formLabelWidth"> <el-form-item label="来源方式" :label-width="formLabelWidth">
<el-input <el-select
v-model="dialogForm.sourceWay" v-model="dialogForm.sourceWay"
autocomplete="off" placeholder="请选择来源方式"
placeholder="请输入来源方式" style="width: 100%"
></el-input> filterable
>
<el-option
v-for="(value, key) in dicts.culturalRelicSourceWay"
:key="key"
:label="value"
:value="key"
>
</el-option>
</el-select>
</el-form-item> </el-form-item>
<el-form-item label="是否上架" :label-width="formLabelWidth"> <el-form-item label="是否上架" :label-width="formLabelWidth">
...@@ -211,6 +195,16 @@ ...@@ -211,6 +195,16 @@
</el-col> </el-col>
<el-col :span="12"> <el-col :span="12">
<el-form-item
label="馆藏介绍"
:label-width="formLabelWidth"
prop="intro"
>
<VueQuillEditor
v-model="dialogForm.intro"
placeholder="请输入馆藏介绍"
/>
</el-form-item>
<el-form-item label="文物封面" :label-width="formLabelWidth"> <el-form-item label="文物封面" :label-width="formLabelWidth">
<ManualUploader <ManualUploader
:files="faceImage" :files="faceImage"
...@@ -284,6 +278,7 @@ import { mapGetters } from "vuex"; ...@@ -284,6 +278,7 @@ import { mapGetters } from "vuex";
import { uploadV1 } from "@/utils/file"; import { uploadV1 } from "@/utils/file";
import { deleteFiles } from "@/api/file"; import { deleteFiles } from "@/api/file";
import VueQuillEditor from "@/components/VueQuillEditor"; import VueQuillEditor from "@/components/VueQuillEditor";
export default { export default {
name: "InfoEditDialog", name: "InfoEditDialog",
components: { components: {
...@@ -447,7 +442,9 @@ export default { ...@@ -447,7 +442,9 @@ export default {
await this.$store.dispatch("dict/getDictList", [ await this.$store.dispatch("dict/getDictList", [
"culturalRelicLevel", "culturalRelicLevel",
"culturalRelicType", "culturalRelicType",
"culturalRelicSourceWay"
]); ]);
console.log(this.dicts.culturalRelicSourceWay);
let res = await this.$store.dispatch("dict/getDictTree", [ let res = await this.$store.dispatch("dict/getDictTree", [
"culturalRelicTextureType", "culturalRelicTextureType",
"culturalRelicYears", "culturalRelicYears",
...@@ -456,7 +453,8 @@ export default { ...@@ -456,7 +453,8 @@ export default {
this.culturalRelicYears = res.culturalRelicYears; this.culturalRelicYears = res.culturalRelicYears;
this.$store.dispatch("org/getMuseumTreeData", false).then((res) => { this.$store.dispatch("org/getMuseumTreeData", false).then((res) => {
this.orgTreeData = res[0].children; //去掉根节点的文旅厅 // this.orgTreeData = res[0].children; //去掉根节点的文旅厅
this.orgTreeData = res;
}); });
}, },
methods: { methods: {
...@@ -698,6 +696,7 @@ export default { ...@@ -698,6 +696,7 @@ export default {
this.videos = []; this.videos = [];
this.audios = []; this.audios = [];
this.faceImage = []; this.faceImage = [];
this.$refs.form.resetFields();
}, },
refresh() { refresh() {
......
...@@ -141,7 +141,8 @@ export const operations = [ ...@@ -141,7 +141,8 @@ export const operations = [
export const importRecordsTitle = [{ export const importRecordsTitle = [{
prop: "createTime", prop: "createTime",
label: "导入时间", label: "导入时间",
columnAlign: "center", columnAlign: "left",
needTimeTag: true
}, },
{ {
prop: "batchNum", prop: "batchNum",
...@@ -152,7 +153,7 @@ export const importRecordsTitle = [{ ...@@ -152,7 +153,7 @@ export const importRecordsTitle = [{
prop: "fileName", prop: "fileName",
label: "文件名称", label: "文件名称",
columnAlign: "center", columnAlign: "center",
width: 260 width: 300
}, },
{ {
prop: "fileSize", prop: "fileSize",
......
...@@ -126,6 +126,7 @@ ...@@ -126,6 +126,7 @@
<ImportRecordDialog <ImportRecordDialog
:visible="importRecordVisible" :visible="importRecordVisible"
@reload="loadData"
@handleClose="handleImportRecordClose" @handleClose="handleImportRecordClose"
/> />
...@@ -209,7 +210,7 @@ export default { ...@@ -209,7 +210,7 @@ export default {
textureType: "", //质地(字典值) textureType: "", //质地(字典值)
detailSize: "", // 具体尺寸 detailSize: "", // 具体尺寸
years: "", //年代 years: "", //年代
num: "", //数量 num: 1, //数量
deptId: "", //收藏馆id——新增传当前用户的deptId deptId: "", //收藏馆id——新增传当前用户的deptId
intro: "", //馆藏介绍 intro: "", //馆藏介绍
literature: "", //关联文献。id1,id2,id3 literature: "", //关联文献。id1,id2,id3
...@@ -512,7 +513,8 @@ export default { ...@@ -512,7 +513,8 @@ export default {
handleEditClose() { handleEditClose() {
this.editVisible = false; this.editVisible = false;
this.form = { this.form = {
status: 0, status: 1,
num: 1,
}; };
}, },
......
...@@ -466,7 +466,8 @@ export default { ...@@ -466,7 +466,8 @@ export default {
"displayCharacter", "displayCharacter",
]); ]);
this.$store.dispatch("org/getMuseumTreeData", false).then((res) => { this.$store.dispatch("org/getMuseumTreeData", false).then((res) => {
this.orgTreeData = res[0].children; //去掉根节点的文旅厅 // this.orgTreeData = res[0].children; //去掉根节点的文旅厅
this.orgTreeData =res
}); });
}, },
......
...@@ -112,7 +112,8 @@ export default { ...@@ -112,7 +112,8 @@ export default {
created() { created() {
this.$store.dispatch("org/getMuseumTreeData", false).then((res) => { this.$store.dispatch("org/getMuseumTreeData", false).then((res) => {
this.orgTreeData = res[0].children; //去掉根节点的文旅厅 // this.orgTreeData = res[0].children; //去掉根节点的文旅厅
this.orgTreeData =res
}); });
}, },
methods: { methods: {
......
...@@ -42,7 +42,7 @@ module.exports = { ...@@ -42,7 +42,7 @@ module.exports = {
proxy: { proxy: {
'/api': { '/api': {
// target: 'http://172.24.100.109:8080/', // target: 'http://172.24.100.109:8080/',
target:'http://222.85.214.245:9566/api', target:'http://222.85.214.245:9603/api',
changeOrigin: true, changeOrigin: true,
pathRewrite: { pathRewrite: {
'^/api': '' '^/api': ''
...@@ -50,7 +50,7 @@ module.exports = { ...@@ -50,7 +50,7 @@ module.exports = {
}, },
'/files': { '/files': {
// target: 'http://192.168.1.230:9563/files', // target: 'http://192.168.1.230:9563/files',
target: 'http://222.85.214.245:9563/files', target: 'http://222.85.214.245:9604/files',
changeOrigin: true, changeOrigin: true,
pathRewrite: { pathRewrite: {
'^/files': '' '^/files': ''
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论