329 lines
10 KiB
Vue
329 lines
10 KiB
Vue
<template>
|
|
<!-- <div>
|
|
<button v-if="true" @click="testBreakPoint">TestBreakPoint</button>
|
|
</div> -->
|
|
|
|
<el-row>
|
|
<el-col :span="8">
|
|
<span>Env</span>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<div class="grid-content bg-purple">
|
|
|
|
<el-select v-model="env">
|
|
<el-option v-for="item in envOpts" :key="item.env" :label="item.env" :value="item.env"></el-option>
|
|
</el-select>
|
|
</div>
|
|
</el-col>
|
|
</el-row>
|
|
|
|
|
|
<el-row>
|
|
<el-col :span="8">
|
|
<span>ProjectId</span>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<div class="grid-content bg-purple">
|
|
<!-- <span>projectId</span> -->
|
|
<el-input v-model="projectId" />
|
|
</div>
|
|
</el-col>
|
|
</el-row>
|
|
|
|
<el-row>
|
|
<el-col :span="8">
|
|
<span>EmployeeId</span>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<div class="grid-content bg-purple-light">
|
|
<el-input v-model="employeeId" />
|
|
</div>
|
|
</el-col>
|
|
</el-row>
|
|
|
|
<el-row>
|
|
<el-col :span="8">
|
|
<span>StartDate</span>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<div class="grid-content bg-purple-light">
|
|
<el-input v-model="startDate" />
|
|
</div>
|
|
</el-col>
|
|
</el-row>
|
|
|
|
<el-row>
|
|
<el-col :span="8">
|
|
<span>DateDate</span>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<div class="grid-content bg-purple-light">
|
|
<el-input v-model="endDate" />
|
|
</div>
|
|
</el-col>
|
|
</el-row>
|
|
|
|
<el-row>
|
|
<el-col :span="8">
|
|
<span>Workflows</span>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<div class="grid-content bg-purple-light">
|
|
<el-input v-model="workflows" />
|
|
</div>
|
|
</el-col>
|
|
</el-row>
|
|
|
|
<el-row>
|
|
<el-col :span="12">
|
|
<div class="grid-content bg-purple-light">
|
|
<el-button type="primary" @click="onQuerySubmit">Submit</el-button>
|
|
</div>
|
|
</el-col>
|
|
<el-col :span="12">
|
|
<div class="grid-content bg-purple-light">
|
|
<el-button type="primary" @click="onClear">Clear</el-button>
|
|
</div>
|
|
</el-col>
|
|
</el-row>
|
|
<el-row>
|
|
<el-col>
|
|
<el-table :data="processMsgs">
|
|
<el-table-column type="expand">
|
|
<template #default="props">
|
|
<el-table :data="props.row.data">
|
|
<!-- <el-table-column prop="groupId"></el-table-column>
|
|
<el-table-column prop="groupName"></el-table-column> -->
|
|
<el-table-column v-for="(item, key) in props.row.dataTitles" :key="key" :prop="item.value"
|
|
:label="item.label"></el-table-column>
|
|
</el-table>
|
|
</template>
|
|
</el-table-column>
|
|
<el-table-column prop="component" label="Component"></el-table-column>
|
|
<el-table-column prop="message" label="Message"></el-table-column>
|
|
</el-table>
|
|
</el-col>
|
|
</el-row>
|
|
<!-- <el-row>
|
|
<el-col :span="24">
|
|
<div class="grid-content bg-purple-light">
|
|
<el-input v-model="rawProcessMsgs" :autosize="{ minRows: 2 }" type="textarea" />
|
|
</div>
|
|
</el-col>
|
|
</el-row> -->
|
|
|
|
</template>
|
|
|
|
<script>
|
|
import axios from "axios";
|
|
// import { ipcRenderer } from "electron";
|
|
export default {
|
|
name: "FaasAttendReplay",
|
|
data() {
|
|
return {
|
|
count: 1,
|
|
componentName: "FaasAttendReplayComponent",
|
|
employeeId: 2020639594,
|
|
projectId: "035C4B8C-7099-1EDD-95BB-3DF915FC4A30",
|
|
startDate: "2023-02-01",
|
|
endDate: "2023-02-15",
|
|
workflows: 16,
|
|
rawProcessMsgs: null,
|
|
processMsgs: null,
|
|
baseUrl: null,
|
|
env: "PROD-Sandbox",
|
|
envOpts: [
|
|
// {
|
|
// env: "PROD",
|
|
// // baseUrl: "https://faas.longfor.com/MarketCenter_ChannelSupportTeam/hit/xrobot?intent=API&tenantid=MarketCenter_ChannelSupportTeam&appid=RuntimeCalPayProject&skill=RealtimeCalPaySkillSet-CalPerfReplay"
|
|
// },
|
|
{
|
|
env: "PROD-Sandbox",
|
|
baseUrl: "https://faas.longfor.com/MarketCenter_ChannelSupportTeam/hit/xrobot?tenantid=MarketCenter_ChannelSupportTeam&appid=sandbox&skill=RuntimeCalPaySkillSet-ReplaySalaryAttendanceServiceSkillV2&intent=APIGateway&tenant_uid=renxiaoyin"
|
|
},
|
|
{
|
|
env: "UAT",
|
|
baseUrl: "http://10.231.143.223:18991/hit/xrobot?intent=APIGateway&tenantid=MarketCenter_ChannelSupportTeam&appid=RuntimeCalPayProject&skill=RealtimeCalPaySkillSet-ReplaySalaryAttendanceServiceSkillV2"
|
|
},
|
|
{
|
|
env: "UAT-Sandbox",
|
|
baseUrl: "http://10.231.143.223:18992/hit/xrobot?intent=APIGateway&tenantid=MarketCenter_ChannelSupportTeam&appid=RuntimeCalPayProject&skill=RealtimeCalPaySkillSet-ReplaySalaryAttendanceServiceSkillV2&tenant_uid=renxiaoyin"
|
|
}]
|
|
};
|
|
},
|
|
mounted() {
|
|
console.log(this.count);
|
|
window.ipcRenderer.receive("navigate", (param) => {
|
|
console.log(param)
|
|
if (param == "Performance") {
|
|
console.log(" Go Performance")
|
|
this.$router.push('/perf');
|
|
}
|
|
});
|
|
},
|
|
methods: {
|
|
onToggle() {
|
|
this.$router.push('/perf')
|
|
},
|
|
onClear(){
|
|
this.processMsgs = [];
|
|
|
|
},
|
|
|
|
testBreakPoint() {
|
|
|
|
this.count++;
|
|
// console.log(this.count);
|
|
console.log(this.baseUrl);
|
|
|
|
axios.post("https://api-uat.longfor.com/mfp-pc/a/login", {}).then((res) => {
|
|
console.log(res.data);
|
|
event.sender.send("get-result", res.data);
|
|
}).catch((err) => {
|
|
console.log(err);
|
|
});
|
|
},
|
|
onQuerySubmit() {
|
|
console.log(this.mobilePhone);
|
|
console.log(this.projectId);
|
|
// var url =
|
|
// "https://faas.longfor.com/MarketCenter_ChannelSupportTeam/hit/xrobot?intent=API&tenantid=MarketCenter_ChannelSupportTeam&appid=RuntimeCalPayProject&skill=RealtimeCalPaySkillSet-CalPerfReplay";
|
|
var request = {
|
|
projectId: this.projectId,
|
|
workflows: this.workflows,
|
|
startDate: this.startDate,
|
|
endDate: this.endDate,
|
|
employeeId: this.employeeId,
|
|
companyId: "Placeholder3",
|
|
companyName: "Placeholder1",
|
|
projectName: "Placeholder2"
|
|
|
|
};
|
|
console.log(this.env)
|
|
var ipcReceiverName = "query-attend-" + this.env;
|
|
console.log(ipcReceiverName)
|
|
var encodedRequest = JSON.stringify(request);
|
|
window.ipcRenderer.send(ipcReceiverName, encodedRequest);
|
|
window.ipcRenderer.receive("get-result", (param) => {
|
|
console.log("ipc receive");
|
|
console.log(param);
|
|
var rawProcessMsgs = JSON.parse(param.rs);
|
|
this.processMsgs = this.reformMsgs(rawProcessMsgs);
|
|
console.log(this.processMsgs);
|
|
this.processMsgs.forEach(item => {
|
|
|
|
if (Array.isArray(item.data)) {
|
|
// extract data title
|
|
var firstRow = item.data[0];
|
|
if (firstRow == undefined || firstRow == null) {
|
|
item.data = [];
|
|
item.dataTitles = [{
|
|
value: "Result",
|
|
label: "Result"
|
|
}]
|
|
}
|
|
else {
|
|
item.dataTitles = [];
|
|
for (var property in firstRow) {
|
|
if (Object.prototype.hasOwnProperty.call(firstRow, property)) {
|
|
item.dataTitles.push({
|
|
value: property,
|
|
label: property
|
|
})
|
|
}
|
|
}
|
|
console.log(JSON.stringify(item.dataTitles));
|
|
|
|
}
|
|
}
|
|
else {
|
|
if (typeof (item.data) == "string" || typeof (item.data) == "number" || typeof (item.data) == "bigint" || typeof (item.data) == "boolean") {
|
|
// set fixed data title
|
|
item.dataTitles = [{
|
|
value: "Result",
|
|
label: "Result"
|
|
}]
|
|
item.data = [{ Result: item.data }];
|
|
}
|
|
else {
|
|
item.dataTitles = [];
|
|
item.data = [item.data];
|
|
var firstRow2 = item.data[0];
|
|
for (var property2 in firstRow2) {
|
|
if (Object.prototype.hasOwnProperty.call(firstRow2, property2)) {
|
|
item.dataTitles.push({
|
|
value: property2,
|
|
label: property2
|
|
})
|
|
}
|
|
}
|
|
}
|
|
}
|
|
});
|
|
this.rawProcessMsgs = param.rs
|
|
});
|
|
},
|
|
reformMsgs(msgs) {
|
|
var normalizedMsgs = [];
|
|
console.log("begin reform")
|
|
msgs.forEach(msg => {
|
|
if (Array.isArray(msg.data) || typeof (msg.data) == "string" || typeof (msg.data) == "number" || typeof (msg.data) == "bigint" || typeof (msg.data) == "boolean") {
|
|
normalizedMsgs.push(msg);
|
|
}
|
|
else {
|
|
if (this.isMixed(msg.data)) {
|
|
if (msg.message == '业绩与模板相匹配') {
|
|
console.log(1);
|
|
var template = msg.data.template;
|
|
var newMsg = {
|
|
message: `业绩与模板相匹配:basicTemplateId=${template.basicId},templateCode=${template.paymentCode} subTemplateId=${template.subTemplateId}`,
|
|
data: msg.data.performance,
|
|
component: msg.component
|
|
}
|
|
console.log(2);
|
|
normalizedMsgs.push(newMsg);
|
|
}
|
|
else if (msg.message == '业绩与模板不匹配') {
|
|
var subTemplates = msg.data.template.subTemplates;
|
|
console.log(3);
|
|
var templateMsg = {
|
|
message: `业绩与模板不匹配: basicTemplateId=${msg.data.template.basicId}`,
|
|
data: subTemplates,
|
|
component: msg.component
|
|
};
|
|
console.log(4);
|
|
normalizedMsgs.push(templateMsg);
|
|
var perfMsg = {
|
|
message: `未匹配业绩`,
|
|
data: msg.data.performance,
|
|
component: msg.component
|
|
}
|
|
normalizedMsgs.push(perfMsg);
|
|
} else {
|
|
normalizedMsgs.push(msg)
|
|
}
|
|
}
|
|
else {
|
|
normalizedMsgs.push(msg);
|
|
}
|
|
}
|
|
});
|
|
console.log("end reform")
|
|
return normalizedMsgs;
|
|
|
|
|
|
},
|
|
isMixed(data) {
|
|
console.log('ismixed')
|
|
if (data == null || data == undefined) return false;
|
|
if (data.performance != null && data.performance != undefined && data.template != null && data.template != undefined)
|
|
return true;
|
|
return false;
|
|
}
|
|
},
|
|
};
|
|
</script>
|
|
|
|
<style scoped>
|
|
|
|
</style> |