731d07b73a4d311b62d72fe1b8b9d0c4acc2b25c..fc39f41acfcb9afb8d12f3ed3799b97352bb4178
2025-12-09 gaoluyang
Merge remote-tracking branch 'origin/dev_food' into dev_food
fc39f4 对比 | 目录
2025-12-09 gaoluyang
1.海川开心-对账号对应伟完成事项列如待审批,报修等做条幅提醒
6cf2b6 对比 | 目录
2025-12-09 周宾
海川开心-修改设备管理-设备保养、入库管理批次隐藏260、261、266
3b730a 对比 | 目录
2025-12-09 gaoluyang
1.海川开心-开票台账项目名称取消
9a81c8 对比 | 目录
2025-12-09 gaoluyang
1.海川开心-待派工为0的订单不显示
f20926 对比 | 目录
2025-12-09 gaoluyang
Merge remote-tracking branch 'origin/dev_food' into dev_food
604ea9 对比 | 目录
2025-12-09 gaoluyang
1.海川开心-新增里面工序固定为包装,单位以及规格写死。新增以及页面加入产线字段(下拉选择,一共4条产线,命名写死为包装产线1.2.3.4这种。)派工...
fcd2bb 对比 | 目录
2025-12-09 周宾
海川开心-修改仓储物流-库存管理252
f97175 对比 | 目录
2025-12-09 周宾
修改出库管理251
e1513c 对比 | 目录
2025-12-09 gaoluyang
1.海川开心-应收应付数据把筛选去掉
38343c 对比 | 目录
2025-12-09 gaoluyang
1.海川开心-给admin开放所有可编辑,删除的权限。
012aa7 对比 | 目录
2025-12-09 周宾
修改仓储物流库存管理不再显示入库人
ebbb6e 对比 | 目录
2025-12-09 周宾
修改营销管理发货可选择车牌
831d53 对比 | 目录
2025-12-09 gaoluyang
Merge remote-tracking branch 'origin/dev_food' into dev_food
c1b289 对比 | 目录
2025-12-09 gaoluyang
1.海川开心-取消客户合同号,和项目名称
f46eb3 对比 | 目录
2025-12-09 周宾
修改营销管理-营销台账发货相关
0f1fba 对比 | 目录
已修改20个文件
549 ■■■■■ 文件已修改
src/api/viewIndex.js 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/customerService/feedbackRegistration/index.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/equipmentManagement/measurementEquipment/index.vue 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/equipmentManagement/upkeep/Form/MaintenanceForm.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/equipmentManagement/upkeep/Form/PlanForm.vue 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/equipmentManagement/upkeep/index.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/index.vue 33 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/inventoryManagement/issueManagement/index.vue 102 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/inventoryManagement/receiptManagement/components/formDiaManual.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/inventoryManagement/receiptManagement/index.vue 96 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/inventoryManagement/stockManagement/index.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/productionManagement/operationScheduling/components/formDia.vue 48 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/productionManagement/operationScheduling/index.vue 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/productionManagement/productionCosting/index.vue 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/productionManagement/productionDispatching/index.vue 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/productionManagement/productionOrder/index.vue 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/productionManagement/productionReporting/index.vue 30 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/reportAnalysis/dataDashboard/index.vue 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/salesManagement/invoiceLedger/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/salesManagement/salesLedger/index.vue 22 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/viewIndex.js
@@ -44,4 +44,12 @@
        url: '/sales/ledger/getAmountHalfYear',
        method: 'get'
    })
}
// 协同待审批和报修待办事项
export const approveAndDeviceTodos = () => {
    return request({
        url: '/home/approveAndDeviceTodos',
        method: 'get'
    })
}
src/views/customerService/feedbackRegistration/index.vue
@@ -169,12 +169,6 @@
const handleDelete = () => {
    let ids = [];
    if (selectedRows.value.length > 0) {
        // 检查是否有他人维护的数据
        const unauthorizedData = selectedRows.value.filter(item => item.checkUserId !== userStore.id);
        if (unauthorizedData.length > 0) {
            proxy.$modal.msgWarning("不可删除他人维护的数据");
            return;
        }
        ids = selectedRows.value.map((item) => item.id);
    } else {
        proxy.$modal.msgWarning("请选择数据");
src/views/equipmentManagement/measurementEquipment/index.vue
@@ -221,12 +221,6 @@
const handleDelete = () => {
    let ids = [];
    if (selectedRows.value.length > 0) {
        // 检查是否有他人维护的数据
        const unauthorizedData = selectedRows.value.filter(item => item.userId !== userStore.id);
        if (unauthorizedData.length > 0) {
            proxy.$modal.msgWarning("不可删除他人维护的数据");
            return;
        }
        ids = selectedRows.value.map((item) => item.id);
    } else {
        proxy.$modal.msgWarning("请选择数据");
src/views/equipmentManagement/upkeep/Form/MaintenanceForm.vue
@@ -18,10 +18,14 @@
      />
    </el-form-item>
    <el-form-item label="保养结果">
      <el-select v-model="form.maintenanceResult" placeholder="请选择保养结果">
      <!-- <el-select v-model="form.maintenanceResult" placeholder="请选择保养结果">
        <el-option label="完好" :value="1"></el-option>
        <el-option label="维修" :value="0"></el-option>
      </el-select>
      </el-select> -->
      <el-input
        v-model="form.maintenanceResult"
        placeholder="请输入保养结果"
        type="text" />
    </el-form-item>
  </el-form>
</template>
src/views/equipmentManagement/upkeep/Form/PlanForm.vue
@@ -24,6 +24,23 @@
        disabled
      />
    </el-form-item>
    <el-form-item label="录入人">
      <el-select
        v-model="form.createUser"
        placeholder="请选择"
        filterable
        default-first-option
        :reserve-keyword="false"
        clearable
      >
        <el-option
          v-for="item in userList"
          :key="item.userId"
          :label="item.userName"
          :value="item.userId"
        />
      </el-select>
    </el-form-item>
    <el-form-item label="计划保养日期">
      <el-date-picker
        style="width: 100%"
@@ -43,6 +60,7 @@
import { getDeviceLedger } from "@/api/equipmentManagement/ledger";
import { onMounted } from "vue";
import dayjs from "dayjs";
import { userListNoPage } from "@/api/system/user.js";
defineOptions({
  name: "计划表单",
@@ -59,6 +77,7 @@
  deviceName: undefined, // 设备名称
  deviceModel: undefined, // 规格型号
  maintenancePlanTime: undefined, // 计划保养日期
  createUser: undefined, // 录入人
});
const setDeviceModel = (id) => {
@@ -78,15 +97,22 @@
  form.deviceLedgerId = data.deviceLedgerId;
  form.deviceName = data.deviceName;
  form.deviceModel = data.deviceModel;
  form.createUser = Number(data.createUser);
  form.maintenancePlanTime = dayjs(data.maintenancePlanTime).format(
    "YYYY-MM-DD HH:mm:ss"
  );
};
// 用户列表
const userList = ref([]);
const loadForm = () => {};
onMounted(() => {
  loadDeviceName();
  userListNoPage().then((res) => {
    userList.value = res.data;
  });
});
defineExpose({
src/views/equipmentManagement/upkeep/index.vue
@@ -86,12 +86,13 @@
        @pagination="changePage"
      >
        <template #maintenanceResultRef="{ row }">
          <el-tag v-if="row.maintenanceResult === 1" type="success">
          <div>{{ row.maintenanceResult || '-' }}</div>
          <!-- <el-tag v-if="row.maintenanceResult === 1" type="success">
            完好
          </el-tag>
          <el-tag v-if="row.maintenanceResult === 0" type="danger">
            维修
          </el-tag>
          </el-tag> -->
        </template>
        <template #statusRef="{ row }">
          <el-tag v-if="row.status === 1" type="success">完结</el-tag>
src/views/index.vue
@@ -122,11 +122,11 @@
            <div class="main-panel">
                <div style="display: flex;justify-content: space-between;">
                    <div class="section-title">应收应付统计</div>
                    <el-radio-group v-model="radio1" size="large" @change="statisticsReceivable">
                        <el-radio-button label="按周" :value="1" />
                        <el-radio-button label="按月" :value="2" />
                        <el-radio-button label="按季度" :value="3" />
                    </el-radio-group>
<!--                    <el-radio-group v-model="radio1" size="large" @change="statisticsReceivable">-->
<!--                        <el-radio-button label="按周" :value="1" />-->
<!--                        <el-radio-button label="按月" :value="2" />-->
<!--                        <el-radio-button label="按季度" :value="3" />-->
<!--                    </el-radio-group>-->
                </div>
                <Echarts ref="chart"
                                 :color="barColors2"
@@ -170,6 +170,7 @@
<script setup>
import { ref, reactive, onMounted } from 'vue'
import { ElNotification } from 'element-plus'
import Echarts from "@/components/Echarts/echarts.vue";
import * as echarts from 'echarts';
import useUserStore from "@/store/modules/user.js";
@@ -179,7 +180,8 @@
    getBusiness,
    homeTodos,
    qualityStatistics,
    statisticsReceivablePayable
    statisticsReceivablePayable,
    approveAndDeviceTodos
} from "@/api/viewIndex.js";
import { getCurrentUserLatestScheduling } from "@/api/personnelManagement/scheduling.js";
import dayjs from "dayjs";
@@ -370,6 +372,7 @@
    qualityStatisticsInfo()
    getAmountHalfYearNum()
    getCurrentUserSchedule()
    getApproveAndDeviceTodos()
})
// 数据统计
const getBusinessData = () => {
@@ -525,6 +528,24 @@
        }
    ]
}
// 协同待审批和报修待办事项
const getApproveAndDeviceTodos = async () => {
    try {
        const res = await approveAndDeviceTodos()
        const { approveTodo, deviceRepairTodo } = res.data
        // 显示通知
        ElNotification({
                title: '待办事项提醒',
                message: `当前有${approveTodo}条待审批事项,${deviceRepairTodo}条待维修事项`,
                type: 'warning',
                duration: 5000
            })
    } catch (error) {
        console.error('获取协同待办事项失败:', error)
    }
}
</script>
<style scoped>
src/views/inventoryManagement/issueManagement/index.vue
@@ -51,58 +51,58 @@
        </div>
      </el-tab-pane>
<!--      <el-tab-pane label="采购出库" name="purchase">-->
<!--        <div class="search_form">-->
<!--          <div>-->
<!--&lt;!&ndash;            <span class="search_title">供应商名称:</span>&ndash;&gt;-->
<!--&lt;!&ndash;            <el-input v-model="searchForm.supplierName" style="width: 240px" placeholder="请输入" @change="handleQuery"&ndash;&gt;-->
<!--&lt;!&ndash;              clearable prefix-icon="Search" />&ndash;&gt;-->
<!--            <span class="search_title ml10">入库日期:</span>-->
<!--            <el-date-picker-->
<!--              v-model="searchForm.timeStr"-->
<!--              type="date"-->
<!--              placeholder="请选择日期"-->
<!--              value-format="YYYY-MM-DD"-->
<!--              format="YYYY-MM-DD"-->
<!--              clearable-->
<!--              @change="handleQuery"-->
<!--            />-->
<!--            <el-button type="primary" @click="handleQuery" style="margin-left: 10px">搜索</el-button>-->
<!--          </div>-->
<!--          <div>-->
<!--            <el-button @click="handleOut">导出</el-button>-->
<!--          </div>-->
<!--        </div>-->
<!--        <div class="table_list">-->
<!--          <el-table :data="tableData" border v-loading="tableLoading" @selection-change="handleSelectionChange"-->
<!--            :expand-row-keys="expandedRowKeys" :row-key="row => row.id" show-summary style="width: 100%"-->
<!--            :summary-method="summarizeMainTable" height="calc(100vh - 18.5em)">-->
<!--            <el-table-column align="center" type="selection" width="55" />-->
<!--            <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 />-->
<!--&lt;!&ndash;            <el-table-column label="供应商名称" prop="supplierName" width="240" show-overflow-tooltip />&ndash;&gt;-->
<!--            <el-table-column label="产品大类" prop="productCategory" show-overflow-tooltip />-->
<!--            <el-table-column label="规格型号" prop="specificationModel" 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 />-->
<!--&lt;!&ndash;            <el-table-column label="含税单价" prop="taxInclusiveUnitPrice" width="100" show-overflow-tooltip />&ndash;&gt;-->
<!--&lt;!&ndash;            <el-table-column label="含税总价" prop="taxInclusiveTotalPrice" width="100" show-overflow-tooltip />&ndash;&gt;-->
<!--&lt;!&ndash;            <el-table-column label="税率(%)" prop="taxRate" width="80" show-overflow-tooltip />&ndash;&gt;-->
<!--&lt;!&ndash;            <el-table-column label="不含税总价" prop="taxExclusiveTotalPrice" width="100" show-overflow-tooltip />&ndash;&gt;-->
<!--            <el-table-column label="入库人" prop="createBy" width="80" show-overflow-tooltip />-->
<!--            <el-table-column fixed="right" label="操作" min-width="60" align="center">-->
<!--              <template #default="scope">-->
<!--                <el-button link type="primary" size="small" @click="openForm(scope.row);">领用</el-button>-->
<!--              </template>-->
<!--            </el-table-column>-->
<!--          </el-table>-->
<!--          <pagination v-show="total > 0" :total="total" layout="total, sizes, prev, pager, next, jumper"-->
<!--            :page="page.current" :limit="page.size" @pagination="paginationChange" />-->
<!--        </div>-->
<!--      </el-tab-pane>-->
     <el-tab-pane label="原料出库" name="purchase">
       <div class="search_form">
         <div>
<!-- &lt;!&ndash;            <span class="search_title">供应商名称:</span>&ndash;&gt;
&lt;!&ndash;            <el-input v-model="searchForm.supplierName" style="width: 240px" placeholder="请输入" @change="handleQuery"&ndash;&gt;
&lt;!&ndash;              clearable prefix-icon="Search" />&ndash;&gt; -->
           <span class="search_title ml10">入库日期:</span>
           <el-date-picker
             v-model="searchForm.timeStr"
             type="date"
             placeholder="请选择日期"
             value-format="YYYY-MM-DD"
             format="YYYY-MM-DD"
             clearable
             @change="handleQuery"
           />
           <el-button type="primary" @click="handleQuery" style="margin-left: 10px">搜索</el-button>
         </div>
         <div>
           <el-button @click="handleOut">导出</el-button>
         </div>
       </div>
       <div class="table_list">
         <el-table :data="tableData" border v-loading="tableLoading" @selection-change="handleSelectionChange"
           :expand-row-keys="expandedRowKeys" :row-key="row => row.id" show-summary style="width: 100%"
           :summary-method="summarizeMainTable" height="calc(100vh - 18.5em)">
           <el-table-column align="center" type="selection" width="55" />
           <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 />
<!-- &lt;!&ndash;            <el-table-column label="供应商名称" prop="supplierName" width="240" show-overflow-tooltip />&ndash;&gt; -->
           <el-table-column label="产品大类" prop="productCategory" show-overflow-tooltip />
           <el-table-column label="规格型号" prop="specificationModel" 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 />
<!-- &lt;!&ndash;            <el-table-column label="含税单价" prop="taxInclusiveUnitPrice" width="100" show-overflow-tooltip />&ndash;&gt;
&lt;!&ndash;            <el-table-column label="含税总价" prop="taxInclusiveTotalPrice" width="100" show-overflow-tooltip />&ndash;&gt;
&lt;!&ndash;            <el-table-column label="税率(%)" prop="taxRate" width="80" show-overflow-tooltip />&ndash;&gt;
&lt;!&ndash;            <el-table-column label="不含税总价" prop="taxExclusiveTotalPrice" width="100" show-overflow-tooltip />&ndash;&gt; -->
           <el-table-column label="入库人" prop="createBy" width="80" show-overflow-tooltip />
           <el-table-column fixed="right" label="操作" min-width="60" align="center">
             <template #default="scope">
               <el-button link type="primary" size="small" @click="openForm(scope.row);">领用</el-button>
             </template>
           </el-table-column>
         </el-table>
         <pagination v-show="total > 0" :total="total" layout="total, sizes, prev, pager, next, jumper"
           :page="page.current" :limit="page.size" @pagination="paginationChange" />
       </div>
     </el-tab-pane>
      <el-tab-pane label="成品出库" name="manual">
      <el-tab-pane label="材料出库" name="manual">
        <div class="search_form">
          <div>
<!--            <span class="search_title">供应商名称:</span>-->
src/views/inventoryManagement/receiptManagement/components/formDiaManual.vue
@@ -38,7 +38,7 @@
        </el-table-column> -->
        <el-table-column label="物品类型" prop="itemType">
          <template #default="scope">
            <el-select v-model="scope.row.itemType" placeholder="请选择物品类型" style="width: 100%">
            <el-select v-model="scope.row.itemType" filterable allow-create placeholder="请选择物品类型" style="width: 100%">
              <el-option
                v-for="item in itemTypeOptions"
                :key="item.value"
src/views/inventoryManagement/receiptManagement/index.vue
@@ -29,7 +29,7 @@
            :summary-method="summarizeMainTable" height="calc(100vh - 18.5em)">
            <el-table-column align="center" label="序号" type="index" width="60" />
            <el-table-column label="入库时间" prop="createTime" show-overflow-tooltip />
            <el-table-column label="入库批次" prop="inboundBatches" show-overflow-tooltip />
            <!-- <el-table-column label="入库批次" prop="inboundBatches" show-overflow-tooltip /> -->
<!--            <el-table-column label="客户名称" prop="customerName" width="240" show-overflow-tooltip />-->
            <el-table-column label="产品大类" prop="productCategory" show-overflow-tooltip />
            <el-table-column label="规格型号" prop="specificationModel" show-overflow-tooltip />
@@ -39,67 +39,67 @@
<!--            <el-table-column label="含税总价" prop="taxInclusiveTotalPrice" width="100" show-overflow-tooltip />-->
<!--            <el-table-column label="税率(%)" prop="taxRate" width="80" show-overflow-tooltip />-->
<!--            <el-table-column label="不含税总价" prop="taxExclusiveTotalPrice" width="100" show-overflow-tooltip />-->
            <el-table-column label="入库人" prop="createBy" width="80" show-overflow-tooltip />
            <!-- <el-table-column label="入库人" prop="createBy" width="80" show-overflow-tooltip /> -->
          </el-table>
          <pagination v-show="total > 0" :total="total" layout="total, sizes, prev, pager, next, jumper"
            :page="page.current" :limit="page.size" @pagination="paginationChange" />
        </div>
      </el-tab-pane>
      
<!--      <el-tab-pane label="采购入库" name="purchase">-->
<!--        <div class="search_form">-->
<!--          <div>-->
     <el-tab-pane label="采购入库" name="purchase">
       <div class="search_form">
         <div>
<!--&lt;!&ndash;            <span class="search_title">供应商名称:</span>&ndash;&gt;-->
<!--&lt;!&ndash;            <el-input v-model="searchForm.supplierName" style="width: 240px" placeholder="请输入" @change="handleQuery"&ndash;&gt;-->
<!--&lt;!&ndash;              clearable prefix-icon="Search" />&ndash;&gt;-->
<!--            <span class="search_title ml10">入库日期:</span>-->
<!--            <el-date-picker-->
<!--              v-model="searchForm.timeStr"-->
<!--              type="date"-->
<!--              placeholder="请选择日期"-->
<!--              value-format="YYYY-MM-DD"-->
<!--              format="YYYY-MM-DD"-->
<!--              clearable-->
<!--              @change="handleQuery"-->
<!--            />-->
<!--            <el-button type="primary" @click="handleQuery" style="margin-left: 10px">搜索</el-button>-->
<!--          </div>-->
<!--          <div>-->
<!--            <el-button type="primary" @click="openForm('add', 'purchase')">新增入库</el-button>-->
<!--            <el-button @click="handleOut">导出</el-button>-->
<!--            <el-button type="danger" plain @click="handleDelete">删除</el-button>-->
<!--          </div>-->
<!--        </div>-->
<!--        <div class="table_list">-->
<!--          <el-table :data="tableData" border v-loading="tableLoading" @selection-change="handleSelectionChange"-->
<!--            :expand-row-keys="expandedRowKeys" :row-key="row => row.id" show-summary style="width: 100%"-->
<!--            :summary-method="summarizeMainTable" height="calc(100vh - 18.5em)">-->
<!--            <el-table-column align="center" type="selection" width="55" />-->
<!--            <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 />-->
           <span class="search_title ml10">入库日期:</span>
           <el-date-picker
             v-model="searchForm.timeStr"
             type="date"
             placeholder="请选择日期"
             value-format="YYYY-MM-DD"
             format="YYYY-MM-DD"
             clearable
             @change="handleQuery"
           />
           <el-button type="primary" @click="handleQuery" style="margin-left: 10px">搜索</el-button>
         </div>
         <div>
           <el-button type="primary" @click="openForm('add', 'purchase')">新增入库</el-button>
           <el-button @click="handleOut">导出</el-button>
           <el-button type="danger" plain @click="handleDelete">删除</el-button>
         </div>
       </div>
       <div class="table_list">
         <el-table :data="tableData" border v-loading="tableLoading" @selection-change="handleSelectionChange"
           :expand-row-keys="expandedRowKeys" :row-key="row => row.id" show-summary style="width: 100%"
           :summary-method="summarizeMainTable" height="calc(100vh - 18.5em)">
           <el-table-column align="center" type="selection" width="55" />
           <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 /> -->
<!--&lt;!&ndash;            <el-table-column label="供应商名称" prop="supplierName" width="240" show-overflow-tooltip />&ndash;&gt;-->
<!--            <el-table-column label="产品大类" prop="productCategory" show-overflow-tooltip />-->
<!--            <el-table-column label="规格型号" prop="specificationModel" 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="productCategory" show-overflow-tooltip />
           <el-table-column label="规格型号" prop="specificationModel" 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 />
<!--&lt;!&ndash;            <el-table-column label="含税单价" prop="taxInclusiveUnitPrice" width="100" show-overflow-tooltip />&ndash;&gt;-->
<!--&lt;!&ndash;            <el-table-column label="含税总价" prop="taxInclusiveTotalPrice" width="100" show-overflow-tooltip />&ndash;&gt;-->
<!--&lt;!&ndash;            <el-table-column label="税率(%)" prop="taxRate" width="80" show-overflow-tooltip />&ndash;&gt;-->
<!--&lt;!&ndash;            <el-table-column label="不含税总价" prop="taxExclusiveTotalPrice" width="100" show-overflow-tooltip />&ndash;&gt;-->
<!--            <el-table-column label="入库人" prop="createBy" width="80" show-overflow-tooltip />-->
<!--            <el-table-column fixed="right" label="操作" min-width="60" align="center">-->
<!--              <template #default="scope">-->
<!--                <el-button link type="primary" size="small" @click="openForm('edit', scope.row, 'purchase');">编辑</el-button>-->
<!--              </template>-->
<!--            </el-table-column>-->
<!--          </el-table>-->
<!--          <pagination v-show="total > 0" :total="total" layout="total, sizes, prev, pager, next, jumper"-->
<!--            :page="page.current" :limit="page.size" @pagination="paginationChange" />-->
<!--        </div>-->
<!--      </el-tab-pane>-->
           <el-table-column label="入库人" prop="createBy" width="80" show-overflow-tooltip />
           <el-table-column fixed="right" label="操作" min-width="60" align="center">
             <template #default="scope">
               <el-button link type="primary" size="small" @click="openForm('edit', scope.row, 'purchase');">编辑</el-button>
             </template>
           </el-table-column>
         </el-table>
         <pagination v-show="total > 0" :total="total" layout="total, sizes, prev, pager, next, jumper"
           :page="page.current" :limit="page.size" @pagination="paginationChange" />
       </div>
     </el-tab-pane>
      
      <el-tab-pane label="成品入库" name="manual">
      <el-tab-pane label="材料入库" name="manual">
        <div class="search_form">
          <div>
<!--            <span class="search_title">供应商名称:</span>-->
@@ -130,7 +130,7 @@
            <el-table-column align="center" type="selection" width="55" />
            <el-table-column align="center" label="序号" type="index" width="60" />
            <el-table-column label="入库时间" prop="inboundDate" width="100" show-overflow-tooltip />
            <el-table-column label="入库批次" prop="inboundBatches" show-overflow-tooltip />
            <!-- <el-table-column label="入库批次" prop="inboundBatches" show-overflow-tooltip /> -->
            <!-- <el-table-column label="供应商名称" prop="supplierName" width="240" show-overflow-tooltip /> -->
            <el-table-column label="产品大类" prop="productCategory" show-overflow-tooltip />
            <el-table-column label="规格型号" prop="specificationModel" show-overflow-tooltip />
src/views/inventoryManagement/stockManagement/index.vue
@@ -43,7 +43,7 @@
<!--            <el-table-column label="含税总价" prop="taxInclusiveTotalPrice" width="100" show-overflow-tooltip />-->
<!--            <el-table-column label="税率(%)" prop="taxRate" width="100" show-overflow-tooltip />-->
<!--            <el-table-column label="不含税总价" prop="taxExclusiveTotalPrice" width="100" show-overflow-tooltip />-->
            <el-table-column label="入库人" prop="createBy" width="80" show-overflow-tooltip />
            <!-- <el-table-column label="入库人" prop="createBy" width="80" show-overflow-tooltip /> -->
            <el-table-column fixed="right" label="操作" min-width="60" align="center">
              <template #default="scope">
                <el-button link type="primary" size="small" @click="openForm('edit', scope.row);">编辑</el-button>
@@ -145,7 +145,7 @@
<!--            <el-table-column label="含税总价" prop="taxInclusiveTotalPrice" width="100" show-overflow-tooltip />-->
<!--            <el-table-column label="税率(%)" prop="taxRate" width="100" show-overflow-tooltip />-->
<!--            <el-table-column label="不含税总价" prop="taxExclusiveTotalPrice" width="100" show-overflow-tooltip />-->
            <el-table-column label="入库人" prop="createBy" width="80" show-overflow-tooltip />
            <!-- <el-table-column label="入库人" prop="createBy" width="80" show-overflow-tooltip /> -->
            <el-table-column fixed="right" label="操作" width="100" align="center">
              <template #default="scope">
                <el-button link type="primary" size="small" @click="openForm('edit', scope.row);">编辑</el-button>
@@ -518,12 +518,6 @@
const handleDelete = () => {
  let ids = []
  if (selectedRows.value.length > 0) {
        // 检查是否有他人维护的数据
        const unauthorizedData = selectedRows.value.filter(item => item.createBy !== userStore.nickName);
        if (unauthorizedData.length > 0) {
            proxy.$modal.msgWarning("不可删除他人维护的数据");
            return;
        }
    ids = selectedRows.value.map(item => item.id);
  } else {
    proxy.$modal.msgWarning('请选择数据')
src/views/productionManagement/operationScheduling/components/formDia.vue
@@ -24,6 +24,23 @@
                        <el-input v-model="scope.row.process" placeholder="请输入工序" />
          </template>
        </el-table-column>
        <el-table-column label="产线" prop="productionLine" width="150">
          <template #default="scope">
            <el-select
              v-model="scope.row.productionLine"
              placeholder="选择产线"
              style="width: 100%;"
              clearable
            >
              <el-option
                v-for="line in productionLines"
                :key="line.value"
                :label="line.label"
                :value="line.value"
              />
            </el-select>
          </template>
        </el-table-column>
        <el-table-column label="单位" prop="unit" width="90">
          <template #default="scope">
            <el-input v-model="scope.row.unit" placeholder="请输入单位" />
@@ -122,31 +139,47 @@
const pendingNum = ref(0);
const userList = ref([])
const receive = ref('')
const sunqianUserId = ref('')
// 产线选项
const productionLines = ref([
  { label: '产线1', value: '产线1' },
  { label: '产线2', value: '产线2' },
  { label: '产线3', value: '产线3' },
  { label: '产线4', value: '产线4' }
])
// 打开弹框
const openDialog = (type, row) => {
  operationType.value = type;
  dialogFormVisible.value = true;
    userListNoPageByTenantId().then((res) => {
        userList.value = res.data;
    });
    pendingNum.value = row?.pendingNum ?? 0;
    unitFromRow.value = row?.unit ?? '';
    idFromRow.value = row?.id ?? '';
    specificationModelFromRow.value = row?.specificationModel ?? '';
    tableData.value = [createRow()];
    userListNoPageByTenantId().then((res) => {
        userList.value = res.data;
        // 找到孙倩的用户ID并设置为默认值
        const sunqianUser = userList.value.find(user => user.nickName === '孙倩');
        if (sunqianUser) {
            sunqianUserId.value = sunqianUser.userId;
        }
        // 在用户列表加载完成后创建行数据
        tableData.value = [createRow()];
    });
}
const createRow = () => ({
    id: idFromRow.value,
    process: '',
    process: '包装',
    schedulingDate: '',
    schedulingNum: null,
    schedulingUserId: '',
    schedulingUserId: sunqianUserId.value, // 默认设置为孙倩的用户ID
    workHours: null,
    unit: unitFromRow.value,
    remark: '',
    type: specificationModelFromRow.value,
    productionLine: '', // 产线字段
});
const submitForm = () => {
@@ -159,7 +192,8 @@
            row.schedulingNum === '' || row.schedulingNum === null ||
            !row.schedulingUserId ||
            row.workHours === '' || row.workHours === null ||
            !row.unit
            !row.unit ||
            !row.productionLine
        ) {
            proxy.$modal.msgError(`第${i + 1}行数据未填写完整`);
            return;
src/views/productionManagement/operationScheduling/index.vue
@@ -7,11 +7,11 @@
                                        style="width: 200px;"
                                        @change="handleQuery" />
                </el-form-item>
                <el-form-item label="项目名称:">
                    <el-input v-model="searchForm.projectName" placeholder="请输入" clearable prefix-icon="Search"
                                        style="width: 200px;"
                                        @change="handleQuery" />
                </el-form-item>
<!--                <el-form-item label="项目名称:">-->
<!--                    <el-input v-model="searchForm.projectName" placeholder="请输入" clearable prefix-icon="Search"-->
<!--                                        style="width: 200px;"-->
<!--                                        @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" />
@@ -105,21 +105,21 @@
        prop: "salesContractNo",
        width: 200,
    },
    {
        label: "客户合同号",
        prop: "customerContractNo",
        width: 200,
    },
    // {
    //     label: "客户合同号",
    //     prop: "customerContractNo",
    //     width: 200,
    // },
    {
        label: "客户名称",
        prop: "customerName",
        width: 200,
    },
    {
        label: "项目名称",
        prop: "projectName",
        width:300
    },
    // {
    //     label: "项目名称",
    //     prop: "projectName",
    //     width:300
    // },
    {
        label: "产品大类",
        prop: "productCategory",
src/views/productionManagement/productionCosting/index.vue
@@ -61,21 +61,21 @@
        prop: "salesContractNo",
        width: 220,
    },
    {
        label: "客户合同号",
        prop: "customerContractNo",
        width: 250,
    },
    // {
    //     label: "客户合同号",
    //     prop: "customerContractNo",
    //     width: 250,
    // },
    {
        label: "客户名称",
        prop: "customerName",
        width: 250,
    },
    {
        label: "项目名称",
        prop: "projectName",
        width:300
    },
    // {
    //     label: "项目名称",
    //     prop: "projectName",
    //     width:300
    // },
    {
        label: "产品大类",
        prop: "productCategory",
src/views/productionManagement/productionDispatching/index.vue
@@ -38,18 +38,24 @@
                    clearable
                    prefix-icon="Search"
                />
                <span class="search_title ml10">项目名称:</span>
                <el-input
                    v-model="searchForm.projectName"
                    style="width: 240px"
                    placeholder="请输入"
                    @change="handleQuery"
                    clearable
                    prefix-icon="Search"
                />
<!--                <span class="search_title ml10">项目名称:</span>-->
<!--                <el-input-->
<!--                    v-model="searchForm.projectName"-->
<!--                    style="width: 240px"-->
<!--                    placeholder="请输入"-->
<!--                    @change="handleQuery"-->
<!--                    clearable-->
<!--                    prefix-icon="Search"-->
<!--                />-->
                <span class="search_title ml10">录入日期:</span>
                <el-date-picker v-model="searchForm.entryDate" value-format="YYYY-MM-DD" format="YYYY-MM-DD" type="daterange"
                                        placeholder="请选择" clearable @change="changeDaterange" />
                <el-checkbox
                    style="margin-left: 10px"
                    v-model="searchForm.status"
                    label="不显示待排数量为0"
                    @change="handleQuery"
                />
                <el-button type="primary" @click="handleQuery" style="margin-left: 10px">搜索</el-button>
            </div>
            <div>
@@ -88,7 +94,7 @@
    searchForm: {
        customerName: "",
        projectName: "",
        status: "",
        status: true,
        entryDate: [dayjs().format("YYYY-MM-DD"), dayjs().format("YYYY-MM-DD")], // 录入日期,默认当天
        entryDateStart: dayjs().format("YYYY-MM-DD"),
        entryDateEnd: dayjs().format("YYYY-MM-DD"),
@@ -101,21 +107,21 @@
        prop: "salesContractNo",
        width: 220,
    },
    {
        label: "客户合同号",
        prop: "customerContractNo",
        width: 250,
    },
    // {
    //     label: "客户合同号",
    //     prop: "customerContractNo",
    //     width: 250,
    // },
    {
        label: "客户名称",
        prop: "customerName",
        width: 250,
    },
    {
        label: "项目名称",
        prop: "projectName",
        width:300
    },
    // {
    //     label: "项目名称",
    //     prop: "projectName",
    //     width:300
    // },
    {
        label: "产品大类",
        prop: "productCategory",
@@ -154,6 +160,7 @@
        label: "待排数量",
        prop: "pendingQuantity",
        width: 100,
        fixed: 'right',
    },
]);
const tableData = ref([]);
src/views/productionManagement/productionOrder/index.vue
@@ -11,15 +11,15 @@
                    clearable
                    prefix-icon="Search"
                />
                <span class="search_title ml10">项目名称:</span>
                <el-input
                    v-model="searchForm.projectName"
                    style="width: 240px"
                    placeholder="请输入"
                    @change="handleQuery"
                    clearable
                    prefix-icon="Search"
                />
<!--                <span class="search_title ml10">项目名称:</span>-->
<!--                <el-input-->
<!--                    v-model="searchForm.projectName"-->
<!--                    style="width: 240px"-->
<!--                    placeholder="请输入"-->
<!--                    @change="handleQuery"-->
<!--                    clearable-->
<!--                    prefix-icon="Search"-->
<!--                />-->
                <span class="search_title ml10">录入日期:</span>
                <el-date-picker v-model="searchForm.entryDate" value-format="YYYY-MM-DD" format="YYYY-MM-DD" type="daterange"
                                                placeholder="请选择" clearable @change="changeDaterange" />
@@ -62,21 +62,21 @@
        prop: "salesContractNo",
        width: 220,
    },
    {
        label: "客户合同号",
        prop: "customerContractNo",
        width: 250,
    },
    // {
    //     label: "客户合同号",
    //     prop: "customerContractNo",
    //     width: 250,
    // },
    {
        label: "客户名称",
        prop: "customerName",
        width: 250,
    },
    {
        label: "项目名称",
        prop: "projectName",
        width:300
    },
    // {
    //     label: "项目名称",
    //     prop: "projectName",
    //     width:300
    // },
    {
        label: "付款状态",
        prop: "status",
src/views/productionManagement/productionReporting/index.vue
@@ -7,11 +7,11 @@
                                        style="width: 200px;"
                                        @change="handleQuery" />
                </el-form-item>
                <el-form-item label="项目名称:">
                    <el-input v-model="searchForm.projectName" placeholder="请输入" clearable prefix-icon="Search"
                                        style="width: 200px;"
                                        @change="handleQuery" />
                </el-form-item>
<!--                <el-form-item label="项目名称:">-->
<!--                    <el-input v-model="searchForm.projectName" placeholder="请输入" clearable prefix-icon="Search"-->
<!--                                        style="width: 200px;"-->
<!--                                        @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" />
@@ -203,21 +203,21 @@
        prop: "salesContractNo",
        width: 200,
    },
    {
        label: "客户合同号",
        prop: "customerContractNo",
        width: 200,
    },
    // {
    //     label: "客户合同号",
    //     prop: "customerContractNo",
    //     width: 200,
    // },
    {
        label: "客户名称",
        prop: "customerName",
        width: 200,
    },
    {
        label: "项目名称",
        prop: "projectName",
        width:300
    },
    // {
    //     label: "项目名称",
    //     prop: "projectName",
    //     width:300
    // },
    {
        label: "产品大类",
        prop: "productCategory",
src/views/reportAnalysis/dataDashboard/index.vue
@@ -205,11 +205,11 @@
                <div class="panel-item-customers">
                    <div style="display: flex;justify-content: space-between;margin-bottom: 20px;">
                        <div class="section-title">应收应付统计</div>
                        <el-radio-group v-model="radio1" size="large" @change="statisticsReceivable" class="custom-radio-group">
                            <el-radio-button label="按周" :value="1" />
                            <el-radio-button label="按月" :value="2" />
                            <el-radio-button label="按季度" :value="3" />
                        </el-radio-group>
<!--                        <el-radio-group v-model="radio1" size="large" @change="statisticsReceivable" class="custom-radio-group">-->
<!--                            <el-radio-button label="按周" :value="1" />-->
<!--                            <el-radio-button label="按月" :value="2" />-->
<!--                            <el-radio-button label="按季度" :value="3" />-->
<!--                        </el-radio-group>-->
                    </div>
                    <Echarts ref="chart"
                                     :color="barColors2"
src/views/salesManagement/invoiceLedger/index.vue
@@ -32,7 +32,7 @@
        <el-table-column align="center" label="序号" type="index" width="60" />
        <el-table-column label="销售合同号" prop="salesContractNo" show-overflow-tooltip width="180" />
        <el-table-column label="客户名称" prop="customerName" show-overflow-tooltip width="240" />
        <el-table-column label="项目" prop="projectName" width="320" />
<!--        <el-table-column label="项目" prop="projectName" width="320" />-->
        <el-table-column label="产品大类" prop="productCategory" width="200" />
        <el-table-column label="规格型号" prop="specificationModel" width="160" show-overflow-tooltip />
        <el-table-column label="发票号" prop="invoiceNo" width="200" show-overflow-tooltip />
src/views/salesManagement/salesLedger/index.vue
@@ -57,6 +57,14 @@
        <el-table-column label="合同金额(元)" prop="contractAmount" width="220" show-overflow-tooltip
          :formatter="formattedNumber" />
        <el-table-column label="录入人" prop="entryPersonName" width="100" show-overflow-tooltip />
        <el-table-column label="发货车牌" prop="shippingCarNumber" width="120" show-overflow-tooltip>
          <template #default="scope">
            <div>
              <div v-if="scope.row.shippingCarNumber">{{ scope.row.shippingCarNumber }}</div>
              <el-tag v-else type="warning">未发货</el-tag>
            </div>
          </template>
        </el-table-column>
        <el-table-column label="录入日期" prop="entryDate" width="120" show-overflow-tooltip />
        <el-table-column label="签订日期" prop="executionDate" width="120" show-overflow-tooltip />
        <el-table-column fixed="right" label="操作" min-width="200" align="center">
@@ -64,7 +72,7 @@
            <el-button link type="primary" size="small" @click="openForm('edit', scope.row)">编辑</el-button>
<!--            <el-button link type="primary" size="small" @click="openForm('view', scope.row)">详情</el-button>-->
            <el-button link type="primary" size="small" @click="downLoadFile(scope.row)">附件</el-button>
            <el-button link type="primary" size="small" @click="openDeliveryForm(scope.row)">发货</el-button>
            <el-button v-if="!scope.row.shippingCarNumber" link type="primary" size="small" @click="openDeliveryForm(scope.row)">发货</el-button>
          </template>
        </el-table-column>
      </el-table>
@@ -417,11 +425,19 @@
                <el-row :gutter="30">
                    <el-col :span="24">
                        <el-form-item label="发货车牌号:" prop="shippingCarNumber">
                            <el-input
              <el-select v-model="deliveryForm.shippingCarNumber" filterable allow-create placeholder="请选择发货车牌号">
                <el-option key="1" label="新A H5153" value="新A H5153"/>
                <el-option key="2" label="新A H4232" value="新A H4232"/>
                <el-option key="3" label="新A H4001" value="新A H4001"/>
                <el-option key="4" label="新A H6409" value="新A H6409"/>
                <el-option key="5" label="新A G7446" value="新A G7446"/>
                <el-option key="6" label="新H 80369" value="新H 80369"/>
              </el-select>
                            <!-- <el-input
                                v-model="deliveryForm.shippingCarNumber"
                                placeholder="请输入发货车牌号"
                                clearable
                            />
                            /> -->
                        </el-form-item>
                    </el-col>
                </el-row>