From cfededd9721be4322e660fc879f11a806fcc7963 Mon Sep 17 00:00:00 2001 From: weidy <lastanimals@163.com> Date: 星期二, 20 六月 2023 17:07:42 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/UBCS-WEB/src/components/Crud/VciMasterCrud.vue | 477 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 477 insertions(+), 0 deletions(-) diff --git a/Source/UBCS-WEB/src/components/Crud/VciMasterCrud.vue b/Source/UBCS-WEB/src/components/Crud/VciMasterCrud.vue new file mode 100644 index 0000000..f895fb8 --- /dev/null +++ b/Source/UBCS-WEB/src/components/Crud/VciMasterCrud.vue @@ -0,0 +1,477 @@ +<template> + <basic-container> + <div class="testbox"> + <div style="margin-top: 10px;display: flex;flex-wrap: wrap;width: 100%;"> + <el-button plain size="small" type="primary" @click="addvisible=true">澧炲姞 + </el-button> + <FormTemplateDialog + :codeClassifyOid="this.codeClassifyOid" + :codeRuleOid="this.codeRuleOid" + :disabledProp="disabledProp" + :templateOid="templateOid" + type="add" + :visible.sync="addvisible" + @submit="AddSumbit" + > + </FormTemplateDialog> + <el-button plain size="small" type="primary" @click="editHandler">缂栬緫 + </el-button> + <FormTemplateDialog + :codeClassifyOid="this.codeClassifyOid" + :codeRuleOid="this.codeRuleOid" + :disabledProp="disabledProp" + :rowOid="rowOid" + :templateOid="templateOid" + type="edit" + :title="'淇敼缂栫爜淇℃伅'" + :visible.sync="editvisible" + @submit="EditSumbit" + ></FormTemplateDialog> + <el-button plain size="small" type="primary">鎵归噺瀵煎叆鐢宠</el-button> + <el-button plain size="small" type="primary">鍘嗗彶鏁版嵁瀵煎叆</el-button> + <el-button plain size="small" type="primary">鎵归噺鐢宠缂栫爜</el-button> + <el-button plain size="small" type="primary">鎵归噺鍙戝竷</el-button> + <el-button plain size="small" type="primary">鏌ョ湅娴佺▼鍘嗗彶</el-button> + <el-button plain size="small" type="primary">鍒犻櫎</el-button> + <el-button plain size="small" type="primary" @click="setHandler">鍙戝竷</el-button> + <set-personnel :visible.sync="visibleFlow" :parameter="this.parameter" + ></set-personnel> + <el-button plain size="small" type="primary" @click="DataChange">鏁版嵁鏇存敼</el-button> + <FormTemplateDialog + :codeClassifyOid="this.codeClassifyOid" + :codeRuleOid="this.codeRuleOid" + :disabledProp="disabledProp" + :rowOid="rowOid" + :templateOid="templateOid" + :type="edit" + :title="'宸插彂甯冩暟鎹洿鏀�'" + :visible.sync="DataVisible" + ></FormTemplateDialog> + <el-button plain size="small" type="primary" @click="huishouHandler">鍥炴敹</el-button> + <el-button plain size="small" type="primary" @click="openD">瀵煎嚭 + <integration-transfer :data="transferData" :props="transferProps" + :visible.sync="dialogPush" @save="handelTransferSave"></integration-transfer> + </el-button> + <el-button plain size="small" type="primary" @click="findHandler">鏌ヨ + <advanced-query :options="this.options" :visible.sync="findvisible" + @echoContion="echoContion"></advanced-query> + </el-button> + <el-button plain size="small" type="primary" @click="similarHandler">鐩镐技椤规煡璇�</el-button> + <ResembleQueryDialog + :visible.sync="similarVisible" + :templateOid="templateOid" + :codeClassifyOid="codeClassifyOid" + :rowOid="rowOid" + :codeRuleOid="this.codeRuleOid" + ></ResembleQueryDialog> + <el-button plain size="small" style="margin-left: 1px;margin-top:10px" type="primary">鍒锋柊</el-button> + <el-input placeholder="璇疯緭鍏ュ叧閿瓧鎸夊洖杞︽煡璇�" size="small" + style="width: 180px;margin-left: 5px;margin-top:10px"></el-input> + </div> + <el-row style="height: 700px;width: 100%"> + <el-table v-loading="isLoading" :data="tableData" max-height="700" style="" @cell-click="handleCellClick" + @selection-change="handleSelectionChange" @sort-change="sortChange" v-if="tableData.length != 0"> + <el-table-column + fixed + type="selection" + width="55"> + </el-table-column> + <el-table-column + fixed + label="搴忓彿" + type="index" + width="55"> + </el-table-column> +<!-- <div>--> + <el-table-column v-for="(item,index) in this.tableHeadFindData" :key="item.id" :label="item.label" :prop="item.prop" :sortable="item.sortable" > + <!-- 缂栬緫鍜屽睍绀洪�昏緫 --> + <!-- <template slot-scope="{ row }">--> + <!-- <el-input v-if="editingRow === row && editShow== item.prop" v-model="row[item.prop]" @blur="saveRow"></el-input>--> + <!-- <span v-else>{{row[item.prop]}}</span>--> + <!-- <el-switch--> + <!-- v-if="editShow === 'true'"--> + <!-- v-model="row[item.prop]"--> + <!-- active-color="#13ce66"--> + <!-- inactive-color="#ff4949">--> + <!-- </el-switch>--> + <!-- </template>--> + </el-table-column> +<!-- </div>--> + </el-table> + </el-row> + </div> + <div class="block" style="display: flex;justify-content: flex-end"> + <el-pagination + :current-page="page.currentPage" + :page-size="page.pageSizes" + :page-sizes="page.pageSizes" + :total="page.total" + layout="total, sizes, prev, pager, next, jumper" + @size-change="handleSizeChange" + @current-change="handleCurrentChange"> + </el-pagination> + </div> + </basic-container> +</template> +<script> +import {MasterTable, TableData,FindData} from "@/api/GetItem"; +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"; +export default { + components: { + integrationTransfer, + SetPersonnel, + ResembleQueryDialog + }, + name: "Crud.vue", + props: { + page: { + type: Object, + default: () => { + return {} + } + }, + codeClassifyOid: { + type: String, + default: "" + }, + coderuleoid: { + type: String, + default: "" + }, + tableDataArray: { + type: Array, + }, + total: { + type: String, + default: "" + }, + templateOid: { + type: String, + default:'' + }, + tableHeadDataFateher: { + type: Array, + }, + isLoading: { + type: Boolean, + default: false + }, + tableHeadFindData:{ + type:Array, + } + }, + data() { + return { + //鐩镐技椤规煡璇� + similarVisible:false, + //鍙戝竷 + parameter:{ + ids:[], + code:'', + type:'PUBLIC', + template:'妯℃澘template' + }, + visibleFlow: false, + transferData: [], + transferProps: { + key: 'oid', + label: 'name' + }, + tableHeadFindDatas:[], + addvisible: false, + editvisible: false, + findvisible: false, + dialogPush: false, + rowOid: '', + disabledProp: ["id"], + editingRow: null, + editShow: "", + editAttr: "", + data: [], + options: {}, + option: { + column: [] + }, + List: [], + columnType: { + text: "input", + combox: "select", + truefalse: "switch", + number: "number", + datetime: "datetime", + }, + tableData: [], + DataVisible:false, + tableHeadData: [], + items: {}, + seniorQueryColumns: [], + selectRow: [] + } + }, + computed: {}, + created() { + + }, + mounted() { + }, + activated() { + this.doLayout() + }, + watch: { + codeClassifyOid: { + handler(newval, oldval) { + this.codeClassifyOid = newval; + + }, + deep: true + }, + tableDataArray: { + handler(newval, oldval) { + this.tableData = newval; + } + }, + tableHeadFindData:{ + handler(newval, oldval) { + this.tableHeadFindDatas = newval; + } + }, + total: { + handler(newval, oldval) { + this.page.total = newval; + } + }, + templateOid:{ + handler(newval,oldval) { + this.parameter.code=newval; + }, + deep:true + } + }, + methods: { + setHandler() { + + if (this.selectRow.length <= 0) { + this.$message.warning('璇烽�夋嫨涓�鏉℃暟鎹�') + } else { + this.visibleFlow = true; + } + }, + openD() { + this.dialogPush = true; + this.getListCodeByClassId() + }, + async getListCodeByClassId() { + this.transferData = [] + const response = await listCodeAttributeByClassId({codeClassifyId: this.codeClassifyOid}) + if (response.status === 200) { + const data = response.data.data + this.transferData = data + } + }, + rend() { + this.tableData = this.tableHeadData + }, + handleSizeChange(val) { + this.isLoading = true; + setTimeout(() => { + this.page.pageSize = val + this.$emit('pageSize', val) + this.CrudRend() + }, 3000); + + }, + handleCurrentChange(val) { + this.isLoading = true; + setTimeout(() => { + this.page.currentPage = val + this.$emit('currentPage', val) + this.CrudRend() + }, 3000); + }, + // 鐩戝惉鍗曞厓鏍肩偣鍑讳簨浠跺苟瀛樺偍姝e湪缂栬緫鐨勮 + handleCellClick(row, column) { + this.editingRow = row; + this.editShow = column.property; + this.rowOid = row.oid + }, + //鍒犻櫎 + enumDeleteRow(row) { + this.tableData.splice(row, 1) + }, + // 灏嗘鍦ㄧ紪杈戠殑琛岀殑鐘舵�佸彉涓� null 锛屽嵆閫�鍑虹紪杈戠姸鎬� + saveRow() { + this.editingRow = null; + }, + doLayout() { + this.$nextTick(() => { + this.$refs.crud.doLayout(); + }); + }, + //琛ㄦ牸澶存覆鏌� + CrudHeaderRend() { + if (this.codeClassifyOid != "") { + MasterTable({ + codeClassifyOid: this.codeClassifyOid, + functionId: 5, + }).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"; + } + 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) { + console.log('鍒嗛〉', this.templateOid) + await TableData({ + templateOid: this.templateOid, + codeClassifyOid: this.codeClassifyOid, + page: val.currentPage, + limit: val.pageSize, + }).then(res => { + this.data = res.data.data; + }) + }, + //澶氶�� + handleSelectionChange(row) { + if(this.row){ + this.rowOid = row[0].oid; + }else { + this.rowOid='' + } + this.selectRow = row; + console.log(row) + row.forEach(item=>{ + this.parameter.ids.push(item.oid) + console.log( this.parameter.ids) + }) + }, + //缂栬緫 + editHandler() { + console.log('row',this.rowOid) + console.log('temp',this.templateOid) + console.log('code',this.codeClassifyOid) + console.log('rule',this.coderuleoid) + if (this.selectRow.length <= 0) { + this.$message.warning('璇烽�夋嫨涓�鏉℃暟鎹�') + } else if (this.selectRow.length > 1) { + this.$message.warning('鍙兘閫夋嫨涓�鏉℃暟鎹�') + } else if (this.selectRow[0].lcstatus != 'Editing') { + this.$message.warning('缂栫爜鐘舵�佷笉鏄�滅紪杈戜腑鈥�,涓嶅彲缂栬緫') + } else { + this.editvisible = true + } + }, + //楂樼骇鏌ヨ鎸夐挳 + findHandler(){ + this.findvisible=true; + console.log(this.options) + }, + // 楂樼骇鏌ヨ + echoContion(val) { + console.log(val) + FindData({templateOid:this.templateOid, + codeClassifyOid: this.codeClassifyOid, + ...val + }).then(res=>{ + console.log(res) + }) + }, + //鐩镐技椤规煡璇� + similarHandler(){ + if (this.selectRow.length <= 0) { + this.$message.warning('璇烽�夋嫨涓�鏉℃暟鎹�') + } else if (this.selectRow.length > 1) { + this.$message.warning('鍙兘閫夋嫨涓�鏉℃暟鎹�') + } else { + 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 + } + }, + //澧炲姞淇濆瓨 + AddSumbit(val){ + console.log(val) + this.addvisible=false + }, + EditSumbit(val){ + console.log(val) + this.editvisible=false + } + } +} +</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; + } +} +</style> -- Gitblit v1.9.3