添加书签 处理标签
This commit is contained in:
parent
29e4c15276
commit
d3b5496aba
@ -120,6 +120,9 @@
|
||||
<el-input v-model="form.description" type="textarea" placeholder="请输入书签描述" run dev
|
||||
:autosize="{minRows: 3, maxRows:4}" :style="{width: '100%'}"></el-input>
|
||||
</el-form-item>
|
||||
<el-form-item label="所属目录" prop="menuId">
|
||||
<el-input v-model="form.menuId" placeholder="请选择上级目录" />
|
||||
</el-form-item>
|
||||
|
||||
|
||||
<el-form-item label="书签标签:" prop="label">
|
||||
@ -132,8 +135,6 @@
|
||||
:disable-transitions="false"
|
||||
@close="taghandleClose(tag.tagId)"
|
||||
v-if="tag.name!='TAGDELETE'"
|
||||
|
||||
|
||||
>
|
||||
{{tag.name}}
|
||||
</el-tag>
|
||||
@ -147,17 +148,32 @@
|
||||
@blur="handleInputConfirm"
|
||||
>
|
||||
</el-input>
|
||||
<el-button v-else class="button-new-tag" size="small" @click="showInput">+ New Tag</el-button>
|
||||
<el-button v-else class="button-new-tag" size="small" @click="showInput">+ 新增标签</el-button>
|
||||
|
||||
</el-form-item>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="所属目录" prop="menuId">
|
||||
<el-input v-model="form.menuId" placeholder="请选择上级目录" />
|
||||
</el-form-item>
|
||||
<!-- 0公开显示1隐藏显示2好友显示3稍后再看-->
|
||||
<!-- 0公开显示 1隐藏显示 2好友显示-->
|
||||
<el-form-item label="选择状态" prop="start">
|
||||
<el-input v-model="form.start" placeholder="" />
|
||||
<el-radio-group v-model="form.start" size="medium">
|
||||
<el-radio v-for="(item, index) in bookmarkstatus" :key="index" :label="item.value"
|
||||
:disabled="item.disabled">{{item.name}}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<!-- 1.未读稍后再看 2 已读 2.續看-->
|
||||
<el-form-item label="选择类型" prop="type">
|
||||
<el-radio-group v-model="form.type" size="medium">
|
||||
<el-radio v-for="(item, index) in bookmarktype" :key="index" :label="item.value"
|
||||
:disabled="item.disabled">{{item.name}}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="submitForm">确 定</el-button>
|
||||
@ -212,9 +228,9 @@
|
||||
start: undefined,
|
||||
sqTags:[]
|
||||
},
|
||||
dynamicTags: ['标签一', '标签二', '标签三'],
|
||||
inputVisible: false, //标签
|
||||
inputValue: '', //标签
|
||||
tagcount:0, //标签虚拟ID
|
||||
bookmarkList:[],
|
||||
urltext:'?from=yunshuqian.com',//网址域名起推广作用
|
||||
// 表单参数
|
||||
@ -222,7 +238,24 @@
|
||||
// 表单校验
|
||||
rules: {
|
||||
},
|
||||
tagcount:0,
|
||||
bookmarkstatus: [{
|
||||
"name": "公开",
|
||||
"value": 1
|
||||
}, {
|
||||
"name": "私密",
|
||||
"value": 2
|
||||
}],
|
||||
bookmarktype: [{
|
||||
"name": "已阅读",
|
||||
"value": 1
|
||||
}, {
|
||||
"name": "稍后读",
|
||||
"value": 2
|
||||
}, {
|
||||
"name": "待续读",
|
||||
"value": 3
|
||||
}],
|
||||
|
||||
}
|
||||
},
|
||||
filters: {
|
||||
|
@ -169,25 +169,61 @@
|
||||
:autosize="{minRows: 3, maxRows:4}" :style="{width: '100%'}"></el-input>
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="书签标签" prop="label">
|
||||
<el-input v-model="form.label" placeholder="请输入标签" />
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="所属目录" prop="menuId">-->
|
||||
<!-- <el-input v-model="form.menuId" placeholder="请选择上级目录" />-->
|
||||
<!-- </el-form-item>-->
|
||||
|
||||
<el-form-item prop="menuId">
|
||||
<div class="labelname">所属目录</div>
|
||||
<treeselect class="menutreeselect" v-model="form.menuId" :options="menuOptions" :normalizer="normalizer" />
|
||||
</el-form-item>
|
||||
|
||||
<el-form-item label="书签标签" prop="label">
|
||||
<el-tag
|
||||
class="bookmarktag"
|
||||
v-for="tag in sqTags"
|
||||
:key="tag.tagId"
|
||||
closable
|
||||
type="success"
|
||||
:disable-transitions="false"
|
||||
@close="taghandleClose(tag.tagId)"
|
||||
v-if="tag.name!='TAGDELETE'"
|
||||
>
|
||||
{{tag.name}}
|
||||
</el-tag>
|
||||
<el-input
|
||||
class="input-new-tag"
|
||||
v-if="inputVisible"
|
||||
v-model="inputValue"
|
||||
ref="saveTagInput"
|
||||
size="small"
|
||||
@keyup.enter.native="handleInputConfirm"
|
||||
@blur="handleInputConfirm"
|
||||
>
|
||||
</el-input>
|
||||
<el-button v-else class="button-new-tag" size="small" @click="showInput">+ 新增标签</el-button>
|
||||
|
||||
|
||||
|
||||
<!-- 0公开显示1隐藏显示2好友显示3稍后再看-->
|
||||
<el-form-item label="选择状态" prop="start">
|
||||
<el-input v-model="form.start" placeholder="" />
|
||||
</el-form-item>
|
||||
|
||||
<!-- <el-form-item label="所属目录" prop="menuId">-->
|
||||
<!-- <el-input v-model="form.menuId" placeholder="请选择上级目录" />-->
|
||||
<!-- </el-form-item>-->
|
||||
|
||||
|
||||
<!-- 0公开显示 1隐藏显示 2好友显示-->
|
||||
<el-form-item label="选择状态" prop="start">
|
||||
<el-radio-group v-model="form.start" size="medium">
|
||||
<el-radio v-for="(item, index) in bookmarkstatus" :key="index" :label="item.value"
|
||||
:disabled="item.disabled">{{item.name}}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<!-- 1.未读稍后再看 2 已读 2.續看-->
|
||||
<el-form-item label="选择类型" prop="type">
|
||||
<el-radio-group v-model="form.type" size="medium">
|
||||
<el-radio v-for="(item, index) in bookmarktype" :key="index" :label="item.value"
|
||||
:disabled="item.disabled">{{item.name}}</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
|
||||
|
||||
|
||||
|
||||
</el-form>
|
||||
<div slot="footer" class="dialog-footer">
|
||||
<el-button type="primary" @click="addbookmark">确 定</el-button>
|
||||
@ -249,6 +285,7 @@
|
||||
zcount: undefined,
|
||||
idelete: undefined,
|
||||
start: undefined,
|
||||
sqTags:[]
|
||||
},
|
||||
// 书签菜单树选项
|
||||
menuOptions: [],
|
||||
@ -305,7 +342,29 @@
|
||||
}
|
||||
},
|
||||
zNodes:[],
|
||||
bookmark:[]
|
||||
bookmark:[],
|
||||
inputVisible: false, //标签
|
||||
inputValue: '', //标签
|
||||
tagcount:0, //标签虚拟ID
|
||||
sqTags:[],
|
||||
bookmarkstatus: [{
|
||||
"name": "公开",
|
||||
"value": 1
|
||||
}, {
|
||||
"name": "私密",
|
||||
"value": 2
|
||||
}],
|
||||
bookmarktype: [{
|
||||
"name": "已阅读",
|
||||
"value": 1
|
||||
}, {
|
||||
"name": "稍后读",
|
||||
"value": 2
|
||||
}, {
|
||||
"name": "待续读",
|
||||
"value": 3
|
||||
}],
|
||||
|
||||
}
|
||||
},
|
||||
created() {
|
||||
@ -314,6 +373,53 @@
|
||||
that.getList();
|
||||
},
|
||||
methods:{
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**书签编辑设置的 标签开始**/
|
||||
taghandleClose(tag) {
|
||||
//1. 首先我们要得到这个对象
|
||||
var tina = this.sqTags.filter((p) => {
|
||||
return p.tagId == tag;
|
||||
});
|
||||
//2. 其次得到这个对象在数组中对应的索引
|
||||
var index = this.sqTags.indexOf(tina[0]);
|
||||
//3. 如果存在则将其删除,index > -1 代表存在
|
||||
index > -1 && this.sqTags.splice(index, 1);
|
||||
|
||||
console.log(this.sqTags);
|
||||
},
|
||||
showInput() {
|
||||
this.inputVisible = true;
|
||||
this.$nextTick(_ => {
|
||||
this.$refs.saveTagInput.$refs.input.focus();
|
||||
});
|
||||
},
|
||||
|
||||
handleInputConfirm() {
|
||||
let inputValue = this.inputValue;
|
||||
if (inputValue) {
|
||||
this.tagcount=this.tagcount-1;
|
||||
var updatetag ={name: inputValue, bookmarkId:"bookmarkId",tagId:this.tagcount};
|
||||
this.sqTags.push(updatetag);
|
||||
}
|
||||
this.inputVisible = false;
|
||||
this.inputValue = '';
|
||||
console.log(this.sqTags);
|
||||
},
|
||||
|
||||
|
||||
/**书签编辑设置的 标签结束**/
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/** 新增书签Url操作 */
|
||||
addbookmarkurl:function(){
|
||||
this.reset();
|
||||
@ -324,16 +430,13 @@
|
||||
// this.open = true;
|
||||
// this.title = "修改书签菜单";
|
||||
// });
|
||||
|
||||
|
||||
|
||||
},
|
||||
|
||||
/** 提交按钮 修改和新增 */
|
||||
addbookmark: function() {
|
||||
this.$refs["form"].validate(valid => {
|
||||
if (valid) {
|
||||
|
||||
this.form.sqTags=this.sqTags;
|
||||
addBookmark(this.form).then(response => {
|
||||
if (response.code === 200) {
|
||||
this.msgSuccess("新增成功");
|
||||
@ -462,6 +565,7 @@
|
||||
// },
|
||||
// 表单重置
|
||||
reset() {
|
||||
this.sqTags=[],
|
||||
this.form = {
|
||||
menuId: undefined,
|
||||
userId: undefined,
|
||||
|
@ -104,14 +104,51 @@ public class SqBookmarkServiceImpl implements ISqBookmarkService
|
||||
public int insertSqBookmark(SqBookmark sqBookmark)
|
||||
{
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
int i= sqBookmarkMapper.insertUseGeneratedKeys(sqBookmark);
|
||||
|
||||
|
||||
sqBookmark.setCreateTime(DateUtils.getNowDate());
|
||||
return sqBookmarkMapper.insertSqBookmark(sqBookmark);
|
||||
//传入的标签
|
||||
List<Map<String, Object>> listmap = sqBookmark.getSqTags();
|
||||
if (listmap==null||listmap.isEmpty()||listmap.size()==0){
|
||||
return sqBookmarkMapper.insertSqBookmark(sqBookmark);
|
||||
}
|
||||
String addtag="";
|
||||
//给文章添加标签
|
||||
HashMap<Long,Long> bookmarkTag=new HashMap<Long,Long>();
|
||||
//文章添加书签
|
||||
SqBookmarkTag bookamrktag = new SqBookmarkTag();
|
||||
|
||||
for (Map<String, Object> map : listmap) {
|
||||
for (Map.Entry<String, Object> entry : map.entrySet()) {
|
||||
//新增书签
|
||||
if (Integer.parseInt(String.valueOf(map.get("tagId"))) < 0) {
|
||||
Map<String, Object> tagmap = iSqTagService.addtag(String.valueOf(map.get("name")), sqBookmark.getUserid());
|
||||
for (Map.Entry<String, Object> tag : tagmap.entrySet()) {
|
||||
addtag += tagmap.get("tagId").toString();
|
||||
map.put("tagId", tagmap.get("tagId"));
|
||||
}
|
||||
}
|
||||
bookmarkTag.put(Long.valueOf(map.get("tagId").toString()),sqBookmark.getBookmarkId());
|
||||
}
|
||||
}
|
||||
|
||||
//给文章添加书签
|
||||
for (Map.Entry<Long,Long> tag:bookmarkTag.entrySet()){
|
||||
bookamrktag.setBookmarkId(tag.getValue());
|
||||
bookamrktag.setTagId(tag.getKey());
|
||||
sqBookmarkTagMapper.insertSqBookmarkTag(bookamrktag);
|
||||
}
|
||||
|
||||
//个人标签引用数量 批量+1
|
||||
if (!addtag.equals("") && addtag.length()>0) {
|
||||
addtag=addtag.substring(0,addtag.length()-1);
|
||||
String[] add = addtag.split(",");
|
||||
Long[] num = (Long[]) ConvertUtils.convert(add,Long.class);
|
||||
sqUserTagMapper.updateCountReduce(num, sqBookmark.getUserid());
|
||||
}
|
||||
|
||||
return i;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -128,6 +165,9 @@ public class SqBookmarkServiceImpl implements ISqBookmarkService
|
||||
String addtag = "";
|
||||
//传入的标签
|
||||
List<Map<String, Object>> listmap = sqBookmark.getSqTags();
|
||||
if (listmap==null||listmap.isEmpty()||listmap.size()==0){
|
||||
return sqBookmarkMapper.updateSqBookmark(sqBookmark);
|
||||
}
|
||||
//给文章添加标签
|
||||
HashMap<Long,Long> bookmarkTag=new HashMap<Long,Long>();
|
||||
//文章添加书签
|
||||
|
Loading…
x
Reference in New Issue
Block a user