提交 2f05b64a 编写于 作者: tony001's avatar tony001

Merge branch 'dev'

......@@ -52,6 +52,7 @@ import CodeListService from "@/codelist/codelist-service";
import EntityService from '@/service/entity-service';
import { Vue, Component, Prop, Provide, Emit, Watch } from 'vue-property-decorator';
import { Environment } from '@/environments/environment';
import moment from "moment";
@Component({
})
......@@ -395,11 +396,11 @@ export default class AppDataUploadView extends Vue {
let reader = new FileReader();
reader.onload = (e:any) => {
let data = e.target.result;
this.workBookData = XLSX.read(data, {type: 'binary'});
this.workBookData = XLSX.read(data, {type: 'binary',cellDates: true});
let xlsxData = XLSX.utils.sheet_to_json(this.workBookData.Sheets[this.workBookData.SheetNames[0]]);
let list1 = this.getFirstRow(this.workBookData);
xlsxData = this.AddXlsxData(xlsxData, list1);
this.importDataArray = JSON.parse(JSON.stringify(xlsxData));
this.importDataArray = this.$util.deepCopy(xlsxData);
(this.$refs.inputUpLoad as any).value = '';
};
reader.readAsBinaryString(f);
......@@ -505,6 +506,11 @@ export default class AppDataUploadView extends Vue {
data.forEach((item:any) =>{
let curObject:any = {};
Object.keys(item).forEach((ele:any) => {
// todo XLSX读取时间为国际时间(东8区)+8H转为标准时间
if (item[ele] instanceof Date){
const tempDate:Date = item[ele];
item[ele] = moment(tempDate).add(8, 'h').format("YYYY-MM-DD HH:mm:ss");
}
if(this.allFieldMap.get(ele).codelist){
let codelistTag:string = this.allFieldMap.get(ele).codelist.tag;
let codelistIsNumber:boolean = this.allFieldMap.get(ele).codelist.isnumber;
......
......@@ -84,140 +84,142 @@
</template>
<script lang="ts">
import {Vue, Component, Prop, Model, Emit} from "vue-property-decorator";
import {Subject} from "rxjs";
import {Environment} from '@/environments/environment';
import moment from 'moment';
import {Vue, Component, Prop, Model, Emit} from "vue-property-decorator";
import {Environment} from '@/environments/environment';
import moment from 'moment';
@Component({})
export default class AppMessagePopover extends Vue {
@Component({})
export default class AppMessagePopover extends Vue {
// 是否显示小圆点
public showIsDot: any = false;
// 默认显示的tab页
public default_tab_pane: any = "first";
// 待办列表
public myTasks: any = [];
// 待办面板标签
public myTasksLabel: any = "待办";
// 待办面板显示条数
public taskShowCnt:number = 0;
// 消息列表
public myMsgs: any = [];
// 消息面板标签
public myMsgsLabel: any = "消息";
// 信息面板显示条数
public msgShowCnt:number = 0;
// 是否显示小圆点
public showIsDot: any = false;
// 默认显示的tab页
public default_tab_pane: any = "first";
// 待办列表
public myTasks: any = [];
// 待办面板标签
public myTasksLabel: any = "待办";
// 待办面板显示条数
public taskShowCnt:number = 0;
// 消息列表
public myMsgs: any = [];
// 消息面板标签
public myMsgsLabel: any = "消息";
// 信息面板显示条数
public msgShowCnt:number = 0;
/**
* vue创建
*/
created(): void {}
/**
* vue创建
*/
created(): void {}
/**
* vue挂载
*/
mounted(): void {
// 首次获取待办列表
this.getMyTasks();
// 定时器:每隔1分钟重新获取待办列表
const timer = setInterval(()=>{
this.getMyTasks();
},60000);
// 监听定时器,在vue销毁前清除定时器
this.$once('hook:beforeDestroy',()=>{
// 清除定时器
clearInterval(timer);
});
/**
* vue挂载
*/
mounted(): void {
if(!Environment.workflow){
return;
}
// 首次获取待办列表
this.getMyTasks();
// 定时器:每隔1分钟重新获取待办列表
const timer = setInterval(()=>{
this.getMyTasks();
},60000);
// 监听定时器,在vue销毁前清除定时器
this.$once('hook:beforeDestroy',()=>{
// 清除定时器
clearInterval(timer);
});
}
/**
* 获取待办列表
*/
public getMyTasks() {
let url: any = '/wfcore/mytasks';
this.$http.get(url).then((response: any) => {
if (response && response.status == 200) {
const data: any = response.data;
if (data && data.length > 0) {
this.myTasks = data;
this.showIsDot = true;
} else {
this.myTasks = [];
}
// 获取消息列表
this.getMyMsgs();
/**
* 获取待办列表
*/
public getMyTasks() {
let url: any = '/wfcore/mytasks';
this.$http.get(url).then((response: any) => {
if (response && response.status == 200) {
const data: any = response.data;
if (data && data.length > 0) {
this.myTasks = data;
this.showIsDot = true;
} else {
this.myTasks = [];
}
}).catch((error: any) => {
console.warn("加载数据错误");
})
}
/**
* 获取消息列表
*/
public getMyMsgs(){
// TODO:接口获取消息列表,这里用的待办数据
this.myMsgs = this.myTasks;
if (this.myMsgs.length > 0 && this.myTasks.length == 0) {
// 显示小圆点
this.showIsDot = true;
// 获取消息列表
this.getMyMsgs();
}
}
}).catch((error: any) => {
console.warn("加载数据错误");
})
}
/**
* 点击标签事件
*/
public handleTag(data: any) {
if (!data) return this.$message.error("未获取到标签内容");
// 拼接要打开的窗口地址
const baseUrl:any = Environment.BaseUrl;
const openUrl:any = baseUrl + `/wfcore/mytasks/${data.processDefinitionKey}/web/${data.processInstanceBusinessKey}/usertasks/${data.taskDefinitionKey}`;
// 打开新窗口
window.open(openUrl,'_blank');
/**
* 获取消息列表
*/
public getMyMsgs(){
// TODO:接口获取消息列表,这里用的待办数据
this.myMsgs = this.myTasks;
if (this.myMsgs.length > 0 && this.myTasks.length == 0) {
// 显示小圆点
this.showIsDot = true;
}
}
/**
* 销毁之前
*/
beforeDestroy(): void {
// 清空数据
this.showIsDot = false;
this.myTasks = [];
this.myMsgs = [];
}
/**
* 点击标签事件
*/
public handleTag(data: any) {
if (!data) return this.$message.error("未获取到标签内容");
// 拼接要打开的窗口地址
const baseUrl:any = Environment.BaseUrl;
const openUrl:any = baseUrl + `/wfcore/mytasks/${data.processDefinitionKey}/web/${data.processInstanceBusinessKey}/usertasks/${data.taskDefinitionKey}`;
// 打开新窗口
window.open(openUrl,'_blank');
}
/**
* 时间格式转换
*/
public formatDate(date: string, format: string) {
if(date && format) {
return moment(date).format(format);
}
return date;
}
/**
* 销毁之前
*/
beforeDestroy(): void {
// 清空数据
this.showIsDot = false;
this.myTasks = [];
this.myMsgs = [];
}
/**
* 加载更多
*/
public showMore(cnt: string) {
if(Object.is('taskShowCnt', cnt)) {
this.taskShowCnt + 10 < this.myTasks.length ? this.taskShowCnt += 10 : this.taskShowCnt += this.myTasks.length-this.taskShowCnt;
}
if(Object.is('msgShowCnt', cnt)) {
this.msgShowCnt + 10 < this.myMsgs.length ? this.msgShowCnt += 10 : this.msgShowCnt += this.myMsgs.length-this.msgShowCnt;
}
/**
* 时间格式转换
*/
public formatDate(date: string, format: string) {
if(date && format) {
return moment(date).format(format);
}
return date;
}
/**
* 弹出框 显示/隐藏 时显示条数初始化
*/
public initTabCnt() {
this.taskShowCnt = this.myTasks.length >= 10 ? 10 : this.myTasks.length;
this.msgShowCnt = this.myMsgs.length >= 10 ? 10 : this.myMsgs.length;
/**
* 加载更多
*/
public showMore(cnt: string) {
if(Object.is('taskShowCnt', cnt)) {
this.taskShowCnt + 10 < this.myTasks.length ? this.taskShowCnt += 10 : this.taskShowCnt += this.myTasks.length-this.taskShowCnt;
}
if(Object.is('msgShowCnt', cnt)) {
this.msgShowCnt + 10 < this.myMsgs.length ? this.msgShowCnt += 10 : this.msgShowCnt += this.myMsgs.length-this.msgShowCnt;
}
}
/**
* 弹出框 显示/隐藏 时显示条数初始化
*/
public initTabCnt() {
this.taskShowCnt = this.myTasks.length >= 10 ? 10 : this.myTasks.length;
this.msgShowCnt = this.myMsgs.length >= 10 ? 10 : this.myMsgs.length;
}
}
</script>
<style lang='less'>
......
......@@ -12,8 +12,8 @@
:filterable="filterable"
@on-open-change="onClick"
:placeholder="placeholder?placeholder:$t('components.dropDownListMpicker.placeholder')">
<i-option v-for="(item, index) in items" :key="index" :class="item.class" :value="item.value.toString()" :label="item.text">
<Checkbox :value = "(currentVal.indexOf(item.value.toString()))==-1?false:true">
<i-option v-for="(item, index) in items" :key="index" :class="item.class" :value="item.value ? item.value.toString():''" :label="item.text">
<Checkbox :value="(currentVal.indexOf(item.value ? item.value.toString() : '')) == -1 ? false : true">
{{Object.is(codelistType,'STATIC') ? $t('codelist.'+tag+'.'+item.value) : item.text}}
</Checkbox>
</i-option>
......
......@@ -394,7 +394,9 @@ export default class DropDownList extends Vue {
if(type === 'number'){
item.value = item.value.toString();
}else{
if(item.value.indexOf('.') == -1){
if(type == "null") {
this.valueType == "number" ? item.value = 0 : item.value = '';
}else if(item.value.indexOf('.') == -1){
item.value = parseInt(item.value);
}else{
item.value = parseFloat(item.value);
......
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册