From fdff80eeba9f882abcad3d62f915e95de1a8f6f4 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期四, 30 十一月 2023 10:59:13 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue | 387 +++++++++++++++++++++++++++++++++++++------------------
1 files changed, 260 insertions(+), 127 deletions(-)
diff --git a/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue b/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue
index 9907cf6..a8121e9 100644
--- a/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue
+++ b/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue
@@ -6,12 +6,12 @@
<div>
</div>
<el-row style="width: 100%;margin-bottom: 10px">
- <div>
+ <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>
@@ -35,41 +35,70 @@
<el-option label="瀹℃牳涓�" value="Auditing"></el-option>
</el-select></span>
</div>
- <el-table ref="dataTable" v-loading="isLoading" :data="tableData"
- :height="tableHeight" border
- @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 CodeArray" v-if="!item.hidden" :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' && item.prop !== 'lcstatus'"
- :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-column v-for="item in lcstatusArray" v-if="!item.hidden" label="鐢熷懡鍛ㄦ湡鍊�" prop="lcstatus"
- :show-overflow-tooltip="true" :sortable="item.sortable" :width="item.width"
- align="center">
- <template slot-scope="scope">
- <span>{{ scope.row.lcstatus_text }}</span>
- </template>
- </el-table-column>
- </el-table>
+ <div class="custom-table">
+ <el-table ref="dataTable" v-loading="isLoading" :data="tableData" :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' && item.prop !== 'lcstatus' && Object.keys(item.referConfig).length <= 0"
+ :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-column v-for="(item,index) in referArray" v-if="item.referConfig && Object.keys(item.referConfig).length > 0 && !item.hidden"
+ :key="index"
+ :label="item.title" :show-overflow-tooltip="true"
+ :sortable="item.sortable" :width="item.width" align="center"
+ prop="jiliangdw">
+ <template slot-scope="scope">
+ <span>{{ scope.row.jiliangdwname }}</span>
+ </template>
+ </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" :rowOid="rowOid" :templateOid="templateOid" :title="'淇敼缂栫爜淇℃伅'"
+ :visible.sync="amendvisible" status="amend"
+ type="edit" @submit="amendSumbit"></FormTemplateDialog>
<!-- 鏂板-->
<FormTemplateDialog :TreeValue="TreeValue" :codeClassifyOid="this.codeClassifyOid"
:codeRuleOid="this.codeRuleOid" :disabledProp="disabledProp" :templateOid="templateOid"
@@ -82,9 +111,11 @@
: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"
+ :rowOid="this.LinkObject.oid" :templateOid="templateOid"
:title="'鏁版嵁璇︽儏'"
:visible.sync="LinkVisible"
type="detail"></FormTemplateDialog>
@@ -114,6 +145,11 @@
: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>
@@ -125,11 +161,6 @@
</el-pagination>
</div>
</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">
@@ -151,7 +182,8 @@
deleteCode,
upSaveCode,
applyGroupCode,
- receiveEditApply
+ receiveEditApply,
+ applySaveCode
} from "@/api/GetItem";
import {processTS, changeStatus} from "@/api/template/setPersonnel"
import {listCodeAttributeByClassId} from "@/api/integration/integration.js";
@@ -159,9 +191,11 @@
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";
export default {
components: {
@@ -169,7 +203,8 @@
SetPersonnel,
ResembleQueryDialog,
BatchImport,
- fileInHtml
+ fileInHtml,
+ MasterEditBulk
},
name: "Crud.vue",
props: {
@@ -218,17 +253,26 @@
Treedata: {
type: Array
},
-
+ nodeClickList: {
+ type: Array,
+ default: []
+ }
},
data() {
return {
+ //鎵归噺缂栬緫瀵硅瘽妗�
+ bulkeditvisible: false,
LinkVisible: false,
LinkObject: {}, // 缂栫爜鏁版嵁
LinkList: [],
isCodeArrayPushed: false, // 缂栫爜鏁扮粍娣诲姞鏍囪瘑鍙橀噺
CodeArray: [],
- lcstatusArray:[],
- islcstatusPushed:false,
+ //鐢熷懡鍛ㄦ湡鏁扮粍
+ lcstatusArray: [],
+ //鍙傜収鏁版嵁鏁扮粍
+ referArray: [],
+ islcstatusPushed: false,
+ isReferPushed: false,
// 鐘舵�佹悳绱�
statusSelect: "all",
// 鍏抽敭瀛楁煡璇�
@@ -267,6 +311,8 @@
label: "name",
},
tableHeadFindDatas: [],
+ applyvisible: false,
+ amendvisible: false,
addvisible: false,
editvisible: false,
findvisible: false,
@@ -313,7 +359,8 @@
hasUpload: true,
height: 110
},
- result: ''
+ result: '',
+ elapsedTime: '',
};
},
computed: {
@@ -323,7 +370,7 @@
oids.push(ele.oid);
});
return oids;
- }
+ },
},
created() {
// const index = this.$route.query.id.indexOf('@name=') + '@name='.length;
@@ -381,15 +428,33 @@
}
})
this.tableHeadFindDatas = newval;
- if (!this.isCodeArrayPushed) {
- this.CodeArray.push(newval.find(item => item.prop === 'id'))
- this.isCodeArrayPushed = true
- };
- if (!this.islcstatusPushed) {
- this.lcstatusArray.push(newval.find(item => item.prop === 'lcstatus'))
- this.islcstatusPushed = true
- };
// console.log('new',newval)
+ if (!this.isCodeArrayPushed) {
+ if (newval.find(item => item.prop === 'id')) {
+ this.CodeArray.push(newval.find(item => item.prop === 'id'));
+ } else {
+ this.CodeArray.push([]);
+ }
+ // console.log('CodeArray', this.CodeArray);
+ this.isCodeArrayPushed = true;
+ }
+ if (!this.islcstatusPushed) {
+ if (newval.find(item => item.prop === 'lcstatus')) {
+ this.lcstatusArray.push(newval.find(item => item.prop === 'lcstatus'));
+ } else {
+ this.lcstatusArray.push([]);
+ }
+ // console.log('lcstatusArray', this.lcstatusArray);
+ this.islcstatusPushed = true;
+ }
+ if (!this.isReferPushed) {
+ 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.push([])
+ }
+ }
+ this.isReferPushed = true;
this.WupinFindValue = ''
},
},
@@ -406,9 +471,7 @@
},
tableHeadBtnData: {
handler(newval) {
- if (newval.length !== 0) {
- this.masterVrBtnList = newval
- }
+ this.masterVrBtnList = newval
},
deep: true
},
@@ -453,10 +516,10 @@
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')
@@ -481,6 +544,77 @@
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")
+ });
+ },
+ //鏍囧噯鐢宠
+ 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() {
+ if (this.selectRow.length !== 1) {
+ this.$message.warning("璇烽�夋嫨涓�鏉℃暟鎹�");
+ } else {
+ this.amendvisible = true;
+ this.rowOid = this.selectRow[0].oid;
+ }
+ },
+ //鎵归噺缂栬緫
+ bulkEditHandler(type) {
+ console.log(this.nodeClickList)
+ if (this.nodeClickList.children.length >= 1) {
+ this.$message.warning('褰撳墠閫夋嫨鐨勫垎绫讳笉鏄彾瀛愯妭鐐癸紝涓嶅厑璁告壒閲忕紪杈戯紒')
+ return;
+ }
+ if (this.selectRow.length <= 0) {
+ this.$message.warning('璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹紒')
+ return;
+ }
+ const Editing = this.selectRow.every(item => item.lcstatus === 'Editing');
+
+ if (Editing) {
+ this.batchImportData.visible = true
+ this.batchImportData.type = type
+ this.batchImportData.codeClassifyOid = this.codeClassifyOid
+ } else {
+ this.$message.warning('閫夋嫨鐨勬暟鎹腑鏈夌紪鐮佺姸鎬佷笉鏄�滅紪杈戜腑鈥濓紝涓嶅彲缂栬緫锛�');
+ }
+ },
+ addSaveHandler() {
+ this.$nextTick(() => {
+ this.addvisible = true;
});
},
//鐢宠闆嗗洟鐮佹暟鎹�
@@ -491,6 +625,7 @@
// const requestData = this.selectRow.forEach(item => {
// return { oids: item.oid, btmName: item.btmname };
// });
+
const oids = this.selectRow.map(item => item.oid).join(',');
applyGroupCode({oids, btmName: this.selectRow[0].btmname}).then(res => {
if (res.data.code == 200) {
@@ -658,21 +793,36 @@
});
}
},
- 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,
+ });
+ 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) {
@@ -723,43 +873,6 @@
this.$refs.dataTable.doLayout();
}
})
- },
- //琛ㄦ牸澶存覆鏌�
- 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.queryField,
- 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) {
@@ -814,15 +927,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;
}
},
//楂樼骇鏌ヨ鎸夐挳
@@ -865,6 +976,11 @@
},
//澧炲姞淇濆瓨
AddSumbit(val) {
+ // console.log('val',val)
+ if (func.notEmpty(val.ts)) {
+ val.ts = func.formattedDateTime(val.ts);
+ //console.log(val.ts);
+ }
addSaveCode(val).then(res => {
this.$nextTick(() => {
this.addvisible = false;
@@ -913,7 +1029,8 @@
limit: this.page.pageSize,
['conditionMap[' + this.keyWordFind + ']']: '*' + this.WupinFindValue + '*'
}).then(res => {
- this.tableData = res.data.data
+ this.tableData = res.data.data;
+ // this.page.total = res.data.data.total;
})
}
@@ -922,15 +1039,28 @@
</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 - 370px) !important;
}
+
+// 婊氬姩鏉℃牱寮忎慨鏀�
+// 婊氬姩鏉$殑瀹藉害
+/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;
@@ -956,4 +1086,7 @@
margin-top: 10px;
}
+.el-table__body-wrapper {
+ height: calc(100% - 44px) !important;
+}
</style>
--
Gitblit v1.9.3