| | |
| | | <el-dialog |
| | | :title="title" |
| | | :visible.sync="dialogVisible" |
| | | width="1300px" |
| | | append-to-body |
| | | top="5vh" |
| | | width="1300px" |
| | | > |
| | | <div class="flex_box"> |
| | | <div |
| | | class="left" |
| | | :style="{ width: leftWidth + 'px' }" |
| | | v-show="type !== 'batchImportApply'" |
| | | :style="{ width: leftWidth + 'px' }" |
| | | class="left" |
| | | > |
| | | <div class="isExpand_box"> |
| | | <el-link type="primary" @click="hideTree"> |
| | |
| | | </el-link> |
| | | </div> |
| | | <el-input |
| | | placeholder="输入关键字进行过滤" |
| | | v-model="filterText" |
| | | size="small" |
| | | v-show="isExpand" |
| | | v-model="filterText" |
| | | placeholder="输入关键字进行过滤" |
| | | size="small" |
| | | > |
| | | </el-input> |
| | | <el-tree |
| | | v-show="isExpand" |
| | | class="filter_tree" |
| | | :data="leftTree" |
| | | node-key="codeClassifyOid" |
| | | default-expand-all |
| | | highlight-current |
| | | :filter-node-method="filterNode" |
| | | @node-click="treeNodeClick" |
| | | ref="tree" |
| | | :data="leftTree" |
| | | :filter-node-method="filterNode" |
| | | :props="{ |
| | | label: 'name', |
| | | }" |
| | | class="filter_tree" |
| | | default-expand-all |
| | | highlight-current |
| | | node-key="codeClassifyOid" |
| | | @node-click="treeNodeClick" |
| | | > |
| | | </el-tree> |
| | | </div> |
| | | <div class="right" :style="{ width: 1280 - leftWidth - 60 + 'px' }"> |
| | | <div :style="{ width: 1280 - leftWidth - 60 + 'px' }" class="right"> |
| | | <div class="tab_box" style="width: 100%"> |
| | | <el-tabs |
| | | style="width: 100%" |
| | | v-model="activeTab" |
| | | size="small" |
| | | style="width: 100%" |
| | | type="card" |
| | | @tab-click="handleClick" |
| | | size="small" |
| | | > |
| | | <el-tab-pane :label="tab1Name" name="tab1"> |
| | | <el-table |
| | | border |
| | | :data="tab1Table" |
| | | style="width: 100%" |
| | | height="40vh" |
| | | highlight-current-row |
| | | @current-change="resembleRowChange" |
| | | @selection-change="tab1TableSelectChange" |
| | | v-if="cloNamesList.length > 1" |
| | | v-loading="tab1Loading" |
| | | :data="tab1Table" |
| | | border |
| | | height="40vh" |
| | | highlight-current-row |
| | | style="width: 100%" |
| | | @current-change="resembleRowChange" |
| | | @selection-change="tab1TableSelectChange" |
| | | > |
| | | <el-table-column |
| | | v-if="type !== 'batchApplyCode'" |
| | | align="center" |
| | | type="selection" |
| | | width="100px" |
| | | align="center" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | v-else |
| | | align="center" |
| | | type="operate" |
| | | width="100px" |
| | | align="center" |
| | | > |
| | | <template #default="{ row }"> |
| | | <el-button type="text" @click="reEdit(row)" |
| | | >重新编辑</el-button |
| | | >重新编辑 |
| | | </el-button |
| | | > |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column |
| | | type="index" |
| | | label="序号" |
| | | width="100px" |
| | | align="center" |
| | | label="序号" |
| | | type="index" |
| | | width="100px" |
| | | ></el-table-column> |
| | | <el-table-column |
| | | v-for="item in cloNamesList" |
| | | :key="item.field" |
| | | :prop="item.field" |
| | | :label="item.title" |
| | | :prop="item.field" |
| | | :width="item.width" |
| | | align="center" |
| | | > |
| | |
| | | <div v-else style="height: 400px"></div> |
| | | <div> |
| | | <el-table |
| | | border |
| | | :data="currentSelectedResemble" |
| | | style="width: 100%" |
| | | height="20vh" |
| | | v-loading="tab1BottomTableLoading" |
| | | :data="currentSelectedResemble" |
| | | border |
| | | height="20vh" |
| | | style="width: 100%" |
| | | > |
| | | <el-table-column |
| | | v-for="item in resembleColumList" |
| | | :key="item.field" |
| | | :prop="item.field" |
| | | :label="item.title" |
| | | :minWidth="item.minWidth" |
| | | :prop="item.field" |
| | | align="center" |
| | | > |
| | | <template #default="{ row }"> |
| | |
| | | <el-link |
| | | type="primary" |
| | | @click="openFormTemlpate(row)" |
| | | >{{ row[item.field] }}</el-link |
| | | >{{ row[item.field] }}</el-link |
| | | > |
| | | </span> |
| | | <span v-else> |
| | |
| | | </el-table-column> |
| | | <el-table-column |
| | | v-show="resembleColumList.length > 0" |
| | | prop="rowIndex" |
| | | label="excel行数" |
| | | align="center" |
| | | label="excel行数" |
| | | prop="rowIndex" |
| | | ></el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </el-tab-pane> |
| | | <el-tab-pane :label="tab2Name" name="tab2"> |
| | | <el-table |
| | | border |
| | | v-loading="tab2Loading" |
| | | :data="tab2Table" |
| | | border |
| | | height="60vh" |
| | | > |
| | | <el-table-column |
| | | v-for="item in successTableColumns" |
| | | :key="item.field" |
| | | :prop="item.field" |
| | | :label="item.title" |
| | | :prop="item.field" |
| | | :width="item.width" |
| | | align="center" |
| | | > |
| | | </el-table-column> |
| | | </el-table> |
| | | <el-card |
| | | style="min-height: 200px; margintop: 10px" |
| | | v-if="type === 'batchApplyCode' && tab2Table.length > 0" |
| | | style="min-height: 200px; margintop: 10px" |
| | | > |
| | | <div slot="header" class="clearfix"> |
| | | <h4>编码申请</h4> |
| | | </div> |
| | | <FormTemplate |
| | | v-if="type === 'batchApplyCode'" |
| | | type="add" |
| | | :selfColumnType="selfColumnType" |
| | | :selfColumnConfig="selfColumnConfig" |
| | | ref="CodeApply" |
| | | :selfColumnConfig="selfColumnConfig" |
| | | :selfColumnType="selfColumnType" |
| | | type="add" |
| | | @getFormData="getCodeApplyFormData" |
| | | @referConfigDataUpdate="referConfigDataUpdate" |
| | | ></FormTemplate> |
| | |
| | | </div> |
| | | <template #footer> |
| | | <div> |
| | | <el-button size="small" type="primary" @click="submit" :loading="submitLoading" |
| | | >确定导入</el-button |
| | | <el-button :loading="submitLoading" size="small" type="primary" @click="submit" |
| | | >确定导入 |
| | | </el-button |
| | | > |
| | | <el-button size="small" @click="dialogVisible = false">取消</el-button> |
| | | </div> |
| | |
| | | |
| | | export default { |
| | | name: "ShowImportData", |
| | | components: { ResembleQuery, FormTemplate }, |
| | | components: {ResembleQuery, FormTemplate}, |
| | | mixins: [codeApply], |
| | | props: { |
| | | title: { |
| | |
| | | codeRuleOid: data.codeRuleOid, |
| | | }; |
| | | // 不是第一次打开需要优先校验 |
| | | }else if (this.localCodeClassifyOid === data.codeClassifyOid) { |
| | | } else if (this.localCodeClassifyOid === data.codeClassifyOid) { |
| | | console.log("重复点击"); |
| | | } |
| | | if (!this.batchSelectTableData[data.codeClassifyOid]) { |
| | |
| | | if (errorData.length > 0) { |
| | | await this.$confirm( |
| | | errorData.map((item) => item.name).join("、") + |
| | | ",这几个编码规则下的有错误数据和相似项数据没有处理,您如果继续保存的话,这些数据将会被自动舍弃,是否继续?", |
| | | ",这几个编码规则下的有错误数据和相似项数据没有处理,您如果继续保存的话,这些数据将会被自动舍弃,是否继续?", |
| | | "提示", |
| | | { |
| | | confirmButtonText: "确定", |
| | |
| | | this.$message.warning(`数据${noLookName}还未曾查看,请先查看!`); |
| | | return false; |
| | | } |
| | | params.codeImprotSaveDatVOList = this.batchSelectTableData.map(item => { |
| | | return { |
| | | Clos: item.cloNamesList, |
| | | dataList: item.tab2.concat(item.tab1Selected), |
| | | orderDTO: { |
| | | codeClassifyOid: item.codeClassifyOid, |
| | | templateOid: item.templateOid, |
| | | secDTOList: this.secDTOList, |
| | | }, |
| | | if (this.batchSelectTableData && Array.isArray(this.batchSelectTableData)) { |
| | | params.codeImprotSaveDatVOList = []; |
| | | for (let i = 0; i < this.batchSelectTableData.length; i++) { |
| | | const item = this.batchSelectTableData[i]; |
| | | const data = { |
| | | Clos: item.cloNamesList, |
| | | dataList: item.tab2.concat(item.tab1Selected), |
| | | orderDTO: { |
| | | codeClassifyOid: item.codeClassifyOid, |
| | | templateOid: item.templateOid, |
| | | secDTOList: this.secDTOList, |
| | | }, |
| | | }; |
| | | params.codeImprotSaveDatVOList.push(data); |
| | | } |
| | | }) |
| | | } else { |
| | | params.codeImprotSaveDatVOList = [ |
| | | { |
| | | Clos: this.cloNamesList.map((item) => item.title), |
| | | dataList: this.tab2Table.concat(this.selectedTab1Table), |
| | | orderDTO: { |
| | | codeClassifyOid: this.codeClassifyOid, |
| | | templateOid: this.templateOid, |
| | | secDTOList: this.secDTOList, |
| | | } else { |
| | | params.codeImprotSaveDatVOList = [ |
| | | { |
| | | Clos: this.cloNamesList.map((item) => item.title), |
| | | dataList: this.tab2Table.concat(this.selectedTab1Table), |
| | | orderDTO: { |
| | | codeClassifyOid: this.codeClassifyOid, |
| | | templateOid: this.templateOid, |
| | | secDTOList: this.secDTOList, |
| | | }, |
| | | }, |
| | | }, |
| | | ]; |
| | | } |
| | | this.submitLoading = true |
| | | submitHistoryimport(params).then((res) => { |
| | | this.submitLoading = false |
| | | if (res.data.code === 200) { |
| | | this.$message.success(res.data.msg); |
| | | this.$parent.dialogVisible = false |
| | | this.resetTable() |
| | | ]; |
| | | } |
| | | }); |
| | | this.submitLoading = true |
| | | submitHistoryimport(params).then((res) => { |
| | | this.submitLoading = false |
| | | if (res.data.code === 200) { |
| | | this.$message.success(res.data.msg); |
| | | this.$parent.dialogVisible = false |
| | | this.resetTable() |
| | | } |
| | | }); |
| | | } |
| | | }, |
| | | // 重新编辑 |
| | | reEdit(row) { |
| | |
| | | .flex_box { |
| | | display: flex; |
| | | width: 1280px; |
| | | |
| | | .left { |
| | | transition: all 0.5s; |
| | | |
| | | .isExpand_box { |
| | | margin-bottom: 10px; |
| | | text-align: right; |
| | | } |
| | | |
| | | .filter_tree { |
| | | margin-top: 15px; |
| | | max-height: 400px; |
| | | overflow-y: scroll; |
| | | } |
| | | } |
| | | |
| | | .right { |
| | | transition: all 0.5s; |
| | | margin-left: 20px; |