js将对象数组中的某个属性值,批量替换成另一个数值

news2024/11/28 16:44:26

前提:对接口数据进行替换。把对应的数值或者字符串替换成中文。。。

核心代码:

const toStr = {
  sh: "沪",
  sz: "深",
};

myArr.map((item) => {
  const placeCode = item.placeCode;
  item.placeCode = toStr[placeCode] ? toStr[placeCode] : placeCode;
  return item;
});

写到这儿,基础的功能已经实现。

下面是一些pms的扩展使用:

//js
// 操作状态
export const materialReqState = {
  0: { text: "待审核", class: "reviewed" },
  1: { text: "审核不通过", class: "cancel" },
  2: { text: "待审批", class: "approval" },
  3: { text: "审批不通过", class: "stay" },
  4: { text: "采购中", class: "pass" },
  5: { text: "已取消", class: "cancel" },
  6: { text: "下发中", class: "cancel" },
  7: { text: "已完成", class: "pass" },
};

export const materialReqType={
  1:{text: "正常申请", class: "pass"},
  2:{text: "采购申请", class: "approval"},
}
export const materialWarnState = {
  0: { text: "待审核", class: "reviewed" },
  1: { text: "审核不通过", class: "cancel" },
  2: { text: "待审批", class: "approval" },
  3: { text: "审批不通过", class: "cancel" },
  4: { text: "审批通过", class: "pass" },
};
export const pmsCrawColorSatae = {
  1: { class: "work" },
  2: { class: "offDuty" },
  3: { class: "daysOff" },
  4: { class: "UnplanDays" },
};
export const materialAccountType = {
  1: { text: "入库", class: "reviewed" },
  2: { text: "出库", class: "pass" },
};

export const selectMaterialReqair={
  0: { text: "采购中", class: "reviewed" },
  1: { text: "待下发", class: "stay" },
  2: { text: "待收货", class: "approval" },
  3: { text: "已完成", class: "pass" },
}

el-table的使用:

const titleList = [
  {
    prop: "shipName",
    label: "船舶名称",
  },
  {
    prop: "orderNumber",
    label: "申请单号",
  },
  {
    prop: "createTime",
    label: "申请时间",
  },
  {
    prop: "type",
    label: "申请类型",
    formatter: materialReqType,
  },
]

//TableColumn
//列表的封装组件
<template>
  <template v-for="item in props.columnData">
    <el-table-column
      :prop="item.prop"
      :label="item.label"
      :width="item.width"
      :min-width="item['min-width']"
      v-if="!item.formatter && !item.transform"
      :show-overflow-tooltip="props.showOverflow"
    >
      <template #default="scope" v-if="item.type == 'date'">
        <span>{{ handleDate(scope.row[item.prop]) }}</span>
      </template>
    </el-table-column>
    <el-table-column
      :prop="item.prop"
      :label="item.label"
      :width="item.width"
      :min-width="item['min-width']"
      v-else-if="item.formatter && !item.transform"
      :show-overflow-tooltip="props.showOverflow"
    >
      <template #default="scope">
        <span
          v-if="!item.type"
          :class="
            (item.formatter[scope.row[item.prop]] &&
              item.formatter[scope.row[item.prop]].class) ||
            ''
          "
        >
          {{
            (item.formatter[scope.row[item.prop]] &&
              item.formatter[scope.row[item.prop]].text) ||
            ""
          }}
        </span>
        <div
          v-else
          :class="
            (item.formatter[scope.row[item.prop]] &&
              item.formatter[scope.row[item.prop]].class) ||
            ''
          "
        >
          {{ "" }}
        </div>
      </template>
    </el-table-column>
    <el-table-column
      :prop="item.prop"
      :label="item.label"
      :width="item.width"
      :min-width="item['min-width']"
      v-if="!item.formatter && item.transform"
      :show-overflow-tooltip="props.showOverflow"
    >
      <template #default="scope">
        <span>{{ item.transform(scope.row[item.prop], scope.row) }}</span>
      </template>
    </el-table-column>
  </template>
</template>

<script setup>
import { handleDate } from "@/utils";
let props = defineProps({
  columnData: Array,
  isShowIndex: Boolean,
  showOverflow: { type: Boolean, default: true },
});
</script>
<style scoped lang='less'></style>

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1577700.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Xshell连接不上Ubuntu

1 ubuntu安装ssh服务器 sudo apt install openssh-server修改配置文件vi /etc/ssh/sshd_config 修改如下两个配置 修改完运行下面代码。再用 xhell连接试试。 /etc/init.d/ssh restart

普通相机标定——执行与结果验证

在之前的准备工作中,我们完成了 棋盘格标靶的制作采集相机图像功能函数的实现相机内参标定功能函数实现工具类函数的实现 终于到了将他们组合起来实现相机内参标定的时刻了!这里作者用的是笔记本电脑的前置相机,首先调用SaveCameraImage()保存相机图像,同时手举棋盘…

搜维尔科技:一个人如何使用Faceware为歌手制作完整的MV

一个人如何使用Faceware为歌手制作完整的MV 最近&#xff0c;我们有机会采访了 Bryce&#xff0c;他是一位独立创作者&#xff0c;他通过使用 Faceware 来制作视频。完整采访如下&#xff1a; 这个项目是如何产生的&#xff1f;该项目的推动力是什么&#xff1f; “我爱你”M…

字节出来的,太厉害了。。。。

&#x1f345; 视频学习&#xff1a;文末有免费的配套视频可观看 &#x1f345; 关注公众号【互联网杂货铺】&#xff0c;回复 1 &#xff0c;免费获取软件测试全套资料&#xff0c;资料在手&#xff0c;涨薪更快 前段时间公司缺人&#xff0c;也面了许多测试&#xff0c;一开始…

【UE 网络】DS框架学习路线

目录 0 引言1 如何学习DS框架1. 熟悉Unreal Engine基础2. 学习网络编程基础3. 掌握UE网络概念4. 实践和实验5. 加入社区和论坛6. 官方示例和案例研究7. 专业书籍和在线课程 2 DS框架重要知识点有哪些1. 网络复制2. 远程过程调用&#xff08;RPC&#xff09;3. 客户端服务器架构…

RabbitMQ基本使用及企业开发中注意事项

目录 一、基本使用 二、使用注意事项 1. 生产者重连机制 - 保证mq服务是通的 2. 生产者确认机制 - 回调机制 3. MQ的可靠性 4. Lazy Queue模式 5. 消费者确认机制 一、基本使用 部署完RabbitMQ有两种使用方式&#xff1a; 网页客户端Java代码 MQ组成部分&#xff1a;…

【php开发支付宝web支付】

首先介绍下 我用的框架ci 在吐槽下百度的其他人的写的都很垃圾&#xff0c;还不如自己看支付宝的开发手册了 1、composer安装支付宝的sdk composer require alipay/alipay-sdk-php安装完毕 不多哔哔 代码展示 先点地址登录支付宝以后再上我这重点下 支付宝沙箱地址 $ord…

easyexcel处理复杂表头

需求&#xff0c;模板如下 功能如下 开始整活&#xff0c;依赖包。 <dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>3.2.1</version> </dependency>下载导入模板 1.方法 GetMapping…

Python web自动化测试 —— 文件上传!

​文件上传三种方式&#xff1a; &#xff08;一&#xff09;查看元素标签&#xff0c;如果是input&#xff0c;则可以参照文本框输入的形式进行文件上传 方法&#xff1a;和用户输入是一样的&#xff0c;使用send_keys 步骤&#xff1a;1、找到定位元素&#xff0c;2&#…

vue vue3 手写 动态加载组件

效果展示 一、需求背景&#xff1a; # vue3 项目涉及很多图表加载、表格加载 #考虑手写一个动态加载组件 二、实现思路 通过一个加载状态变量&#xff0c;通过v-if判断&#xff0c;加载状态的变量等于哪一个&#xff0c;动态加载组件内部就显示的哪一块组件。 三、实现效果…

Python 全栈体系【四阶】(二十二)

第五章 深度学习 二、推荐系统 3. 关联规则 3.1 Apriori “啤酒与尿布”的故事产生于 20 世纪 90 年代的美国沃尔玛超市。沃尔玛的超市管理人员分析销售数据时发现了一个令人难于理解的现象&#xff1a;在某些特定的情况下&#xff0c;“啤酒”与“尿布”两件看上去毫无关系…

javaWeb新闻发布及管理系统

摘 要 随着电脑、智能手机等能够连接网络设备的家庭化和大众化&#xff0c;各种网站开始被设计和开发出来&#xff0c;功能多种多样&#xff0c;涉及的领域也各有不同&#xff0c;生活、商业、科技等等。而信息的发布是网络的一大特点&#xff0c;人们上网的主要需求就是汲取自…

2024年中国金融科技(FinTech)行业发展洞察报告

核心摘要&#xff1a; 金融监管体系的改革推动金融科技行业进入超级监管时代&#xff0c;数据要素应用与金融场景建设成为如今行业关注的重要领域&#xff0c;为金融机构提供以业务需求为导向的技术服务成为“厚积成势”阶段行业发展的新目标&#xff0c;市场参与者的“业技融…

抖音电商罗盘品牌人群运营策略指南

【干货资料持续更新&#xff0c;以防走丢】 抖音电商罗盘品牌人群运营策略指南 部分资料预览 资料部分是网络整理&#xff0c;仅供学习参考。 抖音运营资料合集&#xff08;完整资料包含以下内容&#xff09; 目录 品牌人群运营策略&#xff0c;旨在帮助品牌通过精细化运营提…

node相关

文章目录 nodeJS是什么&#xff1f;优缺点使用场景全局对象适合用于构建 I/O 密集型不适用于计算密集型任务 nodeJS是什么&#xff1f; Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境&#xff0c;它是跨平台和开源的。 Node.js 使用高效、轻量级的事件驱动、非阻…

线性代数难学怎么办?到星河社区让飞桨来帮忙!

用飞桨帮我们好好学线性代数 参考自《动手学深度学习》第二章 《漫画线性代数》等。星河社区代码一键执行&#xff1a;线性代数难学怎么办&#xff1f;到星河社区让飞桨来帮忙&#xff01; 线性代数&#xff0c;这个在数学领域举足轻重的学科&#xff0c;是众多学科的基础&am…

MySQL8.3.0 master/slave 主从复制方案

一 、什么是MySQL主从 MySQL主从&#xff08;Master-Slave&#xff09;复制是一种数据复制机制&#xff0c;用于将一个MySQL数据库服务器&#xff08;主服务器&#xff09;的数据复制到其他一个或多个MySQL数据库服务器&#xff08;从服务器&#xff09;。这种复制机制可以提供…

Shoplazza闪耀Shoptalk 2024,新零售创新解决方案引领行业新篇章!

在近期举办的全球零售业瞩目盛事——Shoptalk 2024大会上,全球*的零售技术平台-店匠科技(Shoplazza)以其*的创新实力与前瞻的技术理念,成功吸引了与会者的广泛关注。此次盛会于3月17日至20日在拉斯维加斯曼德勒湾隆重举行,汇聚了逾万名行业精英。在这场零售业的盛大聚会上,Shop…

MATLAB | 怎样绘制更有立体感的柱状图

之前写了一篇文章说明了MATLAB图例可以自己diy&#xff0c;这次又有了diy的机会&#xff0c;我开发了一个简单的小工具&#xff0c;能够实现绘制伪3d的柱状图&#xff0c;大概效果如下&#xff1a; 使用说明 由于涉及的代码比较接近MATLAB底层的图形对象&#xff0c;有点东西还…

MySQL学习笔记------事务

事务 事务是一组操作的集合&#xff0c;他是一个不可分割的单位&#xff0c;事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求&#xff0c;即这些操作要么同时成功&#xff0c;要么同时失败 事务操作 create table account(id int comment ID,name varchar(10) …