maven
4 天以前 4b3024e8fa2ce27a2e0b408778d4e62cc570b8b4
Merge remote-tracking branch 'origin/dev' into dev
已修改33个文件
310 ■■■■■ 文件已修改
src/api/collaborativeApproval/approvalProcess.js 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/store/modules/user.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/basicData/customerFile/index.vue 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/basicData/supplierManage/index.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/collaborativeApproval/approvalProcess/components/approvalDia.vue 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/collaborativeApproval/approvalProcess/components/infoFormDia.vue 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/collaborativeApproval/approvalProcess/index.vue 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/equipmentManagement/ledger/Form.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/inventoryManagement/issueManagement/index.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/inventoryManagement/receiptManagement/index.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/inventoryManagement/stockManagement/index.vue 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/personnelManagement/contractManagement/index.vue 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/personnelManagement/dimission/index.vue 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/personnelManagement/employeeRecord/index.vue 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/personnelManagement/onboarding/index.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/procurementManagement/invoiceEntry/components/ExpandTable.vue 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/procurementManagement/invoiceEntry/components/Modal.vue 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/procurementManagement/invoiceEntry/index.vue 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/procurementManagement/paymentEntry/index.vue 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/procurementManagement/paymentHistory/index.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/procurementManagement/paymentLedger/index.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/procurementManagement/procurementInvoiceLedger/Form/EditForm.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/procurementManagement/procurementInvoiceLedger/index.vue 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/procurementManagement/procurementLedger/index.vue 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/qualityManagement/finalInspection/components/formDia.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/qualityManagement/nonconformingManagement/components/formDia.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/qualityManagement/processInspection/components/formDia.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/qualityManagement/rawMaterialInspection/components/formDia.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/salesManagement/invoiceLedger/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/salesManagement/invoiceRegistration/index.vue 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/salesManagement/receiptPayment/index.vue 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/salesManagement/receiptPaymentHistory/index.vue 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/salesManagement/salesLedger/index.vue 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/collaborativeApproval/approvalProcess.js
@@ -38,6 +38,14 @@
        data: query,
    })
}
// 提交审批
export function updateApproveNode(query) {
    return request({
        url: '/approveNode/updateApproveNode',
        method: 'post',
        data: query,
    })
}
// 删除审批流程
export function approveProcessDelete(query) {
    return request({
@@ -46,11 +54,10 @@
        data: query,
    })
}
// 删除审批流程
// 查询审批流程
export function approveProcessDetails(query) {
    return request({
        url: '/approveNode/details',
        url: '/approveNode/details/' + query,
        method: 'get',
        params: query,
    })
}
src/store/modules/user.js
@@ -52,6 +52,7 @@
            this.avatar = avatar
            this.currentFactoryName = user.currentFactoryName
            this.nickName = user.nickName
            this.currentDeptId = user.currentDeptId
            resolve(res)
          }).catch(error => {
            reject(error)
src/views/basicData/customerFile/index.vue
@@ -258,7 +258,7 @@
  {
    label: "地址及联系方式",
    prop: "addressPhone",
    width: 220,
    width: 250,
  },
  {
    label: "联系人",
@@ -267,18 +267,22 @@
  {
    label: "联系电话",
    prop: "contactPhone",
    width:150
  },
  {
    label: "银行基本户",
    prop: "basicBankAccount",
    width: 220,
  },
  {
    label: "银行账号",
    prop: "bankAccount",
    width: 220,
  },
  {
    label: "开户行号",
    prop: "bankCode",
    width:220
  },
  {
    label: "维护人",
@@ -287,6 +291,7 @@
  {
    label: "维护时间",
    prop: "maintenanceTime",
    width: 100,
  },
  {
    dataType: "action",
src/views/basicData/supplierManage/index.vue
@@ -251,14 +251,17 @@
  {
    label: "联系方式",
    prop: "companyPhone",
    width:150
  },
  {
    label: "开户行",
    prop: "bankAccountName",
    width: 220,
  },
  {
    label: "账号",
    prop: "bankAccountNum",
    width: 220,
  },
  {
    label: "联系人",
@@ -267,6 +270,7 @@
  {
    label: "联系电话",
    prop: "contactUserPhone",
    width: 150,
  },
  {
    label: "维护人",
@@ -276,6 +280,7 @@
  {
    label: "维护时间",
    prop: "maintainTime",
    width:100
  },
  {
    dataType: "action",
src/views/collaborativeApproval/approvalProcess/components/approvalDia.vue
@@ -13,24 +13,24 @@
              :key="index"
              :type="activity.current ? 'primary' : ''"
              :hollow="activity.current"
              :timestamp="activity.timestamp"
              :timestamp="activity.approveNodeTime"
          >
            <el-card>
              <span style="font-size: 18px;font-weight: 700">{{activity.content}}</span>
              <span style="font-size: 18px;font-weight: 700">节点{{activity.approveNodeOrder}}</span>
              <div style="margin: 10px 0">
                <span style="font-size: 16px;font-weight: 600">审批人:{{activity.people}}</span>
                <span style="font-size: 16px;font-weight: 600">审批人:{{activity.approveNodeUser}}</span>
              </div>
              <div>
                <span style="margin-bottom: 8px;display: inline-block;font-size: 16px;font-weight: 600">审批意见:</span>
                <el-form-item
                  v-if="activity.current"
                  :prop="'activities.' + index + '.value'"
                  v-if="activity.approveNodeRemark == 1"
                  :prop="'activities.' + index + '.approveNodeReason'"
                  :rules="[{ required: true, message: '审批意见不能为空', trigger: 'blur' }]"
                >
                  <el-input v-model="activity.value" clearable type="textarea" :disabled="operationType === 'view'"></el-input>
                  <el-input v-model="activity.approveNodeReason" clearable type="textarea" :disabled="operationType === 'view'"></el-input>
                </el-form-item>
                <el-form-item v-else>
                  <el-input v-model="activity.value" clearable type="textarea" disabled></el-input>
                  <el-input v-model="activity.approveNodeReason" clearable type="textarea" disabled></el-input>
                </el-form-item>
              </div>
            </el-card>
@@ -39,7 +39,8 @@
      </el-form>
      <template #footer v-if="operationType === 'approval'">
        <div class="dialog-footer">
          <el-button type="primary" @click="submitForm">确认</el-button>
          <el-button type="primary" @click="submitForm(2)">不通过</el-button>
          <el-button type="primary" @click="submitForm(1)">通过</el-button>
          <el-button @click="closeDia">取消</el-button>
        </div>
      </template>
@@ -49,47 +50,31 @@
<script setup>
import {getCurrentInstance, ref} from "vue";
import {approveProcessDetails} from "../../../../api/collaborativeApproval/approvalProcess.js";
import {approveProcessDetails, updateApproveNode} from "../../../../api/collaborativeApproval/approvalProcess.js";
const emit = defineEmits(['close'])
const { proxy } = getCurrentInstance()
const dialogFormVisible = ref(false);
const operationType = ref('')
const activities = ref([
  {
    content: '节点1',
    timestamp: '',
    type: 'primary',
    hollow: true,
    people: 'admin',
    value: ''
  },
  {
    content: '节点2',
    timestamp: '',
    type: '',
    hollow: false,
    current: true,
    people: 'admin',
    value: ''
  },
])
const activities = ref([])
const formRef = ref(null);
// 打开弹框
const openDialog = (type, row) => {
  operationType.value = type;
  dialogFormVisible.value = true;
    approveProcessDetails({id: row.approveId}).then((res) => {
    approveProcessDetails(row.approveId).then((res) => {
        console.log(res)
        activities.value = res.data
    })
}
// 提交审批
const submitForm = () => {
  formRef.value.validate(valid => {
    if (valid) {
      // 校验通过后的逻辑
    }
const submitForm = (status) => {
    const filteredActivities = activities.value.filter(activity => activity.approveNodeRemark == 1);
    filteredActivities[0].approveNodeStatus = status
    updateApproveNode(filteredActivities[0]).then(() => {
        proxy.$modal.msgSuccess("提交成功");
        closeDia();
  })
}
// 关闭弹框
src/views/collaborativeApproval/approvalProcess/components/infoFormDia.vue
@@ -18,6 +18,7 @@
          <el-col :span="24">
            <el-form-item label="申请部门:" prop="approveDeptId">
                            <el-select
                                disabled
                                v-model="form.approveDeptId"
                                placeholder="选择部门"
                            >
@@ -126,7 +127,7 @@
  approveProcessUpdate,
  getDept
} from "../../../../api/collaborativeApproval/approvalProcess.js";
import {userListNoPage} from "../../../../api/system/user.js";
import {userListNoPage, getUserProfile} from "../../../../api/system/user.js";
const { proxy } = getCurrentInstance()
const emit = defineEmits(['close'])
import useUserStore from "@/store/modules/user";
@@ -181,27 +182,26 @@
    approverNodes.value = [
        { id: 1, userId: null }
    ]
    console.log(userStore)
  form.value.approveUser = userStore.id;
  form.value.approveTime = getCurrentDate();
  // 获取当前用户信息并设置部门ID
  form.value.approveDeptId = userStore.currentDeptId
  if (operationType.value === 'edit') {
    approveProcessGetInfo({id: row.approveId,approveReason: '1'}).then(res => {
            form.value = {...res.data}
      // 反显审批人
      // if (res.data && res.data.approverIds) {
      //   const nameArr = res.data.approverIds.split(',')
      //   approverNodes.value = nameArr.map((name, idx) => {
      //     const user = userList.value.find(u => u.name === name)
      //     return { id: idx + 1, userId: user ? user.id : null }
      //   })
      //   nextApproverId = nameArr.length + 1
      // } else if (row.approverList && Array.isArray(row.approverList) && row.approverList.length > 0) {
      //   approverNodes.value = row.approverList.map((userId, idx) => ({ id: idx + 1, userId }))
      //   nextApproverId = row.approverList.length + 1
      // } else {
      //   approverNodes.value = [{ id: 1, userId: null }]
      //   nextApproverId = 2
      // }
      if (res.data && res.data.approveUserIds) {
        const userIds = res.data.approveUserIds.split(',')
        approverNodes.value = userIds.map((userId, idx) => ({
          id: idx + 1,
          userId: parseInt(userId.trim())
        }))
        nextApproverId = userIds.length + 1
      } else {
        approverNodes.value = [{ id: 1, userId: null }]
        nextApproverId = 2
      }
    })
  }
}
@@ -227,7 +227,7 @@
// 提交产品表单
const submitForm = () => {
  // 收集所有节点的审批人id
  form.value.approverIds = approverNodes.value.map(node => node.userId).join(',')
  form.value.approveUserIds = approverNodes.value.map(node => node.userId).join(',')
  // 审批人必填校验
  const hasEmptyApprover = approverNodes.value.some(node => !node.userId)
  if (hasEmptyApprover) {
src/views/collaborativeApproval/approvalProcess/index.vue
@@ -46,6 +46,8 @@
import InfoFormDia from "@/views/collaborativeApproval/approvalProcess/components/infoFormDia.vue";
import ApprovalDia from "@/views/collaborativeApproval/approvalProcess/components/approvalDia.vue";
import {approveProcessDelete, approveProcessListPage} from "../../../api/collaborativeApproval/approvalProcess.js";
import useUserStore from "@/store/modules/user";
const userStore = useUserStore();
const data = reactive({
  searchForm: {
@@ -58,6 +60,7 @@
    label: "审批状态",
    prop: "approveStatus",
    dataType: "tag",
        width: 100,
    formatData: (params) => {
      if (params == 0) {
        return "待审核";
@@ -89,6 +92,7 @@
  {
    label: "申请部门",
    prop: "approveDeptName",
        width: 220
  },
  {
    label: "审批事由",
@@ -97,11 +101,12 @@
  },
  {
    label: "申请人",
    prop: "approveUser",
    prop: "approveUserName",
  },
  {
    label: "申请日期",
    prop: "approveTime",
        width: 120
  },
  {
    label: "结束日期",
@@ -110,7 +115,7 @@
  },
  {
    label: "当前审批人",
    prop: "checkCompany",
    prop: "approveUserCurrentName",
    width: 120
  },
  {
@@ -126,6 +131,7 @@
        clickFun: (row) => {
          openForm("edit", row);
        },
                disabled: (row) => row.approveStatus == 2 || row.approveStatus == 1
      },
      {
        name: "审核",
@@ -133,6 +139,7 @@
        clickFun: (row) => {
          openApprovalDia("approval", row);
        },
                disabled: (row) => row.approveUserCurrentId == null || row.approveStatus == 2
      },
      {
        name: "详情",
src/views/equipmentManagement/ledger/Form.vue
@@ -23,20 +23,18 @@
      </el-col>
      <el-col :span="12">
        <el-form-item label="数量" prop="number">
          <el-input
          <el-input-number :step="0.01" :min="0" style="width: 100%"
            v-model="form.number"
            placeholder="请输入数量"
            type="number"
            @change="mathNum"
          />
        </el-form-item>
      </el-col>
      <el-col :span="12">
        <el-form-item label="含税单价" prop="taxIncludingPriceUnit">
          <el-input
          <el-input-number :step="0.01" :min="0" style="width: 100%"
            v-model="form.taxIncludingPriceUnit"
            placeholder="请输入含税单价"
            type="number"
            maxlength="10"
            @change="mathNum"
            @input="handleNumberInput"
src/views/inventoryManagement/issueManagement/index.vue
@@ -21,9 +21,9 @@
        <el-table-column align="center" label="序号" type="index" width="60" />
        <el-table-column label="入库时间" prop="createTime" width="100" show-overflow-tooltip />
        <el-table-column label="入库批次" prop="inboundBatches" width="160" show-overflow-tooltip />
        <el-table-column label="供应商名称" prop="supplierName" width="160" show-overflow-tooltip />
        <el-table-column label="供应商名称" prop="supplierName" width="240" show-overflow-tooltip />
        <el-table-column label="产品大类" prop="productCategory" width="100" show-overflow-tooltip />
        <el-table-column label="规格型号" prop="specificationModel" width="160" show-overflow-tooltip />
        <el-table-column label="规格型号" prop="specificationModel" width="200" show-overflow-tooltip />
        <el-table-column label="单位" prop="unit" width="70" show-overflow-tooltip />
        <el-table-column label="入库数量" prop="inboundNum" width="90" show-overflow-tooltip />
        <el-table-column label="库存数量" prop="inboundNum0" width="90" show-overflow-tooltip />
@@ -44,7 +44,7 @@
    <el-dialog v-model="dialogFormVisible" :title="'新增出库'" width="40%" @close="closeDia">
      <el-form :model="form" label-width="140px" label-position="top" :rules="rules" ref="formRef">
        <el-form-item label="出库数量:" prop="salesContractNo">
          <el-input v-model="form.inboundQuantity" placeholder="请输入" clearable />
          <el-input-number :step="0.01" :min="0" style="width: 100%" v-model="form.inboundQuantity" placeholder="请输入" clearable />
        </el-form-item>
        <el-form-item label="出库日期:" prop="projectName">
          <el-date-picker style="width: 100%" v-model="form.inboundTime" value-format="YYYY-MM-DD" format="YYYY-MM-DD"
src/views/inventoryManagement/receiptManagement/index.vue
@@ -21,9 +21,9 @@
        <el-table-column align="center" label="序号" type="index" width="60" />
        <el-table-column label="入库时间" prop="createTime" width="100" show-overflow-tooltip />
        <el-table-column label="入库批次" prop="inboundBatches" width="160" show-overflow-tooltip />
        <el-table-column label="供应商名称" prop="supplierName" width="160" show-overflow-tooltip />
        <el-table-column label="供应商名称" prop="supplierName" width="240" show-overflow-tooltip />
        <el-table-column label="产品大类" prop="productCategory" width="100" show-overflow-tooltip />
        <el-table-column label="规格型号" prop="specificationModel" width="160" show-overflow-tooltip />
        <el-table-column label="规格型号" prop="specificationModel" width="200" show-overflow-tooltip />
        <el-table-column label="单位" prop="unit" width="70" show-overflow-tooltip />
        <el-table-column label="入库数量" prop="inboundNum" width="90" show-overflow-tooltip />
        <el-table-column label="含税单价" prop="taxInclusiveUnitPrice" width="100" show-overflow-tooltip />
@@ -80,9 +80,9 @@
          <el-table-column label="供应商" prop="supplierName" width="100" />
          <el-table-column label="采购数量" prop="quantity" width="100" />
          <el-table-column label="待入库数量" prop="quantity0" width="100" />
          <el-table-column label="本次入库数量" prop="quantityStock" width="120">
          <el-table-column label="本次入库数量" prop="quantityStock" width="150">
            <template #default="scope">
              <el-input v-model="scope.row.quantityStock" type="number" :min="0" :max="scope.row.quantity0" />
              <el-input-number :step="0.01" :min="0" style="width: 100%" v-model="scope.row.quantityStock"  :max="scope.row.quantity0" />
            </template>
          </el-table-column>
          <el-table-column label="税率(%)" prop="taxRate" width="120" />
src/views/inventoryManagement/stockManagement/index.vue
@@ -21,9 +21,9 @@
        <el-table-column align="center" label="序号" type="index" width="60" />
        <el-table-column label="库存日期" prop="createTime" width="100" show-overflow-tooltip />
        <el-table-column label="入库日期" prop="createTime" width="100" show-overflow-tooltip />
        <el-table-column label="供应商名称" prop="supplierName" width="160" show-overflow-tooltip />
        <el-table-column label="供应商名称" prop="supplierName" width="240" show-overflow-tooltip />
        <el-table-column label="产品大类" prop="productCategory" width="100" show-overflow-tooltip />
        <el-table-column label="规格型号" prop="specificationModel" width="100" show-overflow-tooltip />
        <el-table-column label="规格型号" prop="specificationModel" width="200" show-overflow-tooltip />
        <el-table-column label="单位" prop="unit" width="80" show-overflow-tooltip />
        <el-table-column label="库存数量" prop="inboundNum0" width="100" show-overflow-tooltip />
        <el-table-column label="含税单价" prop="taxInclusiveUnitPrice" width="100" show-overflow-tooltip />
src/views/personnelManagement/contractManagement/index.vue
@@ -98,6 +98,7 @@
  {
    label: "家庭住址",
    prop: "adress",
    width:200
  },
  {
    label: "第一学历",
@@ -106,10 +107,12 @@
  {
    label: "专业",
    prop: "profession",
    width:100
  },
  {
    label: "身份证号",
    prop: "identityCard",
    width:200
  },
  {
    label: "年龄",
@@ -118,6 +121,7 @@
  {
    label: "联系电话",
    prop: "phone",
    width:150
  },
  {
    label: "紧急联系人",
@@ -125,8 +129,9 @@
    width: 120
  },
  {
    label: "联系电话",
    label: "紧急联系人电话",
    prop: "emergencyContactPhone",
    width:150
  },
  {
    label: "合同年限",
src/views/personnelManagement/dimission/index.vue
@@ -98,6 +98,7 @@
  {
    label: "家庭住址",
    prop: "adress",
    width:200
  },
  {
    label: "第一学历",
@@ -106,10 +107,12 @@
  {
    label: "专业",
    prop: "profession",
    width:100
  },
  {
    label: "身份证号",
    prop: "identityCard",
    width:200
  },
  {
    label: "年龄",
@@ -118,6 +121,7 @@
  {
    label: "联系电话",
    prop: "phone",
    width:150
  },
  {
    label: "紧急联系人",
@@ -125,8 +129,9 @@
    width: 120
  },
  {
    label: "联系电话",
    label: "紧急联系人电话",
    prop: "emergencyContactPhone",
    width:150
  },
  {
    label: "合同年限",
src/views/personnelManagement/employeeRecord/index.vue
@@ -98,6 +98,7 @@
  {
    label: "家庭住址",
    prop: "adress",
    width:200
  },
  {
    label: "第一学历",
@@ -106,10 +107,12 @@
  {
    label: "专业",
    prop: "profession",
    width:100
  },
  {
    label: "身份证号",
    prop: "identityCard",
    width:200
  },
  {
    label: "年龄",
@@ -118,6 +121,7 @@
  {
    label: "联系电话",
    prop: "phone",
    width:150
  },
  {
    label: "紧急联系人",
@@ -125,8 +129,9 @@
    width: 120
  },
  {
    label: "联系电话",
    label: "紧急联系人电话",
    prop: "emergencyContactPhone",
    width:150
  },
  {
    label: "合同年限",
src/views/personnelManagement/onboarding/index.vue
@@ -98,6 +98,7 @@
  {
    label: "家庭住址",
    prop: "adress",
    width:200
  },
  {
    label: "第一学历",
@@ -106,10 +107,12 @@
  {
    label: "专业",
    prop: "profession",
    width:100
  },
  {
    label: "身份证号",
    prop: "identityCard",
    width:200
  },
  {
    label: "年龄",
@@ -118,6 +121,7 @@
  {
    label: "联系电话",
    prop: "phone",
    width:150
  },
  {
    label: "紧急联系人",
@@ -127,6 +131,7 @@
  {
    label: "联系电话",
    prop: "emergencyContactPhone",
    width:150
  },
  {
    label: "合同年限",
src/views/procurementManagement/invoiceEntry/components/ExpandTable.vue
@@ -4,6 +4,7 @@
    :column="columns"
    :tableData="dataList"
    :tableLoading="loading"
    height="auto"
  >
  </PIMTable>
</template>
@@ -11,6 +12,7 @@
<script setup>
import { usePaginationApi } from "@/hooks/usePaginationApi";
import { productList } from "@/api/procurementManagement/procurementLedger.js";
import { nextTick } from "vue";
defineOptions({
  name: "来票登记折叠表",
@@ -98,7 +100,8 @@
  }
);
const getList = (id) => {
const getList = async (id) => {
  await nextTick();
  filters.salesLedgerId = id;
  getTableData();
};
src/views/procurementManagement/invoiceEntry/components/Modal.vue
@@ -54,10 +54,7 @@
        </el-col>
        <el-col :span="12">
          <el-form-item label="发票金额(元):" prop="invoiceAmount">
            <el-input
              type="number"
              :step="0.01"
              :min="0"
            <el-input-number :step="0.01" :min="0" style="width: 100%"
              v-model="form.invoiceAmount"
              placeholder="自动填充"
              clearable
src/views/procurementManagement/invoiceEntry/index.vue
@@ -24,8 +24,8 @@
          <el-button type="primary" @click="handleAdd('add')">
            新增登记
          </el-button>
          <el-button @click="handleOut">导出</el-button>
          <el-button type="danger" plain @click="handleDelete">删除</el-button>
<!--          <el-button @click="handleOut">导出</el-button>-->
<!--          <el-button type="danger" plain @click="handleDelete">删除</el-button>-->
        </div>
      </div>
      <PIMTable
@@ -103,18 +103,22 @@
    {
      label: "采购订单号",
      prop: "purchaseContractNumber",
      width:150
    },
    {
      label: "销售合同号",
      prop: "salesContractNo",
      width:150
    },
    {
      label: "供应商名称",
      prop: "supplierName",
      width:240
    },
    {
      label: "项目名称",
      prop: "projectName",
      width:150
    },
    {
      label: "录入人",
@@ -123,10 +127,12 @@
    {
      label: "录入日期",
      prop: "entryDate",
      width:100
    },
    {
      label: "合同金额(元)",
      prop: "contractAmount",
      width:150,
      formatData: (val) => {
        return val ? parseFloat(val).toFixed(2) : 0;
      },
@@ -134,6 +140,7 @@
    {
      label: "已开票金额(元)",
      prop: "receiptPaymentAmount",
      width:150,
      formatData: (val) => {
        return val ? parseFloat(val).toFixed(2) : 0;
      },
@@ -141,6 +148,7 @@
    {
      label: "待开票金额(元)",
      prop: "unReceiptPaymentAmount",
      width:150,
      formatData: (val) => {
        return val ? parseFloat(val).toFixed(2) : 0;
      },
@@ -178,8 +186,10 @@
const handleDelete = () => {};
const expandChange = async (row, expandedRows) => {
  if (expandedRows.length > 0) {
  await nextTick();
  expandTableRef.value.getList(row.id);
  }
};
const changePage = ({ page }) => {
src/views/procurementManagement/paymentEntry/index.vue
@@ -136,8 +136,6 @@
          <el-col :span="12">
            <el-form-item label="发票金额(元):" prop="invoiceAmount">
              <el-input
                type="number"
                :step="0.01"
                v-model="form.invoiceAmount"
                placeholder="自动填充"
                clearable
@@ -147,9 +145,7 @@
          </el-col>
          <el-col :span="12">
            <el-form-item label="本次付款金额:" prop="currentPaymentAmount">
              <el-input
                type="number"
                :step="0.01"
              <el-input-number :step="0.01" :min="0" style="width: 100%"
                v-model="form.currentPaymentAmount"
                placeholder="请输入"
                clearable
@@ -245,10 +241,12 @@
  {
    label: "供应商名称",
    prop: "supplierName",
    width:240
  },
  {
    label: "发票号",
    prop: "invoiceNumber",
    width:200
  },
  {
    label: "发票金额(元)",
src/views/procurementManagement/paymentHistory/index.vue
@@ -69,6 +69,7 @@
  {
    label: "供应商名称",
    prop: "supplierName",
    width:240
  },
  {
    label: "付款金额",
src/views/procurementManagement/paymentLedger/index.vue
@@ -120,6 +120,7 @@
  {
    label: "供应商名称",
    prop: "supplierName",
    width:240
  },
  {
    label: "发票金额(元)",
src/views/procurementManagement/procurementInvoiceLedger/Form/EditForm.vue
@@ -12,7 +12,7 @@
        </el-form-item>
      </el-col>
      <el-col :span="12">
        <el-form-item label="来票金额:">
        <el-form-item label="含税总价(元):">
          <el-text type="primary">{{ form.taxInclusiveTotalPrice }}</el-text>
        </el-form-item>
      </el-col>
@@ -28,11 +28,11 @@
      </el-col>
      <el-col :span="12">
        <el-form-item label="来票数:">
          <el-input v-model="form.ticketsNum" @input="inputTicketsNum" />
          <el-input-number :step="0.01" :min="0" style="width: 100%" v-model="form.ticketsNum" @input="inputTicketsNum" />
        </el-form-item>
      </el-col>
      <el-col :span="12">
        <el-form-item label="来票金额:">
        <el-form-item label="本次来票金额(元):">
          <el-text type="success">{{ form.ticketsAmount }}</el-text>
        </el-form-item>
      </el-col>
src/views/procurementManagement/procurementInvoiceLedger/index.vue
@@ -143,36 +143,44 @@
      label: "采购合同号",
      prop: "purchaseContractNumber",
      align: "center",
      width: 150,
    },
    {
      label: "销售合同号",
      prop: "salesContractNo",
      align: "center",
      width: 150,
    },
    {
      label: "客户名称",
      prop: "customerName",
      align: "center",
      width: 150,
    },
    {
      label: "供应商名称",
      prop: "supplierName",
      align: "center",
      width: 240,
    },
    {
      label: "规格型号",
      prop: "specificationModel",
      align: "center",
      width: 150,
    },
    {
      label: "发票号",
      prop: "invoiceNumber",
      align: "center",
      width: 200,
    },
    {
      label: "合同金额(元)",
      prop: "taxInclusiveTotalPrice",
      align: "center",
      width: 120,
      formatData: (cell) => {
        return cell ? parseFloat(cell).toFixed(2) : 0;
      },
@@ -181,11 +189,13 @@
      label: "开票日期",
      prop: "createdAt",
      align: "center",
      width: 100,
    },
    {
      label: "开票金额",
      prop: "ticketsAmount",
      align: "center",
      width: 100,
      formatData: (cell) => {
        return cell ? parseFloat(cell).toFixed(2) : 0;
      },
@@ -194,6 +204,7 @@
      label: "不含税金额",
      prop: "unTicketsPrice",
      align: "center",
      width: 100,
      formatData: (cell) => {
        return cell ? parseFloat(cell).toFixed(2) : 0;
      },
@@ -202,6 +213,7 @@
      label: "增值税",
      prop: "invoiceAmount",
      align: "center",
      width: 100,
    },
    {
      label: "附件",
src/views/procurementManagement/procurementLedger/index.vue
@@ -76,42 +76,50 @@
        <el-table-column
          label="采购合同号"
          prop="purchaseContractNumber"
          width="200"
          show-overflow-tooltip
        />
        <el-table-column
          label="销售合同号"
          prop="salesContractNo"
          width="200"
          show-overflow-tooltip
        />
        <el-table-column
          label="供应商名称"
          width="240"
          prop="supplierName"
          show-overflow-tooltip
        />
        <el-table-column
          label="项目名称"
          prop="projectName"
          width="100"
          show-overflow-tooltip
        />
        <el-table-column
          label="付款方式"
          width="100"
          prop="paymentMethod"
          show-overflow-tooltip
        />
        <el-table-column
          label="合同金额(元)"
          prop="contractAmount"
           width="100"
          show-overflow-tooltip
          :formatter="formattedNumber"
        />
        <el-table-column
          label="录入人"
          prop="recorderName"
           width="100"
          show-overflow-tooltip
        />
        <el-table-column
          label="录入日期"
          prop="entryDate"
           width="100"
          show-overflow-tooltip
        />
        <el-table-column
@@ -423,10 +431,12 @@
          </el-col>
          <el-col :span="12">
            <el-form-item label="数量:" prop="quantity">
              <el-input
              <el-input-number
              :step="0.1"
                clearable
                style="width: 100%"
                v-model="productForm.quantity"
                placeholder="请输入"
                clearable
                @change="mathNum"
              />
            </el-form-item>
src/views/qualityManagement/finalInspection/components/formDia.vue
@@ -36,7 +36,7 @@
          </el-col>
          <el-col :span="12">
            <el-form-item label="数量:" prop="quantity">
              <el-input v-model="form.quantity" placeholder="请输入" clearable/>
              <el-input-number :step="0.01" :min="0" style="width: 100%" v-model="form.quantity" placeholder="请输入" clearable/>
            </el-form-item>
          </el-col>
        </el-row>
src/views/qualityManagement/nonconformingManagement/components/formDia.vue
@@ -55,7 +55,7 @@
          </el-col>
          <el-col :span="12">
            <el-form-item label="数量:" prop="quantity">
              <el-input v-model="form.quantity" placeholder="请输入" clearable/>
              <el-input-number :step="0.01" :min="0" style="width: 100%" v-model="form.quantity" placeholder="请输入" clearable/>
            </el-form-item>
          </el-col>
        </el-row>
src/views/qualityManagement/processInspection/components/formDia.vue
@@ -43,7 +43,7 @@
          </el-col>
          <el-col :span="12">
            <el-form-item label="数量:" prop="quantity">
              <el-input v-model="form.quantity" placeholder="请输入" clearable/>
              <el-input-number :step="0.01" :min="0" style="width: 100%" v-model="form.quantity" placeholder="请输入" clearable/>
            </el-form-item>
          </el-col>
        </el-row>
src/views/qualityManagement/rawMaterialInspection/components/formDia.vue
@@ -54,7 +54,7 @@
          </el-col>
          <el-col :span="12">
            <el-form-item label="数量:" prop="quantity">
              <el-input v-model="form.quantity" placeholder="请输入" clearable/>
              <el-input-number :step="0.01" :min="0" style="width: 100%" v-model="form.quantity" placeholder="请输入" clearable/>
            </el-form-item>
          </el-col>
        </el-row>
src/views/salesManagement/invoiceLedger/index.vue
@@ -86,7 +86,7 @@
          </el-col>
          <el-col :span="12">
            <el-form-item label="发票金额(元):" prop="invoiceTotal">
              <el-input type="number" :step="0.01" v-model="form.invoiceTotal" placeholder="请输入" clearable />
              <el-input-number :step="0.01" :min="0" style="width: 100%" v-model="form.invoiceTotal" placeholder="请输入" clearable />
            </el-form-item>
          </el-col>
        </el-row>
src/views/salesManagement/invoiceRegistration/index.vue
@@ -125,39 +125,47 @@
          label="销售合同号"
          prop="salesContractNo"
          show-overflow-tooltip
          width="200"
        />
        <el-table-column
          label="客户合同号"
          prop="customerContractNo"
          width="200"
          show-overflow-tooltip
        />
        <el-table-column
          label="客户名称"
          prop="customerName"
          show-overflow-tooltip
          width="240"
        />
        <el-table-column label="业务员" prop="salesman" show-overflow-tooltip />
        <el-table-column
          label="项目名称"
          prop="projectName"
          show-overflow-tooltip
          width="200"
        />
        <el-table-column
          label="合同金额(元)"
          prop="contractAmount"
          show-overflow-tooltip
          :formatter="formattedNumber"
          width="120"
        />
        <el-table-column
          label="已开票金额(元)"
          prop="invoiceTotal"
          show-overflow-tooltip
          :formatter="formattedNumber"
          width="120"
        />
        <el-table-column
          label="未开票金额(元)"
          prop="noInvoiceAmountTotal"
          show-overflow-tooltip
          width="120"
        >
          <template #default="{ row, column }">
            <el-text type="danger">
@@ -306,15 +314,12 @@
            :formatter="formattedNumber"
            width="150"
          />
          <el-table-column label="本次开票数" prop="currentInvoiceNum">
          <el-table-column label="本次开票数" prop="currentInvoiceNum" width="150">
            <template #default="scope">
              <el-input
                type="number"
                :step="0.1"
                min="0"
              <el-input-number :step="0.1" :min="0" style="width: 100%"
                v-model="scope.row.currentInvoiceNum"
                @blur="invoiceNumBlur(scope.row)"
              ></el-input>
              ></el-input-number>
            </template>
          </el-table-column>
          <el-table-column
@@ -323,13 +328,10 @@
            width="150"
          >
            <template #default="scope">
              <el-input
                type="number"
                :step="0.01"
                min="0"
              <el-input-number :step="0.01" :min="0" style="width: 100%"
                v-model="scope.row.currentInvoiceAmount"
                @blur="invoiceAmountBlur(scope.row)"
              ></el-input>
              ></el-input-number>
            </template>
          </el-table-column>
          <el-table-column label="未开票数" prop="noInvoiceNum" width="100">
src/views/salesManagement/receiptPayment/index.vue
@@ -146,11 +146,14 @@
          label="销售合同号"
          prop="salesContractNo"
          show-overflow-tooltip
          width="240"
        />
        <el-table-column
          label="客户合同号"
          prop="customerContractNo"
          show-overflow-tooltip
          width="240"
        />
        <el-table-column
          label="客户名称"
@@ -162,22 +165,26 @@
          label="项目名称"
          prop="projectName"
          show-overflow-tooltip
          width="200"
        />
        <el-table-column
          label="产品大类"
          prop="productCategory"
          show-overflow-tooltip
          width="100"
        />
        <el-table-column
          label="发票号"
          prop="invoiceNo"
          show-overflow-tooltip
          width="200"
        />
        <el-table-column
          label="发票金额(元)"
          prop="invoiceTotal"
          show-overflow-tooltip
          :formatter="formattedNumber"
          width="150"
        />
        <el-table-column label="税率(%)" prop="taxRate" show-overflow-tooltip />
        <el-table-column
@@ -185,11 +192,13 @@
          prop="receiptPaymentAmountTotal"
          show-overflow-tooltip
          :formatter="formattedNumber"
          width="150"
        />
        <el-table-column
          label="待回款金额(元)"
          prop="noReceiptAmount"
          show-overflow-tooltip
          width="150"
        >
          <template #default="{ row, column }">
            <el-text type="danger">
@@ -276,12 +285,9 @@
          </el-col>
          <el-col :span="12">
            <el-form-item label="本次回款金额:" prop="receiptPaymentAmount">
              <el-input
                type="number"
                min="0"
              <el-input-number :step="0.01" :min="0" style="width: 100%"
                v-model="form.receiptPaymentAmount"
                placeholder="请输入"
                :step="0.01"
                clearable
              />
            </el-form-item>
src/views/salesManagement/receiptPaymentHistory/index.vue
@@ -76,30 +76,32 @@
  {
    label: "销售合同号",
    prop: "salesContractNo",
    width:240
  },
  {
    label: "客户合同号",
    prop: "customerContractNo",
    width:240
  },
  {
    label: "回款日期",
    prop: "receiptPaymentDate",
    width:100
  },
  {
    label: "客户名称",
    prop: "customerName",
    width:240
  },
  {
    label: "项目名称",
    prop: "projectName",
  },
  {
    label: "项目名称",
    prop: "projectName",
    width:200
  },
  {
    label: "回款金额(元)",
    prop: "receiptPaymentAmount",
    width:150,
    formatData: (params) => {
      return params ? parseFloat(params).toFixed(2) : 0;
    },
@@ -128,6 +130,7 @@
  {
    label: "登记日期",
    prop: "createTime",
    width:100
  },
]);
const tableData = ref([]);
src/views/salesManagement/salesLedger/index.vue
@@ -237,15 +237,15 @@
          </el-col>
          <el-col :span="12">
            <el-form-item label="数量:" prop="quantity">
              <el-input type="number" :step="0.1" :min="0" v-model="productForm.quantity" placeholder="请输入" clearable
                @change="mathNum" />
              <el-input-number  :step="0.1" :min="0" v-model="productForm.quantity" placeholder="请输入" clearable
                @change="mathNum" style="width: 100%" />
            </el-form-item>
          </el-col>
        </el-row>
        <el-row :gutter="30">
          <el-col :span="12">
            <el-form-item label="含税单价(元):" prop="taxInclusiveUnitPrice">
              <el-input v-model="productForm.taxInclusiveUnitPrice" placeholder="请输入" clearable @change="mathNum" />
              <el-input-number :step="0.01" :min="0" v-model="productForm.taxInclusiveUnitPrice" style="width: 100%" placeholder="请输入" clearable @change="mathNum" />
            </el-form-item>
          </el-col>
          <el-col :span="12">
@@ -493,7 +493,7 @@
    if (nodes[i].children && nodes[i].children.length > 0) {
      const foundNode = findNodeById(nodes[i].children, productId);
      if (foundNode) {
        return foundNode.label; // 在子节点中找到,返回该节点
        return foundNode; // 在子节点中找到,返回该节点
      }
    }
  }
@@ -639,7 +639,7 @@
        return;
      }
      let tempFileIds = [];
      if (fileList.value.length > 0) {
      if (fileList.value !== null && fileList.value.length > 0) {
        tempFileIds = fileList.value.map((item) => item.tempId);
      }
      form.value.tempFileIds = tempFileIds;
@@ -683,6 +683,7 @@
};
const submitProductEdit = () => {
  productForm.value.salesLedgerId = currentId.value;
  productForm.value.type = 1
  addOrUpdateSalesLedgerProduct(productForm.value).then((res) => {
    proxy.$modal.msgSuccess("提交成功");
    closeProductDia();