Commit 7f4784df authored by 仇晓婷's avatar 仇晓婷

文档分类

parent 79722922
......@@ -87,6 +87,6 @@ export default {
color: @s1-color;
}
.s0 {
color: #ddd;
color: @table-color;
}
</style>
\ No newline at end of file
......@@ -40,6 +40,7 @@ export default {
};
</script>
<style lang="less">
@import "../../assets/css/custom.less";
.s2 {
color: red;
}
......@@ -47,6 +48,6 @@ export default {
color: #333;
}
.s0 {
color: #ddd;
color: @table-color;
}
</style>
\ No newline at end of file
......@@ -1707,5 +1707,29 @@ export default {
messageType:'类别',
content:'内容',
}
},
//文档分类
document_category:{
creationTime:'创建时间',
creatorUserId:'创建人',
lastModificationTime:'更新时间',
lastModifierUserId:'更新人',
isDeleted:'删除人',
deletionTime:'删除时间',
deleterUserId:'删除人',
name:'分类名称',
upId:'上级id',
level:'层级',
totalDocument:'分类下总文档数',
tenantId:'租户id',
type:'类别',
englishFullName:'英文全称',
englishName:'英文简称',
status:'',
inheritCategoryId:'继承', //继承分类id
template:'上传模板', //模板路径
templateId:'',
status:'状态',
description:'备注'
}
}
......@@ -29,8 +29,9 @@
</FormItem>
</Col>
<Col :span="24">
<h4>扩展属性</h4>
<Table :columns="columns" :data="checkList">
<Divider orientation="left">扩展属性</Divider>
<!-- <h4>扩展属性</h4> -->
<Table :columns="columns" :data="checkList" border>
<template slot-scope="{ row, index }" slot="title">
<div v-if="row.fieldType==1||row.fieldType==2">{{row.title}}</div>
<Input
......
......@@ -29,8 +29,8 @@
</FormItem>
</Col>
<Col :span="24">
<h4>扩展属性</h4>
<Table border :columns="columns" :data="checkList">
<Divider orientation="left">扩展属性</Divider>
<Table border :columns="columns" :data="checkList" >
<template slot-scope="{ row, index }" slot="title">
<div v-if="row.fieldType==1||row.fieldType==2">{{row.title}}</div>
<Input
......
This diff is collapsed.
import Api from '@/plugins/request'
export default {
index: `${material}/documentcategory/paged`,
paged(params) {
return Api.post(`${material}/documentcategory/paged`, params);
},
getList(params) {
return Api.post(`${material}/documentcategory/list`, params);
},
get(params) {
return Api.get(`${material}/documentcategory/get`, params);
},
create(params) {
return Api.post(`${material}/documentcategory/create`, params);
},
update(params) {
return Api.post(`${material}/documentcategory/update`, params);
},
delete(id) {
return Api.delete(`${material}/documentcategory/delete`, {
params: {
id: id
}
});
},
list(params) {
return Api.post(`${material}/category/list`, params);//物料类型列表
},
}
index:`${material}/documentcategory/paged`,
paged(params){
return Api.post(`${material}/documentcategory/paged`,params);
},
get(params){
return Api.get(`${material}/documentcategory/get`,params);
},
create(params){
return Api.post(`${material}/documentcategory/create`,params);
},
update(params){
return Api.post(`${material}/documentcategory/update`,params);
},
delete(id) {
return Api.delete(`${material}/documentcategory/delete`,{params:{id:id}});
},
deletes(params) {
return Api.post(`${material}/documentcategory/batchdelete`,params);
},
//文档属性定义列表
list(params){
return Api.post(`${material}/documentpropertydefinition/list`,params);
},
}
\ No newline at end of file
<template>
<div class="detail">
<Row>
<Filed :span="12" :name="l('title')">{{entity.title}}</Filed>
<Filed :span="12" :name="l('code')">{{entity.code}}</Filed>
<Filed :span="12" :name="l('description')">{{entity.description}}</Filed>
<Filed :span="12" :name="l('level')">
<state code="store.level" :value="entity.level+''" type="text"></state>
</Filed>
<Filed :span="12" :name="l('creationTime')">{{entity.creationTime}}</Filed>
<Filed :span="12" :name="l('creatorUserId')">
<User :value="entity.creatorUserId" />
</Filed>
<Filed :span="12" :name="l('creationTime')">{{entity.creationTime}}</Filed>
<Filed :span="12" :name="l('lastModifierUserId')">
<User :value="entity.lastModifierUserId" />
<Filed :span="12" :name="l('name')">{{entity.name}}</Filed>
<Filed :span="12" :name="l('level')">{{entity.level}}</Filed>
<Filed :span="12" :name="l('totalDocument')">{{entity.totalDocument}}</Filed>
<Filed :span="12" :name="l('type')">
<state code="word_classification_type" :value="entity.type+''" type="text"></state>
</Filed>
<Filed :span="12" :name="l('englishFullName')">{{entity.englishFullName}}</Filed>
<Filed :span="12" :name="l('englishName')">{{entity.englishName}}</Filed>
<Filed :span="12" :name="l('status')">
<state code="word_classification_status" :value="entity.status+''" type="text"></state>
</Filed>
<Filed :span="12" :name="l('description')">{{entity.description}}</Filed>
<Filed :span="12" :name="l('inheritCategoryId')">{{entity.inheritCategoryId == 0 ? "否" : "是"}}</Filed>
<Filed :span="24" :name="l('template')">
<files ref="refFile" :parms="parms" fileFormat :showList="false" />
</Filed>
<Filed :span="12" :name="l('lastModificationTime')">{{entity.lastModificationTime}}</Filed>
<Filed :span="24" name="物料编号">{{entity.materialTypeName}}</Filed>
<Filed :span="24" :name="l('userName')">{{entity.userName}}</Filed>
</Row>
</div>
</template>
......@@ -31,6 +35,12 @@ export default {
name: [{ required: true, message: "必填", trigger: "blur" }],
code: [{ required: true, message: "必填", trigger: "blur" }],
},
parms: {
app: "material",
eid: null,
name: "",
field: "",
},
};
},
props: {
......@@ -45,14 +55,15 @@ export default {
load(v) {
Api.get({ id: v }).then((r) => {
this.entity = r.result;
this.$emit("on-load");
this.parms.eid = r.result.templateId;
// this.$emit("on-load");
});
},
handleClose() {
this.$emit("on-close");
},
// handleClose() {
// this.$emit("on-close");
// },
l(key) {
key = "store_room_location" + "." + key;
key = "document_category" + "." + key;
return this.$t(key);
},
},
......@@ -64,4 +75,4 @@ export default {
},
},
};
</script>
</script>
\ No newline at end of file
This diff is collapsed.
......@@ -8,16 +8,9 @@
</div>
</div>
<TreeGrid :columns="columns" :items="treeData"></TreeGrid>
<Modal v-model="modal" :title="title" width="1000" footer-hide>
<component
:is="detail"
:eid="curId"
:level="level"
:upId="upId"
:user="user"
@on-close="cancel"
@on-ok="ok"
/>
<Modal v-model="modal" :title="title" width="1200" footer-hide>
<component :is="detail" :eid="curId" @on-close="cancel" @on-ok="ok" :row="row" />
</Modal>
</div>
</template>
......@@ -30,63 +23,110 @@ export default {
Search,
},
head: {
title: "库房库位",
title: "文档分类",
author: "henq",
description: "store_room_location 7/10/2020 8:57:03 AM",
description: "document_category 9/18/2020 9:33:43 AM",
},
data() {
return {
easySearch: {
keys: { op: "title,code,userName", value: null },
},
searchValue: "", //搜索库位名称
keys: "",
treeData: [],
treeDataOld: [],
row: {},
modal: false,
title: "新增",
detail: null,
curId: 0,
level: null,
upId: null,
user: true,
treeData: [],
treeDataOld: [],
columns: [
// {
// key: "id",
// title: this.$t("id"),
// hide: true,
// align: "left",
// high: true,
// },
{
key: "title",
title: this.l("title"),
key: "name",
title: this.l("name"),
align: "left",
easy: true,
high: true,
},
{
key: "code",
title: this.l("code"),
align: "left",
key: "creationTime",
title: this.l("creationTime"),
width: 180,
align: "center",
},
{
key: "creatorUserId",
title: this.l("creatorUserId"),
align: "center",
},
{ key: "level", title: this.l("level"), align: "center", high: true },
{
key: "description",
title: this.l("description"),
align: "left",
key: "totalDocument",
title: this.l("totalDocument"),
align: "center",
width: 160,
},
// {
// key: "tenantId",
// title: this.l("tenantId"),
// align: "left",
// high: true,
// hide: true,
// },
{
key: "type",
title: this.l("type"),
align: "center",
high: true,
code: "word_classification_type",
},
{
key: "level",
title: this.l("level"),
key: "englishFullName",
title: this.l("englishFullName"),
align: "left",
code: "store.level",
easy: true,
high: true,
},
{
key: "materialTypeName",
title: "物料编号",
key: "englishName",
title: this.l("englishName"),
align: "left",
easy: true,
high: true,
},
{
key: "status",
title: this.l("status"),
align: "center",
high: true,
code: "word_classification_status",
},
{
key: "inheritCategoryId",
title: this.l("inheritCategoryId"),
align: "center",
high: true,
render: (h, params) => {
return h("div", [
h("span", params.row.inheritCategoryId == 0 ? "否" : "是"),
]);
},
},
{
key: "userName",
title: this.l("userName"),
key: "description",
title: this.l("description"),
align: "left",
},
{
title: "操作",
key: "action",
width: 300,
width: 180,
align: "center",
render: (h, params) => {
return h("div", { class: "action" }, [
......@@ -111,7 +151,7 @@ export default {
"op",
{
attrs: { oprate: "edit" },
on: { click: () => this.edit(params.row) },
on: { click: () => this.edit(params.row.id) },
},
"编辑"
),
......@@ -119,7 +159,7 @@ export default {
"op",
{
attrs: { oprate: "delete" },
on: { click: () => this.remove(params.row) },
on: { click: () => this.remove(params.row.id) },
},
"删除"
),
......@@ -130,7 +170,7 @@ export default {
};
},
mounted() {
this.laodaction(this.keys);
this.laodaction(this.searchValue);
},
async fetch({ store, params }) {
await store.dispatch("loadDictionary"); // 加载数据字典
......@@ -140,7 +180,7 @@ export default {
let params = {
conditions: [
{
fieldName: "title",
fieldName: "name",
fieldValue: name,
conditionalType: "Like",
},
......@@ -163,76 +203,27 @@ export default {
});
},
//查询
searchData() {
var name = this.searchValue;
this.laodaction(name);
},
handleSearch() {
let tree = this.$u.clone(this.treeDataOld);
let value = this.searchValue;
if (value.trim() == "") {
this.treeData = this.$u.clone(this.treeDataOld);
} else {
//不满足搜索条件的待删除元素索引数组
let removeArr = [];
for (let i = 0; i < tree.length; i++) {
let node = tree[i];
this.searchTree(node, i, value, removeArr);
}
//遍历删除不满足条件的节点
for (let j = removeArr.length - 1; j >= 0; j--) {
tree.splice(removeArr[j], 1);
}
this.treeData = tree;
}
},
searchTree(node, index, value, removeArr) {
let children = node.children;
//针对非叶子节点,需要递归其children节点
if (children && children.length > 0) {
let innderArr = [];
for (let i = 0; i < children.length; i++) {
this.searchTree(children[i], i, value, innderArr);
}
if (node.title.indexOf(value) === -1) {
for (let j = innderArr.length - 1; j >= 0; j--) {
children.splice(innderArr[j], 1);
}
if (node.children.length === 0) {
removeArr.push(index);
}
}
} else {
//叶子节点,直接进行匹配
if (node.title.indexOf(value) === -1) {
removeArr.push(index);
}
}
},
addOk() {
var name = this.searchValue;
this.laodaction(name);
this.modal = false;
// this.curId = 0
},
ok() {
var name = this.searchValue;
this.laodaction(name);
this.laodaction(this.searchValue);
this.modal = false;
this.curId = 0;
},
search() {
this.$refs.grid.reload(this.easySearch);
},
add() {
this.curId = 0;
this.level = 1;
this.user = true;
(this.upId = 0), (this.title = "新增");
this.title = "新增";
this.detail = () => import("./add");
this.modal = true;
},
addrow(params) {
addrow(row) {
this.curId = 0;
this.user = false;
(this.upId = params.id), (this.title = "新增");
this.row = row;
this.detail = () => import("./add");
this.modal = true;
},
......@@ -248,37 +239,50 @@ export default {
this.detail = () => import("./detail");
this.modal = true;
},
edit(row) {
this.curId = row.id;
edit(id) {
this.curId = id;
this.title = "编辑";
if (row.upId == 0) {
this.user = true;
} else {
this.user = false;
}
this.detail = () => import("./edit");
this.modal = true;
},
remove(row) {
if (row.children && row.children.length == 0) {
Api.delete(row.id).then((r) => {
if (r.success) {
this.$Message.success("删除成功");
var name = this.searchValue;
this.laodaction(name);
}
});
} else {
this.$Message.error("此节点有子节点,不能删除!");
return false;
}
remove(id) {
Api.delete(id).then((r) => {
if (r.success) {
this.laodaction(this.searchValue);
this.$Message.success("删除成功");
}
});
},
cancel() {
this.curId = 0;
this.modal = false;
},
l(key) {
let vkey = "store_room_location" + "." + key;
/*
document_category:{
creationTime:'创建时间',
creatorUserId:'创建人',
lastModificationTime:'更新时间',
lastModifierUserId:'更新人',
isDeleted:'删除人',
deletionTime:'删除时间',
deleterUserId:'删除人',
name:'分类名称',
upId:'上级id',
level:'层级',
totalDocument:'分类下总文档数',
tenantId:'租户id',
type:'类别',
englishFullName:'英文全称',
englishName:'英文简称',
status:'',
description:'',
inheritCategoryId:'继承分类id',
template:'模板路径',
templateId:'',
}
*/
let vkey = "document_category" + "." + key;
return this.$t(vkey) || key;
},
},
......
<template>
<Form ref="form" :model="condition" :label-width="90">
<Row>
<Col :span="12" :v-if="condition.id.show">
<FormItem :label="$t('id')" prop="id">
<Input v-model="condition.id.value"></Input>
</FormItem>
</Col>
<Col :span="12" :v-if="condition.creationTime.show">
<FormItem :label="l('creationTime')" prop="creationTime">
<DatePicker type="daterange" v-model="condition.creationTime.value"></DatePicker>
</FormItem>
</Col>
<Col :span="12" :v-if="condition.creatorUserId.show">
<FormItem :label="l('creatorUserId')" prop="creatorUserId">
<Input v-model="condition.creatorUserId.value"></Input>
</FormItem>
</Col>
<Col :span="12" :v-if="condition.lastModificationTime.show">
<FormItem :label="l('lastModificationTime')" prop="lastModificationTime">
<DatePicker type="daterange" v-model="condition.lastModificationTime.value"></DatePicker>
</FormItem>
</Col>
<Col :span="12" :v-if="condition.lastModifierUserId.show">
<FormItem :label="l('lastModifierUserId')" prop="lastModifierUserId">
<Input v-model="condition.lastModifierUserId.value"></Input>
</FormItem>
</Col>
<Col :span="12" :v-if="condition.deletionTime.show">
<FormItem :label="l('deletionTime')" prop="deletionTime">
<DatePicker type="daterange" v-model="condition.deletionTime.value"></DatePicker>
</FormItem>
</Col>
<Col :span="12" :v-if="condition.upId.show">
<FormItem :label="l('upId')" prop="upId">
<Input v-model="condition.upId.value"></Input>
</FormItem>
</Col>
<Col :span="12" :v-if="condition.materialType.show">
<FormItem :label="l('materialType')" prop="materialType">
<Input v-model="condition.materialType.value"></Input>
</FormItem>
</Col>
<Col :span="12" :v-if="condition.title.show">
<FormItem :label="l('title')" prop="title">
<Input v-model="condition.title.value"></Input>
</FormItem>
</Col>
<Col :span="12" :v-if="condition.code.show">
<FormItem :label="l('code')" prop="code">
<Input v-model="condition.code.value"></Input>
</FormItem>
</Col>
<Col :span="12" :v-if="condition.status.show">
<FormItem :label="l('status')" prop="status">
<Input v-model="condition.status.value"></Input>
</FormItem>
</Col>
<Col :span="24" :v-if="condition.description.show">
<FormItem :label="l('description')" prop="description">
<Input v-model="condition.description.value"></Input>
</FormItem>
</Col>
<Col :span="12" :v-if="condition.level.show">
<FormItem :label="l('level')" prop="level">
<Input v-model="condition.level.value"></Input>
</FormItem>
</Col>
<Col :span="24" :v-if="condition.userName.show">
<FormItem :label="l('userName')" prop="userName">
<Input v-model="condition.userName.value"></Input>
</FormItem>
</Col>
<Col :span="24" :v-if="condition.userIds.show">
<FormItem :label="l('userIds')" prop="userIds">
<Input v-model="condition.userIds.value"></Input>
</FormItem>
</Col>
</Row>
</Form>
<Form ref="form" :model="condition" :label-width="90">
<Row>
<Col :span="12" :v-if="condition.id.show"><FormItem :label="$t('id')" prop="id"> <Input v-model="condition.id.value"> </Input>
</FormItem></Col>
<Col :span="12" :v-if="condition.creationTime.show"><FormItem :label="l('creationTime')" prop="creationTime"> <DatePicker type="daterange" v-model="condition.creationTime.value"></DatePicker>
</FormItem></Col>
<Col :span="12" :v-if="condition.creatorUserId.show"><FormItem :label="l('creatorUserId')" prop="creatorUserId"> <Input v-model="condition.creatorUserId.value"> </Input>
</FormItem></Col>
<Col :span="12" :v-if="condition.lastModificationTime.show"><FormItem :label="l('lastModificationTime')" prop="lastModificationTime"> <DatePicker type="daterange" v-model="condition.lastModificationTime.value"></DatePicker>
</FormItem></Col>
<Col :span="12" :v-if="condition.lastModifierUserId.show"><FormItem :label="l('lastModifierUserId')" prop="lastModifierUserId"> <Input v-model="condition.lastModifierUserId.value"> </Input>
</FormItem></Col>
<Col :span="12" :v-if="condition.deletionTime.show"><FormItem :label="l('deletionTime')" prop="deletionTime"> <DatePicker type="daterange" v-model="condition.deletionTime.value"></DatePicker>
</FormItem></Col>
<Col :span="12" :v-if="condition.name.show"><FormItem :label="l('name')" prop="name"> <Input v-model="condition.name.value"> </Input>
</FormItem></Col>
<Col :span="12" :v-if="condition.upId.show"><FormItem :label="l('upId')" prop="upId"> <Input v-model="condition.upId.value"> </Input>
</FormItem></Col>
<Col :span="12" :v-if="condition.level.show"><FormItem :label="l('level')" prop="level"> <Input v-model="condition.level.value"> </Input>
</FormItem></Col>
<Col :span="12" :v-if="condition.totalDocument.show"><FormItem :label="l('totalDocument')" prop="totalDocument"> <Input v-model="condition.totalDocument.value"> </Input>
</FormItem></Col>
<Col :span="12" :v-if="condition.tenantId.show"><FormItem :label="l('tenantId')" prop="tenantId"> <Input v-model="condition.tenantId.value"> </Input>
</FormItem></Col>
<Col :span="12" :v-if="condition.type.show"><FormItem :label="l('type')" prop="type"> <Input v-model="condition.type.value"> </Input>
</FormItem></Col>
<Col :span="12" :v-if="condition.englishFullName.show"><FormItem :label="l('englishFullName')" prop="englishFullName"> <Input v-model="condition.englishFullName.value"> </Input>
</FormItem></Col>
<Col :span="12" :v-if="condition.englishName.show"><FormItem :label="l('englishName')" prop="englishName"> <Input v-model="condition.englishName.value"> </Input>
</FormItem></Col>
<Col :span="12" :v-if="condition.status.show"><FormItem :label="l('status')" prop="status"> <Input v-model="condition.status.value"> </Input>
</FormItem></Col>
<Col :span="24" :v-if="condition.description.show"><FormItem :label="l('description')" prop="description"> <Input v-model="condition.description.value"> </Input>
</FormItem></Col>
<Col :span="12" :v-if="condition.inheritCategoryId.show"><FormItem :label="l('inheritCategoryId')" prop="inheritCategoryId"> <Input v-model="condition.inheritCategoryId.value"> </Input>
</FormItem></Col>
<Col :span="24" :v-if="condition.template.show"><FormItem :label="l('template')" prop="template"> <Input v-model="condition.template.value"> </Input>
</FormItem></Col>
<Col :span="24" :v-if="condition.templateId.show"><FormItem :label="l('templateId')" prop="templateId"> <Input v-model="condition.templateId.value"> </Input>
</FormItem></Col>
</Row>
</Form>
</template>
<script>
import Api from "./api";
export default {
name: "Add",
data() {
return {
condition: {
id: { op: "Equal", value: null, show: true },
creationTime: { op: "Range", value: null, show: true },
creatorUserId: { op: "Equal", value: null, show: true },
lastModificationTime: { op: "Range", value: null, show: true },
lastModifierUserId: { op: "Equal", value: null, show: true },
deletionTime: { op: "Range", value: null, show: true },
upId: { op: "Equal", value: null, show: true },
materialType: { op: "Equal", value: null, show: true },
title: { op: "Equal", value: null, show: true },
code: { op: "Equal", value: null, show: true },
status: { op: "Equal", value: null, show: true },
description: { op: "Equal", value: null, show: true },
level: { op: "Equal", value: null, show: true },
userName: { op: "Equal", value: null, show: true },
userIds: { op: "Equal", value: null, show: true }
import Api from './api'
export default {
name: 'Add',
data() {
return {
condition: {
id:{op:"Equal",value:null,show:true},
creationTime:{op:"Range",value:null,show:true},
creatorUserId:{op:"Equal",value:null,show:true},
lastModificationTime:{op:"Range",value:null,show:true},
lastModifierUserId:{op:"Equal",value:null,show:true},
deletionTime:{op:"Range",value:null,show:true},
name:{op:"Equal",value:null,show:true},
upId:{op:"Equal",value:null,show:true},
level:{op:"Equal",value:null,show:true},
totalDocument:{op:"Equal",value:null,show:true},
tenantId:{op:"Equal",value:null,show:true},
type:{op:"Equal",value:null,show:true},
englishFullName:{op:"Equal",value:null,show:true},
englishName:{op:"Equal",value:null,show:true},
status:{op:"Equal",value:null,show:true},
description:{op:"Equal",value:null,show:true},
inheritCategoryId:{op:"Equal",value:null,show:true},
template:{op:"Equal",value:null,show:true},
templateId:{op:"Equal",value:null,show:true},
},
}
},
methods: {
handleClose() {
this.$emit('on-close')
},
l(key) {
key = "document_category" + "." + key;
return this.$t(key)
}
};
},
methods: {
handleClose() {
this.$emit("on-close");
},
l(key) {
key = "store_room_location" + "." + key;
return this.$t(key);
}
}
}
};
</script>
</script>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment