185 lines
7.3 KiB
HTML
185 lines
7.3 KiB
HTML
<form class="layui-form page-content p-4">
|
|
<h3 class="h3-title">软件信息</h3>
|
|
<input type="hidden" value="{$detail.id}" id="id">
|
|
<table class="layui-table layui-table-form">
|
|
<tr>
|
|
<td class="layui-td-gray-2">软件名称<font>*</font>
|
|
</td>
|
|
<td>
|
|
<input type="text" id="name" name="name" lay-verify="required" lay-reqText="请输入软件名称"
|
|
placeholder="请输入软件名称" class="layui-input" value="{$detail.name}" />
|
|
</td>
|
|
<td class="layui-td-gray-2">软件分类
|
|
</td>
|
|
<td>
|
|
<select name="cid" id="cid" lay-verify="" lay-reqText="请选择软件分类" class="layui-select" lay-search=""
|
|
lay-filter="cid">
|
|
<!-- 分类选项会通过 JavaScript 动态加载 -->
|
|
</select>
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="layui-td-gray-2">软件版本
|
|
</td>
|
|
<td>
|
|
<input type="text" name="version" lay-reqText="请输入软件版本" placeholder="请输入软件版本" class="layui-input"
|
|
value="{$detail.version}" />
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="layui-td-gray-2">上传文件</td>
|
|
<td>
|
|
<button type="button" class="layui-btn demo-class-accept" id="Uploadfiles">
|
|
<i class="layui-icon layui-icon-upload"></i>
|
|
上传文件
|
|
</button>
|
|
</td>
|
|
<td class="layui-td-gray-2">文件路径</td>
|
|
<td>
|
|
<input type="text" name="path" placeholder="文件路径" class="layui-input" value="{$detail.path}" readonly />
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="layui-td-gray-2">文件类型
|
|
</td>
|
|
<td>
|
|
<input type="text" name="type" class="layui-input" value="{$detail.type}" readonly />
|
|
</td>
|
|
<td class="layui-td-gray-2">文件大小</td>
|
|
<td>
|
|
<input type="text" name="size" class="layui-input" value="{$detail.size}" readonly />
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="layui-td-gray-2">下载链接
|
|
</td>
|
|
<td>
|
|
<input type="text" name="download_url" lay-reqText="请输入下载链接" placeholder="请输入下载链接" class="layui-input"
|
|
value="{$detail.download_url}" />
|
|
</td>
|
|
<td class="layui-td-gray-2">分享码</td>
|
|
<td>
|
|
<input type="text" name="download_code" lay-reqText="请输入分享码" placeholder="请输入分享码" class="layui-input"
|
|
value="{$detail.download_code}" />
|
|
</td>
|
|
</tr>
|
|
<tr>
|
|
<td class="layui-td-gray-2">软件描述
|
|
</td>
|
|
<td colspan="4">
|
|
<!-- 修复 textarea 的值绑定 -->
|
|
<textarea name="description" placeholder="请输入软件描述"
|
|
class="layui-textarea">{$detail.description}</textarea>
|
|
</td>
|
|
</tr>
|
|
</table>
|
|
|
|
<div class="pt-1">
|
|
<button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="webform">
|
|
立即提交
|
|
</button>
|
|
<button type="reset" class="layui-btn layui-btn-primary">重置</button>
|
|
</div>
|
|
</form>
|
|
|
|
<script>
|
|
layui.use(["form", "layer", "upload"], function () {
|
|
var form = layui.form,
|
|
layer = layui.layer,
|
|
upload = layui.upload;
|
|
|
|
var selectedFile = null; // 用于存储选择的文件
|
|
|
|
// 上传文件逻辑
|
|
upload.render({
|
|
elem: '#Uploadfiles', // 上传按钮
|
|
url: '/api/index/upload_files', // 上传接口
|
|
accept: 'file', // 接收任意文件类型
|
|
exts: 'exe|zip|rar|7z', // 限制文件类型
|
|
auto: true, // 自动上传
|
|
done: function (res) {
|
|
if (res.code === 200) {
|
|
// 上传成功后,将返回的文件路径设置到输入框中
|
|
document.querySelector('input[name="path"]').value = res.filepath;
|
|
layer.msg('文件上传成功');
|
|
} else {
|
|
layer.msg('文件上传失败:' + res.msg);
|
|
}
|
|
},
|
|
error: function () {
|
|
layer.msg('上传接口异常');
|
|
}
|
|
});
|
|
|
|
form.render();
|
|
|
|
|
|
// 获取当前时间并格式化
|
|
var updateTime = new Date().toISOString();
|
|
var idValue = document.getElementById('id').value;
|
|
console.log(idValue);
|
|
|
|
// 软件分类加载
|
|
fetch("/download/index/catelist")
|
|
.then((response) => response.json())
|
|
.then((result) => {
|
|
var select = document.getElementById('cid');
|
|
select.innerHTML = '<option value="">请选择软件类别</option>';
|
|
|
|
if (result.code === 0 && Array.isArray(result.data)) {
|
|
results = result.data;
|
|
results.forEach((item) => {
|
|
var option = document.createElement("option");
|
|
option.value = item.id;
|
|
option.innerText = item.name;
|
|
if (item.id == "{$detail.cid}") {
|
|
option.selected = true;
|
|
}
|
|
select.appendChild(option);
|
|
});
|
|
} else {
|
|
console.error("意外的响应格式:", result);
|
|
}
|
|
|
|
form.render("select");
|
|
})
|
|
.catch((error) => {
|
|
console.error("Error:", error);
|
|
});
|
|
|
|
// 监听提交事件
|
|
form.on("submit(webform)", function (data) {
|
|
// 发送请求并处理响应
|
|
fetch("/download/index/edit?id=" + idValue, {
|
|
method: "POST",
|
|
body: JSON.stringify({
|
|
id: document.getElementById('id').value,
|
|
name: document.getElementById('name').value,
|
|
cid: document.querySelector('select[name="cid"]').value,
|
|
version: document.querySelector('input[name="version"]').value,
|
|
path: document.querySelector('input[name="path"]').value,
|
|
download_url: document.querySelector('input[name="download_url"]').value,
|
|
download_code: document.querySelector('input[name="download_code"]').value,
|
|
description: document.querySelector('textarea[name="description"]').value,
|
|
update_time: updateTime,
|
|
}),
|
|
|
|
headers: {
|
|
"Content-Type": "application/json",
|
|
},
|
|
})
|
|
.then((response) => response.json())
|
|
.then((result) => {
|
|
layer.msg(result.msg);
|
|
if (result.code === 2) {
|
|
setTimeout(function () {
|
|
// document.querySelector("form").reset();
|
|
// location.reload(); // 刷新页面
|
|
}, 1000);
|
|
}
|
|
});
|
|
|
|
return false;
|
|
});
|
|
});
|
|
</script> |