This commit is contained in:
toom1996
2025-07-24 15:49:49 +08:00
parent 07fe136d62
commit b33b922b65
25 changed files with 25662 additions and 809 deletions

View File

@ -3,8 +3,12 @@ $platforms = call_user_func(function () {
return \App\Model\AppWebsiteConfig::query()->where('is_delete', 0)->get()->toArray();
});
$columnTag = call_user_func(function () {
return \App\Model\AppNewsColumn::query()->get()->toArray();
$firstColumn = call_user_func(function () {
return json_encode(\App\Model\AppNewsColumn::query()->where('is_delete', 0)->get()->groupBy('website')->toArray());
});
$secondColumn = call_user_func(function () {
return json_encode(\App\Model\AppNewsSecondColumn::query()->where('is_delete', 0)->get()->groupBy('rid')->toArray());
});
?>
<!DOCTYPE html>
@ -23,7 +27,7 @@ $columnTag = call_user_func(function () {
<div class="layui-form-item">
<label class="layui-form-label required">发布平台</label>
<div class="layui-input-block">
<select name="platform" lay-search="">
<select name="platform" lay-search="" lay-filter="platform">
<option value="">请选择</option>
<?php foreach ($platforms ?: [] as $platform): ?>
<option value="<?= $platform['id'] ?>"><?= $platform['app_name'] ?></option>
@ -31,19 +35,22 @@ $columnTag = call_user_func(function () {
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label required">栏目</label>
<div class="layui-input-block">
<select name="column" lay-search="">
<select id="column" name="column" lay-search="" lay-filter="first-column">
<option value="">请选择</option>
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label required">二级栏目</label>
<div class="layui-input-block">
<select id="second-column" name="column2" lay-search="">
<option value="">请选择</option>
<?php foreach ($columnTag ?: [] as $tag): ?>
<option value="<?= $tag['id'] ?>"><?= $tag['name'] ?></option>
<?php endforeach; ?>
</select>
</div>
</div>
<div class="layui-form-item layui-form-text">
<label class="layui-form-label">json数据</label>
<div class="layui-input-block">
@ -70,6 +77,41 @@ $columnTag = call_user_func(function () {
layui.use(['upload', 'jquery', 'popup'], function(){
const upload = layui.upload;
const $ = layui.jquery;
const form = layui.form;
// 站点
form.on('select(platform)', function(data){
const val = data.value
var firstColumn = JSON.parse('<?= $firstColumn ?>')
console.log(firstColumn[val])
let html = '<option value="">请选择</option>'
if (firstColumn[val]) {
firstColumn[val].forEach(item => {
html += `<option value="${item.id}">${item.name}</option>`
})
console.log(html)
}
$('#column').html(html);
form.render('select'); // 重新渲染 select 以应用新的选项和样式
});
// 站点
form.on('select(first-column)', function(data){
const val = data.value
var firstColumn = JSON.parse('<?= $secondColumn ?>')
console.log(firstColumn[val])
let html = '<option value="0">请选择</option>'
if (firstColumn[val]) {
firstColumn[val].forEach(item => {
html += `<option value="${item.id}">${item.name}</option>`
})
console.log(html)
}
$('#second-column').html(html);
form.render('select'); // 重新渲染 select 以应用新的选项和样式
});
layui.form.on("submit(submit)", function (data) {
layui.$.ajax({
url: SAVE_API,
@ -77,10 +119,10 @@ $columnTag = call_user_func(function () {
dateType: "json",
data: data.field,
success: function (res) {
if (res.code) {
return layui.popup.failure(res.msg);
}
return layui.popup.success("操作成功", function () {
parent.refreshTable();
parent.layer.close(parent.layer.getFrameIndex(window.name));

View File

@ -2,6 +2,14 @@
$platforms = call_user_func(function () {
return \App\Model\AppWebsiteConfig::query()->where('is_delete', 0)->get()->toArray();
});
$firstColumn = call_user_func(function () {
return json_encode(\App\Model\AppNewsColumn::query()->where('is_delete', 0)->get()->groupBy('website')->toArray());
});
$secondColumn = call_user_func(function () {
return json_encode(\App\Model\AppNewsSecondColumn::query()->where('is_delete', 0)->get()->groupBy('rid')->toArray());
});
?>
<!DOCTYPE html>
<html lang="zh-cn">
@ -11,9 +19,9 @@ $platforms = call_user_func(function () {
<link rel="stylesheet" href="/component/pear/css/pear.css" />
<link rel="stylesheet" href="/admin/css/reset.css" />
<link
href="https://unpkg.com/@wangeditor/editor@latest/dist/css/style.css"
rel="stylesheet"
/>
href="/component/wangeditor/style.css"
rel="stylesheet"
/>
</head>
<body>
@ -23,7 +31,7 @@ $platforms = call_user_func(function () {
<div class="layui-form-item">
<label class="layui-form-label required">发布平台</label>
<div class="layui-input-block">
<select name="platform" lay-search="">
<select name="platform" lay-search="" lay-filter="platform">
<option value="">请选择</option>
<?php foreach ($platforms ?: [] as $platform): ?>
<option value="<?= $platform['id'] ?>"><?= $platform['app_name'] ?></option>
@ -31,6 +39,22 @@ $platforms = call_user_func(function () {
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label required">一级栏目</label>
<div class="layui-input-block">
<select id="first-column" name="column1" lay-search="" lay-filter="first-column">
<option value="">请选择</option>
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label required">二级栏目</label>
<div class="layui-input-block">
<select id="second-column" name="column2" lay-search="">
<option value="">请选择</option>
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label required">文章标题</label>
<div class="layui-input-block">
@ -80,7 +104,7 @@ $platforms = call_user_func(function () {
</form>
<script src="/component/layui/layui.js?v=2.8.12"></script>
<script src="/component/pear/pear.js"></script>
<script src="https://unpkg.com/@wangeditor/editor@latest/dist/index.js"></script>
<script src="/component/wangeditor/index.js"></script>
<script>
// api
const INSERT_API = "/admin/api/news/insert"; // 插入新闻
@ -129,6 +153,41 @@ $platforms = call_user_func(function () {
layui.use(['upload', 'jquery'], function(){
const upload = layui.upload;
const $ = layui.jquery;
const form = layui.form
// 站点
form.on('select(platform)', function(data){
const val = data.value
var firstColumn = JSON.parse('<?= $firstColumn ?>')
console.log(firstColumn[val])
let html = '<option value="">请选择</option>'
if (firstColumn[val]) {
firstColumn[val].forEach(item => {
html += `<option value="${item.id}">${item.name}</option>`
})
console.log(html)
}
$('#first-column').html(html);
form.render('select'); // 重新渲染 select 以应用新的选项和样式
});
// 站点
form.on('select(first-column)', function(data){
const val = data.value
var firstColumn = JSON.parse('<?= $secondColumn ?>')
console.log(firstColumn[val])
let html = '<option value="0">请选择</option>'
if (firstColumn[val]) {
firstColumn[val].forEach(item => {
html += `<option value="${item.id}">${item.name}</option>`
})
console.log(html)
}
$('#second-column').html(html);
form.render('select'); // 重新渲染 select 以应用新的选项和样式
});
//执行实例
var uploadInst = upload.render({

View File

@ -2,6 +2,15 @@
$platforms = call_user_func(function () {
return \App\Model\AppWebsiteConfig::query()->where('is_delete', 0)->get()->toArray();
});
$firstColumn = call_user_func(function () {
return json_encode(\App\Model\AppNewsColumn::query()->where('is_delete', 0)->get()->groupBy('website')->toArray());
});
$secondColumn = call_user_func(function () {
return json_encode(\App\Model\AppNewsSecondColumn::query()->where('is_delete', 0)->get()->groupBy('rid')->toArray());
});
?>
<!DOCTYPE html>
<html lang="zh-cn">
@ -11,7 +20,7 @@ $platforms = call_user_func(function () {
<link rel="stylesheet" href="/component/pear/css/pear.css" />
<link rel="stylesheet" href="/admin/css/reset.css" />
<link
href="https://unpkg.com/@wangeditor/editor@latest/dist/css/style.css"
href="/component/wangeditor/style.css"
rel="stylesheet"
/>
</head>
@ -24,7 +33,7 @@ $platforms = call_user_func(function () {
<div class="layui-form-item">
<label class="layui-form-label required">发布平台</label>
<div class="layui-input-block">
<select name="platform" lay-search="">
<select name="platform" lay-search="" lay-filter="platform">
<option value="">请选择</option>
<?php foreach ($platforms ?: [] as $platform): ?>
<option value="<?= $platform['id'] ?>"><?= $platform['app_name'] ?></option>
@ -32,6 +41,22 @@ $platforms = call_user_func(function () {
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label required">一级栏目</label>
<div class="layui-input-block">
<select id="first-column" name="column1" lay-search="" lay-filter="first-column">
<option value="">请选择</option>
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label required">二级栏目</label>
<div class="layui-input-block">
<select id="second-column" name="column2" lay-search="">
<option value="">请选择</option>
</select>
</div>
</div>
<div class="layui-form-item">
<label class="layui-form-label required">文章标题</label>
<div class="layui-input-block">
@ -81,7 +106,7 @@ $platforms = call_user_func(function () {
</form>
<script src="/component/layui/layui.js?v=2.8.12"></script>
<script src="/component/pear/pear.js"></script>
<script src="https://unpkg.com/@wangeditor/editor@latest/dist/index.js"></script>
<script src="/component/wangeditor/index.js"></script>
<script>
// api
const SAVE_API = "/admin/api/news/update"; // 更新新闻
@ -131,8 +156,46 @@ $platforms = call_user_func(function () {
layui.use(['upload', 'jquery', 'popup'], function(){
const upload = layui.upload;
const $ = layui.jquery;
const col1 = JSON.parse('<?= $firstColumn ?>')
const col2 = JSON.parse('<?= $secondColumn ?>')
const form = layui.form
initViewData()
// 站点
form.on('select(platform)', function(data){
const val = data.value
var firstColumn = JSON.parse('<?= $firstColumn ?>')
console.log(firstColumn[val])
let html = '<option value="">请选择</option>'
$('#second-column').html(html);
if (firstColumn[val]) {
firstColumn[val].forEach(item => {
html += `<option value="${item.id}">${item.name}</option>`
})
console.log(html)
}
$('#first-column').html(html);
form.render('select'); // 重新渲染 select 以应用新的选项和样式
});
// 站点
form.on('select(first-column)', function(data){
const val = data.value
var firstColumn = JSON.parse('<?= $secondColumn ?>')
console.log(firstColumn[val])
let html = '<option value="0">请选择</option>'
if (firstColumn[val]) {
firstColumn[val].forEach(item => {
html += `<option value="${item.id}">${item.name}</option>`
})
console.log(html)
}
$('#second-column').html(html);
form.render('select'); // 重新渲染 select 以应用新的选项和样式
});
//执行实例
var uploadInst = upload.render({
@ -211,8 +274,33 @@ $platforms = call_user_func(function () {
$("[name=cover]").val(res.data.cover);
$("select[name=platform]").val(res.data.platform);
layui.form.render("select");
// 栏目1
$("select[name=column1]").val(res.data.column_tag);
var val = res.data.platform
var html = '<option value="">请选择</option>'
if (col1[val]) {
col1[val].forEach(item => {
html += `<option value="${item.id}">${item.name}</option>`
})
}
$('#first-column').html(html);
$("select[name=column1]").val(res.data.column_tag);
// 栏目2
$("select[name=column2]").val(res.data.second_column);
val = res.data.column_tag
html = '<option value="">请选择</option>'
if (col2[val]) {
col2[val].forEach(item => {
html += `<option value="${item.id}">${item.name}</option>`
})
}
$('#second-column').html(html);
$("select[name=column2]").val(res.data.second_column);
layui.form.render("select");
editor.setHtml(res.data.content)
// ajax产生错误