From 6ca4dcf73b6fd1ac42c77c75c8ce422a75b75a19 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期四, 07 三月 2024 09:59:54 +0800
Subject: [PATCH] 整合代码
---
Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue | 822 ++++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 599 insertions(+), 223 deletions(-)
diff --git a/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue b/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue
index 9355248..ec0c505 100644
--- a/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue
+++ b/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue
@@ -5,23 +5,34 @@
<div class="testbox" style="">
<div>
</div>
- <el-row style="width: 100%;margin-bottom: 20px">
- <div>
+ <el-row style="width: 100%;margin-bottom: 10px">
+ <div style="margin-bottom: 10px">
<el-button v-for="(item, index) in masterVrBtnList"
v-if="!['PREVIEW', 'DELETEFILE', 'revisefile', 'DOWNLOADFILE', 'UPLOADFILE'].includes(item.uniqueFlag)"
:key="index" plain size="small"
type="primary"
- @click="handelBtnClick(item)">{{
+ @click="handleBtnClick(item)">{{
item.name
}}
</el-button>
- <span v-if="tableHeadFindData.length > 0">
- <el-select slot="prepend" v-model="keyWordFind" placeholder="璇烽�夋嫨" size="small">
- <el-option v-for="item in tableHeadFindData" :label="item.label" :value="item.prop"></el-option>
+ <span v-if="tableHeadFindData.length > 0 ">
+ <el-select slot="prepend" v-model="keyWordFind" placeholder="璇烽�夋嫨" size="small" @change="searchChange">
+ <el-option v-for="item in tableHeadFindData" :key="item.id" :label="item.label"
+ :value="item.query"></el-option>
</el-select>
- <el-input v-model="WupinFindValue" placeholder="璇疯緭鍏ュ叧閿瓧鎸夊洖杞︽煡璇�"
- size="small" style="width: 180px; margin-left: 5px; margin-top: 10px"
+ <el-input v-if="!isTimeStatus" v-model="WupinFindValue"
+ placeholder="璇疯緭鍏ュ叧閿瓧鎸夊洖杞︽煡璇�" size="small" style="width: 180px; margin-left: 5px; margin-top: 10px"
@keyup.enter.native="tableFindInp"></el-input>
+ </span>
+ <span v-if="tableHeadFindData.length > 0 && isTimeStatus" class="block">
+ <el-date-picker
+ v-model="dateValue"
+ placeholder="閫夋嫨鏃ユ湡"
+ size="small"
+ style="margin-left: 5px"
+ type="date"
+ @change="dateChange">
+ </el-date-picker>
</span>
<span v-if="tableHeadFindData.length > 0" style="margin-left: 10px">
<p style="font-size: 13px;display: inline-block;"> 鐘舵�侊細</p>
@@ -34,34 +45,84 @@
<el-option label="瀹℃牳涓�" value="Auditing"></el-option>
</el-select></span>
</div>
- <el-table ref="dataTable" v-loading="isLoading" :data="tableData"
- :height="tableHeight"
- @select="handleSelection" @cell-click="handleCellClick" @row-click="handleRowClick"
- @select-all="handleSelectionAll" @selection-change="handleSelectionChange"
- @sort-change="sortChange">
- <el-table-column v-if="tableData.length != 0" fixed type="selection" width="55"></el-table-column>
- <el-table-column v-if="tableData.length != 0" fixed label="搴忓彿" type="index" width="55">
- </el-table-column>
- <el-table-column v-for="item in this.tableHeadFindData" :key="item.id" :formatter="item.formatter"
- :label="item.label"
- :prop="item.prop" :show-overflow-tooltip="true"
- :sortable="item.sortable"
- :width="item.width"
- align="center">
- </el-table-column>
- </el-table>
+ <div class="custom-table">
+ <el-table ref="dataTable" v-loading="isLoading" :data="tableData"
+ :header-cell-style="{background:'#FAFAFA',color:'#505050'}"
+ :height="tableHeight" border
+ class="cus-table" @select="handleSelection" @cell-click="handleCellClick"
+ @row-click="handleRowClick" @select-all="handleSelectionAll"
+ @selection-change="handleSelectionChange" @sort-change="sortChange">
+ <el-table-column v-if="tableData.length != 0" fixed type="selection" width="55"></el-table-column>
+ <el-table-column v-if="tableData.length != 0" fixed label="搴忓彿" type="index" width="55">
+ </el-table-column>
+ <!-- 鐢熷懡鍛ㄦ湡-->
+ <!-- <el-table-column v-for="(item,index) in lcstatusArray"-->
+ <!-- v-if=" lcstatusArray.length >= 0 && !item.hidden"-->
+ <!-- key="index" :show-overflow-tooltip="true" :sortable="item.sortable"-->
+ <!-- :width="item.width" align="center" label="鐢熷懡鍛ㄦ湡鍊�"-->
+ <!-- prop="lcstatus">-->
+ <!-- <template slot-scope="scope">-->
+ <!-- <span>{{ scope.row.lcstatus_text }}</span>-->
+ <!-- </template>-->
+ <!-- </el-table-column>-->
+ <!-- 缂栧彿-->
+ <el-table-column v-for="(item, index) in CodeArray" v-if="CodeArray.length !== 0 && !item.hidden"
+ key="index" :label="item.label" :prop="item.prop"
+ :show-overflow-tooltip="true" :sortable="item.sortable" :width="item.width"
+ align="center">
+ <template slot-scope="scope">
+ <el-link type="primary" @click="CodeLinkHandler(scope.row)">
+ {{ scope.row[item.prop] }}
+ </el-link>
+ </template>
+ </el-table-column>
+ <el-table-column v-for="item in this.tableHeadFindData"
+ v-if="!item.hidden && item.prop !== 'id'"
+ :key="item.id"
+ :formatter="item.formatter"
+ :label="item.label"
+ :prop="item.prop"
+ :show-overflow-tooltip="true"
+ :sortable="item.sortable"
+ :width="item.width"
+ align="center">
+ </el-table-column>
+ </el-table>
+ </div>
</el-row>
- <!-- 鏂板-->
+ <!-- 鐢宠-->
+ <FormTemplateDialog :TreeValue="TreeValue" :codeClassifyOid="this.codeClassifyOid"
+ :codeRuleOid="this.codeRuleOid" :disabledProp="disabledProp" :templateOid="templateOid"
+ :visible.sync="applyvisible" status="apply"
+ type="add"
+ @submit="applySumbit">
+ </FormTemplateDialog>
+ <!-- 淇-->
<FormTemplateDialog :codeClassifyOid="this.codeClassifyOid" :codeRuleOid="this.codeRuleOid"
- :disabledProp="disabledProp" :templateOid="templateOid" :visible.sync="addvisible"
+ :disabledProp="disabledProp" :selectRow="selectRow" :templateOid="templateOid"
+ :title="'鏁版嵁淇'" :visible.sync="amendvisible" status="amend"
+ type="add" @submit="amendSumbit"></FormTemplateDialog>
+ <!-- 鏂板-->
+ <FormTemplateDialog :TreeValue="TreeValue" :codeClassifyOid="this.codeClassifyOid"
+ :codeRuleOid="this.codeRuleOid" :disabledProp="disabledProp" :templateOid="templateOid"
+ :visible.sync="addvisible"
type="add"
@submit="AddSumbit">
</FormTemplateDialog>
<!-- 淇敼-->
<FormTemplateDialog :codeClassifyOid="this.codeClassifyOid" :codeRuleOid="this.codeRuleOid"
- :disabledProp="disabledProp" :rowOid="rowOid" :templateOid="templateOid" :title="'淇敼缂栫爜淇℃伅'"
+ :disabledProp="disabledProp" :rowOid="rowOid" :templateOid="templateOid"
+ :title="'淇敼缂栫爜淇℃伅'"
:visible.sync="editvisible"
type="edit" @submit="EditSumbit"></FormTemplateDialog>
+ <!-- 鎵归噺缂栬緫-->
+ <!-- <MasterEditBulk :visible.sync="bulkeditvisible" ></MasterEditBulk>-->
+ <!-- 鏁版嵁璇︽儏-->
+ <FormTemplateDialog :codeClassifyOid="this.codeClassifyOid" :codeRuleOid="this.codeRuleOid"
+ :rowOid="this.LinkObject.oid" :templateOid="templateOid"
+ :title="'鏁版嵁璇︽儏'"
+ :visible.sync="LinkVisible"
+ type="detail"></FormTemplateDialog>
<!-- 宸插彂甯冩暟鎹慨鏀�-->
<FormTemplateDialog :codeClassifyOid="this.codeClassifyOid" :codeRuleOid="this.codeRuleOid"
:disabledProp="disabledProp" :rowOid="rowOid" :templateOid="templateOid"
@@ -88,22 +149,38 @@
:tableData="tableData"
:tableHeadData="tableHeadFindData" :templateOid="templateOid"
:visible.sync="dialogPush"></MasterTransfer>
+ <!-- 瀵煎叆-->
+ <BatchImport v-if="batchImportData.visible" v-bind="batchImportData" :resetTable="CrudRend"
+ :selectRow="selectRow" :tableHeadData="tableHeadFindData"
+ :visible.sync="batchImportData.visible">
+ </BatchImport>
<!-- 鐩镐技椤�-->
<ResembleQueryDialog :codeClassifyOid="codeClassifyOid" :codeRuleOid="this.codeRuleOid" :rowOid="rowOid"
:templateOid="templateOid" :visible.sync="similarVisible"></ResembleQueryDialog>
<div class="block" style="display: flex; justify-content: flex-end">
- <el-pagination :current-page="page.currentPage" :page-size="page.pageSizes" :page-sizes="page.pageSizes"
+ <el-pagination :current-page="page.currentPage" :page-size="page.pageSize" :page-sizes="page.pageSizes"
:total="page.total" layout="total, sizes, prev, pager, next, jumper"
@size-change="handleSizeChange"
@current-change="handleCurrentChange">
</el-pagination>
</div>
+ <el-dialog v-loading="syncLoading" :visible.sync="syncDialogBox" append-to-body title="鎵嬪姩鍚屾" top="200px"
+ width="30%" @close="syncClose">
+ <p style="display: inline-block">鏈�鍚庢洿鏂版椂闂达細</p>
+ <el-date-picker
+ v-model="SyncValue"
+ format="yyyy 骞� MM 鏈� dd 鏃� HH 鏃� mm 鍒� ss 绉�"
+ placeholder="閫夋嫨鏃ユ湡"
+ style="width: 300px"
+ type="date"
+ value-format="yyyy-MM-dd HH:mm:ss">
+ </el-date-picker>
+ <div slot="footer" class="dialog-footer">
+ <el-button @click="syncClose">鍙� 娑�</el-button>
+ <el-button type="primary" @click="submitSync">纭� 瀹�</el-button>
+ </div>
+ </el-dialog>
</div>
- </div>
- <div>
- <BatchImport v-if="batchImportData.visible" v-bind="batchImportData" :resetTable="CrudRend"
- :visible.sync="batchImportData.visible">
- </BatchImport>
</div>
<div class="bottom">
<el-collapse v-model="visibleNames" @change="handleCollapse">
@@ -116,16 +193,32 @@
</basic-container>
</template>
<script>
-import {MasterTable, TableData, FindData, addSaveCode, editSaveCode, deleteCode, upSaveCode,applyGroupCode,receiveEditApply} from "@/api/GetItem";
+import {
+ MasterTable,
+ TableData,
+ FindData,
+ addSaveCode,
+ editSaveCode,
+ deleteCode,
+ upSaveCode,
+ applyGroupCode,
+ receiveEditApply,
+ applySaveCode,
+ exportGroupCodeExcel,
+ syncSearch
+} from "@/api/GetItem";
import {processTS, changeStatus} from "@/api/template/setPersonnel"
import {listCodeAttributeByClassId} from "@/api/integration/integration.js";
import integrationTransfer from "@/views/integration/integrationTransfer";
import SetPersonnel from "@/components/template/SetPersonnel";
import ResembleQueryDialog from "@/components/FormTemplate/ResembleQueryDialog.vue";
import BatchImport from '@/components/BatchImport'
+import MasterEditBulk from '@/components/Master/MasterEditBulk'
import {validatenull} from "@/util/validate";
import fileInHtml from "@/components/file/inHtml.vue";
import {getUserInfo} from "@/api/system/user";
+import func from "@/util/func";
+import moment from "moment/moment";
export default {
components: {
@@ -133,7 +226,8 @@
SetPersonnel,
ResembleQueryDialog,
BatchImport,
- fileInHtml
+ fileInHtml,
+ MasterEditBulk
},
name: "Crud.vue",
props: {
@@ -153,6 +247,10 @@
},
tableDataArray: {
type: Array,
+ },
+ TreeValue: {
+ type: String,
+ default: "",
},
total: {
type: String,
@@ -177,10 +275,34 @@
},
Treedata: {
type: Array
+ },
+ nodeClickList: {
+ type: Array,
+ default: []
}
},
data() {
return {
+ //鎵嬪姩鍚屾model
+ SyncValue: '',
+ syncLoading: false,
+ syncDialogBox: false,
+ isTimeStatus: false,
+ isTimeName: '',
+ dateValue: "",
+ //鎵归噺缂栬緫瀵硅瘽妗�
+ bulkeditvisible: false,
+ LinkVisible: false,
+ LinkObject: {}, // 缂栫爜鏁版嵁
+ LinkList: [],
+ isCodeArrayPushed: false, // 缂栫爜鏁扮粍娣诲姞鏍囪瘑鍙橀噺
+ CodeArray: [],
+ //鐢熷懡鍛ㄦ湡鏁扮粍
+ lcstatusArray: [],
+ //鍙傜収鏁版嵁鏁扮粍
+ referArray: [],
+ islcstatusPushed: false,
+ isReferPushed: false,
// 鐘舵�佹悳绱�
statusSelect: "all",
// 鍏抽敭瀛楁煡璇�
@@ -196,7 +318,6 @@
btmtype: '',
code: "",
type: '',
- // this.visibleDeactivate ?'ENABLE':this.visibleEnable ? 'DISABLE' :this.visibleRecovery ? 'ROLLBACK' :'PUBLIC'
processName: "",
vars: {
codeClassifyOid: "",
@@ -218,7 +339,8 @@
key: "oid",
label: "name",
},
- tableHeadFindDatas: [],
+ applyvisible: false,
+ amendvisible: false,
addvisible: false,
editvisible: false,
findvisible: false,
@@ -256,16 +378,10 @@
},
// 涓绘暟鎹寜閽�
masterVrBtnList: [],
- fileOptions: {
- ownbizOid: "0",
- ownbizBtm: "0",
- fileDocClassify: '!=processAuditSuggest',
- fileDocClassifyName: '',
- hasDownload: true,
- hasUpload: true,
- height: 100
- },
- result: ''
+ fileOptions: {},
+ result: '',
+ elapsedTime: '',
+ conditionMap: [],
};
},
computed: {
@@ -275,11 +391,9 @@
oids.push(ele.oid);
});
return oids;
- }
+ },
},
created() {
- // const index = this.$route.query.id.indexOf('@name=') + '@name='.length;
- // this.result = this.$route.query.id.substring(index);
getUserInfo().then(res => {
this.result = res.data.data.realName
})
@@ -293,9 +407,16 @@
this.doLayout()
},
watch: {
+ isLoading: {
+ handler(newval) {
+ // console.log(newval)
+ }
+ },
tableHeadDataFateher: {
handler(newval, oldval) {
- this.options = newval.tableDefineVO.seniorQueryColumns
+ if (Object.keys(newval).length > 0) {
+ this.options = newval.tableDefineVO.seniorQueryColumns;
+ }
}
},
codeClassifyOid: {
@@ -307,14 +428,29 @@
tableDataArray: {
handler(newval, oldval) {
this.tableData = newval;
- this.searchResults = newval
- this.doLayout()
+ this.searchResults = newval;
+ this.doLayout();
+ if (newval.length > 0) {
+ this.fileOptions = {
+ ownbizOid: "0",
+ ownbizBtm: "0",
+ fileDocClassify: '!=processAuditSuggest',
+ fileDocClassifyName: '',
+ hasDownload: true,
+ hasUpload: true,
+ hasEdit: true,
+ hasDel: true,
+ height: 'auto'
+ }
+ } else {
+ this.fileOptions = {};
+ }
},
},
tableHeadFindData: {
handler(newval, oldval) {
newval.forEach((record, _index) => {
- if (record.field == 'id' && validatenull(record.templet)) {
+ if (record.queryField == 'id' && validatenull(record.templet)) {
//浼佷笟缂栫爜鐨勯粯璁ゆ坊鍔犺秴閾炬帴,鏆傛湭瀹炵幇
record.formatter = '';
} else {
@@ -329,10 +465,40 @@
}
if (_index == 0) {
- this.keyWordFind = record.field
+ this.keyWordFind = record.queryField;
}
+ ;
+ // if(record.fieldType === "datetime"){
+ // this.isTimeStatus = true;
+ // console.log(this.isTimeStatus)
+ // console.log(record)
+ // }
})
- this.tableHeadFindDatas = newval;
+ if (newval) {
+ this.CodeArray = [];
+ if (newval.find(item => item.prop === 'id')) {
+ this.CodeArray.push(newval.find(item => item.prop === 'id'));
+ } else {
+ this.CodeArray = [];
+ }
+
+ }
+ if (newval) {
+ this.lcstatusArray = [];
+ if (newval.find(item => item.prop === 'lcstatus')) {
+ this.lcstatusArray.push(newval.find(item => item.prop === 'lcstatus'));
+ } else {
+ this.lcstatusArray = [];
+ }
+ }
+ if (newval) {
+ this.referArray = [];
+ if (newval.find(item => Object.keys(item.referConfig).length > 0)) {
+ this.referArray.push(newval.find(item => Object.keys(item.referConfig).length > 0));
+ } else {
+ this.referArray = [];
+ }
+ }
this.WupinFindValue = ''
},
},
@@ -344,19 +510,28 @@
templateOid: {
handler(newval, oldval) {
this.fileOptions.ownbizOid = "0";
+ this.statusSelect = 'all'
},
deep: true,
},
tableHeadBtnData: {
handler(newval) {
- if (newval.length !== 0) {
- this.masterVrBtnList = newval
- }
+ this.masterVrBtnList = newval
},
deep: true
},
},
methods: {
+ // 缃┖鏌ヨ鏉′欢
+ resetConditionMap() {
+ this.conditionMap = {};
+ },
+
+ CodeLinkHandler(row) {
+ this.LinkObject = row;
+ this.LinkVisible = true;
+ this.LinkList = Object.keys(row).map(property => property)
+ },
//鐘舵�佹悳绱�
cellSelectHandler(row) {
if (row === 'all') {
@@ -366,6 +541,8 @@
}
},
cellStatusFind(lcstatus) {
+ this.isLoading = true;
+ this.conditionMap["conditionMap[lcstatus]"] = lcstatus;
TableData({
templateOid: this.templateOid,
codeClassifyOid: this.codeClassifyOid,
@@ -373,8 +550,10 @@
limit: this.page.pageSize,
'conditionMap[lcstatus]': lcstatus
}).then(res => {
- console.log(res)
- this.tableData = res.data.data
+ // console.log(res)
+ this.tableData = res.data.data;
+ this.page.total = res.data.total;
+ this.isLoading = false;
})
},
//灞曞紑闄勪欢
@@ -383,17 +562,17 @@
this.tableHeight = 'calc(100vh - 630px)';
this.$refs.dataTable.doLayout()
} else {
- this.tableHeight = 'calc(100vh - 330px)';
+ this.tableHeight = 'calc(100vh - 350px)';
this.$refs.dataTable.doLayout()
}
},
openVis(visible) {
this[visible] = true
},
- handelBtnClick(event) {
+ handleBtnClick(event) {
const {uniqueFlag} = event
this.$nextTick(() => {
- if (uniqueFlag === 'CODEADD') return this.addvisible = true
+ if (uniqueFlag === 'CODEADD') return this.addSaveHandler()
if (uniqueFlag === 'CODEEDIT') return this.editHandler()
if (uniqueFlag === 'CODEBATCHADD') return this.openBatchImport('batchImportApply')
if (uniqueFlag === 'CODEIMPORTHISTORY') return this.openBatchImport('historyImport')
@@ -418,19 +597,172 @@
if (uniqueFlag === 'receiveEditApply') return this.receiveEditApply()
// 鐩镐技椤规煡璇�
// if(uniqueFlag === 'CODEEDIT') return this.similarHandler()
+ // 鏍囧噯鐢宠
+ if (uniqueFlag === 'CODEAPPLY') return this.codeApplyHandler()
+ // 鏍囧噯淇
+ if (uniqueFlag === 'CODEAMEND') return this.codeAMENDHandler()
+ //鎵归噺缂栬緫
+ if (uniqueFlag === 'bulkEdit') return this.bulkEditHandler("bulkEdit")
+ //闆嗗洟鐮佸鍑�
+ if (uniqueFlag === 'excelGroupCode') return this.excelGroupCode()
+ //闆嗗洟鐮佸鍏�
+ if (uniqueFlag === 'importGroupCode') return this.importGroupCode("groupCode")
+ //鎵嬪姩鍚屾
+ if (uniqueFlag === 'manualSyncing') return this.manualSyncing("groupCode")
+ });
+ },
+ //鎵嬪姩鍚屾
+ manualSyncing() {
+ this.syncDialogBox = true;
+ },
+ //鎵嬪姩鍚屾鍏抽棴
+ syncClose() {
+ this.syncDialogBox = false;
+ },
+ //鎵嬪姩鍚屾纭畾
+ async submitSync() {
+ if (this.SyncValue) {
+ this.syncLoading = true;
+ const response = await syncSearch({endDate: this.SyncValue})
+ if (response.status === 200) {
+ this.$message.success('鍚屾鎴愬姛锛�')
+ this.syncLoading = false;
+ this.syncDialogBox = false;
+ this.SyncValue = "";
+ } else {
+ this.syncLoading = false;
+ this.syncDialogBox = false;
+ this.SyncValue = "";
+ }
+ } else {
+ this.$message.warning('璇烽�夋嫨鏈�鍚庢洿鏂版椂闂达紒')
+ }
+ },
+ //闆嗗洟鐮佸鍏�
+ importGroupCode(type) {
+ this.batchImportData.visible = true
+ this.batchImportData.type = type
+ this.batchImportData.codeClassifyOid = this.codeClassifyOid
+ },
+ //闆嗗洟鐮佸鍑�
+ excelGroupCode() {
+ this.isLoading = true;
+ exportGroupCodeExcel({
+ codeClassifyOid: this.codeClassifyOid,
+ }).then(res => {
+ // let reader = new FileReader();
+ // reader.readAsText(res.data);
+ // reader.onload = () => {
+ // try {
+ // let resData = JSON.parse(reader.result); // 瑙f瀽瀵硅薄鎴愬姛
+ // if (!resData.success) {
+ // this.$message.error(resData.msg);
+ // this.isLoading = false;
+ // }
+ // } catch (err) {
+ // // 瑙f瀽鎴愬璞″け璐ワ紝璇存槑鏄甯哥殑鏂囦欢娴�
+ // func.downloadFileByBlobHandler(res);
+ // this.$message.success('涓嬭浇鎴愬姛锛岃鏌ョ湅锛�');
+ // this.isLoading = false;
+ // }
+ // };
+ func.downloadFileByBlobHandler(res);
+ this.$message.success('涓嬭浇鎴愬姛锛岃鏌ョ湅锛�');
+ this.isLoading = false;
+ }).catch(error => {
+ this.$message.error(error);
+ });
+ },
+ //鏍囧噯鐢宠
+ codeApplyHandler() {
+ this.$nextTick(() => {
+ this.applyvisible = true;
+ });
+ },
+ applySumbit(val) {
+ // console.log('val',val)
+ if (func.notEmpty(val.ts)) {
+ val.ts = func.formattedDateTime(val.ts);
+ //console.log(val.ts);
+ }
+ applySaveCode(val).then(res => {
+ this.$nextTick(() => {
+ this.applyvisible = false;
+ this.$message.success("淇濆瓨鎴愬姛");
+ this.onLoad()
+ })
+ })
+ },
+ amendSumbit(val) {
+ applySaveCode(val).then(res => {
+ this.$nextTick(() => {
+ this.amendvisible = false;
+ this.$message.success("淇濆瓨鎴愬姛");
+ this.onLoad()
+ })
+ })
+
+ },
+ //鏍囧噯淇
+ codeAMENDHandler() {
+ let foundItem = false;
+ this.tableHeadFindData.forEach(item => {
+ if (item.field === "oldcode" && Object.keys(item.referConfig).length >= 1) {
+ foundItem = true;
+ }
+ });
+ if (foundItem) {
+ if (this.selectRow.length >= 1) {
+ this.$confirm('宸叉湁鍙傜収鏄惁鍙栨秷鍕鹃�夌户缁墽琛岋紵', '鎻愮ず', {
+ confirmButtonText: '纭畾',
+ cancelButtonText: '鍙栨秷',
+ type: 'warning'
+ }).then(() => {
+ this.selectRow = [];
+ //鍙栨秷鍕鹃�夌姸鎬�
+ this.$refs.dataTable.clearSelection();
+ this.amendvisible = true;
+ }).catch(() => {
+ this.$message({
+ type: 'info',
+ message: '宸插彇娑堝綋鍓嶆搷浣�'
+ });
+ });
+ } else {
+ this.amendvisible = true;
+ }
+ } else {
+ if (this.selectRow.length <= 0) {
+ this.$message.warning("璇疯嚦灏戦�夋嫨涓�鏉℃暟鎹�");
+ } else {
+ this.amendvisible = true;
+
+ }
+ }
+ },
+ //鎵归噺缂栬緫
+ bulkEditHandler(type) {
+ if (this.nodeClickList.children.length >= 1) {
+ this.$message.warning('褰撳墠閫夋嫨鐨勫垎绫讳笉鏄彾瀛愯妭鐐癸紝涓嶅厑璁告壒閲忕紪杈戯紒')
+ return;
+ }
+ this.batchImportData.visible = true
+ this.batchImportData.type = type
+ this.batchImportData.codeClassifyOid = this.codeClassifyOid
+ },
+ addSaveHandler() {
+ this.$nextTick(() => {
+ this.addvisible = true;
});
},
//鐢宠闆嗗洟鐮佹暟鎹�
- applyGroupCode(){
- if(this.selectRow.length <= 0){
+ applyGroupCode() {
+ if (this.selectRow.length <= 0) {
this.$message.warning('璇烽�夋嫨涓�鏉℃暟鎹ā鏉匡紒')
- }else {
- // const requestData = this.selectRow.forEach(item => {
- // return { oids: item.oid, btmName: item.btmname };
- // });
+ } else {
const oids = this.selectRow.map(item => item.oid).join(',');
- applyGroupCode({ oids, btmName: this.selectRow[0].btmname }).then(res=>{
- if(res.data.code==200){
+ applyGroupCode({oids, btmName: this.selectRow[0].btmname}).then(res => {
+ if (res.data.code == 200) {
this.$message.success('鐢宠鎴愬姛')
}
this.onLoad()
@@ -438,16 +770,13 @@
}
},
//鏇存柊闆嗗洟鐮佹暟鎹�
- receiveEditApply(){
- if(this.selectRow.length <= 0){
+ receiveEditApply() {
+ if (this.selectRow.length <= 0) {
this.$message.warning('璇烽�夋嫨涓�鏉℃暟鎹ā鏉匡紒')
- }else {
- // const requestData = this.selectRow.forEach(item => {
- // return { oids: item.oid, btmName: item.btmname };
- // });
+ } else {
const oids = this.selectRow.map(item => item.oid).join(',');
- receiveEditApply({ oids, btmName: this.selectRow[0].btmname }).then(res => {
- if(res.data.code==200){
+ receiveEditApply({oids, btmName: this.selectRow[0].btmname}).then(res => {
+ if (res.data.code == 200) {
this.$message.success('鏇存柊鎴愬姛')
this.onLoad()
}
@@ -467,9 +796,6 @@
const data = response.data.data;
this.transferData = data;
}
- },
- handelTransferSave(val) {
- console.log('鍙戝竷', val)
},
rend() {
this.tableData = this.tableHeadData;
@@ -598,21 +924,37 @@
});
}
},
- handleSizeChange(val) {
- this.isLoading = true;
- setTimeout(() => {
- this.page.pageSize = val;
- this.$emit("pageSize", val);
- this.CrudRend();
- }, 3000);
+ async CrudRend() {
+ this.elapsedTime = 0;
+ const startTime = performance.now();
+ const res = await TableData({
+ templateOid: this.templateOid,
+ codeClassifyOid: this.codeClassifyOid,
+ page: this.page.currentPage,
+ limit: this.page.pageSize,
+ ...this.conditionMap, /**甯︿笂鍒嗛〉鏌ヨ鏉′欢 */
+ });
+ const endTime = performance.now();
+ this.elapsedTime = Math.floor(endTime - startTime) * 1;
+ this.page.total = res.data.total;
+ this.data = res.data.data;
+ this.tableData = res.data.data;
},
- handleCurrentChange(val) {
+
+ async handleSizeChange(val) {
+ this.page.pageSize = val;
+ this.$emit("pageSize", val);
this.isLoading = true;
- setTimeout(() => {
- this.page.currentPage = val;
- this.$emit("currentPage", val);
- this.CrudRend();
- }, 3000);
+ await this.CrudRend();
+ this.isLoading = false;
+ },
+
+ async handleCurrentChange(val) {
+ this.page.currentPage = val;
+ this.$emit("currentPage", val);
+ this.isLoading = true;
+ await this.CrudRend();
+ this.isLoading = false;
},
// 鐩戝惉鍗曞厓鏍肩偣鍑讳簨浠跺苟瀛樺偍姝e湪缂栬緫鐨勮
handleCellClick(row, column) {
@@ -637,7 +979,6 @@
list.push(item.oid)
})
deleteCode({codeClassifyOid: this.codeClassifyOid, oidList: list}).then(res => {
- console.log(res)
if (res.data.code === 200) {
this.$message({
type: 'success',
@@ -653,7 +994,7 @@
});
});
},
- // 灏嗘鍦ㄧ紪杈戠殑琛岀殑鐘舵�佸彉涓� null 锛屽嵆閫�鍑虹紪杈戠姸鎬�
+ //灏嗘鍦ㄧ紪杈戠殑琛岀殑鐘舵�佸彉涓� null 锛屽嵆閫�鍑虹紪杈戠姸鎬�
saveRow() {
this.editingRow = null;
},
@@ -665,77 +1006,47 @@
}
})
},
- //琛ㄦ牸澶存覆鏌�
- CrudHeaderRend() {
- if (this.codeClassifyOid != "") {
- MasterTable({
- codeClassifyOid: this.codeClassifyOid
- }).then((res) => {
- this.options = res.data.tableDefineVO.seniorQueryColumns;
- this.List = res.data.tableDefineVO.cols[0];
- this.List.forEach((item) => {
- let columnItem = {
- label: item.title,
- prop: item.field,
- type: this.columnType[item.type],
- sortable: item.sort,
- width: item.minWidth,
- };
- this.option.column.push(columnItem);
- this.option.column = this.tableHeadData;
- this.templateOid = res.data.tableDefineVO.oid;
- this.$emit("templateOid", this.templateOid);
- });
- });
- }
- },
- //琛ㄦ牸鏁版嵁
- CrudRend() {
- TableData({
- templateOid: this.templateOid,
- codeClassifyOid: this.codeClassifyOid,
- page: this.page.currentPage,
- limit: this.page.pageSize,
- }).then((res) => {
- this.page.total = res.data.total;
- this.data = res.data.data;
- this.tableData = res.data.data;
- });
- },
// 鎺掑簭
- sortChange(val) {
- this.isLoading = true;
- let order = "";
- if (val.order == "ascending") {
- order = "asc";
- } else {
- order = "desc";
+ async sortChange(val) {
+ try {
+ this.isLoading = true;
+ const order = val.order == 'ascending' ? 'asc' : 'desc';
+ const {data} = await TableData({
+ templateOid: this.templateOid,
+ codeClassifyOid: this.codeClassifyOid,
+ order: order,
+ sort: val.prop,
+ page: this.page.currentPage,
+ limit: this.page.pageSize,
+ ...this.conditionMap
+ });
+ this.data = data.data;
+ } finally {
+ this.isLoading = false;
}
- TableData({
- templateOid: this.templateOid,
- codeClassifyOid: this.codeClassifyOid,
- order: order,
- sort: val.prop,
- page: this.page.currentPage,
- limit: this.page.pageSize,
- }).then((res) => {
- setTimeout(() => {
- this.data = res.data.data;
- this.isLoading = false;
- }, 100);
- });
},
//鍒嗛〉鍒锋柊
async onLoad(val) {
- await TableData({
- templateOid: this.templateOid,
- codeClassifyOid: this.codeClassifyOid,
- page: this.page.currentPage,
- limit: this.page.pageSize,
- }).then((res) => {
+ this.isLoading = true;
+ try {
+ let conditionMap = {};
+ if (this.statusSelect !== 'all') {
+ conditionMap.lcstatus = this.statusSelect;
+ }
+ const res = await TableData({
+ templateOid: this.templateOid,
+ codeClassifyOid: this.codeClassifyOid,
+ page: this.page.currentPage,
+ limit: this.page.pageSize,
+ conditionMap
+ });
this.tableData = res.data.data;
- this.doLayout()
- });
+ this.doLayout();
+ } catch (error) {
+ this.$message.error(error)
+ } finally {
+ this.isLoading = false;
+ }
},
//澶氶��
handleSelectionChange(list) {
@@ -754,15 +1065,13 @@
},
//缂栬緫
editHandler() {
- if (this.selectRow.length <= 0) {
+ if (this.selectRow.length !== 1) {
this.$message.warning("璇烽�夋嫨涓�鏉℃暟鎹�");
- } else if (this.selectRow.length > 1) {
- this.$message.warning("鍙兘閫夋嫨涓�鏉℃暟鎹�");
- } else if (this.selectRow[0].lcstatus != "Editing") {
- this.$message.warning("缂栫爜鐘舵�佷笉鏄�滅紪杈戜腑鈥�,涓嶅彲缂栬緫");
+ } else if (this.selectRow[0].lcstatus !== "Editing") {
+ this.$message.warning("缂栫爜鐘舵�佷笉鏄�滅紪杈戜腑鈥濓紝涓嶅彲缂栬緫");
} else {
this.editvisible = true;
- this.rowOid = this.selectRow[0]['oid']
+ this.rowOid = this.selectRow[0].oid;
}
},
//楂樼骇鏌ヨ鎸夐挳
@@ -770,69 +1079,83 @@
this.findvisible = true;
},
// 楂樼骇鏌ヨ
- echoContion(val) {
- FindData({
- templateOid: this.templateOid,
- codeClassifyOid: this.codeClassifyOid,
- ...val,
- }).then((res) => {
+ async echoContion(val) {
+ this.conditionMap = val;
+ try {
+ const res = await FindData({
+ templateOid: this.templateOid,
+ codeClassifyOid: this.codeClassifyOid,
+ ...val,
+ page: this.page.currentPage = 1, /** 姣忔鐐瑰嚮楂樼骇鏌ヨ閮藉簲璇ヤ粠绗竴椤靛紑濮�*/
+ limit: this.page.pageSize
+ });
this.tableData = res.data.data;
this.page.total = res.data.total
- });
+ } catch (error) {
+
+ }
},
//鐩镐技椤规煡璇�
similarHandler() {
if (this.selectRow.length <= 0) {
this.$message.warning("璇烽�夋嫨涓�鏉℃暟鎹�");
- } else if (this.selectRow.length > 1) {
- this.$message.warning("鍙兘閫夋嫨涓�鏉℃暟鎹�");
- } else {
- this.similarVisible = true;
+ return;
}
+ if (this.selectRow.length > 1) {
+ this.$message.warning("鍙兘閫夋嫨涓�鏉℃暟鎹�");
+ return;
+ }
+ this.similarVisible = true;
},
//鏁版嵁鏇存敼
DataChange() {
if (this.selectRow.length <= 0) {
this.$message.warning("璇烽�夋嫨涓�鏉℃暟鎹�");
- } else if (this.selectRow.length > 1) {
- this.$message.warning("鍙兘閫夋嫨涓�鏉℃暟鎹�");
- } else if (this.selectRow[0].lcstatus != "Released") {
- this.$message.warning("鍙湁鐘舵�佷负宸插彂甯冪殑鏁版嵁鎵嶈兘杩涜鏁版嵁鏇存敼");
- } else {
- this.DataVisible = true;
- this.rowOid = this.selectRow[0]['oid']
+ return
}
+ if (this.selectRow.length > 1) {
+ this.$message.warning("鍙兘閫夋嫨涓�鏉℃暟鎹�");
+ return;
+ }
+ if (this.selectRow[0].lcstatus != "Released") {
+ this.$message.warning("鍙湁鐘舵�佷负宸插彂甯冪殑鏁版嵁鎵嶈兘杩涜鏁版嵁鏇存敼");
+ return;
+ }
+ this.DataVisible = true;
+ this.rowOid = this.selectRow[0]['oid']
},
//澧炲姞淇濆瓨
AddSumbit(val) {
- this.addvisible = false;
+ if (func.notEmpty(val.ts)) {
+ val.ts = func.formattedDateTime(val.ts);
+ //console.log(val.ts);
+ }
addSaveCode(val).then(res => {
this.$nextTick(() => {
- this.$message.warning("淇濆瓨鎴愬姛");
+ this.addvisible = false;
+ this.$message.success("淇濆瓨鎴愬姛");
this.onLoad()
})
})
},
//淇敼鍥炶皟
EditSumbit(val) {
- this.editvisible = false;
editSaveCode(val).then(res => {
this.$nextTick(() => {
- this.$message.warning("淇濆瓨鎴愬姛");
+ this.editvisible = false;
+ this.$message.success("淇濆瓨鎴愬姛");
this.onLoad()
})
})
},
//鏁版嵁鏇存敼鍥炶皟
updataSumbit(val) {
- this.DataVisible = false;
val.copyFromVersion = this.rowOid;
val.oid = '';
- console.log(val)
upSaveCode(val).then(res => {
- console.log(res)
this.$nextTick(() => {
- this.$message.warning("淇濆瓨鎴愬姛");
+ this.DataVisible = false;
+ this.$message.success("淇濆瓨鎴愬姛");
this.onLoad()
})
})
@@ -842,21 +1165,58 @@
this.batchImportData.type = type
this.batchImportData.codeClassifyOid = this.codeClassifyOid
},
+ searchChange(val) {
+ this.isTimeName = val;
+ this.isTimeStatus = this.tableHeadFindData.some(item => {
+ if (item.fieldType === "datetime" && item.prop === val) {
+ return true;
+ }
+ return false;
+ });
+ // console.log(this.isTimeStatus)
+ },
+ dateChange(val) {
+ if (val) {
+ const momentDate = moment(this.dateValue);
+ const dateString = momentDate.format("yyyy-MM-DD");
+ this.isLoading = true;
+ try {
+ TableData({
+ templateOid: this.templateOid,
+ codeClassifyOid: this.codeClassifyOid,
+ page: this.page.currentPage,
+ limit: this.page.pageSize,
+ ['conditionMap[' + this.keyWordFind + ']']: dateString
+ }).then(res => {
+ this.tableData = res.data.data;
+ this.page.total = res.data.total;
+ })
+ } finally {
+ this.isLoading = false;
+ }
+ }
+ },
//杈撳叆鍥炶溅鎼滅储
tableFindInp() {
- /*if (this.WupinFindValue.trim() === '') {
- this.$message.warning('杈撳叆鍊间笉鑳戒负绌�')
- return;
- }*/
- TableData({
- templateOid: this.templateOid,
- codeClassifyOid: this.codeClassifyOid,
- page: this.page.currentPage,
- limit: this.page.pageSize,
- ['conditionMap[' + this.keyWordFind + ']']: '*' + this.WupinFindValue + '*'
- }).then(res => {
- this.tableData = res.data.data
- })
+ this.isLoading = true;
+ try {
+ this.conditionMap = {};
+ // 瀛樺偍鏌ヨ鏉′欢锛屼富瑕佹槸涓轰簡鐐瑰嚮椤电爜鏃跺甫涓婅繖涓潯浠�
+ this.conditionMap["conditionMap[" + this.keyWordFind + "]"] = '*' + this.WupinFindValue + '*';
+ console.log(this.conditionMap)
+ TableData({
+ templateOid: this.templateOid,
+ codeClassifyOid: this.codeClassifyOid,
+ page: this.page.currentPage,
+ limit: this.page.pageSize,
+ ['conditionMap[' + this.keyWordFind + ']']: '*' + this.WupinFindValue + '*'
+ }).then(res => {
+ this.tableData = res.data.data;
+ this.page.total = res.data.total;
+ })
+ } finally {
+ this.isLoading = false;
+ }
}
}
@@ -864,38 +1224,54 @@
</script>
<style lang="scss" scoped>
-.testbox {
- .el-table--scrollable-x .el-table__body-wrapper {
- overflow: auto !important;
- }
-
- .el-table__fixed-right-patch {
- background-color: #f5f7fa !important;
- }
+//鍥哄畾鍒楅珮搴�
+/deep/ .el-table__fixed {
+ height: calc(100vh - 365px) !important;
}
-/deep/ .el-button {
+// 婊氬姩鏉℃牱寮忎慨鏀�
+// 婊氬姩鏉$殑瀹藉害
+/deep/ .el-table__body-wrapper::-webkit-scrollbar {
+ height: 15px; // 绾靛悜婊氬姩鏉� 蹇呭啓
+ background: white;
+ border: white;
+ width: 10px;
+
+}
+
+// 婊氬姩鏉$殑婊戝潡
+/deep/ .el-table__body-wrapper::-webkit-scrollbar-thumb {
+ background-color: #ececec;
+ border-radius: 20px;
+ border: #ececec;
+}
+
+
+.el-button {
margin: 0 10px 10px 0;
+}
+
+/deep/ .dialog-footer .el-button {
+ margin: 0 10px 0 0;
}
.main {
display: flex;
flex-direction: column;
- height: calc(100vh - 150px);
+ height: calc(100vh - 145px);
min-height: 400px;
}
.top {
overflow-y: scroll;
- min-height: 55%;
+ min-height: 40%;
}
.bottom {
- margin-top: 20px;
- overflow-y: scroll;
+ margin-top: 10px;
}
-.el-collapse-item__content {
- padding-bottom: 0;
+.el-table__body-wrapper {
+ height: calc(100% - 44px) !important;
}
</style>
--
Gitblit v1.9.3