| src/views/collaborativeApproval/approvalProcess/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/procurementManagement/procurementLedger/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/salesManagement/deliveryLedger/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/salesManagement/salesLedger/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/views/collaborativeApproval/approvalProcess/index.vue
@@ -109,18 +109,19 @@ </div> </div> </template> <PIMTable rowKey="id" :column="tableColumnCopy" :tableData="tableData" :page="page" :isSelection="true" @selection-change="handleSelectionChange" :tableLoading="tableLoading" @pagination="pagination" :total="page.total" class="custom-table" ></PIMTable> <div class="custom-table"> <PIMTable rowKey="id" :column="tableColumnCopy" :tableData="tableData" :page="page" :isSelection="true" @selection-change="handleSelectionChange" :tableLoading="tableLoading" @pagination="pagination" :total="page.total" ></PIMTable> </div> </el-card> <!-- 弹窗组件 --> src/views/procurementManagement/procurementLedger/index.vue
@@ -1843,57 +1843,6 @@ align-items: center; } // 审批人节点容器样式 .approver-nodes-container { display: flex; flex-wrap: wrap; gap: 16px; padding: 16px; background-color: #f8f9fa; border-radius: 4px; border: 1px solid #e4e7ed; } .approver-node-item { flex: 0 0 calc(33.333% - 12px); min-width: 200px; padding: 12px; background-color: #fff; border-radius: 4px; border: 1px solid #dcdfe6; transition: all 0.3s; &:hover { border-color: #409eff; box-shadow: 0 2px 8px rgba(64, 158, 255, 0.1); } } .approver-node-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; } .approver-node-label { font-size: 13px; font-weight: 500; color: #606266; } @media (max-width: 1200px) { .approver-node-item { flex: 0 0 calc(50% - 8px); } } @media (max-width: 768px) { .approver-node-item { flex: 0 0 100%; } } // 删除图标样式 .delete-icon { transition: all 0.3s; src/views/salesManagement/deliveryLedger/index.vue
@@ -184,6 +184,10 @@ <span class="info-value quantity">{{ record.shippingNum }}</span> </div> <div class="info-row"> <span class="info-label">发货金额</span> <span class="info-value">{{ Number(record.shippingAmount || 0).toFixed(2) }}</span> </div> <div class="info-row"> <span class="info-label">退货数量</span> <span class="info-value returned">{{ record.returnTotal || 0 }}</span> </div> @@ -259,6 +263,18 @@ :max="getMaxShippingQuantity()" :precision="0" placeholder="请输入发货数量" style="width: 100%" /> </el-form-item> </el-col> <el-col :span="12"> <el-form-item label="发货金额" prop="shippingAmount"> <el-input-number v-model="shippingForm.shippingAmount" :min="0" :precision="2" :step="0.01" placeholder="请输入发货金额" style="width: 100%" /> </el-form-item> @@ -398,6 +414,7 @@ stockLocation: "", }); const shippingRules = { shippingAmount: [{ required: true, message: "请输入发货金额", trigger: "blur" }], shippingNum: [{ required: true, message: "请输入发货数量", trigger: "blur" }], stockLocation: [{ required: true, message: "请输入库位", trigger: "blur" }], type: [{ required: true, message: "请选择发货类型", trigger: "change" }], @@ -578,6 +595,8 @@ return shippingNum > 0 && returnNum > 0 && shippingNum === returnNum; }; // 计算本次发货金额(按发货数量占比分摊整单发货金额) // 撤销发货 const handleRevokeShipping = (record) => { ElMessageBox.confirm("此操作将撤销该发货记录,是否确认?", "撤销发货", { @@ -609,7 +628,7 @@ salesLedgerProductId: currentShippingOrder.value.salesLedgerProductId, shippingTotal: currentShippingOrder.value.shippingTotal, shippingNum: shippingForm.value.shippingNum, shippingAmount: shippingForm.value.shippingAmount ?? currentShippingOrder.value.shippingAmount ?? 0, shippingAmount: Number(shippingForm.value.shippingAmount) || 0, type: shippingForm.value.type, shippingDate: shippingForm.value.shippingDate, stockLocation: shippingForm.value.stockLocation, src/views/salesManagement/salesLedger/index.vue
@@ -592,7 +592,6 @@ import {onMounted, ref, getCurrentInstance} from "vue"; import { addShippingInfo } from "@/api/salesManagement/deliveryLedger.js"; import { ElMessageBox, ElMessage } from "element-plus"; import { UploadFilled, Download } from "@element-plus/icons-vue"; import useUserStore from "@/store/modules/user"; import { userListNoPage } from "@/api/system/user.js"; import FileListDialog from '@/components/Dialog/FileListDialog.vue';