已修改7个文件
254 ■■■■ 文件已修改
src/views/basicData/customerFile/index.vue 50 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/collaborativeApproval/knowledgeBase/index.vue 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/collaborativeApproval/rulesRegulationsManagement/index.vue 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/monitor/logininfor/index.vue 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/monitor/operlog/index.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/procurementManagement/procurementLedger/index.vue 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/reportAnalysis/reportManagement/index.vue 138 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/basicData/customerFile/index.vue
@@ -738,16 +738,16 @@
      prop: "contactPhone",
      width: 150,
    },
    {
      label: "跟进进度",
      prop: "followUpLevel",
      width: 120,
    },
    {
      label: "跟进时间",
      prop: "followUpTime",
      width: 120,
    },
    // {
    //   label: "跟进进度",
    //   prop: "followUpLevel",
    //   width: 120,
    // },
    // {
    //   label: "跟进时间",
    //   prop: "followUpTime",
    //   width: 120,
    // },
    {
      label: "银行基本户",
      prop: "basicBankAccount",
@@ -795,7 +795,7 @@
      label: "操作",
      align: "center",
      fixed: "right",
      width: 290,
      width: 130,
      operation: [
        {
          name: "编辑",
@@ -809,20 +809,20 @@
            openForm("edit", row);
          },
        },
                {
                    name: "添加洽谈进度",
                    type: "text",
                    clickFun: row => {
                        openNegotiationDialog(row);
                    },
                },
        {
          name: "回访提醒",
          type: "text",
          clickFun: row => {
            openReminderDialog(row);
          },
        },
                // {
                //     name: "添加洽谈进度",
                //     type: "text",
                //     clickFun: row => {
                //         openNegotiationDialog(row);
                //     },
                // },
        // {
        //   name: "回访提醒",
        //   type: "text",
        //   clickFun: row => {
        //     openReminderDialog(row);
        //   },
        // },
                {
                    name: "详情",
                    type: "text",
src/views/collaborativeApproval/knowledgeBase/index.vue
@@ -170,7 +170,7 @@
            {{ currentKnowledge.creator }}
          </el-descriptions-item>
          <el-descriptions-item label="创建时间">
            {{ currentKnowledge.createTime }}
            {{dayjs(currentKnowledge.createTime).format("YYYY-MM-DD")}}
          </el-descriptions-item>
        </el-descriptions>
@@ -282,14 +282,14 @@
        <el-table :data="fileList" style="margin-top: 20px" border>
          <el-table-column prop="fileName" label="文件名" show-overflow-tooltip />
          <el-table-column prop="fileType" label="文件类型" width="100" />
          <el-table-column label="向量化状态" width="120">
            <template #default="{ row }">
              <el-tag :type="getStatusType(row.vectorStatus)">
                {{ getStatusText(row.vectorStatus) }}
              </el-tag>
            </template>
          </el-table-column>
          <el-table-column prop="chunkCount" label="切片数" width="100" align="center" />
<!--          <el-table-column label="向量化状态" width="120">-->
<!--            <template #default="{ row }">-->
<!--              <el-tag :type="getStatusType(row.vectorStatus)">-->
<!--                {{ getStatusText(row.vectorStatus) }}-->
<!--              </el-tag>-->
<!--            </template>-->
<!--          </el-table-column>-->
<!--          <el-table-column prop="chunkCount" label="切片数" width="100" align="center" />-->
          <el-table-column label="错误信息" width="200" show-overflow-tooltip>
            <template #default="{ row }">
              <span v-if="row.vectorError" style="color: #f56c6c">{{ row.vectorError }}</span>
@@ -386,6 +386,7 @@
import useUserStore from '@/store/modules/user';
import { userListNoPageByTenantId } from '@/api/system/user.js';
import { getToken } from "@/utils/auth";
import dayjs from "dayjs";
import { parseDate } from "@/utils/ruoyi";
// 日期回显格式化(YYYY-MM-DD)
src/views/collaborativeApproval/rulesRegulationsManagement/index.vue
@@ -169,7 +169,13 @@
                         width="100" />
        <el-table-column prop="updateTime"
                         label="更新时间"
                         width="180" />
                         width="180" >
          <template #default="scope">
            <el-text>
              {{scope.row.updateTime?dayjs(scope.row.updateTime).format("YYYY-MM-DD"):"--"}}
            </el-text>
          </template>
        </el-table-column>
        <el-table-column prop="createUserName"
                         label="更新人"
                         width="120" />
@@ -228,6 +234,7 @@
    addReadingStatus,
    updateReadingStatus,
  } from "@/api/collaborativeApproval/sealManagement.js";
  import dayjs from "dayjs";
  const FileList = defineAsyncComponent(() => import("@/components/Dialog/FileList.vue"));
  import {
    listRuleFiles,
@@ -455,7 +462,7 @@
  const viewVersionHistory = row => {
    showVersionHistoryDialog.value = true;
    const params = {
      category: row.category,
      title: row.title,
    };
    listRuleManagement(page, params).then(res => {
      if (res.code == 200) {
src/views/monitor/logininfor/index.vue
@@ -95,7 +95,11 @@
      <el-table ref="logininforRef" v-loading="loading" :data="logininforList" @selection-change="handleSelectionChange" :default-sort="defaultSort" @sort-change="handleSortChange">
         <el-table-column type="selection" width="55" align="center" />
         <el-table-column label="访问编号" align="center" prop="infoId" />
         <el-table-column label="访问编号" align="center">
            <template #default="scope">
               <span>{{ (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1 }}</span>
            </template>
         </el-table-column>
         <el-table-column label="用户名称" align="center" prop="userName" :show-overflow-tooltip="true" sortable="custom" :sort-orders="['descending', 'ascending']" />
         <el-table-column label="地址" align="center" prop="ipaddr" :show-overflow-tooltip="true" />
         <el-table-column label="登录地点" align="center" prop="loginLocation" :show-overflow-tooltip="true" />
@@ -109,7 +113,7 @@
         <el-table-column label="描述" align="center" prop="msg" :show-overflow-tooltip="true" />
         <el-table-column label="访问时间" align="center" prop="loginTime" sortable="custom" :sort-orders="['descending', 'ascending']" width="180">
            <template #default="scope">
               <span>{{ parseTime(scope.row.loginTime) }}</span>
               <span>{{ parseDate(scope.row.loginTime) }}</span>
            </template>
         </el-table-column>
      </el-table>
@@ -126,6 +130,7 @@
<script setup name="Logininfor">
import { list, delLogininfor, cleanLogininfor, unlockLogininfor } from "@/api/monitor/logininfor"
import {parseDate} from "@/utils/ruoyi.js";
const { proxy } = getCurrentInstance()
const { sys_common_status } = proxy.useDict("sys_common_status")
src/views/monitor/operlog/index.vue
@@ -61,7 +61,7 @@
         <el-form-item label="操作时间" style="width: 308px">
            <el-date-picker
               v-model="dateRange"
               value-format="YYYY-MM-DD HH:mm:ss"
               value-format="YYYY-MM-DD"
               type="daterange"
               range-separator="-"
               start-placeholder="开始日期"
src/views/procurementManagement/procurementLedger/index.vue
@@ -19,13 +19,13 @@
                      clearable
                      :prefix-icon="Search" />
          </el-form-item>
          <el-form-item label="销售合同号:">
            <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.salesContractNo"-->
<!--                      placeholder="请输入"-->
<!--                      clearable-->
<!--                      prefix-icon="Search"-->
<!--                      @change="handleQuery" />-->
<!--          </el-form-item>-->
          <el-form-item label="项目名称:">
            <el-input v-model="searchForm.projectName"
                      placeholder="请输入"
@@ -944,16 +944,7 @@
    },
  });
  const { form, rules } = toRefs(data);
  const { form: searchForm } = useFormData({
    ...data.searchForm,
    // 设置录入日期范围为当天
    entryDate: [
      dayjs().startOf("day").format("YYYY-MM-DD"),
      dayjs().endOf("day").format("YYYY-MM-DD"),
    ],
    entryDateStart: dayjs().startOf("day").format("YYYY-MM-DD"),
    entryDateEnd: dayjs().endOf("day").format("YYYY-MM-DD"),
  });
  const { form: searchForm } = useFormData(data.searchForm);
  // 产品表单弹框数据
  const productFormVisible = ref(false);
src/views/reportAnalysis/reportManagement/index.vue
@@ -37,30 +37,30 @@
                  </div>
                </div>
              </div>
              <div class="typeNum">
                <div class="typeNum-left">
                  <img src="~@/assets/images/chartCard2.svg" alt="图表"
                    style="width: 40px; height: 40px; object-fit: contain;">
                  <div class="typeNum-left-text" style="color: #5EB334;">半成品</div>
                </div>
                <div class="typeNum-center">
                  <div class="typeNum-leftLine2">-</div>
                  <div class="typeNum-rightLine2"></div>
                </div>
                <div class="typeNum-right">
                  <div class="typeNum-right-top">
                    <div class="typeNum-right-top-name">总数量</div>
                    <div class="typeNum-right-top-text">{{ getInspectStatValue(1, 'totalCount') }} <span
                        class="unit">个</span></div>
                  </div>
                  <div class="typeNum-right-bottom">
                    <div class="typeNum-right-top-name">已完成数</div>
                    <div class="typeNum-right-top-text">{{ getInspectStatValue(1, 'completedCount') }} <span
                        class="unit">个</span>
                    </div>
                  </div>
                </div>
              </div>
<!--              <div class="typeNum">-->
<!--                <div class="typeNum-left">-->
<!--                  <img src="~@/assets/images/chartCard2.svg" alt="图表"-->
<!--                    style="width: 40px; height: 40px; object-fit: contain;">-->
<!--                  <div class="typeNum-left-text" style="color: #5EB334;">半成品</div>-->
<!--                </div>-->
<!--                <div class="typeNum-center">-->
<!--                  <div class="typeNum-leftLine2">-</div>-->
<!--                  <div class="typeNum-rightLine2"></div>-->
<!--                </div>-->
<!--                <div class="typeNum-right">-->
<!--                  <div class="typeNum-right-top">-->
<!--                    <div class="typeNum-right-top-name">总数量</div>-->
<!--                    <div class="typeNum-right-top-text">{{ getInspectStatValue(1, 'totalCount') }} <span-->
<!--                        class="unit">个</span></div>-->
<!--                  </div>-->
<!--                  <div class="typeNum-right-bottom">-->
<!--                    <div class="typeNum-right-top-name">已完成数</div>-->
<!--                    <div class="typeNum-right-top-text">{{ getInspectStatValue(1, 'completedCount') }} <span-->
<!--                        class="unit">个</span>-->
<!--                    </div>-->
<!--                  </div>-->
<!--                </div>-->
<!--              </div>-->
              <div class="typeNum">
                <div class="typeNum-left">
                  <img src="~@/assets/images/chartCard3.svg" alt="图表"
@@ -123,31 +123,31 @@
                  </div>
                </div>
              </div>
              <div class="quality-card green-card">
                <div class="quality-card-title">
                  <img src="~@/assets/images/chartCard2.svg" alt="半成品"
                    style="width: 24px; height: 24px; margin-right: 8px;">
                  半成品合格率
                </div>
                <div class="quality-card-content">
                  <div class="quality-item">
                    <div>
                      <div class="quality-item-label blue-label">完成率</div>
                      <div class="quality-item-tip">占比</div>
                      <div class="quality-item-value">{{ getPassRateStatValue(1, 'completionRate') }}</div>
                    </div>
                    <div class="quality-item-chart" ref="semiCompletionChart"></div>
                  </div>
                  <div class="quality-item">
                    <div>
                      <div class="quality-item-label green-label">合格率</div>
                      <div class="quality-item-tip">占比</div>
                      <div class="quality-item-value">{{ getPassRateStatValue(1, 'passRate') }}</div>
                    </div>
                    <div class="quality-item-chart" ref="semiQualityChart"></div>
                  </div>
                </div>
              </div>
<!--              <div class="quality-card green-card">-->
<!--                <div class="quality-card-title">-->
<!--                  <img src="~@/assets/images/chartCard2.svg" alt="半成品"-->
<!--                    style="width: 24px; height: 24px; margin-right: 8px;">-->
<!--                  半成品合格率-->
<!--                </div>-->
<!--                <div class="quality-card-content">-->
<!--                  <div class="quality-item">-->
<!--                    <div>-->
<!--                      <div class="quality-item-label blue-label">完成率</div>-->
<!--                      <div class="quality-item-tip">占比</div>-->
<!--                      <div class="quality-item-value">{{ getPassRateStatValue(1, 'completionRate') }}</div>-->
<!--                    </div>-->
<!--                    <div class="quality-item-chart" ref="semiCompletionChart"></div>-->
<!--                  </div>-->
<!--                  <div class="quality-item">-->
<!--                    <div>-->
<!--                      <div class="quality-item-label green-label">合格率</div>-->
<!--                      <div class="quality-item-tip">占比</div>-->
<!--                      <div class="quality-item-value">{{ getPassRateStatValue(1, 'passRate') }}</div>-->
<!--                    </div>-->
<!--                    <div class="quality-item-chart" ref="semiQualityChart"></div>-->
<!--                  </div>-->
<!--                </div>-->
<!--              </div>-->
              <div class="quality-card purple-card">
                <div class="quality-card-title">
                  <img src="~@/assets/images/chartCard3.svg" alt="成品"
@@ -202,10 +202,10 @@
                    <div class="chart-box-title">原材料总数</div>
                    <div class="chart-box-num">{{ getYearlyStatValue(0, 'totalCount') }}</div>
                  </div>
                  <div class="inspection-chart-box">
                    <div class="chart-box-title">半成品总数</div>
                    <div class="chart-box-num">{{ getYearlyStatValue(1, 'totalCount') }}</div>
                  </div>
<!--                  <div class="inspection-chart-box">-->
<!--                    <div class="chart-box-title">半成品总数</div>-->
<!--                    <div class="chart-box-num">{{ getYearlyStatValue(1, 'totalCount') }}</div>-->
<!--                  </div>-->
                  <div class="inspection-chart-box">
                    <div class="chart-box-title">成品总数</div>
                    <div class="chart-box-num">{{ getYearlyStatValue(2, 'totalCount') }}</div>
@@ -266,7 +266,7 @@
            <!-- Tab 选择器 -->
            <div class="tab-selector">
              <div class="tab-item" :class="{ active: activeTab === 'raw' }" @click="activeTab = 'raw'">原材料</div>
              <div class="tab-item" :class="{ active: activeTab === 'semi' }" @click="activeTab = 'semi'">半成品</div>
<!--              <div class="tab-item" :class="{ active: activeTab === 'semi' }" @click="activeTab = 'semi'">半成品</div>-->
              <div class="tab-item" :class="{ active: activeTab === 'final' }" @click="activeTab = 'final'">成品</div>
            </div>
          </el-card>
@@ -526,7 +526,8 @@
        containLabel: true,
      },
      legend: {
        data: ["原材料", "半成品", "成品"], // 图例数据
        // data: ["原材料", "半成品", "成品"], // 图例数据
        data: ["原材料", "成品"], // 图例数据
        icon: ["circle", "circle", "circle"],
        itemWidth: 10, // 设置图标宽度
        itemHeight: 10,
@@ -564,16 +565,16 @@
            color: "#409EFF",
          },
        },
        {
          name: "半成品",
          type: "bar",
          barWidth: "15%",
          data: monthlyCompletionDetailsData.value.map(item => item.processCount),
          itemStyle: {
            color: "#67C23A",
          },
        },
        // {
        //   name: "半成品",
        //   type: "bar",
        //   barWidth: "15%",
        //
        //   data: monthlyCompletionDetailsData.value.map(item => item.processCount),
        //   itemStyle: {
        //     color: "#67C23A",
        //   },
        // },
        {
          name: "成品",
          type: "bar",
@@ -607,7 +608,7 @@
          radius: "70%",
          data: [
            { value: getYearlyStatValue(0, 'totalCount'), name: "原材料", itemStyle: { color: "#1890FF" } },
            { value: getYearlyStatValue(1, 'totalCount'), name: "半成品", itemStyle: { color: "#F7BA1E" } },
            // { value: getYearlyStatValue(1, 'totalCount'), name: "半成品", itemStyle: { color: "#F7BA1E" } },
            { value: getYearlyStatValue(2, 'totalCount'), name: "成品", itemStyle: { color: "#14C9C9" } },
          ],
          label: {
@@ -655,7 +656,8 @@
      },
      // 图例配置
      legend: {
        data: ["原材料", "半成品", "成品"], // 图例数据
        // data: ["原材料", "半成品", "成品"], // 图例数据
        data: ["原材料", "成品"], // 图例数据
        icon: ["circle", "circle", "circle"],
        itemWidth: 10, // 设置图标宽度
        itemHeight: 10,
@@ -1161,7 +1163,7 @@
.typeNum {
  height: 100%;
  width: 33.33%;
  width: 50%;
  display: flex;
  align-items: center;
  justify-content: center;