首次提交

This commit is contained in:
ag 2024-12-26 10:28:43 +08:00
commit b8ab35e7a4
21 changed files with 1793 additions and 0 deletions

2
.gitignore vendored Normal file
View File

@ -0,0 +1,2 @@
node_modules
.idea

43
ReportArt.js Normal file
View File

@ -0,0 +1,43 @@
class ReportArt{
constructor(params) {
if(!params){
params = {};
}
this.artworkId = params.id || null;//艺术品id、
this.artworkOldName = params.oldName || "无";//艺术品原名
this.author = params.author || "无";//作者
this.createPeriod = params.createPeriod || "无";//创作年代
this.materialName = params.materialName || "无";//材质
this.artworkImages = params.artworkImages || "";//艺术品图片
this.actualNumber=params.actualNumber || 1;//数量
this.shippingContainerType = [];//包装类型
this.packingMaterials = [];//填充物
this.transportPurpose = [];//运输目的
}
setAttribute(art){
this.artworkId = art.artworkRecordId || null;//艺术品id、
this.artworkOldName = art.artworkOldName || "无";//艺术品原名
this.author = art.author || "无";//作者
this.createPeriod = art.createPeriod || "无";//创作年代
this.materialName = art.materialName || "无";//材质
this.artworkImages = art.artworkImages || "";//艺术品图片
this.actualNumber=art.actualNumber || 1;//数量
if(art.transportPurpose.length > 0){
this.transportPurpose = art.transportPurpose;
}
if(art.shippingContainerType.length > 0){
this.shippingContainerType =art.shippingContainerType;
}
if(art.packingMaterials.length > 0){
this.packingMaterials = art.packingMaterials;
}
}
setMaterials(val){
this.materials = val;
}
}
export default ReportArt

164
ReportBase.js Normal file
View File

@ -0,0 +1,164 @@
import {formatterDate} from '@/utils/date';
class ReportBase {
constructor(params) {
if (!params) {
params = {};
}
this.documentNumber = formatterDate(new Date(), 'YYYYMMDDHHmmss');
this.reportName = params.reportName || null;
this.checkDate = params.checkDate || new Date().getTime();
this.checkLocation = params.checkLocation || '';
this.checkLocationGeometry = params.checkLocationGeometry || null; //geometry格式
this.consignor = params.consignor || ''; //托运方
this.actualNumber = params.actualNumber || 1;
this.checkBy = params.checkBy || '';
this.reportBy = params.reportBy || '';
this.coverImage = params.coverImage; //报告封面图
this.conditionTypes = [];
this.conditionInfo = null; //状况类型补充说明
this.conditionImageList = []; // 局部详情图{title,description,image}
this.conditionMapping = [];
this.grids = {
gridsNumber: 4,
gridsImgs: [
],
};
this.conservation = params.conservation || null;
this.suggest = params.suggest || null;
this.environmentTemperature = params.environmentTemperature || null; //不带单位
this.environmentHumidity = params.environmentHumidity || null; //不带单位
this.logo = null;
// this.coverLogo = `${window.GLOBAL["BASE_URL"]}/AppTemplate/conditionReport/images/reportLogo.png`;
// this.organizationName = params.organizationName;
// this.organizationEmail = 'ja.atelier@hotmail.com';
// this.organizationPhone = '+86-13911819084 / +33 (0)7.82.15.72.97';
// this.signatureInfo = {
// "weChatImg": `${window.GLOBAL["BASE_URL"]}/AppTemplate/conditionReport/images/erm.png`,
// "signer": "Jia Peng",
// "signerInfo":"Conservator - Restorer of the cultural heritage recognized by the Direction of the museums of France (D.M.F)\n" +
// "Professor of Conservation-Restoration & Material research of Art of Guangzhou Academy of Fine Art (GAFA)\n" +
// "Director of Guangdong Provincial Key Laboratory of Conservation-Restoration & Materials Research of Artworks"
// }
}
setAttribute(reportBase) {
if (!reportBase) {
return;
}
if (reportBase.documentNumber) {
this.documentNumber = reportBase.documentNumber;
}
if (reportBase.checkDate) {
this.checkDate = reportBase.checkDate;
}
if (reportBase.actualNumber) {
this.actualNumber = reportBase.actualNumber;
}
this.reportName = reportBase.reportName;
this.checkLocation = reportBase.checkLocation;
this.consignor = reportBase.consignor;
this.checkBy = reportBase.checkBy;
this.reportBy = reportBase.reportBy;
if (reportBase.coverImage) {
this.coverImage = reportBase.coverImage;
}
if (reportBase.conservation) {
this.conservation = reportBase.conservation;
}
if (reportBase.suggest) {
this.suggest = reportBase.suggest;
}
if(reportBase.grids){//宫格图
this.grids = reportBase.grids;
}
if(reportBase.conditionTypes){
this.conditionType = reportBase.conditionTypes;
}
this.checkLocationGeometry = reportBase.checkLocationGeometry || null; //geometry格式
this.environmentTemperature = reportBase.environmentTemperature || null;
this.environmentHumidity = reportBase.environmentHumidity || null;
}
setReportBy(val) {
this.reportBy = val;
}
setCoverImage(imageSrc) {
this.coverImage = imageSrc;
}
setConditionTypes(val) {
this.conditionTypes = val || [];
}
setConditionInfo(val) {
this.conditionInfo = val;
}
setConditionImageList(fileList) {
this.conditionImageList = fileList;
}
setImagesLegend(imgSrc,legend) {
this.conditionMapping['images'] = imgSrc;
this.conditionMapping['legend'] = legend;
}
setImages(imgSrc) {
this.conditionMapping = imgSrc;
}
setConservation(val) {
this.conservation = val;
}
setSuggest(val) {
this.suggest = val;
}
setLogo(val) {
this.logo = window.GLOBAL["BASE_URL"] + val;
}
setCoverLogo(val) {
this.coverLogo = val;
}
setOrgName(val) {
this.organizationName = val;
}
setOrgEmail(val) {
this.organizationEmail = val;
}
setOrgPhone(val) {
this.organizationPhone = val;
}
setGrids(gridNumber, girdList) {
this.grids['gridsNumber'] = gridNumber;
this.grids['gridsImgs'] = girdList;
}
setCheckLocation(checkLocation) {
this.checkLocation = checkLocation;
}
setCheckLocationGeometry(geometry) {
if (geometry) {
this.checkLocationGeometry = {
type: 'Point',
coordinates: geometry.coordinates,
};
}
}
}
export default ReportBase;

36
artApi.js Normal file
View File

@ -0,0 +1,36 @@
const artApi = {
country: '/rpc/view_country_code', //查询国家数据
artworkRepair: '/rpc/view_art_artwork_repair_rel',
artworkRecord: '/rpc/view_art_artwork_record', //查询档案
artworkDetails: '/rpc/view_art_artwork_detail', //查看档案详情
artUploadPicture: '/rpc/artUploadPicture', //图片上传
artArtworkRecordInsert: '/rpc/artArtworkRecordInsert', //创建档案
artArtworkRecordDelete: '/rpc/artArtworkRecordDelete', //删除艺术品档案
artArtworkRecordUpdate: '/rpc/artArtworkRecordUpdate', //编辑艺术品档案
viewWareHouseType: '/rpc/ViewWareHouseType', //查询仓库类型
wareHouseTypeInsert: '/rpc/wareHouseTypeInsert', //创建仓库类型
wareHouseTypeUpdate: '/rpc/wareHouseTypeUpdate', //修改仓库类型
wareHouseTypeDelete: '/rpc/wareHouseTypeDelete', //删除仓库类型
wareHouseInsert: '/rpc/wareHouseInsert', //创建仓库
wareHouseUpdate: '/rpc/wareHouseUpdate', //修改仓库
wareHouseDelete: '/rpc/wareHouseDelete', //删除仓库
viewWareHouse: '/rpc/viewWareHouse', //查询仓库
countInWareHouse: '/rpc/countArtworkInWareHouse', //盘点数据
wareHouseEntryInsert: '/rpc/wareHouseEntryInsert', //新增入库
wareHouseEntryUpdate: '/rpc/wareHouseEntryUpdate', //修改入库
wareHouseEntryDelete: '/rpc/wareHouseEntryDelete', //删除入库
viewWareHouseEntry: '/rpc/viewWareHouseEntry', //查询入库
wareHouseOutboundInsert: '/rpc/wareHouseOutboundInsert', //新增出库记录
wareHouseOutboundUpdate: '/rpc/wareHouseOutboundUpdate', //修改出库记录
wareHouseOutboundDelete: '/rpc/wareHouseOutboundDelete', //删除出库记录
viewWareHouseOutbound: '/rpc/viewWareHouseOutbound', //c查询出库记录
wareHouseOutboundReviewInsert: '/rpc/wareHouseOutboundReviewInsert', //创建出库申请审核
wareHouseOutboundReviewUpdate: '/rpc/wareHouseOutboundReviewUpdate', //审核出库申请
viewWareHouseOutboundReview: '/rpc/viewWareHouseOutboundReview', //查询出库记录审核
conditionCheckInsert: "/rpc/conditionCheckInsert", //创建状况检查
conditionCheckUpdate: "/rpc/conditionCheckUpdate", //修改状况检查
conditionCheckDelete: "/rpc/conditionCheckDelete",//删除状况检查
viewConditionCheck: "/rpc/viewConditionCheck",//查询状况检查
};
export { artApi };

9
artCounty.js Normal file
View File

@ -0,0 +1,9 @@
class ArtCounty {
constructor(params = {}) {
this.id = params.id;
this.name = params.name;
this.alpha3Code = params.alpha_3_code;
}
}
export default ArtCounty;

12
artEnum.js Normal file
View File

@ -0,0 +1,12 @@
export const artStatus = {
0: '未入库',
1: '已入库',
2: '已出库',
3: '修复中',
};
//入库记录状态
export const godownEntryStatus = {
0: '未签名',
1: '已入库',
};

49
artImage.js Normal file
View File

@ -0,0 +1,49 @@
class ArtImage {
constructor(url) {
this.url = url; //原图路径
}
get compressionUrl() {
return formatCompression(this.url);
}
get previewUrl() {
return formatPreview(this.url);
}
}
function formatCompression(url) {
if (!url) return;
if (url.indexOf('blob:') !== -1) return url; //本地文件流直接放行
if (url.indexOf('/compression/') !== -1) {
url = url.replace('/compression/', '/');
}
if (url.indexOf('/preview/') !== -1) {
url = url.replace('/preview/', '/');
}
let imgSrc = url;
let splitList = imgSrc.split('/');
let fileName = splitList[splitList.length - 1];
fileName = fileName.split('.')[0] + '.jpg'; //图片服务压缩过的图片统一都是jpg格式因此这里需要更好图片后缀
splitList.pop(); //移除掉文件名部分
return splitList.join('/') + '/compression/' + fileName;
}
//转化预览图路径
function formatPreview(url) {
if (!url) return;
if (url.indexOf('blob:') !== -1) return url; //本地文件流直接放行
if (url.indexOf('/preview/') !== -1) return url;
if (url.indexOf('/compression/') !== -1) {
url = url.replace('/compression/', '/');
}
let imgSrc = url;
let splitList = imgSrc.split('/');
let fileName = splitList[splitList.length - 1];
fileName = fileName.split('.')[0] + '.jpg'; //图片服务压缩过的图片统一都是jpg格式因此这里需要更好图片后缀
splitList.pop(); //移除掉文件名部分
return splitList.join('/') + '/preview/' + fileName;
}
export default ArtImage;

24
artReport.js Normal file
View File

@ -0,0 +1,24 @@
import CellsysApp from "@airkoon/cellsys/cellsysApp";
class ArtReport extends CellsysApp{
constructor(params) {
super(params);
this.reportName = params.name;
this.artId = null;
this.artNumber = 1;
this.documentNumber = null;
let modelOptions = params.model_options;
if(modelOptions){
this.artId = modelOptions.artworkId;
let reportInformation = modelOptions.reportInformation;
if(reportInformation){
this.artNumber = reportInformation.artworkNumber;
this.documentNumber = reportInformation.documentNumber;
}
}
}
}
export default ArtReport

285
artSystem.js Normal file
View File

@ -0,0 +1,285 @@
import { Query, QueryTask, QueryType, Operator } from '@airkoon/cellsys/cellsysUtil.js';
import ConditionReport from './conditionReport';
import { artApi } from './artApi';
import CellsysArt from './cellsysArt';
import CellsysEventType from '@airkoon/cellsys/cellsysEventType';
import ArtCounty from './artCounty';
import { EditTask } from '@airkoon/cellsys/cellsysUtil';
class ArtSystem {
constructor(orgId) { }
static orgId = window.CELLSYSORG ? window.CELLSYSORG.id : null;
//查询艺术品材质字典
static queryMaterials(params = {}) {
let query = new Query();
let { filter } = params;
if (filter) {
filter.forEach((item) => {
query.addFilter(item['field'], item['operator'], item['value']);
});
}
query.addFilter('dict_type', Operator.Equals, 'material');
let queryTask = new QueryTask(QueryType.sysDictData, false);
return new Promise((resolve, reject) => {
queryTask
.execute(query)
.then((res) => {
resolve(res);
})
.catch((err) => {
reject(err);
});
});
}
//查询艺术品一级分类
static queryArtCategoryOne() {
let query = new Query();
query.addFilter('parent_id', Operator.Equals, 1);
query.setOrder({ sort: 'asc' });
let queryTask = new QueryTask(QueryType.sysCategoryData, false);
return new Promise((resolve, reject) => {
queryTask
.execute(query)
.then((res) => {
resolve(res);
})
.catch((err) => {
reject(err);
});
});
}
static queryArtCategoryById(parentId) {
let query = new Query();
query.addFilter('parent_id', Operator.Equals, parentId);
let queryTask = new QueryTask(QueryType.sysCategoryData, false);
return new Promise((resolve, reject) => {
queryTask
.execute(query)
.then((res) => {
resolve(res);
})
.catch((err) => {
reject(err);
});
});
}
//查询国家数据
static queryCountry(params = {}) {
let query = new Query();
let { pageInfo, order, filter } = params;
if (filter) {
filter.forEach((item) => {
query.addFilter(item['field'], item['operator'], item['value']);
});
}
let queryTask = new QueryTask(artApi.country, !!pageInfo);
return new Promise((resolve, reject) => {
queryTask
.execute(query)
.then((res) => {
if (pageInfo) {
if (res.data) {
res.data = res.data.map((item) => {
return new ArtCounty(item);
});
resolve(res);
}
} else {
let resArr = res.map((item) => {
return new ArtCounty(item);
});
resolve(resArr);
}
})
.catch((err) => {
reject(err);
});
});
}
//查询艺术片档案
static queryArtworks(params = {}) {
let query = new Query();
let { pageInfo, order, filter } = params;
if (pageInfo) {
query.setCurrPage(pageInfo.currPage);
query.setPageSize(pageInfo.pageSize);
}
if (filter) {
filter.forEach((item) => {
query.addFilter(item['name'], item['operator'], item['value']);
});
}
if (order) {
query.setOrder(order);
} else {
query.setOrder({ id: 'desc' });
}
let queryTask = new QueryTask(artApi.artworkRecord, pageInfo ? true : false);
return new Promise((resolve, reject) => {
queryTask
.execute(query)
.then((res) => {
if (pageInfo) {
if (res.data) {
res.data = res.data.map((item) => {
return new CellsysArt(item);
});
resolve(res);
}
} else {
let resArr = res.map((item) => {
return new CellsysArt(item);
});
resolve(resArr);
}
})
.catch((err) => {
reject(err);
});
});
}
//创建艺术品档案
static createArtwork(params = {}) {
let editTask = new EditTask(artApi.artArtworkRecordInsert);
editTask.addParam('_oldname', params.oldName);
editTask.addParam('_countryId', params.country.id);
editTask.addParam('_countryCode', params.country.code);
editTask.addParam('_author', params.author);
editTask.addParam('_create_period', params.createPeriod);
editTask.addParam('_actual_number', params.actualNumber);
editTask.addParam('_length', params.length);
editTask.addParam('_width', params.width);
editTask.addParam('_height', params.height);
if (params.material) {
editTask.addParam('_material', params.material.dict_code);
}
if (params.categoryOne) {
editTask.addParam('_category_one', params.categoryOne.id);
editTask.addParam('_category_one_code', params.categoryOne.code);
}
if (params.categoryTwo) {
editTask.addParam('_category_two', params.categoryTwo.id);
editTask.addParam('_category_two_code', params.categoryTwo.code);
}
if (params.categoryThree) {
editTask.addParam('_category_three', params.categoryThree.id);
}
editTask.addParam('_original_registration_number', params.originalRegistrationNumber);
editTask.addParam('_remark', params.remarks);
editTask.addParam('_images', params.images);
return new Promise((resolve, reject) => {
editTask
.execute()
.then((res) => {
if (res.data) {
let cellsysArt = new CellsysArt(res.data);
resolve(cellsysArt);
}
})
.catch((err) => {
reject(err);
});
});
}
//查询报告列表(应用列表)
static queryConditionsReports(params) {
if (!params) {
params = {};
}
let query = new Query();
let pageInfo = params.pageInfo;
let order = params.order;
if (pageInfo) {
query.setCurrPage(pageInfo.currPage);
query.setPageSize(pageInfo.pageSize);
}
if (order) {
query.setOrder(order);
} else {
query.setOrder({ id: 'desc' });
}
// query.addFilter('model_id', Operator.Equals, 23); //病害报告模板
let filter = params.filter;
if (filter) {
filter.forEach((item) => {
query.addFilter(item['name'], item['operator'], item['value']); //病害报告模板
});
}
let queryTask = new QueryTask(artApi.viewConditionCheck, pageInfo ? true : false);
return new Promise((resolve, reject) => {
queryTask
.execute(query)
.then((res) => {
if (pageInfo) {
if (res.data) {
res.data = res.data.map((item) => {
return new ConditionReport(item);
});
resolve(res);
}
} else {
let resArr = res.map((item) => {
return new ConditionReport(item);
});
resolve(resArr);
}
})
.catch((err) => {
reject(err);
});
});
}
static queryArtworkByRepairId(params) {
let query = new Query();
let artworkId = params.artworkId;
let eventSetId = params.eventSetId;
if (artworkId) {
query.addFilter('artwork.id', Operator.Equals, artworkId); //病害报告模板
}
if (eventSetId) {
query.addFilter('event_set.id', Operator.Equals, eventSetId); //病害报告模板
}
let queryTask = new QueryTask(artApi.artworkRepair, false);
return new Promise((resolve, reject) => {
queryTask
.execute(query)
.then((res) => {
let resArr = res.map((item) => {
return new CellsysArt(item.artwork);
});
resolve(resArr);
})
.catch((err) => {
reject(err);
});
});
}
static queryArtworkEvent(params) {
let query = new Query();
let artworkId = params.artworkId;
if (artworkId) {
query.addFilter('artwork.id', Operator.Equals, artworkId); //病害报告模板
}
let queryTask = new QueryTask(artApi.artworkRepair, false);
return new Promise((resolve, reject) => {
queryTask
.execute(query)
.then((res) => {
let resArr = res.map((item) => {
return new CellsysEventType(item.event_set);
});
resolve(resArr);
})
.catch((err) => {
reject(err);
});
});
}
}
export default ArtSystem;

9
artUser.js Normal file
View File

@ -0,0 +1,9 @@
import CellsysUser from '@airkoon/cellsys/cellsysUser.js';
class ArtUser extends CellsysUser {
constructor(params = {}) {
super(params);
}
}
export default ArtUser;

161
cellsysArt.js Normal file
View File

@ -0,0 +1,161 @@
import ArtSystem from "./artSystem";
import ArtImage from "./artImage";
import { artStatus } from "./artEnum";
import {
EditTask,
EditType,
Query,
QueryTask,
} from "@airkoon/cellsys/cellsysUtil";
import { artApi } from "./artApi";
class CellsysArt {
constructor(params = {}) {
this.id = params.id;
this.oldName = params.old_name; //不带书名号
this.recordNumber = params.record_number;
this.artworkName = params.artwork_name;
this.author = params.author;
this.createPeriod = params.create_period;
this.actualNumber = params.actual_number || 1;
this.materialId = params.material_id;
this.materialName = params.material_name;
this.countryId = params.country_id;
this.countryName = params.country_name;
this.length = params.length;
this.width = params.width;
this.height = params.height;
this.categoryOne = params.category_one;
this.categoryOneName = params.category_one_name;
this.categoryTwo = params.category_two;
this.categoryTwoName = params.category_two_name;
this.categoryThree = params.category_three;
this.categoryThreeName = params.category_three_name;
this.originalRegistrationNumber = params.original_registration_number;
this.remark = params.remark;
this.creator = params.creator;
this.updater = params.updater;
this.status = params.status;
this.artworkImages = [];
if (params.images) {
this.artworkImages = params.images.map((url) => {
return new ArtImage(url);
});
}
this.tags = [];
if (params.tag_name) {
this.tags = params.tag_name.map((name) => {
return { name: name };
});
}
}
get oldNameFormat() {
//带书名号
return `${this.oldName}`;
}
//封面图
get coverImageUrl() {
if (this.artworkImages.length > 0) {
return this.artworkImages[0].compressionUrl;
}
}
get artworkImagesUrl() {
if (this.artworkImages.length > 0) {
return this.artworkImages.map((artImage) => {
return artImage.url;
});
}
}
get statusMsg() {
return artStatus[this.status];
}
//查看艺术品详情
getDetails() {
let editTask = new EditTask(artApi.artworkDetails);
editTask.addParam("_id", this.id);
return new Promise((resolve, reject) => {
editTask
.execute()
.then((res) => {
if (res.data) {
let cellsysArt = new CellsysArt(res.data);
//todo 详情字段填充
resolve(cellsysArt);
}
})
.catch((err) => {
reject(err);
});
});
}
//编辑艺术品档案
updateArtwork(params = {}) {
let editTask = new EditTask(artApi.artArtworkRecordUpdate);
editTask.addParam("_id", params.id);
editTask.addParam("_oldname", params.oldName);
editTask.addParam("_author", params.author);
editTask.addParam("_create_period", params.createPeriod);
editTask.addParam("_length", params.length);
editTask.addParam("_width", params.width);
editTask.addParam("_height", params.height);
if (params.material) {
editTask.addParam("_material", params.material.dict_code);
}
editTask.addParam(
"_original_registration_number",
params.originalRegistrationNumber
);
editTask.addParam("_remark", params.remarks);
editTask.addParam("_images", params.images);
return new Promise((resolve, reject) => {
editTask
.execute()
.then((res) => {
if (res.data) {
let cellsysArt = new CellsysArt(res.data);
resolve(cellsysArt);
}
})
.catch((err) => {
reject(err);
});
});
}
//删除艺术品档案
removeArtwork(params = {}) {
let editTask = new EditTask(artApi.artArtworkRecordDelete);
editTask.addParam("_id", this.id);
editTask.addParam("_password", params.password);
return new Promise((resolve, reject) => {
editTask
.execute()
.then((res) => {
resolve(res);
})
.catch((err) => {
reject(err);
});
});
}
queryEventlist() {
return new Promise((resolve, reject) => {
ArtSystem.queryArtworkEvent({
artworkId: this.id,
})
.then((res) => {
resolve(res);
})
.catch((err) => {
reject(err);
});
});
}
}
export default CellsysArt;

89
conditionReport.js Normal file
View File

@ -0,0 +1,89 @@
import artReport from './artReport';
import ArtImage from './artImage';
import {EditTask} from "@airkoon/cellsys/cellsysUtil";
import {artApi} from "./artApi";
import ReportBase from "./ReportBase";
class ConditionReport {
constructor(params) {
if (!params) {
params = {};
}
this.id = params.id;
this.artworkRecordId = params.artwork_record_id
this.name = params.name;
this.modelOptions=params.model_options;
// let modelOptions = params.model_options;
// if (modelOptions) {
// // this.coverImage = new ArtImage(modelOptions.coverImage);//封面图
// // let reportInformation = modelOptions.reportInformation;//报告信息
// // if (reportInformation) {
// // this.checkBy = reportInformation.checkBy;
// // this.checkDate = reportInformation.checkDate;
// // this.checkLocation = reportInformation.checkLocation;
// // this.documentNumber = reportInformation.documentNumber;
// // this.conservation = reportInformation.conservation;
// // }
// // let artworkInformation = modelOptions.artworkInformation;//作品信息
// //
// // let conditionMapping = modelOptions.conditionMapping;//概况图
// //
// // let examination = modelOptions.examination;//查验情况
// // let grids = modelOptions.grids;//九宫格
// // let details = modelOptions.details;//局部图
// // let conservation = modelOptions.conservation;//查验结果
// // let suggest = modelOptions.suggest;//保存修复建议
// // let coverLogo=modelOptions.coverLogo;//封面logo
// // let logo=modelOptions.logo;
// modelOptions=new ReportBase()
// }
// let artworkRecord = params.artwork_record;
// if (artworkRecord) {
// this.recordNumber = artworkRecord.record_number;
// this.oldName = artworkRecord.old_name
// }
// this.tagName = params.tag_name
this.createBy = params.create_by;
this.createTime = params.create_time;
this.updateBy = params.update_by;
this.updateTime = params.update_time;
this.creator = params.creator;
this.updater = params.updater;
}
get coverImageCompress() {
return this.coverImage.compressionUrl;
}
static conditionCheckInsert(params) {
let editTask = new EditTask(artApi.conditionCheckInsert)
editTask.addParam('_artwork_record_id', params.artworkRecordId);
editTask.addParam('_name', params.name);
editTask.addParam('_model_options', params.modelOptions);
return editTask.execute();
}
conditionCheckUpdate(params) {
let editTask = new EditTask(artApi.conditionCheckUpdate)
editTask.addParam('_id', params.id);
editTask.addParam('_artwork_record_id', params.artworkRecordId);
editTask.addParam('_name', params.name);
editTask.addParam('_model_options', params.modelOptions);
return editTask.execute();
}
conditionCheckDelete(params) {
let editTask = new EditTask(artApi.conditionCheckDelete)
editTask.addParam('_id', params.id);
return editTask.execute();
}
}
export default ConditionReport;

162
godownEntry.js Normal file
View File

@ -0,0 +1,162 @@
import { EditTask, Query, QueryTask } from '@airkoon/cellsys/cellsysUtil';
import { artApi } from './artApi';
import { formatterMillisecond } from './utils/date';
import { godownEntryStatus } from './artEnum';
//入库记录
class GodownEntry {
constructor(params = {}) {
this.id = params.id;
this.status = params.status;
this.number = params.number;
this.artworkRecordId = params.artwork_record_id; //艺术品档案id
this.entryTime = params.entry_time; //入库时间
this.client = params.client; //委托方
this.contractor = params.contractor; //接收方
this.stand = params.stand; //支架
this.packingType = params.packing_type; //装箱类型
this.support = params.support; //支撑物
this.remark = params.remark; //备注
this.images = params.images || []; //现场照片
this.conditionIssues = params.condition_issues || null; //病害信息
this.conditionIssuesImages = params.condition_issues_images
? params.condition_issues_images.map((item) => {
return {
original: item.original || null, //原图
graphing: item.graphing || null, //遮罩层
superposition: item.superposition || null, //合并
};
})
: []; //病害图 original graphing superposition
this.wareHouseId = params.ware_house_id; //仓库id
let wareHouse = params.ware_house;
if (wareHouse) {
this.wareHouseName = wareHouse.name; //仓库
} else {
this.wareHouseName = null;
}
this.clientSignatureImage = params.client_signature_image || null; // 委托方签名;
this.contractorSignatureImage = params.contractor_signature_image || null; //接收方签名
let artworkRecord = params.artwork_record;
if (artworkRecord) {
this.artworkRecord = {
recordNumber: artworkRecord.record_number,
author: artworkRecord.author,
oldName: artworkRecord.old_name,
creationPeriodEnd: artworkRecord.creation_period_end,
creationPeriodStart: artworkRecord.creation_period_start,
width: artworkRecord.width,
height: artworkRecord.height,
length: artworkRecord.length,
materialId: artworkRecord.material_id,
};
} else {
this.artworkRecord = {
recordNumber: null,
author: null,
oldName: null,
creationPeriodEnd: null,
creationPeriodStart: null,
width: null,
height: null,
length: null,
materialId: null,
};
}
}
get statusMsg() {
return godownEntryStatus[this.status];
}
get entryTimeFormat() {
return formatterMillisecond(this.entryTime);
}
static createWareHouseEntry(params) {
let editTask = new EditTask(artApi.wareHouseEntryInsert);
editTask.addParam('_artwork_record_id', params.artworkRecordId);
editTask.addParam('_entry_time', params.entryTime);
editTask.addParam('_client', params.client);
editTask.addParam('_contractor', params.contractor);
editTask.addParam('_stand', params.stand);
editTask.addParam('_packing_type', params.packingType);
editTask.addParam('_support', params.support);
editTask.addParam('_remark', params.remark);
editTask.addParam('_images', params.images);
editTask.addParam('_condition_issues', params.conditionIssues);
editTask.addParam('_condition_issues_images', params.conditionIssuesImages);
editTask.addParam('_ware_house_id', params.wareHouseId);
editTask.addParam('_client_signature_image', params.clientSignatureImage);
editTask.addParam('_contractor_signature_image', params.contractorSignatureImage);
return editTask.execute();
}
static queryWareHouseEntry(params = {}) {
let { pageInfo, order, filters } = params;
let query = new Query();
if (pageInfo) {
query.setCurrPage(pageInfo.currPage);
query.setPageSize(pageInfo.pageSize);
}
if (filters && filters.length > 0) {
filters.forEach((item) => {
query.addFilter(item['name'], item['operator'], item['value']);
});
}
if (order) {
query.setOrder(order);
} else {
query.setOrder({ id: 'desc' });
}
let queryTask = new QueryTask(artApi.viewWareHouseEntry, pageInfo);
return new Promise((resolve, reject) => {
queryTask
.execute(query)
.then((res) => {
if (pageInfo) {
if (res.data) {
res.data = res.data.map((item) => {
return new GodownEntry(item);
});
resolve(res);
}
} else {
let resArr = res.map((item) => {
return new GodownEntry(item);
});
resolve(resArr);
}
})
.catch((err) => {
reject(err);
});
});
}
static updateWareHouseEntry(params) {
let editTask = new EditTask(artApi.wareHouseEntryUpdate);
editTask.addParam('_id', params.id);
editTask.addParam('_status', params.status);
editTask.addParam('_entry_time', params.entryTime);
editTask.addParam('_client', params.client);
editTask.addParam('_contractor', params.contractor);
editTask.addParam('_stand', params.stand);
editTask.addParam('_packing_type', params.packingType);
editTask.addParam('_support', params.support);
editTask.addParam('_remark', params.remark);
editTask.addParam('_images', params.images);
editTask.addParam('_condition_issues', params.conditionIssues);
editTask.addParam('_condition_issues_images', params.conditionIssuesImages);
editTask.addParam('_ware_house_id', params.wareHouseId);
editTask.addParam('_client_signature_image', params.clientSignatureImage);
editTask.addParam('_contractor_signature_image', params.contractorSignatureImage);
return editTask.execute();
}
deleteWareHouseEntry() {
let editTask = new EditTask(artApi.wareHouseEntryDelete);
editTask.addParam('_id', this.id);
return editTask.execute();
}
}
export default GodownEntry;

76
outBoundReview.js Normal file
View File

@ -0,0 +1,76 @@
import { EditTask, Query, QueryTask } from '@airkoon/cellsys/cellsysUtil';
import { artApi } from './artApi';
class OutBoundReview {
constructor(params) {
this.id = params.id;
this.artworkRecordName = params.artwork_record_name; //艺术品档
this.artworkRecordNumber = params.artwork_record_number; //艺术品
this.wareHouseOutboundId = params.ware_house_outbound_id;
this.reviewerSignatureImage = params.reviewer_signature_image;
this.status = params.status;
this.destination = params.destination;
this.remark = params.remark;
this.createBy = params.create_by;
this.createTime = params.create_time;
this.updateBy = params.update_by;
this.updateTime = params.update_time;
this.creator = params.creator;
this.updater = params.updater;
}
static createWareHouseOutboundReview(params) {
let editTask = new EditTask(artApi.wareHouseOutboundReviewInsert);
editTask.addParam('_ware_house_outbound_id', params.id);
return editTask.execute();
}
static updateWarehouseOutboundReview(params) {
let editTask = new EditTask(artApi.wareHouseOutboundReviewUpdate);
editTask.addParam('_id', params.id);
editTask.addParam('_reviewer_signature_image', params.reviewerSignatureImage);
editTask.addParam('_status', params.status);
editTask.addParam('_remark', params.remark);
return editTask.execute();
}
static queryWarehouseOutboundReview(params) {
let { pageInfo, order, filters } = params;
let query = new Query();
if (pageInfo) {
query.setCurrPage(pageInfo.currPage);
query.setPageSize(pageInfo.pageSize);
}
if (filters && filters.length > 0) {
filters.forEach((item) => {
query.addFilter(item['name'], item['operator'], item['value']);
});
}
if (order) {
query.setOrder(order);
} else {
query.setOrder({ id: 'desc' });
}
let queryTask = new QueryTask(artApi.viewWareHouseOutboundReview, pageInfo);
return new Promise((resolve, reject) => {
queryTask
.execute(query)
.then((res) => {
if (pageInfo) {
if (res.data) {
res.data = res.data.map((item) => {
return new OutBoundReview(item);
});
resolve(res);
}
} else {
let resArr = res.map((item) => {
return new OutBoundReview(item);
});
resolve(resArr);
}
})
.catch((err) => {
reject(err);
});
});
}
}
export default OutBoundReview;

151
outbound.js Normal file
View File

@ -0,0 +1,151 @@
import { EditTask, Query, QueryTask } from '@airkoon/cellsys/cellsysUtil';
import { artApi } from './artApi';
import CellsysArt from './cellsysArt';
class Outbound {
constructor(params) {
if (!params) {
params = {};
}
this.id = params.id;
this.status = params.status;
this.number = params.number;
this.artworkRecordId = params.artwork_record_id; //艺术品档案Id
this.applicant = params.applicant; //出库申请人
this.recipient = params.recipient; //签收人
this.recipientSignatureimage = params.recipient_signature_image; //签收人签名图片
this.reason = params.reason; //出库原因
this.images = params.images; //附件图片
this.applicationTime = params.application_time; //申请时间
this.remark = params.remark; //备注
this.destination = params.destination; //目的地
this.destinationGeometry = params.destination_geometry; //目的地坐标
this.outboundTime = params.outbound_time === 0 ? null : params.outbound_time; //出库时间
let artworkRecord = params.artwork_record;
if (artworkRecord) {
this.artworkRecord = {
recordNumber: artworkRecord.record_number,
author: artworkRecord.author,
oldName: artworkRecord.old_name,
creationPeriodEnd: artworkRecord.creation_period_end,
creationPeriodStart: artworkRecord.creation_period_start,
width: artworkRecord.width,
height: artworkRecord.height,
length: artworkRecord.length,
materialId: artworkRecord.material_id,
};
} else {
this.artworkRecord = {
recordNumber: null,
author: null,
oldName: null,
creationPeriodEnd: null,
creationPeriodStart: null,
width: null,
height: null,
length: null,
materialId: null,
};
}
this.createTime = params.create_time;
this.updateTime = params.update_time;
let creator = params.creator;
this.creator = {
memberId: null,
name: null,
};
if (creator) {
this.creator = {
memberId: creator.member_id,
name: creator.name,
};
}
let updater = params.updater;
this.updater = {
memberId: null,
name: null,
};
if (updater) {
this.updater = {
memberId: updater.member_id,
name: updater.name,
};
}
//审批
this.reviewer = params.reviewer;
this.reviewerId = params.reviewer_id;
this.reviewerSignatureimage = params.reviewer_signature_image;
}
static cerateWarehouseOut(params) {
let editTask = new EditTask(artApi.wareHouseOutboundInsert);
editTask.addParam('_artwork_record_id', params.artworkRecordId);
editTask.addParam('_recipient', params.recipient);
editTask.addParam('_recipient_signature_image', params.recipientSignatureimage);
editTask.addParam('_reason', params.reason);
editTask.addParam('_images', params.images);
editTask.addParam('_remark', params.remark);
editTask.addParam('_destination', params.destination);
editTask.addParam('_destination_geometry', params.destinationGeometry);
return editTask.execute();
}
static updateWarehouseOut(params) {
let editTask = new EditTask(artApi.wareHouseOutboundUpdate);
editTask.addParam('_id', params.id);
editTask.addParam('_artwork_record_id', params.artworkRecordId);
editTask.addParam('_recipient', params.recipient);
editTask.addParam('_recipient_signature_image', params.recipientSignatureimage);
editTask.addParam('_reason', params.reason);
editTask.addParam('_images', params.images);
editTask.addParam('_remark', params.remark);
editTask.addParam('_destination', params.destination);
editTask.addParam('_destination_geometry', params.destinationGeometry);
return editTask.execute();
}
static deteleWareHouseOut(params) {
let editTask = new EditTask(artApi.wareHouseOutboundDelete);
editTask.addParam('_id', params.id);
return editTask.execute();
}
static queryWarehouseOut(params) {
let { pageInfo, order, filters } = params;
let query = new Query();
if (pageInfo) {
query.setCurrPage(pageInfo.currPage);
query.setPageSize(pageInfo.pageSize);
}
if (filters && filters.length > 0) {
filters.forEach((item) => {
query.addFilter(item['name'], item['operator'], item['value']);
});
}
if (order) {
query.setOrder(order);
} else {
query.setOrder({ id: 'desc' });
}
let queryTask = new QueryTask(artApi.viewWareHouseOutbound, pageInfo);
return new Promise((resolve, reject) => {
queryTask
.execute(query)
.then((res) => {
if (pageInfo) {
if (res.data) {
res.data = res.data.map((item) => {
return new Outbound(item);
});
resolve(res);
}
} else {
let resArr = res.map((item) => {
return new Outbound(item);
});
resolve(resArr);
}
})
.catch((err) => {
reject(err);
});
});
}
}
export default Outbound;

120
package-lock.json generated Normal file
View File

@ -0,0 +1,120 @@
{
"name": "@airkoon/cellsysArt",
"version": "1.0.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "@airkoon/cellsysArt",
"version": "1.0.0",
"license": "ISC",
"dependencies": {
"@airkoon/cellsys": "git+http://ag:12345678@8.134.38.106:3000/ag/cellsys.git#v1.15.3",
"dayjs": "~1.10.6"
}
},
"node_modules/@airkoon/cellsys": {
"version": "1.15.3",
"resolved": "git+http://ag:12345678@8.134.38.106:3000/ag/cellsys.git#55f40b09e8364b2576a810436c7bf866d3606de9",
"dependencies": {
"canvg": "~3.0.7"
}
},
"node_modules/@babel/runtime": {
"version": "7.26.0",
"resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.26.0.tgz",
"integrity": "sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==",
"dependencies": {
"regenerator-runtime": "^0.14.0"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/runtime/node_modules/regenerator-runtime": {
"version": "0.14.1",
"resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
"integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw=="
},
"node_modules/@types/raf": {
"version": "3.4.3",
"resolved": "https://registry.npmmirror.com/@types/raf/-/raf-3.4.3.tgz",
"integrity": "sha512-c4YAvMedbPZ5tEyxzQdMoOhhJ4RD3rngZIdwC2/qDN3d7JpEhB6fiBRKVY1lg5B7Wk+uPBjn5f39j1/2MY1oOw=="
},
"node_modules/canvg": {
"version": "3.0.10",
"resolved": "https://registry.npmmirror.com/canvg/-/canvg-3.0.10.tgz",
"integrity": "sha512-qwR2FRNO9NlzTeKIPIKpnTY6fqwuYSequ8Ru8c0YkYU7U0oW+hLUvWadLvAu1Rl72OMNiFhoLu4f8eUjQ7l/+Q==",
"dependencies": {
"@babel/runtime": "^7.12.5",
"@types/raf": "^3.4.0",
"core-js": "^3.8.3",
"raf": "^3.4.1",
"regenerator-runtime": "^0.13.7",
"rgbcolor": "^1.0.1",
"stackblur-canvas": "^2.0.0",
"svg-pathdata": "^6.0.3"
},
"engines": {
"node": ">=10.0.0"
}
},
"node_modules/core-js": {
"version": "3.39.0",
"resolved": "https://registry.npmmirror.com/core-js/-/core-js-3.39.0.tgz",
"integrity": "sha512-raM0ew0/jJUqkJ0E6e8UDtl+y/7ktFivgWvqw8dNSQeNWoSDLvQ1H/RN3aPXB9tBd4/FhyR4RDPGhsNIMsAn7g==",
"hasInstallScript": true,
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/core-js"
}
},
"node_modules/dayjs": {
"version": "1.10.8",
"resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.10.8.tgz",
"integrity": "sha512-wbNwDfBHHur9UOzNUjeKUOJ0fCb0a52Wx0xInmQ7Y8FstyajiV1NmK1e00cxsr9YrE9r7yAChE0VvpuY5Rnlow=="
},
"node_modules/performance-now": {
"version": "2.1.0",
"resolved": "https://registry.npmmirror.com/performance-now/-/performance-now-2.1.0.tgz",
"integrity": "sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow=="
},
"node_modules/raf": {
"version": "3.4.1",
"resolved": "https://registry.npmmirror.com/raf/-/raf-3.4.1.tgz",
"integrity": "sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA==",
"dependencies": {
"performance-now": "^2.1.0"
}
},
"node_modules/regenerator-runtime": {
"version": "0.13.11",
"resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz",
"integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg=="
},
"node_modules/rgbcolor": {
"version": "1.0.1",
"resolved": "https://registry.npmmirror.com/rgbcolor/-/rgbcolor-1.0.1.tgz",
"integrity": "sha512-9aZLIrhRaD97sgVhtJOW6ckOEh6/GnvQtdVNfdZ6s67+3/XwLS9lBcQYzEEhYVeUowN7pRzMLsyGhK2i/xvWbw==",
"engines": {
"node": ">= 0.8.15"
}
},
"node_modules/stackblur-canvas": {
"version": "2.7.0",
"resolved": "https://registry.npmmirror.com/stackblur-canvas/-/stackblur-canvas-2.7.0.tgz",
"integrity": "sha512-yf7OENo23AGJhBriGx0QivY5JP6Y1HbrrDI6WLt6C5auYZXlQrheoY8hD4ibekFKz1HOfE48Ww8kMWMnJD/zcQ==",
"engines": {
"node": ">=0.1.14"
}
},
"node_modules/svg-pathdata": {
"version": "6.0.3",
"resolved": "https://registry.npmmirror.com/svg-pathdata/-/svg-pathdata-6.0.3.tgz",
"integrity": "sha512-qsjeeq5YjBZ5eMdFuUa4ZosMLxgr5RZ+F+Y1OrDhuOCEInRMA3x74XdBtggJcj9kOeInz0WE+LgCPDkZFlBYJw==",
"engines": {
"node": ">=12.0.0"
}
}
}
}

14
package.json Normal file
View File

@ -0,0 +1,14 @@
{
"name": "@airkoon/cellsysArt",
"version": "1.0.0",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC",
"description": "美院相关",
"dependencies": {
"@airkoon/cellsys": "git+http://ag:12345678@8.134.38.106:3000/ag/cellsys.git#v1.15.3",
"dayjs": "~1.10.6"
}
}

13
repairEvent.js Normal file
View File

@ -0,0 +1,13 @@
import cellsysEventType from "@airkoon/cellsys/cellsysEventType";
class RepairEventSet extends cellsysEventType {
constructor(params) {
super(params);
}
queryArtwork(){
}
}
export default RepairEventSet

173
utils/date.js Normal file
View File

@ -0,0 +1,173 @@
/**
* @Author YuanWei
* @Date 2021/01/13 17:39:28
* @FileName date.js
* @Description: 时间工具类
*/
import dayjs from 'dayjs';
import 'dayjs/locale/zh-cn';
// import localeData from 'dayjs/plugin/localeData'
import isSameOrAfterPlugin from 'dayjs/plugin/isSameOrAfter';
import isSameOrBeforePlugin from 'dayjs/plugin/isSameOrBefore';
dayjs.locale('zh-cn');
// dayjs.extend(localeData)
dayjs.extend(isSameOrAfterPlugin);
dayjs.extend(isSameOrBeforePlugin);
const dateFormat = {
DATE_PATTERN_FLAT: 'YYYY-MM-DD HH:mm:ss',
};
/**
* 检查时间字段,字符串则转换为日期对象
* @param param
* @returns {Date}
*/
const transformParam = function (param) {
return typeof param === 'string' ? new Date(param) : param;
};
/**
* 获取当天开始时间
* @returns {Date}
*/
export const getToDayDate = function () {
return dayjs().startOf('day').toDate();
};
/**
* 获取指定日期的开始日期部分时间
* @param date
*/
export const getDayDate = function (date) {
return dayjs(transformParam(date)).startOf('day').toDate();
};
/**
* 格式化时间
* @param date 需要格式化的时间(string|Date)
* @param format 时间格式
* @returns {string} 返回字符串时间
*/
export function formatterDate(date, format = dateFormat.DATE_PATTERN_FLAT) {
return dayjs(transformParam(date)).format(format);
}
/**
* 格式化秒
* @param second
* @param format
* @returns {string}
*/
export function formatterSecond(second, format = dateFormat.DATE_PATTERN_FLAT) {
return dayjs(new Date(second * 1000)).format(format);
}
/**
* 格式化毫秒
* @param millisecond
* @param format
* @returns {string}
*/
export function formatterMillisecond(millisecond, format = dateFormat.DATE_PATTERN_FLAT) {
return dayjs(new Date(millisecond)).format(format);
}
/**
* 格式化秒或毫秒
* @param time
* @param format
*/
export function formatterSecondOrMillisecond(time, format = dateFormat.DATE_PATTERN_FLAT) {
let length = String(time).length;
let temp;
try {
temp = parseInt(time);
} catch (e) {
return null;
}
//判断时间是否为负数小于1970
if (temp > 0) {
if (length === 13) {
//毫秒级
return formatterMillisecond(temp, format);
} else if (length === 10) {
//秒级
return formatterSecond(temp, format);
} else {
return null;
}
} else {
//因为多了负号所以长度加1
if (length === 14) {
//毫秒级
return formatterMillisecond(temp, format);
} else if (length === 11) {
//秒级
return formatterSecond(temp, format);
} else {
return null;
}
}
// throw new Error('time not is second or millisecond')
}
/**
* 判断时间是否是今天
* @param date
* @returns {boolean}
*/
export function isToDay(date) {
return dayjs(new Date()).isSame(transformParam(date), 'day');
}
/**
* 是否在今天之前
* @param date
*/
export function isToDayOrBefore(date) {
return dayjs(new Date()).isSameOrBefore(transformParam(date), 'day');
}
/**
* 是否在今天之后
* @param date
*/
export function isToDayOrAfter(date) {
return dayjs(new Date()).isSameOrAfter(transformParam(date), 'day');
}
/**
* 解析日期返回一个date对象
* @param date
* @param format
* @returns {Date}
*/
export function parseDate(date, format = dateFormat.DATE_PATTERN_FLAT) {
return dayjs(date, format).toDate();
}
/**
* 获取指定日期所在的周一时间
* @param date
* @returns {Date}
*/
export function getWeekMonday(date) {
return dayjs(transformParam(date)).startOf('week').toDate();
}
/*毫秒时间戳转换为 “xxxx年xx月xx日” 格式的代码:*/
export function formatMillisecondsToChineseDateString(milliseconds) {
// 创建一个新的Date对象使用传入的毫秒时间戳
const date = new Date(milliseconds);
// 获取年、月、日
const year = date.getFullYear();
const month = date.getMonth() + 1; // getMonth() 返回的月份是从0开始的所以需要加1
const day = date.getDate();
// 返回格式化的日期字符串
return `${year}${month}${day}`;
}

101
wareHouse.js Normal file
View File

@ -0,0 +1,101 @@
import { EditTask, Query, QueryTask } from '@airkoon/cellsys/cellsysUtil';
import { artApi } from './artApi';
class Warehouse {
constructor(params) {
if (!params) {
params = {};
}
this.orgId = params.org_id;
this.orgName = params.org_name;
this.id = params.id;
this.name = params.name;
this.type = params.type;
this.status = params.status;
this.action = params.action || 0;
this.bufferDistance = params.buffer_distance || 0;
this.radius = params.radius || 0;
this.geometry = params.geometry;
this.typeName = params.type_name;
this.style = params.style ? params.style : {};
this.description = params.description;
}
static createWarehouse(params) {
let editTask = new EditTask(artApi.wareHouseInsert);
editTask.addParam('_name', params.name);
editTask.addParam('_description', params.description);
editTask.addParam('_geometry', params.geometry);
editTask.addParam('_type', params.type);
editTask.addParam('_status', 1);
editTask.addParam('_action', params.action);
editTask.addParam('_buffer_distance', params.bufferDistance);
editTask.addParam('_radius', params.radius);
return editTask.execute();
}
static updateWarehouse(params) {
let editTask = new EditTask(artApi.wareHouseUpdate);
editTask.addParam('_type', params.type);
editTask.addParam('_id', params.id);
editTask.addParam('_geometry', params.geometry);
editTask.addParam('_name', params.name);
editTask.addParam('_description', params.description);
editTask.addParam('_action', params.action);
editTask.addParam('_status', 1);
editTask.addParam('_buffer_distance', params.bufferDistance);
editTask.addParam('_radius', params.radius);
return editTask.execute();
}
static deleteWarehouse(params) {
let editTask = new EditTask(artApi.wareHouseDelete);
editTask.addParam('_id', params.id);
return editTask.execute();
}
static queryWarehouse(pageInfo, filters, order) {
let query = new Query();
if (pageInfo) {
query.setCurrPage(pageInfo.currPage);
query.setPageSize(pageInfo.pageSize);
}
if (filters && filters.length > 0) {
filters.forEach((item) => {
query.addFilter(item['name'], item['operator'], item['value']);
});
}
if (order) {
query.setOrder(order);
} else {
query.setOrder({ id: 'desc' });
}
let queryTask = new QueryTask(artApi.viewWareHouse, pageInfo);
return new Promise((resolve, reject) => {
queryTask
.execute(query)
.then((res) => {
if (pageInfo) {
if (res.data) {
res.data = res.data.map((item) => {
return new Warehouse(item);
});
resolve(res);
}
} else {
let resArr = res.map((item) => {
return new Warehouse(item);
});
resolve(resArr);
}
})
.catch((err) => {
reject(err);
});
});
}
static countArtworkInWareHouse(params) {
// let query = new Query();
let editTask = new EditTask(artApi.countInWareHouse);
editTask.addParam('_id', params.id);
editTask.addParam('_type', params.type);
return editTask.execute();
}
}
export default Warehouse;

100
wareHouseType.js Normal file
View File

@ -0,0 +1,100 @@
import { CellsysMarkerStyle } from '@airkoon/cellsys/cellsysStyle';
import { EditTask, Query, QueryTask } from '@airkoon/cellsys/cellsysUtil';
import { artApi } from './artApi';
class WareHouseType {
constructor(params) {
if (!params) {
params = {};
}
this.id = params.id;
this.orgId = params.org_id;
this.name = params.name;
this.typeCount = params.type_count;
this.description = params.description;
this.style = params.style ? params.style : CellsysMarkerStyle.getDefaultStyle();
let creator = params.creator;
this.creator = {
memberId: null,
name: null,
};
if (creator) {
this.creator = {
memberId: creator.member_id,
name: creator.name,
};
}
let updater = params.updater;
this.updater = {
memberId: null,
name: null,
};
if (updater) {
this.updater = {
memberId: updater.member_id,
name: updater.name,
};
}
}
static createWareHouseType(params) {
let editTask = new EditTask(artApi.wareHouseTypeInsert);
editTask.addParam('_name', params.name);
editTask.addParam('_description', params.description);
editTask.addParam('_style', params.style);
return editTask.execute();
}
static updateWareHouseType(params) {
let editTask = new EditTask(artApi.wareHouseTypeUpdate);
editTask.addParam('_id', params.id);
editTask.addParam('_name', params.name);
editTask.addParam('_description', params.description);
editTask.addParam('_style', params.style);
return editTask.execute();
}
static deleteWareHouseType(params) {
let editTask = new EditTask(artApi.wareHouseTypeDelete);
editTask.addParam('_id', params.id);
return editTask.execute();
}
static queryWareHouseType(pageInfo, filters, order) {
let query = new Query();
if (pageInfo) {
query.setCurrPage(pageInfo.currPage);
query.setPageSize(pageInfo.pageSize);
}
if (filters && filters.length > 0) {
filters.forEach((item) => {
query.addFilter(item['name'], item['operator'], item['value']);
});
}
if (order) {
query.setOrder(order);
} else {
query.setOrder({ id: 'desc' });
}
let queryTask = new QueryTask(artApi.viewWareHouseType, pageInfo);
return new Promise((resolve, reject) => {
queryTask
.execute(query)
.then((res) => {
if (pageInfo) {
if (res.data) {
res.data = res.data.map((item) => {
return new WareHouseType(item);
});
resolve(res);
}
} else {
let resArr = res.map((item) => {
return new WareHouseType(item);
});
resolve(resArr);
}
})
.catch((err) => {
reject(err);
});
});
}
}
export default WareHouseType;