已修改2个文件
71 ■■■■ 文件已修改
src/views/productionManagement/workOrder/index.vue 54 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/salesManagement/salesLedger/index.vue 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/productionManagement/workOrder/index.vue
@@ -39,30 +39,34 @@
               label-width="120px">
        <el-form-item label="计划开始时间">
          <el-date-picker v-model="editrow.planStartTime"
                          type="date"
                          type="datetime"
                          placeholder="请选择"
                          value-format="YYYY-MM-DD"
                          value-format="YYYY-MM-DD HH:mm"
                          format="YYYY-MM-DD HH:mm"
                          style="width: 300px"/>
        </el-form-item>
        <el-form-item label="计划结束时间">
          <el-date-picker v-model="editrow.planEndTime"
                          type="date"
                          type="datetime"
                          placeholder="请选择"
                          value-format="YYYY-MM-DD"
                          value-format="YYYY-MM-DD HH:mm"
                          format="YYYY-MM-DD HH:mm"
                          style="width: 300px"/>
        </el-form-item>
        <el-form-item label="实际开始时间">
          <el-date-picker v-model="editrow.actualStartTime"
                          type="date"
                          type="datetime"
                          placeholder="请选择"
                          value-format="YYYY-MM-DD"
                          value-format="YYYY-MM-DD HH:mm"
                          format="YYYY-MM-DD HH:mm"
                          style="width: 300px"/>
        </el-form-item>
        <el-form-item label="实际结束时间">
          <el-date-picker v-model="editrow.actualEndTime"
                          type="date"
                          type="datetime"
                          placeholder="请选择"
                          value-format="YYYY-MM-DD"
                          value-format="YYYY-MM-DD HH:mm"
                          format="YYYY-MM-DD HH:mm"
                          style="width: 300px"/>
        </el-form-item>
      </el-form>
@@ -537,6 +541,23 @@
      .filter(Boolean);
  return ids.includes(uid);
};
// 判断当前用户是否在工序报工人中
const isCurrentUserInProcessUserIds = (row) => {
  const uid = String(currentUserId.value || "");
  if (!uid) return false;
  const ids = normalizeArray(row?.processUserIds)
      .map(id => String(id))
      .filter(Boolean);
  return ids.includes(uid);
};
// 判断当前用户是否可以报工(工单报工人 或 工序报工人)
const canCurrentUserReport = (row) => {
  return isCurrentUserInUserIds(row) || isCurrentUserInProcessUserIds(row);
};
const canOperateByReportWorker = computed(() => {
@@ -1067,9 +1088,9 @@
        clickFun: row => {
          showReportDialog(row);
        },
        // // 用户当前id
        // 用户当前id在工单报工人或工序报工人中
        disabled: row => row.completeQuantity >= row.planQuantity ||
            !isCurrentUserInUserIds(row) || row.hasUnreportedMachine
            !canCurrentUserReport(row) || row.hasUnreportedMachine
      },
      {
        name: "生产排产",
@@ -1467,13 +1488,18 @@
  reportForm.addQty = 0;
  reportForm.userIds = row.userIds || [];
  const ids = (row.userIds || "")
      .split(",")
      .map(id => id.trim())
  // 合并工单报工人和工序报工人,去重
  const workOrderUserIds = normalizeArray(row.userIds)
      .map(id => String(id).trim())
      .filter(Boolean);
  const processUserIds = normalizeArray(row.processUserIds)
      .map(id => String(id).trim())
      .filter(Boolean);
  const allowedUserIds = [...new Set([...workOrderUserIds, ...processUserIds])];
  // 只允许选择工单报工人和工序报工人
  reportForm.userIdsList = userTeamOptions.value
      // .filter(item => ids.includes(String(item.userId)))
      .filter(item => allowedUserIds.includes(String(item.userId)))
      .map(item => ({
        userId: item.userId,
        nickName: item.nickName
src/views/salesManagement/salesLedger/index.vue
@@ -10,6 +10,10 @@
          <el-input v-model="searchForm.salesContractNo" placeholder="请输入" clearable prefix-icon="Search"
            @change="handleQuery" />
        </el-form-item>
        <el-form-item label="业务员:">
          <el-input v-model="searchForm.salesman" placeholder="请输入" clearable prefix-icon="Search"
            @change="handleQuery" />
        </el-form-item>
        <el-form-item label="录入日期:">
          <el-date-picker v-model="searchForm.entryDate" value-format="YYYY-MM-DD" format="YYYY-MM-DD" type="daterange"
            placeholder="请选择" clearable @change="changeDaterange" />
@@ -658,12 +662,13 @@
const dialogFormVisible = ref(false);
const data = reactive({
    searchForm: {
        customerName: "", // 客户名称
        salesContractNo: "", // 销售合同编号
        entryDate: null, // 录入日期
        entryDateStart: undefined,
        entryDateEnd: undefined,
    },
    customerName: "", // 客户名称
    salesContractNo: "", // 销售合同编号
    salesman: "", // 业务员
    entryDate: null, // 录入日期
    entryDateStart: undefined,
     entryDateEnd: undefined,
        },
    form: {
        salesContractNo: "",
        salesman: "",