ciyon_ai/web/admin/www/keyword.html

284 lines
11 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1">
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1">
<link href="/jscss/style.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" charset="utf-8" src="/jscss/theme.js"></script>
</head>
<body>
<div class="container">
<form class="search" onsubmit="table.search(this,'btn');return false;">
<ul></ul>
<div>
<div class="sinps"></div>
<div class="sbtns">
<button data-lang class="btn" type="submit">查询</button>
<a data-lang class="btn" onclick="ManyKeyWordAdd()">批量添加</a>
<a data-lang class="btn" onclick="GenerateKeywords()">交叉生成</a>
<a data-lang class="btn" onclick="">AI联想</a>
<a data-lang class="btn" onclick="multiin()">导入</a>
<a data-lang class="btn" onclick="exportxls()">导出</a>
<a data-lang class="btn def" onclick="pagehelp()">帮助</a>
</div>
</div>
</form>
<div class="table">
<div class="loading col-24">Loading...</div>
<div class="list"></div>
<div>
<div class="btmbtn">
<a data-lang class="btn def" onclick="ciyfn.select_all(table)">全选</a>
<a data-lang class="btn def" onclick="ciyfn.select_diff(table)">反选</a>
|
<a data-lang class="btn dag" onclick="ciyfn.select_callfunc(table, this, 'del','已选{n}条,是否批量删除?', {},function(json){table.delline(json)})">批量删除</a>
</div>
<div class="page"></div>
</div>
</div>
</div>
<div id="alert_pagehelp" style="display:none;">
<b>标题</b>
<div style="margin:0 0 1em 1em">
第一行<br />第二行
</div>
<b>标题</b>
<ol style="margin:0 0 1em -1em">
<li>第一行</li>
<li>第二行</li>
<li>第三行</li>
</ol>
</div>
<div id="alert_multiin" style="display:none;">
<div style="display:flex;">
<div><ciy-upload com="file" /></div>
<div style="margin-left:0.3em;">
<a data-lang class="btn btn-sm def" href="/ud/inpl/www_keyword.xlsx" target="_blank">下载导入模板</a><br />
<div data-lang>每次导入建议不超过1000条</div>
<div data-lang>导入更新,首列为导出的行码</div>
<div data-lang>请按模版列填写</div>
</div>
</div>
</div>
<div id="alert_edit" style="display:none;">
<div class="char4 row">
<div class="ciy-form col-24 col-sm-24">
<label data-lang class="imp">所属栏目</label>
<div><ciy-select com="cateid" /></div>
</div>
<div class="ciy-form col-24 col-sm-24">
<label data-lang class="imp">关键词</label>
<div><input type="text" name="name" style="width:100%;" /></div>
</div>
</div>
</div>
<!-- 批量添加 -->
<div id="alert_batchAdd" style="display:none;">
<div style="margin-bottom:10px;">
<label class="imp">所属栏目</label>
<ciy-select com="batch_cateid" style="width:200px;"></ciy-select>
</div>
<div style="margin-bottom:10px;">
<label class="imp">关键词</label><br>
<textarea name="batch_names" style="width:100%;height:280px;padding:10px;" placeholder="请一行输入一个关键词,例如:
手机
电脑
耳机"></textarea>
</div>
</div>
<!-- 交叉生成关键词功能 -->
<div id="generateKeywords" style="display:none;">
<div style="margin-bottom:10px;">
<label class="imp">所属栏目</label>
<ciy-select com="cross_cateid" style="width:200px;"></ciy-select>
</div>
<div style="margin-bottom:10px;">
<label class="imp">核心词</label><br>
<textarea name="cross_dim1" style="width:100%;height:120px;padding:10px;" placeholder="一行一个,例如:
手机
电脑
耳机"></textarea>
</div>
<div style="margin-bottom:10px;">
<label class="imp">修饰词</label><br>
<textarea name="cross_dim2" style="width:100%;height:120px;padding:10px;" placeholder="一行一个,例如:
新款
特价
防水
无线"></textarea>
</div>
<div style="margin-bottom:10px;">
<label>扩展词</label><br>
<textarea name="cross_dim3" style="width:100%;height:80px;padding:10px;" placeholder="一行一个,例如:
包邮
官方正品
2025款"></textarea>
</div>
<div style="color:#666;">
生成规则维度1 × 维度2 × 维度3自动去重、过滤空行
</div>
</div>
<script type="text/javascript" src="/jscss/ciy.js"></script>
<script type="text/javascript" src="/jscss/ciycmp.js"></script>
<script type="text/javascript" src="/jscss/ciytable.js"></script>
<script type="text/javascript" src="../common.js"></script>
<script type="text/javascript">
'use strict';
var table;
var Glob = {};
ciyfn.pageload(function () {
table = new ciyclass.table({
dom: '.table',
url: 'list',
pagecount: 10,
chkbox: true,
fn_beforedata: function (json) {
ciyfn.fillsearch({ searchdom: '.search', data: json });
return json;
},
fn_tdcontent: function (key, datashow, field, data) {
if (key == '_btn') {
return `<a data-lang class="btn" onclick="menubtn(this, 'edit')">修改</a>`;
}
},
fn_done: function (json) {}
});
table.callpage(1);
});
function menubtn(dom, btn) {
var id = $5(dom).parent('tr').attr('data-id');
if (btn == 'edit') edit(id);
}
function getdata(id, act, cb) {
cb({ data: id == 0 ? {} : table.data[id] });
}
function edit(id) {
getdata(id, 'edit', function (jsndat) {
ciyfn.alert({
title: '修改',
width: 'pc',
content: document.getElementById("alert_edit").innerHTML,
fn_showed: function (doc, dom) {
var dat = jsndat.data;
ciycmp({ dom: $5('[com=cateid]', dom), value: dat.cateid, range: table.json.www_list_cate });
$5('[name=name]', dom).val(dat.name);
},
cb: function (opn) {
if (opn.btn == "关闭") return opn.close();
opn.inputs.id = id;
if (ciyfn.throttle(opn.dombtn)) return;
ciyfn.callfunc('update', opn.inputs, function (json) {
table.updateline(json);
opn.close();
ciyfn.toast('提交成功');
});
},
btns: id == 0 ? ["新建", "*关闭"] : ["提交", "*关闭"],
});
});
}
function multiin() {
ciyfn.table_multiin('importxls', document.getElementById("alert_multiin").innerHTML, function (json) {
ciyfn.toast('导入成功');
table.cachecount = -1;
table.callpage();
});
}
function exportxls() {
ciyfn.table_exportxls('exportxls', table, function (json) {
ciyfn.alert({
content: '<div style="text-align:center;"><span data-lang>导出数据已生成</span><br/><br/><a data-lang class="btn lg" href="' + json.url + '" target="_blank">下载数据</a></div>',
btns: null
});
});
}
function pagehelp() {
ciyfn.alert({
title: '页面帮助',
width: 'pc',
content: document.getElementById("alert_pagehelp").innerHTML
});
}
// 批量添加
function ManyKeyWordAdd() {
ciyfn.alert({
title: '批量添加关键词',
width: 'pc',
content: document.getElementById("alert_batchAdd").innerHTML,
fn_showed: function (doc, dom) {
ciycmp({ dom: $5('[com=batch_cateid]', dom), value: 0, range: table.json.www_list_cate });
},
cb: function (opn) {
if (opn.btn == "关闭") return opn.close();
let cateid = $5('[com=batch_cateid]', opn.dom).val();
let names = $5('[name=batch_names]', opn.dom).val();
if (!cateid) { ciyfn.toast('请选择所属栏目'); return; }
if (!names) { ciyfn.toast('请输入关键词'); return; }
ciyfn.callfunc('BatchAdd', { cateid, names }, function (json) {
table.cachecount = -1;
table.callpage();
opn.close();
ciyfn.toast('批量添加成功');
});
},
btns: ["批量添加", "*关闭"],
});
}
function GenerateKeywords() {
ciyfn.alert({
title: '交叉生成关键词',
width: 'pc',
content: document.getElementById("generateKeywords").innerHTML,
fn_showed: function (doc, dom) {
ciycmp({ dom: $5('[com=cross_cateid]', dom), value: 0, range: table.json.www_list_cate });
},
cb: function (opn) {
if (opn.btn == "关闭") return opn.close();
let cateid = $5('[com=cross_cateid]' , opn.dom).val();
let cross_dim1 = $5('[name=cross_dim1]' , opn.dom).val();//核心词
let cross_dim2 = $5('[name=cross_dim2]' , opn.dom).val();//修饰词
let cross_dim3 = $5('[name=cross_dim3]',opn.dom).val();//扩展词
// console.log(cross_dim1);
if(!cateid) {ciyfn.toast('请选择所属栏目'); return;}
if (!cross_dim1) { ciyfn.toast('请填写核心词'); return; }
if (!cross_dim2) { ciyfn.toast('请填写修饰词'); return; }
ciyfn.callfunc('GenerateKeywords', {
cateid : cateid,
dim1 : cross_dim1,
dim2 : cross_dim2,
dim3 : cross_dim3
}, function (json) {
table.cachecount = -1;
table.callpage();
opn.close();
ciyfn.toast(json.msg);
});
},
btns: ["生成", "*关闭"],
});
}
// }
</script>
</body>
</html>