init vue
This commit is contained in:
@ -1,7 +1,8 @@
|
||||
import {
|
||||
IOpenCheckbox,
|
||||
IOpenSegment,
|
||||
IOpenNumber,
|
||||
IOpenTextSegment,
|
||||
IOpenUser,
|
||||
IOpenCheckbox,
|
||||
bitable
|
||||
} from "@lark-opdev/block-bitable-api";
|
||||
|
||||
@ -10,18 +11,18 @@ import {
|
||||
* 可以保证字段 ID 与模板一致
|
||||
*/
|
||||
|
||||
/** 任务描述字段 ID */
|
||||
const descriptionFieldId = "fldaxqIJ1m";
|
||||
|
||||
/** 任务执行人字段名称 */
|
||||
const userFieldName = "任务执行人";
|
||||
|
||||
/** 是否完成字段 ID */
|
||||
const completedFieldId = "fld9cvGzic";
|
||||
|
||||
/** 游芯 规格 ID */
|
||||
// const descriptionFieldId = "fldrxqL8uz";
|
||||
const tagFieldId = "fld2xdCqrs";
|
||||
/** 游芯 盘库人 ID */
|
||||
// const userFieldName = "fldDyaB5ev";
|
||||
const userFieldName = "盘库人";
|
||||
/** 游芯 外库数量 ID */
|
||||
// const completedFieldId = "fldsOIpOBk";
|
||||
const amountFieldId = "fldC9cnnAY";
|
||||
/** 尝试一下:接入是否延期字段 ID */
|
||||
// const exceedingFieldId = "todo"
|
||||
|
||||
const checkedFieldId = "fldJkHhQgQ";
|
||||
function getUserName(userValue: IOpenUser[] | null) {
|
||||
if (!userValue || userValue.length === 0) {
|
||||
return "任务执行人不存在";
|
||||
@ -29,33 +30,31 @@ function getUserName(userValue: IOpenUser[] | null) {
|
||||
return userValue[0].name ?? "用户没有设置姓名";
|
||||
}
|
||||
|
||||
function getDescription(descriptionValue: IOpenSegment[] | null) {
|
||||
if (!descriptionValue || descriptionValue.length === 0) {
|
||||
return "任务描述不存在";
|
||||
}
|
||||
return descriptionValue.map((segment) => segment.text).join("");
|
||||
}
|
||||
|
||||
export async function getCurrentTask() {
|
||||
export async function getCurrentTag() {
|
||||
// 1. 读取选中的表和记录 //
|
||||
const { tableId, recordId } = await bitable.base.getSelection();
|
||||
if (!tableId || !recordId) throw new Error("选区状态读取失败");
|
||||
const table = await bitable.base.getTableById(tableId);
|
||||
|
||||
// 2. 读取单元格 //
|
||||
const completedValue = (await table.getCellValue(
|
||||
completedFieldId,
|
||||
const amountValue = (await table.getCellValue(
|
||||
amountFieldId,
|
||||
recordId
|
||||
)) as IOpenCheckbox;
|
||||
)) as IOpenNumber;
|
||||
const userField = await table.getFieldByName(userFieldName);
|
||||
const userValue = (await table.getCellValue(
|
||||
userField.id,
|
||||
recordId
|
||||
)) as IOpenUser[];
|
||||
const descriptionValue = (await table.getCellValue(
|
||||
descriptionFieldId,
|
||||
const tagValue = (await table.getCellValue(
|
||||
tagFieldId,
|
||||
recordId
|
||||
)) as IOpenSegment[];
|
||||
)) as IOpenTextSegment[];
|
||||
|
||||
const checkedValue = (await table.getCellValue(
|
||||
checkedFieldId,
|
||||
recordId
|
||||
)) as IOpenCheckbox;
|
||||
|
||||
// 尝试一下:读取是否延期字段
|
||||
// 单选的值类型为 IOpenSingleSelect
|
||||
@ -66,20 +65,31 @@ export async function getCurrentTask() {
|
||||
|
||||
// 3. 将单元格结构体转换成业务所需数据 //
|
||||
return {
|
||||
description: getDescription(descriptionValue),
|
||||
tag: tagValue[0]?.text ?? "error",
|
||||
userName: getUserName(userValue),
|
||||
completed: completedValue,
|
||||
amount: amountValue,
|
||||
checked: checkedValue,
|
||||
// 尝试一下:返回是否延期信息
|
||||
// exceeding: exceedingText
|
||||
};
|
||||
}
|
||||
|
||||
export async function setCompleted(completed: boolean) {
|
||||
export async function setAmount(amount: number) {
|
||||
// 1. 读取选中的表和记录 //
|
||||
const { tableId, recordId } = await bitable.base.getSelection();
|
||||
if (!tableId || !recordId) throw new Error("选区状态读取失败");
|
||||
const table = await bitable.base.getTableById(tableId);
|
||||
|
||||
// 2. 将业务数据转换成单元格结构,然后写入 //
|
||||
table.setCellValue(completedFieldId, recordId, completed as IOpenCheckbox);
|
||||
table.setCellValue(amountFieldId, recordId, amount as IOpenNumber);
|
||||
}
|
||||
|
||||
export async function setChecked(checked: boolean) {
|
||||
// 1. 读取选中的表和记录 //
|
||||
const { tableId, recordId } = await bitable.base.getSelection();
|
||||
if (!tableId || !recordId) throw new Error("选区状态读取失败");
|
||||
const table = await bitable.base.getTableById(tableId);
|
||||
|
||||
// 2. 将业务数据转换成单元格结构,然后写入 //
|
||||
table.setCellValue(checkedFieldId, recordId, checked as IOpenCheckbox);
|
||||
}
|
Reference in New Issue
Block a user