|
@ -25,17 +25,20 @@ |
|
|
</div> |
|
|
</div> |
|
|
<div> |
|
|
<div> |
|
|
<!-- --> |
|
|
<!-- --> |
|
|
<el-button type="danger" v-if="pageType === 'add' && !sheetTotal&&mergeObj.taskStateName=='已提交'" @click="handleClickCurrencyEvent('rejected')"> 驳回重提</el-button> |
|
|
<el-button type="danger" v-if="pageType === 'add' && !sheetTotal && mergeObj.taskStateName == '已提交'" |
|
|
<el-button type="primary" v-if="pageType === 'add'&& !sheetTotal&&mergeObj.taskStateName=='已提交'" @click="handleClickCurrencyEvent('archived')"> 审核存档</el-button> |
|
|
@click="handleClickCurrencyEvent('rejected')"> 驳回重提</el-button> |
|
|
<el-button type="primary" v-if="pageType === 'filling'&& (taskStateName=='处理中'|| taskStateName=='已驳回')" @click="handleClickCurrencyEvent('submit')"> 提交</el-button> |
|
|
<el-button type="primary" v-if="pageType === 'add' && !sheetTotal && mergeObj.taskStateName == '已提交'" |
|
|
|
|
|
@click="handleClickCurrencyEvent('archived')"> 审核存档</el-button> |
|
|
|
|
|
<el-button type="primary" v-if="pageType === 'filling' && (taskStateName == '处理中' || taskStateName == '已驳回')" |
|
|
|
|
|
@click="handleClickCurrencyEvent('submit')"> 提交</el-button> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
</div> |
|
|
<div id="luckysheet"></div> |
|
|
<div id="luckysheet"></div> |
|
|
</div> |
|
|
</div> |
|
|
<el-dialog title="上传共享数据" v-if="showUploadData" :visible.sync="showUploadData" width="60%" |
|
|
<el-dialog title="上传共享数据" v-if="showUploadData" :visible.sync="showUploadData" width="60%" |
|
|
:close-on-click-modal="false"> |
|
|
:close-on-click-modal="false"> |
|
|
<excelUploadData @handelUploadDataHide="handelUploadDataHide" :currentTable="currentTable" |
|
|
<excelUploadData @handleUploadDataHide="handleUploadDataHide" :currentTable="currentTable" |
|
|
:btnLoading="btnLoading" :sheetRow="sheetR"> |
|
|
:btnLoading="btnLoading"> |
|
|
</excelUploadData> |
|
|
</excelUploadData> |
|
|
</el-dialog> |
|
|
</el-dialog> |
|
|
</div> |
|
|
</div> |
|
@ -47,6 +50,8 @@ import LuckyExcel from 'luckyexcel'; |
|
|
import options from "@/utils/luckysheetConfig.js"; |
|
|
import options from "@/utils/luckysheetConfig.js"; |
|
|
import { mapGetters } from 'vuex' |
|
|
import { mapGetters } from 'vuex' |
|
|
import { requestPost, requestGet } from "@/js/dai/request"; |
|
|
import { requestPost, requestGet } from "@/js/dai/request"; |
|
|
|
|
|
import nextTick from "dai-js/tools/nextTick"; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
export default { |
|
|
export default { |
|
|
data() { |
|
|
data() { |
|
@ -163,6 +168,11 @@ export default { |
|
|
this.showUploadData = true; |
|
|
this.showUploadData = true; |
|
|
let list = luckysheet.getAllSheets() |
|
|
let list = luckysheet.getAllSheets() |
|
|
this.currentTable = list.filter(item => item.status == '1') |
|
|
this.currentTable = list.filter(item => item.status == '1') |
|
|
|
|
|
|
|
|
|
|
|
}, |
|
|
|
|
|
async handleUploadDataHide(val) { |
|
|
|
|
|
this.showUploadData = false; |
|
|
|
|
|
luckysheet.insertRow(this.currentTable[0].data.length, 1) |
|
|
const findLastNonNullIndex = (arr) => { |
|
|
const findLastNonNullIndex = (arr) => { |
|
|
for (let i = arr.length - 1; i >= 0; i--) { |
|
|
for (let i = arr.length - 1; i >= 0; i--) { |
|
|
const subArray = arr[i]; |
|
|
const subArray = arr[i]; |
|
@ -174,12 +184,29 @@ export default { |
|
|
return -1; // 如果没有符合条件的,返回 -1 |
|
|
return -1; // 如果没有符合条件的,返回 -1 |
|
|
}; |
|
|
}; |
|
|
this.sheetR = findLastNonNullIndex(this.currentTable[0].data) |
|
|
this.sheetR = findLastNonNullIndex(this.currentTable[0].data) |
|
|
if (this.sheetR != -1) { |
|
|
console.log(this.currentTable[0].data.length, val.length); |
|
|
luckysheet.insertRow(this.currentTable[0].data.length, 5)//固定插入5行 |
|
|
luckysheet.insertRow(this.currentTable[0].data.length, { number: val.length }); |
|
|
} |
|
|
await nextTick(2000) |
|
|
|
|
|
let newArray = val.map(obj => { |
|
|
|
|
|
return Object.keys(obj).map(key => { |
|
|
|
|
|
return { m: obj[key], "ct": { "fa": "General", "t": "g" }, v: obj[key] }; |
|
|
|
|
|
}); |
|
|
|
|
|
}); |
|
|
|
|
|
console.log(newArray, '处理后数据'); |
|
|
|
|
|
let bottomRightCorner = this.numberToLetter(Object.keys(val[0]).length)//选区右下角数字 |
|
|
|
|
|
luckysheet.setRangeValue(newArray, { |
|
|
|
|
|
range: `A${this.sheetR + 2}:${bottomRightCorner}${this.sheetR + val.length}`, |
|
|
|
|
|
}) |
|
|
}, |
|
|
}, |
|
|
handelUploadDataHide() { |
|
|
// 数字转换对应顺序英文 |
|
|
this.showUploadData = false |
|
|
numberToLetter(num) { |
|
|
|
|
|
let letter = ''; |
|
|
|
|
|
while (num > 0) { |
|
|
|
|
|
num -= 1; // 调整为从 0 开始(即 1 -> 'A',2 -> 'B',...) |
|
|
|
|
|
letter = String.fromCharCode(num % 26 + 65) + letter; // 65 是 'A' 的 Unicode 编码 |
|
|
|
|
|
num = Math.floor(num / 26); |
|
|
|
|
|
} |
|
|
|
|
|
return letter; |
|
|
}, |
|
|
}, |
|
|
loadWorkBook() { |
|
|
loadWorkBook() { |
|
|
window.luckysheet.destroy(); |
|
|
window.luckysheet.destroy(); |
|
|