From 2c52158fd8edcf85cdeb101cb7f3ad1509db9d31 Mon Sep 17 00:00:00 2001
From: loulijun2021 <1694218219@qq.com>
Date: 星期四, 21 九月 2023 10:19:54 +0800
Subject: [PATCH] 1.订单下达100%,2.ERP接口同步100%
---
src/views/systemSetting/dataImport.vue | 1129 +++++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 978 insertions(+), 151 deletions(-)
diff --git a/src/views/systemSetting/dataImport.vue b/src/views/systemSetting/dataImport.vue
index 3f6df8b..bd9c849 100644
--- a/src/views/systemSetting/dataImport.vue
+++ b/src/views/systemSetting/dataImport.vue
@@ -23,6 +23,7 @@
style="margin-left: 20px"
:disabled="excelCode===''"
icon="el-icon-download"
+ waves
@click="getExcel"
>涓嬭浇妯℃澘
</el-button>
@@ -38,6 +39,7 @@
style="margin-left: 20px"
:disabled="excelCode===''"
icon="el-icon-refresh"
+ waves
@click="reset"
>閲嶇疆
</el-button>
@@ -47,6 +49,7 @@
style="margin-left: 20px"
icon="el-icon-circle-plus-outline"
:disabled="excelCode===''||tableData.length===0"
+ waves
@click="addRow"
>鏂板琛�
</el-button>
@@ -56,18 +59,10 @@
style="margin-left: 20px"
:disabled="excelCode===''||tableData.length===0"
icon="el-icon-thumb"
+ waves
@click="submit"
>鎻愪氦鏁版嵁
</el-button>
-
- <!-- <el-button-->
- <!-- type="danger"-->
- <!-- style="margin-left: 20px"-->
- <!-- :disabled="excelCode===''||tableData.length===0"-->
- <!-- @click="batchDel"-->
- <!-- >鎵归噺鍒犻櫎-->
- <!-- </el-button>-->
-
</div>
<div
@@ -75,7 +70,7 @@
style="margin: 10px"
>
- <el-tabs type="border-card">
+ <el-tabs v-model="activeName" type="border-card">
<el-tab-pane
v-for="(i,j) in sheetName"
:key="i+j"
@@ -83,7 +78,7 @@
>
<el-table
v-if="tableData[j].length>0"
- :ref="'tableDataRef'+j"
+ :ref="'tableDataRef'+i"
:data="tableData[j]"
border
:height="(mainHeight-180)+'px'"
@@ -93,13 +88,7 @@
style="overflow-y: scroll;"
highlight-current-row
>
- <!-- @selection-change="handleSelectionChange"-->
- <!-- <el-table-column-->
- <!-- type="selection"-->
- <!-- width="55"-->
- <!-- fixed-->
- <!-- />-->
<el-table-column
label="搴忓彿"
width="55"
@@ -108,7 +97,7 @@
:render-header="indexRender"
>
<template slot-scope="scope">
- {{ scope.$index }}
+ {{ scope.$index + 1 }}
</template>
</el-table-column>
@@ -119,25 +108,39 @@
:label="item"
align="center"
:render-header="addRedStar"
- width="220"
+ min-width="220"
>
<template slot-scope="{row}">
<div
- v-if="item.indexOf('鐢ㄦ埛缂栧彿(鍞竴)')!==-1||
+ v-if="item.indexOf('缂栧彿(鍞竴)')!==-1||
item.indexOf('鐢ㄦ埛濮撳悕')!==-1||
item.indexOf('瀵嗙爜')!==-1||
item.indexOf('鎵嬫満鍙�')!==-1||
- item.indexOf('閭')!==-1
+ item.indexOf('閭')!==-1||
+ item.indexOf('鍚嶇О')!==-1||
+ item.indexOf('鎻忚堪')!==-1||
+ item.indexOf('涓婄骇缂栫爜')!==-1||
+ item.indexOf('绫诲瀷缂栫爜')!==-1||
+ item.indexOf('鑱旂郴浜�')!==-1||
+ item.indexOf('鑱旂郴鏂瑰紡')!==-1||
+ item.indexOf('鍦板潃')!==-1||
+ item.indexOf('鎵�灞炰粨搴撶紪鐮�')!==-1||
+ item.indexOf('涓婄骇搴撲綅缂栫爜')!==-1||
+ item.indexOf('瑙勬牸鍨嬪彿')!==-1||
+ item.indexOf('瀛樿揣鍒嗙被')!==-1||
+
+ item.indexOf('璁¢噺鍗曚綅/缁勫悕绉�')!==-1
"
>
<el-input v-model="row[item]" placeholder="璇疯緭鍏�" />
</div>
- <div v-else-if="item.indexOf('鍦ㄨ亴鐘舵��')!==-1">
+ <div v-else-if="item.indexOf('鐘舵��')!==-1">
<el-select
v-model="row[item]"
placeholder="璇烽�夋嫨"
filterable
+ style="width:100%"
clearable
>
<el-option
@@ -148,7 +151,47 @@
/>
</el-select>
</div>
-
+ <div v-else-if="item.indexOf('璁¢噺鏂瑰紡')!==-1">
+ <el-select
+ v-model="row[item]"
+ placeholder="璇烽�夋嫨"
+ filterable
+ style="width:100%"
+ clearable
+ >
+ <el-option
+ v-for="item in meterMethodArr"
+ :key="item.code"
+ :label="item.name"
+ :value="item.code"
+ />
+ </el-select>
+ </div>
+ <div
+ v-else-if="
+ item.indexOf('搴撲綅绠$悊')!==-1||
+ item.indexOf('鏄惁澶栬喘')!==-1||
+ item.indexOf('鏄惁閿�鍞�')!==-1||
+ item.indexOf('鏄惁鑷埗')!==-1||
+ item.indexOf('鏄惁鐢熶骇娑堣��')!==-1||
+ item.indexOf('鏄惁濮斿')!==-1
+ "
+ >
+ <el-select
+ v-model="row[item]"
+ placeholder="璇烽�夋嫨"
+ filterable
+ style="width:100%"
+ clearable
+ >
+ <el-option
+ v-for="item in isYesOrNo"
+ :key="item.code"
+ :label="item.name"
+ :value="item.code"
+ />
+ </el-select>
+ </div>
<div v-else-if="item.indexOf('鎵�灞炲矖浣嶇紪鐮�')!==-1">
<el-select
v-model="row[item]"
@@ -205,20 +248,14 @@
</el-select>
</div>
<div v-else-if="item.indexOf('鎵�灞炵粍缁囩紪鐮�')!==-1">
- <el-select
+ <el-cascader
+ ref="cascader"
v-model="row[item]"
- style="width: 100%;"
- placeholder="璇烽�夋嫨"
+ :options="orgOptions"
filterable
- clearable
- >
- <el-option
- v-for="item in orgArr"
- :key="item.torg_code"
- :label="item.torg_name"
- :value="item.torg_code"
- />
- </el-select>
+ :props="defaultProps"
+ :show-all-levels="false"
+ />
</div>
<div v-else> {{ row[item] }}</div>
</template>
@@ -254,6 +291,56 @@
<el-button type="text" style="margin-left: 0;">3.璇蜂笂浼犳枃浠舵彁浜�</el-button>
</el-empty>
+ <el-dialog
+ v-el-drag-dialog
+ title="澶辫触鍘熷洜"
+ :visible.sync="dialogVisible"
+ width="1000px"
+ :close-on-click-modal="false"
+ top="15vh"
+ @closed="handleClose"
+ @close="handleClose"
+ >
+ <div class="">
+ <el-table
+ ref="tableDataRef"
+ class="tableFixed"
+ :data="dialogTableData"
+ :height="400"
+ border
+ row-class-name="custom-row"
+ :style="{width: 100+'%',height: '400px',}"
+ highlight-current-row
+ :header-cell-style="this.$headerCellStyle"
+ :cell-style="this.$cellStyle"
+ >
+ <el-table-column
+ type="index"
+ width="50"
+ fixed
+ label="搴忓彿"
+ />
+ <el-table-column
+ prop="errorField"
+ label="閿欒瀛楁"
+ width="160"
+ show-overflow-tooltip
+ />
+ <el-table-column
+ prop="errorCont"
+ show-overflow-tooltip
+ label="閿欒鍘熷洜"
+ />
+ </el-table>
+ </div>
+ <span slot="footer" class="dialog-footer">
+ <div class="footerButton">
+ <el-button v-waves @click="dialogVisible=false">杩� 鍥�</el-button>
+ <!-- <el-button v-waves type="primary" @click="dialogVisibleConfirm">纭� 瀹�</el-button>-->
+ </div>
+ </span>
+ </el-dialog>
+
</div>
</template>
@@ -262,10 +349,14 @@
import { DownLoadExcel, ExcelModelCheck, ExcelModelData } from '@/api/Excel'
import { GroupsPermissions, PostPermissions, PrentOrganization, RolePermissions } from '@/api/GeneralBasicData'
import { nanoid } from 'nanoid'
+import arrayToTree from 'array-to-tree'
+import elDragDialog from '@/directive/el-drag-dialog'
+import waves from '@/directive/waves'
export default {
- name: 'UploadExcel',
+ name: 'DataImport',
components: { UploadExcelComponent },
+ directives: { elDragDialog, waves },
data() {
return {
mainHeight: window.innerHeight - 85,
@@ -277,14 +368,38 @@
excelCode: '',
excelArr: [],
- statusArr: [
- { code: 'Y', name: '鍦ㄨ亴' },
- { code: 'N', name: '绂昏亴' }
+ statusArr: [],
+ isYesOrNo: [
+ { code: '1', name: '鏄�' },
+ { code: '0', name: '鍚�' }
],
orgArr: [], // 缁勭粐
+ orgOptions: [],
+ defaultProps: {
+ checkStrictly: true,
+ expandTrigger: 'hover',
+ value: 'torg_code',
+ label: 'torg_name'
+ },
+ orgDefaultProps: {
+ multiple: true,
+ expandTrigger: 'hover',
+ value: 'torg_code',
+ label: 'torg_name'
+ },
postArr: [], // 宀椾綅
roleArr: [], // 瑙掕壊
- groupArr: []// 鐝粍
+ groupArr: [], // 鐝粍
+
+ dialogVisible: false,
+ dialogTableData: [],
+
+ meterMethodArr: [
+ { code: 'S', name: '鍗曡閲�' },
+ { code: 'M', name: '澶氳閲�' }
+ ],
+
+ activeName: '0'// tab閫変腑鍊�
}
},
@@ -311,124 +426,687 @@
}
this.$message({
- message: 'Please do not upload files larger than 1m in size.',
+ message: '璇蜂笉瑕佷笂浼犲ぇ浜�1鍏嗙殑鏂囦欢銆�',
type: 'warning'
})
return false
},
+ // excel鎴愬姛鍚庣殑鍥炶皟
async handleSuccess({ results, header, sheetName }) {
+ if (results[0].length === 0) {
+ return this.$message.info('琛ㄦ牸鏁版嵁涓嶈兘涓虹┖锛�')
+ }
this.tableData = results
this.tableHeader = header
this.sheetName = sheetName
- // 鐢ㄦ埛娓呭崟瀵煎叆鍒ゆ柇
- if (this.sheetName.indexOf('鐢ㄦ埛娓呭崟') !== -1) {
- const postArr = this.postArr.map(i => i.postcode)
- const roleArr = this.roleArr.map(i => i.rolecode)
- const groupArr = this.groupArr.map(i => i.usergroupcode)
+ this.activeName = '0'
+
+ // 浜哄憳绠$悊瀵煎叆鍒ゆ柇
+ if (this.sheetName.indexOf('浜哄憳绠$悊') !== -1) {
+ this.handlePersonListUploadTemplate(true)
+ }
+
+ if (this.sheetName.indexOf('瑙掕壊绠$悊') !== -1 || this.sheetName.indexOf('鐝粍绠$悊') !== -1 ||
+ this.sheetName.indexOf('宀椾綅绠$悊') !== -1
+ ) {
+ this.statusArr = [
+ { code: 'Y', name: '姝e父' },
+ { code: 'N', name: '鍋滅敤' }
+ ]
+ this.tableData[0].forEach(j => {
+ j['*鐘舵��'] = j['*鐘舵��'] ? this.statusArr.find(e => e.name === j['*鐘舵��']).code : ''
+ j.uuid = nanoid()
+ })
+ }
+
+ if (this.sheetName.indexOf('寰�鏉ュ崟浣�') !== -1) {
+ this.statusArr = [
+ { code: '0', name: '姝e父' },
+ { code: '1', name: '鍋滅敤' }
+ ]
+ this.tableData[0].forEach(j => {
+ j.uuid = nanoid()
+ })
+ this.tableData[1].forEach(j => {
+ j['*鐘舵��'] = j['*鐘舵��'] ? this.statusArr.find(e => e.name === j['*鐘舵��']).code : ''
+ j.uuid = nanoid()
+ })
+ }
+
+ if (this.sheetName.indexOf('浠撳簱璁剧疆') !== -1) {
+ this.statusArr = [
+ { code: '0', name: '姝e父' },
+ { code: '1', name: '鍋滅敤' }
+ ]
+ this.tableData[0].forEach(j => {
+ j['*鐘舵��'] = j['*鐘舵��'] ? this.statusArr.find(e => e.name === j['*鐘舵��']).code : ''
+ j['*搴撲綅绠$悊'] = j['*搴撲綅绠$悊'] ? this.isYesOrNo.find(e => e.name === j['*搴撲綅绠$悊']).code : ''
+ j.uuid = nanoid()
+ })
+ }
+
+ if (this.sheetName.indexOf('瀛樿揣鍒嗙被') !== -1) {
+ this.statusArr = [
+ { code: '0', name: '姝e父' },
+ { code: '1', name: '鍋滅敤' }
+ ]
+ this.tableData[0].forEach(j => {
+ j.uuid = nanoid()
+ })
+ this.tableData[1].forEach(j => {
+ j['*鐘舵��'] = j['*鐘舵��'] ? this.statusArr.find(e => e.name === j['*鐘舵��']).code : ''
+ j['*璁¢噺鏂瑰紡'] = j['*璁¢噺鏂瑰紡'] ? this.meterMethodArr.find(e => e.name === j['*璁¢噺鏂瑰紡']).code : '0'
+ j['鏄惁澶栬喘'] = j['鏄惁澶栬喘'] ? this.isYesOrNo.find(e => e.name === j['鏄惁澶栬喘']).code : '0'
+ j['鏄惁閿�鍞�'] = j['鏄惁閿�鍞�'] ? this.isYesOrNo.find(e => e.name === j['鏄惁閿�鍞�']).code : '0'
+ j['鏄惁鑷埗'] = j['鏄惁鑷埗'] ? this.isYesOrNo.find(e => e.name === j['鏄惁鑷埗']).code : '0'
+ j['鏄惁鐢熶骇娑堣��'] = j['鏄惁鐢熶骇娑堣��'] ? this.isYesOrNo.find(e => e.name === j['鏄惁鐢熶骇娑堣��']).code : '0'
+ j['鏄惁濮斿'] = j['鏄惁濮斿'] ? this.isYesOrNo.find(e => e.name === j['鏄惁濮斿']).code : '0'
+ j.uuid = nanoid()
+ })
+ }
+ if (this.sheetName.indexOf('璁惧绫诲瀷') !== -1) {
+ this.statusArr = [
+ { code: 'Y', name: '姝e父' },
+ { code: 'N', name: '鍋滅敤' }
+ ]
const orgArr = this.orgArr.map(i => i.torg_code)
- this.tableData[this.sheetName.indexOf('鐢ㄦ埛娓呭崟')].forEach(j => {
- j.鎵�灞炲矖浣嶇紪鐮� = j.鎵�灞炲矖浣嶇紪鐮�.split(',').filter(e => postArr.includes(e))
- j.鎵�灞炶鑹茬紪鐮� = j.鎵�灞炶鑹茬紪鐮�.split(',').filter(e => roleArr.includes(e))
- j.鎵�灞炵彮缁勭紪鐮� = j.鎵�灞炵彮缁勭紪鐮�.split(',').filter(e => groupArr.includes(e))
- j['*鎵�灞炵粍缁囩紪鐮�'] = orgArr.includes(j['*鎵�灞炵粍缁囩紪鐮�']) ? j['*鎵�灞炵粍缁囩紪鐮�'] : ''
- j['*鍦ㄨ亴鐘舵��'] = this.statusArr.find(e => e.name === j['*鍦ㄨ亴鐘舵��']).code
+
+ this.tableData[0].forEach(j => {
+ j.uuid = nanoid()
+ })
+ this.tableData[1].forEach(j => {
+ j['*鐘舵��'] = j['*鐘舵��'] ? this.statusArr.find(e => e.name === j['*鐘舵��']).code : ''
+ j['*鎵�灞炵粍缁囩紪鐮�'] = j['*鎵�灞炵粍缁囩紪鐮�'] ? (orgArr.includes(j['*鎵�灞炵粍缁囩紪鐮�']) ? this.findParent([], j['*鎵�灞炵粍缁囩紪鐮�'], this.orgOptions).reverse() : '') : ''
j.uuid = nanoid()
})
}
},
- async getExcelModelData() {
- const { data: res } = await ExcelModelData()
- this.excelArr = res
-
- if (window.location.hash.indexOf('?') !== -1) {
- this.excelCode = window.location.hash.split('?')[1].split('=')[1]
- }
- },
- async getExcel() {
- const res = await DownLoadExcel({ FileCode: this.excelCode })
- window.location.href = res.data
- },
+ // 鎻愪氦
submit() {
- // console.log(this.excelCode)
- // console.log(JSON.stringify(this.sheetName))
- // console.log(JSON.stringify(this.tableHeader))
- // console.log(JSON.stringify(this.tableData))
-
this.$confirm('鏄惁纭鎻愪氦?', '鎻愮ず', {
confirmButtonText: '纭畾',
cancelButtonText: '鍙栨秷',
type: 'warning'
- }).then(() => {
- let flag = true
- let msg = ''
- if (this.sheetName.indexOf('鐢ㄦ埛娓呭崟') !== -1) {
- // if ([...new Set(this.tableData[0].filter(i => i['*鐢ㄦ埛缂栧彿(鍞竴)'] !== '').map(i => i['*鐢ㄦ埛缂栧彿(鍞竴)']))].length !== this.tableData[0].length) {
- if ([...new Set(this.tableData[0].map(i => i['*鐢ㄦ埛缂栧彿(鍞竴)']))].length !== this.tableData[0].length) {
- return this.$message.info('缂栫爜涓嶈兘閲嶅锛�')
- }
- this.tableData[0].forEach(j => {
- if (j['*鐢ㄦ埛缂栧彿(鍞竴)'].trim() === '') {
- flag = false
- msg = '*鐢ㄦ埛缂栧彿(鍞竴)'
- }
- if (j['*鐢ㄦ埛濮撳悕'].trim() === '') {
- flag = false
- msg = '*鐢ㄦ埛濮撳悕'
- }
- if (j['*瀵嗙爜'].trim() === '') {
- flag = false
- msg = '*瀵嗙爜'
- }
- if (j['*鍦ㄨ亴鐘舵��'].trim() === '') {
- flag = false
- msg = '*鍦ㄨ亴鐘舵��'
- }
- if (j['*鎵�灞炵粍缁囩紪鐮�'].trim() === '') {
- flag = false
- msg = '*鎵�灞炵粍缁囩紪鐮�'
- }
- })
-
- if (!flag) {
- return this.$message.info(msg + '涓嶈兘涓虹┖锛�')
- }
-
- this.tableData[0].forEach(j => {
- j.鎵�灞炲矖浣嶇紪鐮� = j.鎵�灞炲矖浣嶇紪鐮�.join(',')
- j.鎵�灞炵彮缁勭紪鐮� = j.鎵�灞炵彮缁勭紪鐮�.join(',')
- j.鎵�灞炶鑹茬紪鐮� = j.鎵�灞炶鑹茬紪鐮�.join(',')
- })
-
- this.tableData[0].map(item => {
- delete (item.uuid)
- })
- }
-
- const data = {
- fileCode: this.excelCode,
- tableData: this.tableData
- }
- // console.log(JSON.stringify(this.tableData))
- ExcelModelCheck(data).then(res => {
- if (res.json1.code === '200' && res.json2.code === '200') {
- this.$notify.success('鏁版嵁鎻愪氦鎴愬姛!')
- this.tableData = []
- this.tableHeader = []
- this.sheetName = []
- this.excelCode = ''
- } else {
-
- }
- })
- }).catch(() => {
- this.$notify.info('宸插彇娑堟彁浜わ紒')
})
+ .then(() => {
+ if (this.sheetName.indexOf('浜哄憳绠$悊') !== -1) {
+ const res = this.handlePersonListSubmitData()
+ if (res.code !== '200') {
+ return this.$message.info(res.message)
+ }
+ }
+
+ if (this.sheetName.indexOf('瑙掕壊绠$悊') !== -1) {
+ const res = this.handleRoleListSubmitData()
+ if (res.code !== '200') {
+ return this.$message.info(res.message)
+ }
+ }
+ if (this.sheetName.indexOf('鐝粍绠$悊') !== -1) {
+ const res = this.handleGroupListSubmitData()
+ if (res.code !== '200') {
+ return this.$message.info(res.message)
+ }
+ }
+ if (this.sheetName.indexOf('宀椾綅绠$悊') !== -1) {
+ const res = this.handlePostListSubmitData()
+ if (res.code !== '200') {
+ return this.$message.info(res.message)
+ }
+ }
+ if (this.sheetName.indexOf('寰�鏉ュ崟浣嶇被鍨�') !== -1 && this.sheetName.indexOf('寰�鏉ュ崟浣�') !== -1) {
+ const res = this.handleContactUnitListSubmitData()
+ if (res.code !== '200') {
+ return this.$message.info(res.message)
+ }
+ }
+
+ if (this.sheetName.indexOf('浠撳簱璁剧疆') !== -1) {
+ const res = this.handleWarehouseListSubmitData()
+ if (res.code !== '200') {
+ return this.$message.info(res.message)
+ }
+ }
+
+ if (this.sheetName.indexOf('搴撲綅璁剧疆') !== -1) {
+ const res = this.handleStorageListSubmitData()
+ if (res.code !== '200') {
+ return this.$message.info(res.message)
+ }
+ }
+ if (this.sheetName.indexOf('瀛樿揣鍒嗙被') !== -1) {
+ const res = this.handleInventoryListSubmitData()
+ if (res.code !== '200') {
+ return this.$message.info(res.message)
+ }
+ }
+ if (this.sheetName.indexOf('璁惧绫诲瀷') !== -1) {
+ const res = this.handleDeviceListSubmitData()
+ if (res.code !== '200') {
+ return this.$message.info(res.message)
+ }
+ }
+
+ const data = {
+ fileCode: this.excelCode,
+ tableData: this.tableData
+ }
+ ExcelModelCheck(data).then(res => {
+ // 杩斿洖鐨刯son1銆乯son2銆乯son3 json1涓烘ā鏉挎牎楠屻�乯son2涓烘暟鎹牎楠屻�乯son3涓哄鍏ユ暟鎹簱鏍¢獙(鍙兘浼氭湁绯荤粺鎶ラ敊浜х敓)
+ if (res.json1.code !== '200' && res.json2 === null && res.json3 === null) {
+ this.$message.error(res.json1.message)
+ }
+ if (res.json1.code === '200' && res.json2 !== '200' && res.json3 === null) {
+ this.$message.error(res.json2.message)
+ }
+ if (res.json1.code === '200' && res.json2 === '200' && res.json3 !== '200') {
+ this.$message.error(res.json3.message)
+ }
+
+ if (res.json1.code === '300' && res.json2.code === '200' && res.json3.code === '300') { // 绯荤粺鎶ラ敊
+ return this.$message.error(res.json3.message)
+ }
+
+ if (res.json1.code === '200' && res.json2.code === '301' && res.json3 === null) {
+ this.dialogVisible = true
+ this.dialogTableData = res.json2.data
+ }
+
+ if (res.json1.code === '200' && res.json2.code === '200' && res.json3.code === '200') {
+ this.$notify.success('鏁版嵁鎻愪氦鎴愬姛!')
+ this.tableData = []
+ this.tableHeader = []
+ this.sheetName = []
+ this.excelCode = ''
+
+ return
+ }
+
+ if (this.sheetName.indexOf('浜哄憳绠$悊') !== -1) {
+ this.handlePersonListUploadTemplate(false)
+ }
+ if (this.sheetName.indexOf('璁惧绫诲瀷') !== -1) {
+ this.tableData[0].forEach(j => {
+ j.uuid = nanoid()
+ })
+ this.tableData[1].forEach(j => {
+ j['*鎵�灞炵粍缁囩紪鐮�'] = this.findParent([], j['*鎵�灞炵粍缁囩紪鐮�'], this.orgOptions).reverse()
+ j.uuid = nanoid()
+ })
+ }
+ })
+ })
+ .catch(e => {
+ console.log(e)
+ this.$notify.info('宸插彇娑堟彁浜わ紒')
+ })
},
+ // 澶勭悊浜哄憳绠$悊瀵煎叆妯℃澘
+ handlePersonListUploadTemplate(isFirstUpload) {
+ this.statusArr = [
+ { code: 'Y', name: '鍦ㄨ亴' },
+ { code: 'N', name: '绂昏亴' }
+ ]
+ const postArr = this.postArr.map(i => i.postcode)
+ const roleArr = this.roleArr.map(i => i.rolecode)
+ const groupArr = this.groupArr.map(i => i.usergroupcode)
+ const orgArr = this.orgArr.map(i => i.torg_code)
+
+ // this.sheetName.indexOf('浜哄憳绠$悊')
+ // 绗竴娆℃覆鏌�
+ if (isFirstUpload) {
+ this.tableData[0].forEach(j => {
+ j['鎵�灞炲矖浣嶇紪鐮�'] = j['鎵�灞炲矖浣嶇紪鐮�'] ? j['鎵�灞炲矖浣嶇紪鐮�'].split(',').filter(e => postArr.includes(e)) : []
+ j['鎵�灞炶鑹茬紪鐮�'] = j['鎵�灞炶鑹茬紪鐮�'] ? j['鎵�灞炶鑹茬紪鐮�'].split(',').filter(e => roleArr.includes(e)) : []
+ j['鎵�灞炵彮缁勭紪鐮�'] = j['鎵�灞炵彮缁勭紪鐮�'] ? j['鎵�灞炵彮缁勭紪鐮�'].split(',').filter(e => groupArr.includes(e)) : []
+ j['*鎵�灞炵粍缁囩紪鐮�'] = j['*鎵�灞炵粍缁囩紪鐮�'] ? (orgArr.includes(j['*鎵�灞炵粍缁囩紪鐮�']) ? this.findParent([], j['*鎵�灞炵粍缁囩紪鐮�'], this.orgOptions).reverse() : '') : ''
+ j['*鍦ㄨ亴鐘舵��'] = j['*鍦ㄨ亴鐘舵��'] ? this.statusArr.find(e => e.name === j['*鍦ㄨ亴鐘舵��']).code : 'Y'
+ j.uuid = nanoid()
+ })
+ }
+
+ // 闈炵涓�娆℃覆鏌�
+ if (!isFirstUpload) {
+ this.tableData[0].forEach(j => {
+ j.鎵�灞炲矖浣嶇紪鐮� = typeof j.鎵�灞炲矖浣嶇紪鐮� === 'string' ? j.鎵�灞炲矖浣嶇紪鐮�.split(',').filter(e => postArr.includes(e)) : []
+ j.鎵�灞炶鑹茬紪鐮� = typeof j.鎵�灞炶鑹茬紪鐮� === 'string' ? j.鎵�灞炶鑹茬紪鐮�.split(',').filter(e => roleArr.includes(e)) : []
+ j.鎵�灞炵彮缁勭紪鐮� = typeof j.鎵�灞炵彮缁勭紪鐮� === 'string' ? j.鎵�灞炵彮缁勭紪鐮�.split(',').filter(e => groupArr.includes(e)) : []
+ j['*鎵�灞炵粍缁囩紪鐮�'] = this.findParent([], j['*鎵�灞炵粍缁囩紪鐮�'], this.orgOptions).reverse()
+
+ j.uuid = nanoid()
+ })
+ }
+ },
+ // 澶勭悊浜哄憳绠$悊鎻愪氦鏁版嵁
+ handlePersonListSubmitData() {
+ let flag = true
+ let msg = ''
+ if ([...new Set(this.tableData[0].map(i => i['*鐢ㄦ埛缂栧彿(鍞竴)']))].length !== this.tableData[0].length) {
+ return this.$message.info('缂栫爜涓嶈兘閲嶅锛�')
+ }
+ this.tableData[0].forEach(j => {
+ if (!j['*鐢ㄦ埛缂栧彿(鍞竴)']) {
+ flag = false
+ msg = '*鐢ㄦ埛缂栧彿(鍞竴)'
+ }
+
+ if (!j['*鐢ㄦ埛濮撳悕']) {
+ flag = false
+ msg = '*鐢ㄦ埛濮撳悕'
+ }
+ if (!j['*瀵嗙爜']) {
+ flag = false
+ msg = '*瀵嗙爜'
+ }
+ if (!j['*鍦ㄨ亴鐘舵��']) {
+ flag = false
+ msg = '*鍦ㄨ亴鐘舵��'
+ }
+ if (!j['*鎵�灞炵粍缁囩紪鐮�']) {
+ flag = false
+ msg = '*鎵�灞炵粍缁囩紪鐮�'
+ }
+ })
+
+ if (!flag) {
+ return { code: '301', message: msg + '涓嶈兘涓虹┖锛�' }
+ }
+ this.tableData[0].forEach(j => {
+ j['鎵�灞炲矖浣嶇紪鐮�'] = j['鎵�灞炲矖浣嶇紪鐮�'].join(',')
+ j['鎵�灞炵彮缁勭紪鐮�'] = j['鎵�灞炵彮缁勭紪鐮�'].join(',')
+ j['鎵�灞炶鑹茬紪鐮�'] = j['鎵�灞炶鑹茬紪鐮�'].join(',')
+ j['*鎵�灞炵粍缁囩紪鐮�'] = j['*鎵�灞炵粍缁囩紪鐮�'][j['*鎵�灞炵粍缁囩紪鐮�'].length - 1]
+ })
+
+ this.tableData[0].map(item => {
+ delete (item.uuid)
+ })
+
+ return { code: '200', message: '鎴愬姛锛�' }
+ },
+ // 澶勭悊瑙掕壊绠$悊鎻愪氦鏁版嵁
+ handleRoleListSubmitData() {
+ let flag = true
+ let msg = ''
+ if ([...new Set(this.tableData[0].map(i => i['*瑙掕壊缂栧彿(鍞竴)']))].length !== this.tableData[0].length) {
+ return this.$message.info('缂栫爜涓嶈兘閲嶅锛�')
+ }
+ this.tableData[0].forEach(j => {
+ if (!j['*瑙掕壊缂栧彿(鍞竴)']) {
+ flag = false
+ msg = '*瑙掕壊缂栧彿(鍞竴)'
+ }
+ if (!j['*瑙掕壊鍚嶇О']) {
+ flag = false
+ msg = '*瑙掕壊鍚嶇О'
+ }
+ if (!j['*鐘舵��']) {
+ flag = false
+ msg = '*鐘舵��'
+ }
+ })
+
+ if (!flag) {
+ return { code: '301', message: msg + '涓嶈兘涓虹┖锛�' }
+ }
+
+ this.tableData[0].map(item => {
+ delete (item.uuid)
+ })
+
+ return { code: '200', message: '鎴愬姛锛�' }
+ },
+ // 澶勭悊鐝粍绠$悊鎻愪氦鏁版嵁
+ handleGroupListSubmitData() {
+ let flag = true
+ let msg = ''
+ if ([...new Set(this.tableData[0].map(i => i['*瑙掕壊缂栧彿(鍞竴)']))].length !== this.tableData[0].length) {
+ return this.$message.info('缂栫爜涓嶈兘閲嶅锛�')
+ }
+ this.tableData[0].forEach(j => {
+ if (!j['*鐝粍缂栧彿(鍞竴)']) {
+ flag = false
+ msg = '*鐝粍缂栧彿(鍞竴)'
+ }
+ if (!j['*鐝粍鍚嶇О']) {
+ flag = false
+ msg = '*鐝粍鍚嶇О'
+ }
+ if (!j['*鐘舵��']) {
+ flag = false
+ msg = '*鐘舵��'
+ }
+ })
+
+ if (!flag) {
+ return { code: '301', message: msg + '涓嶈兘涓虹┖锛�' }
+ }
+
+ this.tableData[0].map(item => {
+ delete (item.uuid)
+ })
+
+ return { code: '200', message: '鎴愬姛锛�' }
+ },
+ // 澶勭悊宀椾綅绠$悊鎻愪氦鏁版嵁
+ handlePostListSubmitData() {
+ let flag = true
+ let msg = ''
+ if ([...new Set(this.tableData[0].map(i => i['*宀椾綅缂栧彿(鍞竴)']))].length !== this.tableData[0].length) {
+ return this.$message.info('缂栫爜涓嶈兘閲嶅锛�')
+ }
+ this.tableData[0].forEach(j => {
+ if (!j['*宀椾綅缂栧彿(鍞竴)']) {
+ flag = false
+ msg = '*宀椾綅缂栧彿(鍞竴)'
+ }
+ if (!j['*宀椾綅鍚嶇О']) {
+ flag = false
+ msg = '*宀椾綅鍚嶇О'
+ }
+ if (!j['*鐘舵��']) {
+ flag = false
+ msg = '*鐘舵��'
+ }
+ })
+
+ if (!flag) {
+ return { code: '301', message: msg + '涓嶈兘涓虹┖锛�' }
+ }
+
+ this.tableData[0].map(item => {
+ delete (item.uuid)
+ })
+
+ return { code: '200', message: '鎴愬姛锛�' }
+ },
+ // 澶勭悊寰�鏉ュ崟浣嶆彁浜ゆ暟鎹�
+ handleContactUnitListSubmitData() {
+ let flag = true
+ let msg = ''
+ if ([...new Set(this.tableData[0].map(i => i['*寰�鏉ュ崟浣嶇被鍨嬬紪鍙�(鍞竴)']))].length !== this.tableData[0].length) {
+ return this.$message.info('寰�鏉ュ崟浣嶇被鍨嬬紪鍙蜂笉鑳介噸澶嶏紒')
+ }
+ if ([...new Set(this.tableData[1].map(i => i['*寰�鏉ュ崟浣嶇紪鍙�(鍞竴)']))].length !== this.tableData[1].length) {
+ return this.$message.info('寰�鏉ュ崟浣嶇紪鍙蜂笉鑳介噸澶嶏紒')
+ }
+ this.tableData[0].forEach(j => {
+ if (!j['*寰�鏉ュ崟浣嶇被鍨嬬紪鍙�(鍞竴)']) {
+ flag = false
+ msg = '*寰�鏉ュ崟浣嶇被鍨嬬紪鍙�(鍞竴)涓嶈兘涓虹┖锛�'
+ }
+ if (!j['*寰�鏉ュ崟浣嶇被鍨嬪悕绉�']) {
+ flag = false
+ msg = '*寰�鏉ュ崟浣嶇被鍨嬪悕绉颁笉鑳戒负绌猴紒'
+ }
+ if (j['*寰�鏉ュ崟浣嶇被鍨嬬紪鍙�(鍞竴)'] === j['涓婄骇缂栫爜']) {
+ flag = false
+ msg = '*寰�鏉ュ崟浣嶇被鍨嬬紪鍙�(鍞竴)涓庝笂绾х紪鐮佷笉鑳界浉鍚岋紒'
+ }
+ })
+ this.tableData[1].forEach(j => {
+ if (!j['*寰�鏉ュ崟浣嶇紪鍙�(鍞竴)']) {
+ flag = false
+ msg = '*寰�鏉ュ崟浣嶇紪鍙�(鍞竴)涓嶈兘涓虹┖锛�'
+ }
+ if (!j['*寰�鏉ュ崟浣嶅悕绉�']) {
+ flag = false
+ msg = '*寰�鏉ュ崟浣嶅悕绉颁笉鑳戒负绌猴紒'
+ }
+ if (!j['*鐘舵��']) {
+ flag = false
+ msg = '*鐘舵�佷笉鑳戒负绌猴紒'
+ }
+ if (!j['*寰�鏉ュ崟浣嶇被鍨嬬紪鐮�']) {
+ flag = false
+ msg = '*寰�鏉ュ崟浣嶇被鍨嬬紪鐮佷笉鑳戒负绌猴紒'
+ }
+ })
+
+ if (!flag) {
+ return { code: '301', message: msg }
+ }
+
+ this.tableData[0].map(item => {
+ delete (item.uuid)
+ })
+ this.tableData[1].map(item => {
+ delete (item.uuid)
+ })
+
+ return { code: '200', message: '鎴愬姛锛�' }
+ },
+ // 澶勭悊浠撳簱璁剧疆鎻愪氦鏁版嵁
+ handleWarehouseListSubmitData() {
+ let flag = true
+ let msg = ''
+ if ([...new Set(this.tableData[0].map(i => i['*浠撳簱缂栧彿(鍞竴)']))].length !== this.tableData[0].length) {
+ return this.$message.info('缂栫爜涓嶈兘閲嶅锛�')
+ }
+ this.tableData[0].forEach(j => {
+ if (!j['*浠撳簱缂栧彿(鍞竴)']) {
+ flag = false
+ msg = '*浠撳簱缂栧彿(鍞竴)'
+ }
+ if (!j['*浠撳簱鍚嶇О']) {
+ flag = false
+ msg = '*浠撳簱鍚嶇О'
+ }
+ if (!j['*鐘舵��']) {
+ flag = false
+ msg = '*鐘舵��'
+ }
+ if (!j['*搴撲綅绠$悊']) {
+ flag = false
+ msg = '*搴撲綅绠$悊'
+ }
+ })
+
+ if (!flag) {
+ return { code: '301', message: msg + '涓嶈兘涓虹┖锛�' }
+ }
+
+ this.tableData[0].map(item => {
+ delete (item.uuid)
+ })
+
+ return { code: '200', message: '鎴愬姛锛�' }
+ },
+ // 澶勭悊搴撲綅璁剧疆鎻愪氦鏁版嵁
+ handleStorageListSubmitData() {
+ let flag = true
+ let msg = ''
+ if ([...new Set(this.tableData[0].map(i => i['*搴撲綅缂栧彿(鍞竴)']))].length !== this.tableData[0].length) {
+ return this.$message.info('缂栫爜涓嶈兘閲嶅锛�')
+ }
+ this.tableData[0].forEach(j => {
+ if (!j['*搴撲綅缂栧彿(鍞竴)']) {
+ flag = false
+ msg = '*搴撲綅缂栧彿(鍞竴)涓嶈兘涓虹┖锛�'
+ }
+ if (!j['*搴撲綅鍚嶇О']) {
+ flag = false
+ msg = '*搴撲綅鍚嶇О涓嶈兘涓虹┖锛�'
+ }
+ if (!j['*鎵�灞炰粨搴撶紪鐮�']) {
+ flag = false
+ msg = '*鎵�灞炰粨搴撶紪鐮佷笉鑳戒负绌猴紒'
+ }
+ if (!j['*鐘舵��']) {
+ flag = false
+ msg = '*鐘舵�佷笉鑳戒负绌猴紒'
+ }
+ if (j['涓婄骇搴撲綅缂栫爜'] === j['*搴撲綅缂栧彿(鍞竴)']) {
+ flag = false
+ msg = '*搴撲綅缂栧彿(鍞竴)涓庝笂绾у簱浣嶇紪鐮佷笉鑳界浉鍚岋紒'
+ }
+ })
+
+ if (!flag) {
+ return { code: '301', message: msg }
+ }
+
+ this.tableData[0].map(item => {
+ delete (item.uuid)
+ })
+
+ return { code: '200', message: '鎴愬姛锛�' }
+ },
+ // 澶勭悊瀛樿揣妗f鎻愪氦鏁版嵁
+ handleInventoryListSubmitData() {
+ let flag = true
+ let msg = ''
+ if ([...new Set(this.tableData[0].map(i => i['*瀛樿揣鍒嗙被缂栧彿(鍞竴)']))].length !== this.tableData[0].length) {
+ return this.$message.info('瀛樿揣鍒嗙被缂栧彿涓嶈兘閲嶅锛�')
+ }
+ if ([...new Set(this.tableData[1].map(i => i['*瀛樿揣缂栧彿(鍞竴)']))].length !== this.tableData[1].length) {
+ return this.$message.info('瀛樿揣缂栧彿涓嶈兘閲嶅锛�')
+ }
+ this.tableData[0].forEach(j => {
+ if (!j['*瀛樿揣鍒嗙被缂栧彿(鍞竴)']) {
+ flag = false
+ msg = '*瀛樿揣鍒嗙被缂栧彿(鍞竴)涓嶈兘涓虹┖锛�'
+ }
+ if (!j['*瀛樿揣鍒嗙被鍚嶇О']) {
+ flag = false
+ msg = '*瀛樿揣鍒嗙被涓嶈兘涓虹┖锛�'
+ }
+ if (j['*瀛樿揣鍒嗙被缂栧彿(鍞竴)'] === j['涓婄骇缂栫爜']) {
+ flag = false
+ msg = '*瀛樿揣鍒嗙被缂栧彿(鍞竴)涓庝笂绾х紪鐮佷笉鑳界浉鍚岋紒'
+ }
+ })
+ this.tableData[1].forEach(j => {
+ if (!j['*瀛樿揣缂栧彿(鍞竴)']) {
+ flag = false
+ msg = '*瀛樿揣缂栧彿(鍞竴)涓嶈兘涓虹┖锛�'
+ }
+ if (!j['*瀛樿揣鍚嶇О']) {
+ flag = false
+ msg = '*瀛樿揣鍚嶇О涓嶈兘涓虹┖锛�'
+ }
+ if (!j['*瀛樿揣鍒嗙被缂栫爜']) {
+ flag = false
+ msg = '*瀛樿揣鍒嗙被缂栫爜涓嶈兘涓虹┖锛�'
+ }
+ if (!j['*鐘舵��']) {
+ flag = false
+ msg = '*鐘舵�佷笉鑳戒负绌猴紒'
+ }
+ if (!j['*璁¢噺鏂瑰紡']) {
+ flag = false
+ msg = '*璁¢噺鏂瑰紡涓嶈兘涓虹┖锛�'
+ }
+ if (!j['*璁¢噺鍗曚綅/缁勫悕绉�']) {
+ flag = false
+ msg = '*璁¢噺鍗曚綅/缁勫悕绉颁笉鑳戒负绌猴紒'
+ }
+ if (!(j['鏄惁澶栬喘'] === '1' || j['鏄惁閿�鍞�'] === '1' || j['鏄惁鑷埗'] === '1' || j['鏄惁鐢熶骇娑堣��'] === '1' || j['鏄惁濮斿'] === '1')) {
+ flag = false
+ msg = '瀛樿揣灞炴�у繀椤昏閫夋嫨鍏朵竴锛�'
+ }
+ })
+
+ if (!flag) {
+ return { code: '301', message: msg }
+ }
+
+ this.tableData[0].map(item => {
+ delete (item.uuid)
+ })
+ this.tableData[1].map(item => {
+ delete (item.uuid)
+ })
+
+ return { code: '200', message: '鎴愬姛锛�' }
+ },
+ // 澶勭悊璁惧娓呭崟鎻愪氦鏁版嵁
+ handleDeviceListSubmitData() {
+ let flag = true
+ let msg = ''
+ if ([...new Set(this.tableData[0].map(i => i['*璁惧绫诲瀷缂栧彿(鍞竴)']))].length !== this.tableData[0].length) {
+ return this.$message.info('璁惧绫诲瀷缂栧彿涓嶈兘閲嶅锛�')
+ }
+ if ([...new Set(this.tableData[1].map(i => i['*璁惧缂栧彿(鍞竴)']))].length !== this.tableData[1].length) {
+ return this.$message.info('璁惧缂栧彿涓嶈兘閲嶅锛�')
+ }
+ this.tableData[0].forEach(j => {
+ if (!j['*璁惧绫诲瀷缂栧彿(鍞竴)']) {
+ flag = false
+ msg = '*璁惧绫诲瀷缂栧彿(鍞竴)涓嶈兘涓虹┖锛�'
+ }
+ if (!j['*璁惧绫诲瀷鍚嶇О']) {
+ flag = false
+ msg = '*璁惧绫诲瀷鍚嶇О涓嶈兘涓虹┖锛�'
+ }
+ })
+ this.tableData[1].forEach(j => {
+ if (!j['*璁惧缂栧彿(鍞竴)']) {
+ flag = false
+ msg = '*璁惧缂栧彿(鍞竴)涓嶈兘涓虹┖锛�'
+ }
+ if (!j['*璁惧鍚嶇О']) {
+ flag = false
+ msg = '*璁惧鍚嶇О涓嶈兘涓虹┖锛�'
+ }
+ if (!j['*鎵�灞炵粍缁囩紪鐮�']) {
+ flag = false
+ msg = '*鎵�灞炵粍缁囩紪鐮佷笉鑳戒负绌猴紒'
+ }
+ if (!j['*璁惧绫诲瀷缂栫爜']) {
+ flag = false
+ msg = '*璁惧绫诲瀷缂栫爜涓嶈兘涓虹┖锛�'
+ }
+ if (!j['*鐘舵��']) {
+ flag = false
+ msg = '*鐘舵�佷笉鑳戒负绌猴紒'
+ }
+ })
+
+ if (!flag) {
+ return { code: '301', message: msg }
+ }
+
+ this.tableData[1].forEach(j => {
+ j['*鎵�灞炵粍缁囩紪鐮�'] = j['*鎵�灞炵粍缁囩紪鐮�'][j['*鎵�灞炵粍缁囩紪鐮�'].length - 1]
+ })
+
+ this.tableData[0].map(item => {
+ delete (item.uuid)
+ })
+ this.tableData[1].map(item => {
+ delete (item.uuid)
+ })
+
+ return { code: '200', message: '鎴愬姛锛�' }
+ },
+
+ // parents:鐢ㄤ簬杩斿洖鐨勬暟缁勶紝childNode:瑕佹煡璇㈢殑鑺傜偣锛宼reeData锛歫son鏍戝舰鏁版嵁
+ findParent(parents, childNode, treeData) {
+ // console.log(parents, childNode, treeData, 2)
+
+ for (let i = 0; i < treeData.length; i++) {
+ // 鐖惰妭鐐规煡璇㈡潯浠�
+ if (treeData[i].torg_code === childNode) {
+ // 濡傛灉鎵惧埌缁撴灉,淇濆瓨褰撳墠鑺傜偣
+ parents.push(treeData[i].torg_code)
+ // 鐢ㄥ綋鍓嶈妭鐐瑰啀鍘诲師鏁版嵁鏌ユ壘褰撳墠鑺傜偣鐨勭埗鑺傜偣
+ this.findParent(parents, treeData[i].parent_id, this.orgOptions)
+ break
+ } else {
+ if (treeData[i].children instanceof Array) {
+ // 娌℃壘鍒帮紝閬嶅巻璇ヨ妭鐐圭殑瀛愯妭鐐�
+ this.findParent(parents, childNode, treeData[i].children)
+ }
+ }
+ }
+ return parents
+ },
addRow() {
- // 鐢ㄦ埛娓呭崟鏂板琛�
- if (this.sheetName.indexOf('鐢ㄦ埛娓呭崟') !== -1) {
+ // 浜哄憳绠$悊鏂板琛�
+ if (this.sheetName.indexOf('浜哄憳绠$悊') !== -1) {
this.tableData[0].unshift({
uuid: nanoid(),
'*鐢ㄦ埛缂栧彿(鍞竴)': '',
@@ -443,23 +1121,176 @@
'鎵�灞炵彮缁勭紪鐮�': []
})
}
+ // 瑙掕壊绠$悊鏂板琛�
+ if (this.sheetName.indexOf('瑙掕壊绠$悊') !== -1) {
+ this.tableData[0].unshift({
+ uuid: nanoid(),
+ '*瑙掕壊缂栧彿(鍞竴)': '',
+ '*瑙掕壊鍚嶇О': '',
+ '*鐘舵��': 'Y',
+ '鎻忚堪': ''
+ })
+ }
+ // 鐝粍绠$悊鏂板琛�
+ if (this.sheetName.indexOf('鐝粍绠$悊') !== -1) {
+ this.tableData[0].unshift({
+ uuid: nanoid(),
+ '*鐝粍缂栧彿(鍞竴)': '',
+ '*鐝粍鍚嶇О': '',
+ '*鐘舵��': 'Y',
+ '鎻忚堪': ''
+ })
+ }
+ // 宀椾綅绠$悊鏂板琛�
+ if (this.sheetName.indexOf('宀椾綅绠$悊') !== -1) {
+ this.tableData[0].unshift({
+ uuid: nanoid(),
+ '*宀椾綅缂栧彿(鍞竴)': '',
+ '*宀椾綅鍚嶇О': '',
+ '*鐘舵��': 'Y',
+ '鎻忚堪': ''
+ })
+ }
+ // 寰�鏉ュ崟浣�
+ if (this.sheetName.indexOf('寰�鏉ュ崟浣嶇被鍨�') !== -1 && this.activeName === '0') {
+ this.tableData[0].unshift({
+ uuid: nanoid(),
+ '*寰�鏉ュ崟浣嶇被鍨嬬紪鍙�(鍞竴)': '',
+ '*寰�鏉ュ崟浣嶇被鍨嬪悕绉�': '',
+ '涓婄骇缂栫爜': ''
+ })
+ }
+ if (this.sheetName.indexOf('寰�鏉ュ崟浣�') !== -1 && this.activeName === '1') {
+ this.tableData[1].unshift({
+ uuid: nanoid(),
+ '*寰�鏉ュ崟浣嶇紪鍙�(鍞竴)': '',
+ '*寰�鏉ュ崟浣嶅悕绉�': '',
+ '*鐘舵��': '0',
+ '*寰�鏉ュ崟浣嶇被鍨嬬紪鐮�': '',
+ '鑱旂郴浜�': '',
+ '鑱旂郴鏂瑰紡': '',
+ '鍦板潃': ''
+ })
+ }
+ // 浠撳簱璁剧疆
+ if (this.sheetName.indexOf('浠撳簱璁剧疆') !== -1) {
+ this.tableData[0].unshift({
+ uuid: nanoid(),
+ '*浠撳簱缂栧彿(鍞竴)': '',
+ '*浠撳簱鍚嶇О': '',
+ '*鐘舵��': '0',
+ '*搴撲綅绠$悊': '0',
+ '鎻忚堪': ''
+ })
+ }
+ // 搴撲綅璁剧疆
+ if (this.sheetName.indexOf('搴撲綅璁剧疆') !== -1) {
+ this.tableData[0].unshift({
+ uuid: nanoid(),
+ '*搴撲綅缂栧彿(鍞竴)': '',
+ '*搴撲綅鍚嶇О': '',
+ '*鎵�灞炰粨搴撶紪鐮�': '',
+ '涓婄骇搴撲綅缂栫爜': '',
+ '*鐘舵��': '0',
+ '鎻忚堪': ''
+ })
+ }
+ // 瀛樿揣妗f
+ if (this.sheetName.indexOf('瀛樿揣鍒嗙被') !== -1 && this.activeName === '0') {
+ this.tableData[0].unshift({
+ uuid: nanoid(),
+ '*瀛樿揣鍒嗙被缂栧彿(鍞竴)': '',
+ '*瀛樿揣鍒嗙被鍚嶇О': '',
+ '涓婄骇缂栫爜': ''
+ })
+ }
+ if (this.sheetName.indexOf('瀛樿揣') !== -1 && this.activeName === '1') {
+ this.tableData[1].unshift({
+ uuid: nanoid(),
+ '*瀛樿揣缂栧彿(鍞竴)': '',
+ '*瀛樿揣鍚嶇О': '',
+ '瑙勬牸鍨嬪彿': '',
+ '*瀛樿揣鍒嗙被缂栫爜': '',
+ '*鐘舵��': '0',
+ '*璁¢噺鏂瑰紡': '',
+ '璁¢噺鍗曚綅/缁勫悕绉�': '',
+ '鎵�灞炰粨搴撶紪鐮�': '',
+ '鏄惁澶栬喘': '0',
+ '鏄惁閿�鍞�': '0',
+ '鏄惁鑷埗': '0',
+ '鏄惁鐢熶骇娑堣��': '0',
+ '鏄惁濮斿': '0'
+ })
+ }
+ // 璁惧娓呭崟
+ if (this.sheetName.indexOf('璁惧绫诲瀷') !== -1 && this.activeName === '0') {
+ this.tableData[0].unshift({
+ uuid: nanoid(),
+ '*璁惧绫诲瀷缂栧彿(鍞竴)': '',
+ '*璁惧绫诲瀷鍚嶇О': '',
+ '鎻忚堪': ''
+ })
+ }
+ if (this.sheetName.indexOf('璁惧娓呭崟') !== -1 && this.activeName === '1') {
+ this.tableData[1].unshift({
+ uuid: nanoid(),
+ '*璁惧缂栧彿(鍞竴)': '',
+ '*璁惧鍚嶇О': '',
+ '*鎵�灞炵粍缁囩紪鐮�': '',
+ '璁惧绫诲瀷缂栫爜': '',
+ '*鐘舵��': 'Y'
+ })
+ }
},
delRow(row) {
- // 鐢ㄦ埛娓呭崟鍒犻櫎琛�
- if (this.sheetName.indexOf('鐢ㄦ埛娓呭崟') !== -1) {
+ // 閽堝鍗晄heet
+ if (this.sheetName.length === 1) {
if (this.tableData[0].length > 1) {
return this.tableData[0].splice(this.tableData[0].findIndex(i => i.uuid === row.uuid), 1)
} else {
return this.$message.info('蹇呴』瑕佹湁涓�鏉℃暟鎹紒')
}
}
+ // 閽堝涓や釜 sheet
+ if (this.sheetName.length === 2) {
+ if (this.activeName === '0') {
+ if (this.tableData[0].length > 1) {
+ return this.tableData[0].splice(this.tableData[0].findIndex(i => i.uuid === row.uuid), 1)
+ } else {
+ return this.$message.info('蹇呴』瑕佹湁涓�鏉℃暟鎹紒')
+ }
+ }
+ if (this.activeName === '1') {
+ if (this.tableData[1].length > 1) {
+ return this.tableData[1].splice(this.tableData[1].findIndex(i => i.uuid === row.uuid), 1)
+ } else {
+ return this.$message.info('蹇呴』瑕佹湁涓�鏉℃暟鎹紒')
+ }
+ }
+ }
},
-
reset() {
this.tableData = []
this.tableHeader = []
this.sheetName = []
this.excelCode = ''
+ },
+ handleClose() {
+ this.dialogTableData = []
+ },
+ // 鑾峰彇妯℃澘
+ async getExcelModelData() {
+ const { data: res } = await ExcelModelData()
+ this.excelArr = res
+
+ if (window.location.hash.indexOf('?') !== -1) {
+ this.excelCode = window.location.hash.split('?')[1].split('=')[1]
+ }
+ },
+ // 妯℃澘涓嬭浇
+ async getExcel() {
+ const res = await DownLoadExcel({ FileCode: this.excelCode })
+ window.location.href = res.data
},
async getSelectArr() {
await this.getPrentOrganization()
@@ -471,11 +1302,11 @@
async getPrentOrganization() {
const { data: res } = await PrentOrganization()
this.orgArr = res
- // this.cascaderOptions = arrayToTree(res, {
- // parentProperty: 'parent_id',
- // customID: 'torg_code',
- // childrenProperty: 'children'
- // })
+ this.orgOptions = arrayToTree(res, {
+ parentProperty: 'parent_id',
+ customID: 'torg_code',
+ childrenProperty: 'children'
+ })
},
// 鑾峰彇宀椾綅涓嬫媺鏁扮粍
async getPostPermissions() {
@@ -538,13 +1369,9 @@
}
</script>
-<style scoped lang="scss">
-//::v-deep .el-table__body-wrapper {
-//overflow-y: auto;
-//overflow-x: scroll !important;
-//height: calc(100% - 34px);
-//width: 100% !important;
-//}
+<style lang="scss">
+::v-deep .el-dialog__body {
+ padding: 20px 20px !important;
+}
</style>
-
--
Gitblit v1.9.3