|
@@ -10,24 +10,27 @@
|
|
|
<i v-show="percentage === 100" class="el-icon-check"></i>
|
|
|
</span>
|
|
|
</el-progress>
|
|
|
- <div v-show="tips.length > 0">
|
|
|
+ {{ size }} / {{ total }}
|
|
|
+ <div v-if="notExcel">
|
|
|
+ <div v-show="tips.length > 0">
|
|
|
+ <el-divider></el-divider>
|
|
|
+ <el-alert :title="tips" type="error" @close="closeAlert"/>
|
|
|
+ </div>
|
|
|
<el-divider></el-divider>
|
|
|
- <el-alert :title="tips" type="error" @close="closeAlert"/>
|
|
|
- </div>
|
|
|
- <el-divider></el-divider>
|
|
|
- <ul style="overflow: auto" class="infinite-list" id="jdtRef">
|
|
|
- <li v-for="i in jdtData" :key="i" class="infinite-list-item" :class="infiniteList(i)">
|
|
|
- <div class="jdt-message" :title="i.message">{{ i.title }} 结果: {{ i.message }}</div>
|
|
|
- </li>
|
|
|
- </ul>
|
|
|
- <el-divider></el-divider>
|
|
|
- <div style="width: 100%; display: flex; justify-content: right">
|
|
|
- <el-button @click="closeModal" :disabled="percentage < 100" type="warning" icon="el-icon-close" size="small">
|
|
|
- 关闭
|
|
|
- </el-button>
|
|
|
- <el-button @click="exportExcel" :disabled="percentage < 100" type="primary" icon="el-icon-download"
|
|
|
- size="small"> 导出Excel
|
|
|
- </el-button>
|
|
|
+ <ul style="overflow: auto" class="infinite-list" id="jdtRef">
|
|
|
+ <li v-for="i in jdtData" :key="i" class="infinite-list-item" :class="infiniteList(i)">
|
|
|
+ <div class="jdt-message" :title="i.message">{{ i.title }} 结果: {{ i.message }}</div>
|
|
|
+ </li>
|
|
|
+ </ul>
|
|
|
+ <el-divider></el-divider>
|
|
|
+ <div style="width: 100%; display: flex; justify-content: right">
|
|
|
+ <el-button @click="closeModal" :disabled="percentage < 100" type="warning" icon="el-icon-close" size="small">
|
|
|
+ 关闭
|
|
|
+ </el-button>
|
|
|
+ <el-button @click="exportExcel" :disabled="percentage < 100" type="primary" icon="el-icon-download"
|
|
|
+ size="small"> 导出Excel
|
|
|
+ </el-button>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</el-dialog>
|
|
|
</div>
|
|
@@ -38,6 +41,8 @@ import {computed, onMounted, ref} from 'vue-demi'
|
|
|
import {useStore} from 'vuex'
|
|
|
import {setCallback} from '@/utils/websocket'
|
|
|
import {Export} from '@/utils/ExportExcel'
|
|
|
+import {makePercentage} from "./progUtils";
|
|
|
+import {stringNotBlank} from "../../utils/blank-utils";
|
|
|
|
|
|
export default {
|
|
|
setup() {
|
|
@@ -60,26 +65,47 @@ export default {
|
|
|
store.commit('app/closeJdt')
|
|
|
}
|
|
|
const tips = ref('')
|
|
|
+ const notExcel = ref(true)
|
|
|
+
|
|
|
+ const total = ref(0)
|
|
|
+ const size = ref(0)
|
|
|
|
|
|
const excelTitle = ref({})
|
|
|
|
|
|
const socketCallback = (data) => {
|
|
|
- percentage.value = data.percentage
|
|
|
- for (let key in data) {
|
|
|
- if (key.indexOf("#") > -1) {
|
|
|
- let newKey = key.split("#")
|
|
|
- data[newKey[0]] = data[key]
|
|
|
- if (newKey[0] === 'type') {
|
|
|
- excelTitle.value.typeName = newKey[1]
|
|
|
- } else {
|
|
|
- excelTitle.value[newKey[0]] = newKey[1]
|
|
|
+ if (stringNotBlank(data.jdtType) && data.jdtType === 'pureProgress') {
|
|
|
+ store.commit('app/setJdt', {
|
|
|
+ title: data.jdtTitle,
|
|
|
+ isOpen: true,
|
|
|
+ abnormalClosing: true
|
|
|
+ })
|
|
|
+ total.value = data.total
|
|
|
+ size.value = data.size
|
|
|
+ percentage.value = makePercentage(data.size, data.total)
|
|
|
+ notExcel.value = false
|
|
|
+ if (percentage.value === 100) {
|
|
|
+ setTimeout(() => {
|
|
|
+ store.commit('app/closeJdt')
|
|
|
+ }, 500)
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ percentage.value = data.percentage
|
|
|
+ for (let key in data) {
|
|
|
+ if (key.indexOf("#") > -1) {
|
|
|
+ let newKey = key.split("#")
|
|
|
+ data[newKey[0]] = data[key]
|
|
|
+ if (newKey[0] === 'type') {
|
|
|
+ excelTitle.value.typeName = newKey[1]
|
|
|
+ } else {
|
|
|
+ excelTitle.value[newKey[0]] = newKey[1]
|
|
|
+ }
|
|
|
+ delete data[key]
|
|
|
}
|
|
|
- delete data[key]
|
|
|
}
|
|
|
+ jdtData.value.push(data)
|
|
|
+ const jdtRef = document.getElementById('jdtRef')
|
|
|
+ jdtRef.scrollTop = jdtRef.scrollHeight
|
|
|
}
|
|
|
- jdtData.value.push(data)
|
|
|
- const jdtRef = document.getElementById('jdtRef')
|
|
|
- jdtRef.scrollTop = jdtRef.scrollHeight
|
|
|
}
|
|
|
|
|
|
const percentage = ref(0)
|
|
@@ -136,6 +162,7 @@ export default {
|
|
|
|
|
|
onMounted(() => {
|
|
|
setCallback(socketCallback)
|
|
|
+
|
|
|
})
|
|
|
|
|
|
return {
|
|
@@ -148,6 +175,9 @@ export default {
|
|
|
cptUpldRsTxt,
|
|
|
tips,
|
|
|
closeAlert,
|
|
|
+ notExcel,
|
|
|
+ total,
|
|
|
+ size,
|
|
|
}
|
|
|
},
|
|
|
}
|