Browse Source

修复图片复制粘贴功能和重复字段问题

Boss2
Default User 2 months ago
parent
commit
aa49899ed3
  1. 17
      Reject.js
  2. 21
      supply.html

17
Reject.js

@ -706,7 +706,7 @@ app.post('/api/supplies/create', async (req, res) => {
let connection; let connection;
try { try {
connection = await pool.getConnection(); connection = await pool.getConnection();
const { productName, price, quantity, grossWeight, yolk, specification, quality, region, imageUrls, sellerId, supplyStatus, description, sourceType, contactId, category, producting } = req.body; const { productName, price, costprice, quantity, grossWeight, yolk, specification, quality, region, imageUrls, sellerId, supplyStatus, description, sourceType, contactId, category, producting } = req.body;
// 开始事务 // 开始事务
await connection.beginTransaction(); await connection.beginTransaction();
@ -800,6 +800,7 @@ app.post('/api/supplies/create', async (req, res) => {
productName, productName,
category: category || '', // 添加种类 category: category || '', // 添加种类
price: price.toString(), // 确保是varchar类型 price: price.toString(), // 确保是varchar类型
costprice: costprice || '', // 添加采购价
quantity: quantity, // 保持为逗号分隔的字符串,不转换为整数 quantity: quantity, // 保持为逗号分隔的字符串,不转换为整数
grossWeight, grossWeight,
yolk, yolk,
@ -831,18 +832,18 @@ app.post('/api/supplies/create', async (req, res) => {
if (columns.length === 0) { if (columns.length === 0) {
// 没有quality字段,不包含quality字段的插入 // 没有quality字段,不包含quality字段的插入
insertQuery = 'INSERT INTO products (productId, sellerId, productName, category, price, quantity, grossWeight, yolk, specification, producting, region, status, supplyStatus, sourceType, description, rejectReason, imageUrls, created_at, audit_time, product_contact, contact_phone, autoOfflineTime, autoOfflineDays, autoOfflineHours) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)'; insertQuery = 'INSERT INTO products (productId, sellerId, productName, category, price, costprice, quantity, grossWeight, yolk, specification, producting, region, status, supplyStatus, sourceType, description, rejectReason, imageUrls, created_at, audit_time, product_contact, contact_phone, autoOfflineTime, autoOfflineDays, autoOfflineHours) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
insertParams = [ insertParams = [
productId, productData.sellerId, productName, category || '', price.toString(), quantity, grossWeight, productId, productData.sellerId, productName, category || '', price.toString(), costprice || '', quantity, grossWeight,
yolk, specification, producting, region, productData.status, productData.supplyStatus, productData.sourceType, yolk, specification, producting, region, productData.status, productData.supplyStatus, productData.sourceType,
productData.description, productData.rejectReason, productData.imageUrls, new Date(), new Date(), productData.description, productData.rejectReason, productData.imageUrls, new Date(), new Date(),
productContact, contactPhone, req.body.autoOfflineTime, req.body.autoOfflineDays, req.body.autoOfflineHours // 添加联系人信息和自动下架时间、小时数 productContact, contactPhone, req.body.autoOfflineTime, req.body.autoOfflineDays, req.body.autoOfflineHours // 添加联系人信息和自动下架时间、小时数
]; ];
} else { } else {
// 有quality字段,包含quality字段的插入 // 有quality字段,包含quality字段的插入
insertQuery = 'INSERT INTO products (productId, sellerId, productName, category, price, quantity, grossWeight, yolk, specification, producting, quality, region, status, supplyStatus, sourceType, description, rejectReason, imageUrls, created_at, audit_time, product_contact, contact_phone, autoOfflineTime, autoOfflineDays, autoOfflineHours) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)'; insertQuery = 'INSERT INTO products (productId, sellerId, productName, category, price, costprice, quantity, grossWeight, yolk, specification, producting, quality, region, status, supplyStatus, sourceType, description, rejectReason, imageUrls, created_at, audit_time, product_contact, contact_phone, autoOfflineTime, autoOfflineDays, autoOfflineHours) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)';
insertParams = [ insertParams = [
productId, productData.sellerId, productName, category || '', price.toString(), quantity, grossWeight, productId, productData.sellerId, productName, category || '', price.toString(), costprice || '', quantity, grossWeight,
yolk, specification, producting, quality, region, productData.status, productData.supplyStatus, yolk, specification, producting, quality, region, productData.status, productData.supplyStatus,
productData.sourceType, productData.description, productData.rejectReason, productData.imageUrls, productData.sourceType, productData.description, productData.rejectReason, productData.imageUrls,
new Date(), new Date(), productContact, contactPhone, req.body.autoOfflineTime, req.body.autoOfflineDays, req.body.autoOfflineHours // 添加联系人信息和自动下架时间、小时数 new Date(), new Date(), productContact, contactPhone, req.body.autoOfflineTime, req.body.autoOfflineDays, req.body.autoOfflineHours // 添加联系人信息和自动下架时间、小时数
@ -1097,7 +1098,7 @@ app.put('/api/supplies/:id/edit', async (req, res) => {
try { try {
const connection = await pool.getConnection(); const connection = await pool.getConnection();
const productId = req.params.id; const productId = req.params.id;
const { productName, price, quantity, grossWeight, yolk, specification, supplyStatus, description, region, contactId, producting, imageUrls } = req.body; const { productName, price, costprice, quantity, grossWeight, yolk, specification, supplyStatus, description, region, contactId, producting, imageUrls } = req.body;
// 开始事务 // 开始事务
await connection.beginTransaction(); await connection.beginTransaction();
@ -1179,7 +1180,7 @@ app.put('/api/supplies/:id/edit', async (req, res) => {
// 更新货源信息 // 更新货源信息
const updateQuery = ` const updateQuery = `
UPDATE products UPDATE products
SET productName = ?, price = ?, quantity = ?, grossWeight = ?, SET productName = ?, price = ?, costprice = ?, quantity = ?, grossWeight = ?,
yolk = ?, specification = ?, producting = ?, supplyStatus = ?, description = ?, region = ?, yolk = ?, specification = ?, producting = ?, supplyStatus = ?, description = ?, region = ?,
product_contact = ?, contact_phone = ?, imageUrls = ?, product_contact = ?, contact_phone = ?, imageUrls = ?,
autoOfflineHours = ?, updated_at = ? autoOfflineHours = ?, updated_at = ?
@ -1187,7 +1188,7 @@ app.put('/api/supplies/:id/edit', async (req, res) => {
`; `;
await connection.query(updateQuery, [ await connection.query(updateQuery, [
productName, price.toString(), quantityValue, grossWeight, productName, price.toString(), costprice || '', quantityValue, grossWeight,
yolk, specification, producting, supplyStatus, description, region, yolk, specification, producting, supplyStatus, description, region,
productContact, contactPhone, JSON.stringify(uploadedImageUrls), productContact, contactPhone, JSON.stringify(uploadedImageUrls),
req.body.autoOfflineHours || 24, // 默认24小时 req.body.autoOfflineHours || 24, // 默认24小时

21
supply.html

@ -1304,6 +1304,12 @@
<input type="number" class="form-input" id="price" placeholder="请输入价格" step="0.01" onwheel="this.blur()"> <input type="number" class="form-input" id="price" placeholder="请输入价格" step="0.01" onwheel="this.blur()">
</div> </div>
<!-- 采购价 -->
<div class="form-group">
<label class="form-label">采购价</label>
<input type="number" class="form-input" id="costprice" placeholder="请输入采购价(选填)" step="0.01" onwheel="this.blur()">
</div>
<!-- 货源描述 --> <!-- 货源描述 -->
<div class="form-group"> <div class="form-group">
<label class="form-label">货源描述</label> <label class="form-label">货源描述</label>
@ -1696,6 +1702,12 @@
<input type="number" class="form-input" id="editPrice" placeholder="请输入价格" step="0.01" onwheel="this.blur()"> <input type="number" class="form-input" id="editPrice" placeholder="请输入价格" step="0.01" onwheel="this.blur()">
</div> </div>
<!-- 采购价 -->
<div class="form-group">
<label class="form-label">采购价</label>
<input type="number" class="form-input" id="editCostprice" placeholder="请输入采购价(选填)" step="0.01" onwheel="this.blur()">
</div>
<!-- 货源描述 --> <!-- 货源描述 -->
<div class="form-group"> <div class="form-group">
<label class="form-label">货源描述</label> <label class="form-label">货源描述</label>
@ -2295,8 +2307,8 @@
const createSupplyModal = document.getElementById('createSupplyModal'); const createSupplyModal = document.getElementById('createSupplyModal');
const editSupplyModal = document.getElementById('editSupplyModal'); const editSupplyModal = document.getElementById('editSupplyModal');
// 检查是否在创建或编辑货源模态框中 // 检查是否在创建或编辑货源模态框中(现在使用active类来控制显示)
if (createSupplyModal && createSupplyModal.style.display === 'flex') { if (createSupplyModal && createSupplyModal.classList.contains('active')) {
// 检查是否有粘贴的图片 // 检查是否有粘贴的图片
const items = e.clipboardData.items; const items = e.clipboardData.items;
const imageFiles = []; const imageFiles = [];
@ -2313,7 +2325,7 @@
if (imageFiles.length > 0) { if (imageFiles.length > 0) {
handleDroppedImages(imageFiles); handleDroppedImages(imageFiles);
} }
} else if (editSupplyModal && editSupplyModal.style.display === 'flex') { } else if (editSupplyModal && editSupplyModal.classList.contains('active')) {
// 检查是否有粘贴的图片 // 检查是否有粘贴的图片
const items = e.clipboardData.items; const items = e.clipboardData.items;
const imageFiles = []; const imageFiles = [];
@ -5103,6 +5115,7 @@
productName: document.getElementById('productName').value, productName: document.getElementById('productName').value,
category: document.getElementById('category').value, category: document.getElementById('category').value,
price: document.getElementById('price').value, price: document.getElementById('price').value,
costprice: document.getElementById('costprice').value, // 添加采购价
quantity: quantities.join(','), // 将件数以英文逗号分隔的字符串形式提交 quantity: quantities.join(','), // 将件数以英文逗号分隔的字符串形式提交
grossWeight: document.getElementById('grossWeight').value, grossWeight: document.getElementById('grossWeight').value,
yolk: document.getElementById('yolk').value, yolk: document.getElementById('yolk').value,
@ -5676,6 +5689,7 @@
document.getElementById('editRegionDisplayText').textContent = supply.region || '请选择地区'; document.getElementById('editRegionDisplayText').textContent = supply.region || '请选择地区';
document.getElementById('editRegionValue').value = supply.region || ''; document.getElementById('editRegionValue').value = supply.region || '';
document.getElementById('editPrice').value = supply.price || ''; document.getElementById('editPrice').value = supply.price || '';
document.getElementById('editCostprice').value = supply.costprice || '';
document.getElementById('editGrossWeight').value = supply.grossWeight || ''; document.getElementById('editGrossWeight').value = supply.grossWeight || '';
// 自动下架时间(将小时转换为分钟) // 自动下架时间(将小时转换为分钟)
@ -6630,6 +6644,7 @@
sourceType: document.getElementById('editSourceType').value, sourceType: document.getElementById('editSourceType').value,
category: document.getElementById('editCategory').value, category: document.getElementById('editCategory').value,
price: document.getElementById('editPrice').value, price: document.getElementById('editPrice').value,
costprice: document.getElementById('editCostprice').value, // 添加采购价
quantity: quantities.join(','), // 将件数以英文逗号分隔的字符串形式提交 quantity: quantities.join(','), // 将件数以英文逗号分隔的字符串形式提交
grossWeight: document.getElementById('editGrossWeight').value, grossWeight: document.getElementById('editGrossWeight').value,
yolk: document.getElementById('editYolk').value, yolk: document.getElementById('editYolk').value,

Loading…
Cancel
Save