From 1a3807e155537be25c5bc0440778ff1f83fe08cb Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期一, 19 六月 2023 14:51:39 +0800
Subject: [PATCH] Merge branch 'master' of http://dev.vci-tech.com:1065/r/ubcs
---
Source/UBCS-WEB/src/components/Crud/Crud.vue | 420 +++++++++++++++++++++++++++++++++++++++++------------------
1 files changed, 292 insertions(+), 128 deletions(-)
diff --git a/Source/UBCS-WEB/src/components/Crud/Crud.vue b/Source/UBCS-WEB/src/components/Crud/Crud.vue
index 6d66a84..53cd177 100644
--- a/Source/UBCS-WEB/src/components/Crud/Crud.vue
+++ b/Source/UBCS-WEB/src/components/Crud/Crud.vue
@@ -2,131 +2,185 @@
<basic-container>
<div class="testbox">
<div style="margin-top: 10px;display: flex;flex-wrap: wrap;width: 100%;">
- <el-button size="small" type="primary" plain @click="addvisible=true">澧炲姞
- <FormTemplateDialog
- :visible.sync="addvisible"
- :type="add"
- :templateOid="this.templateOids"
- :codeClassifyOid="this.codeClassifyOids"
- :codeRuleOid="this.codeRuleOid"
- :disabledProp="disabledProp"
- :rowOid="rowOid"
- >
- </FormTemplateDialog></el-button>
- <el-button size="small" type="primary" plain @click="editvisible=true">缂栬緫
- <FormTemplateDialog
- :visible.sync="editvisible"
- :type="edit"
- :templateOid="this.templateOids"
- :codeClassifyOid="this.codeClassifyOids"
- :codeRuleOid="this.codeRuleOid"
- :disabledProp="disabledProp"
- :rowOid="rowOid"
- ></FormTemplateDialog></el-button>
- <el-button size="small" type="primary" plain>鎵归噺瀵煎叆鐢宠</el-button>
- <el-button size="small" type="primary" plain>鍘嗗彶鏁版嵁瀵煎叆</el-button>
- <el-button size="small" type="primary" plain>鎵归噺鐢宠缂栫爜</el-button>
- <el-button size="small" type="primary" plain>鎵归噺鍙戝竷</el-button>
- <el-button size="small" type="primary" plain>鏌ョ湅娴佺▼鍘嗗彶</el-button>
- <el-button size="small" type="primary" plain>鍒犻櫎</el-button>
- <el-button size="small" type="primary" plain>鍙戝竷</el-button>
- <el-button size="small" type="primary" plain>鏁版嵁鏇存敼</el-button>
- <el-button size="small" type="primary" plain>鍥炴敹</el-button>
- <el-button size="small" type="primary" plain>瀵煎嚭
- <transfer filter-placeholder="璇疯緭鍏ユ嫾闊冲叏鎷兼垨鑰呮嫾闊崇缉鍐�" ></transfer>
+ <el-button plain size="small" type="primary" @click="addvisible=true">澧炲姞
</el-button>
- <el-button size="small" type="primary" plain @click="findvisible=true">鏌ヨ
- <advancedQuery :visible.sync="findvisible" :options="this.options"></advancedQuery>
+ <FormTemplateDialog
+ :codeClassifyOid="this.codeClassifyOid"
+ :codeRuleOid="this.codeRuleOid"
+ :disabledProp="disabledProp"
+ :templateOid="templateOid"
+ :type="add"
+ :visible.sync="addvisible"
+ >
+ </FormTemplateDialog>
+ <el-button plain size="small" type="primary" @click="editHandler">缂栬緫
</el-button>
- <el-button size="small" type="primary" plain>鐩镐技椤规煡璇�</el-button>
- <el-button size="small" type="primary" plain style="margin-left: 1px;margin-top:10px">鍒锋柊</el-button>
- <el-input placeholder="璇疯緭鍏ュ叧閿瓧鎸夊洖杞︽煡璇�" style="width: 180px;margin-left: 5px;margin-top:10px" size="small"></el-input>
+ <FormTemplateDialog
+ :codeClassifyOid="this.codeClassifyOid"
+ :codeRuleOid="this.codeRuleOid"
+ :disabledProp="disabledProp"
+ :rowOid="rowOid"
+ :templateOid="templateOid"
+ :type="edit"
+ :title="'淇敼缂栫爜淇℃伅'"
+ :visible.sync="editvisible"
+ ></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="parameter"
+ type="PUBLIC"></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">鐩镐技椤规煡璇�</el-button>
+ <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 :data="tableData" style="" @cell-click="handleCellClick" max-height="700" @selection-change="handleSelectionChange" @sort-change="sortChange">
+ <el-table v-loading="isLoading" :data="tableData" max-height="700" style="" @cell-click="handleCellClick"
+ @selection-change="handleSelectionChange" @sort-change="sortChange">
<el-table-column
- type="selection"
fixed
+ type="selection"
width="55">
</el-table-column>
<el-table-column
- type="index"
fixed
label="搴忓彿"
+ type="index"
width="55">
</el-table-column>
- <div v-for="(item,index) in this.tableHeadData" :key="index">
- <el-table-column :label="item.label" :prop="item.prop" :sortable="item.sortable" :width="item.width">
+<!-- <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>
+ <!-- <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>
+<!-- </div>-->
</el-table>
</el-row>
</div>
<div class="block" style="display: flex;justify-content: flex-end">
<el-pagination
- @size-change="handleSizeChange"
- @current-change="handleCurrentChange"
:current-page="page.currentPage"
- :page-sizes="page.pageSizes"
:page-size="page.pageSizes"
+ :page-sizes="page.pageSizes"
+ :total="page.total"
layout="total, sizes, prev, pager, next, jumper"
- :total="page.total">
+ @size-change="handleSizeChange"
+ @current-change="handleCurrentChange">
</el-pagination>
</div>
</basic-container>
</template>
<script>
-import {MasterTable, TableData} from "@/api/GetItem";
+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'
+
export default {
+ components: {
+ integrationTransfer,
+ SetPersonnel
+ },
name: "Crud.vue",
- props:{
- page:{
+ props: {
+ page: {
type: Object,
- default: ()=>{
+ default: () => {
return {}
}
},
- codeClassifyOid:{
- type:String,
- default:""
+ codeClassifyOid: {
+ type: String,
+ default: ""
},
- coderuleoid:{
- type:String,
- default:""
+ coderuleoid: {
+ type: String,
+ default: ""
},
- tableDataArray:{
+ tableDataArray: {
+ type: Array,
+ },
+ total: {
+ type: String,
+ default: ""
+ },
+ templateOid: {
+ type: String,
+ },
+ tableHeadDataFateher: {
+ type: Array,
+ },
+ isLoading: {
+ type: Boolean,
+ default: false
+ },
+ tableHeadFindData:{
type:Array,
- default:[]
}
},
data() {
return {
- templateOid:"",
- addvisible:false,
- editvisible:false,
- findvisible:false,
- templateOids: "78B8C7C5-A042-0B96-FE6D-65421451782A",
- codeClassifyOids: "4524E801-6CC6-92E8-1AC3-2AB9604E8F96",
- codeRuleOid: "B95872A6-9CEA-D490-8F1B-9D26548CAF96",
- rowOid: '6EF696C3-CD87-0E7C-1EA1-8DE3913A95C9',
+ //鍙戝竷
+ parameter:{
+ ids:['0000','22222222'],
+ code:'8b5e2017-990f-454a-9c39-4c4eeeb57553',
+ type:'PUBLIC',
+ name:'妯℃澘name',
+ template:'妯℃澘template'
+ },
+ visibleFlow: false,
+ transferData: [],
+ transferProps: {
+ key: 'oid',
+ label: 'name'
+ },
+ tableHeadFindDatas:[],
+ templateOid: "",
+ addvisible: false,
+ editvisible: false,
+ findvisible: false,
+ dialogPush: false,
+ rowOid: '',
disabledProp: ["id"],
- editingRow:null,
+ editingRow: null,
editShow: "",
- editAttr:"",
- loading: false,
+ editAttr: "",
data: [],
- options:{},
+ options: {},
option: {
column: []
},
@@ -138,17 +192,18 @@
number: "number",
datetime: "datetime",
},
- tableData:[],
- tableHeadData:[],
- items:{},
- aaa:""
+ tableData: [],
+ DataVisible:false,
+ tableHeadData: [],
+ items: {},
+ seniorQueryColumns: [],
+ selectRow: []
}
},
- computed:{
- },
+ computed: {},
created() {
- this.CrudHeaderRend();
- this.$emit('tableData',this.tableData)
+ // this.CrudHeaderRend();
+ // this.tableHeadHandle()
},
mounted() {
@@ -156,43 +211,96 @@
activated() {
this.doLayout()
},
- watch:{
- codeClassifyOid:{
- handler(newval,oldval){
- this.codeClassifyOid=newval;
+ watch: {
+ codeClassifyOid: {
+ handler(newval, oldval) {
+ this.codeClassifyOid = newval;
this.CrudHeaderRend()
},
- deep:true
+ deep: true
},
- tableDataArray:{
- handler(newval,oldval){
- this.tableData=newval;
- this.CrudRend()
+ tableDataArray: {
+ handler(newval, oldval) {
+ this.tableData = newval;
}
- }
+ },
+ tableHeadFindData:{
+ handler(newval, oldval) {
+ this.tableHeadFindDatas = newval;
+ }
+ },
+ total: {
+ handler(newval, oldval) {
+ this.page.total = newval;
+ }
+ },
+ // tableHeadDataFateher: {
+ // handler(newval, oldval) {
+ // let List = newval.tableDefineVO.cols[0];
+ // List.forEach(item => {
+ // let columnItem = {
+ // label: item.title,
+ // prop: item.field,
+ // type: this.columnType[item.type],
+ // sortable: item.sort,
+ // width: item.minWidth
+ // };
+ // this.tableHeadData.push(columnItem);
+ // console.log('table',this.tableHeadData)
+ // })
+ // }
+ // }
},
methods: {
- rend(){
- this.tableData=this.tableHeadData
+ setHandler() {
+ this.visibleFlow = true
},
- handleSizeChange(val){
- this.page.pageSize=val
- this.$emit('pageSize',val)
- this.CrudRend()
+ huishouHandler() {
+ console.log('tem', this.templateOid)
+ console.log('table', this.tableData)
+ console.log('tabheadle', this.tableHeadData)
+ console.log('tableFather', this.tableHeadDataFateher)
},
- handleCurrentChange(val){
- this.page.currentPage=val
- this.$emit('currentPage',val)
- this.CrudRend()
+ 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) {
- console.log(row)
this.tableData.splice(row, 1)
},
// 灏嗘鍦ㄧ紪杈戠殑琛岀殑鐘舵�佸彉涓� null 锛屽嵆閫�鍑虹紪杈戠姸鎬�
@@ -204,14 +312,29 @@
this.$refs.crud.doLayout();
});
},
+ tableHeadHandle() {
+ this.options = this.tableHeadDataFateher.tableDefineVO.seniorQueryColumns
+ this.List = this.tableHeadDataFateher.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;
+ })
+ },
//琛ㄦ牸澶存覆鏌�
CrudHeaderRend() {
- if(this.codeClassifyOid != ""){
+ if (this.codeClassifyOid != "") {
MasterTable({
- codeClassifyOid:this.codeClassifyOid,
+ codeClassifyOid: this.codeClassifyOid,
functionId: 5,
}).then(res => {
- this.options=res.data.tableDefineVO.seniorQueryColumns
+ this.options = res.data.tableDefineVO.seniorQueryColumns
this.List = res.data.tableDefineVO.cols[0];
this.List.forEach(item => {
let columnItem = {
@@ -222,29 +345,29 @@
width: item.minWidth
};
this.option.column.push(columnItem);
- this.option.column=this.tableHeadData;
- this.templateOid=res.data.tableDefineVO.oid
- this.$emit('templateOid',this.templateOid)
+ 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;
- })
+ 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.loading = true;
+ this.isLoading = true;
let order = ""
if (val.order == "ascending") {
order = "asc";
@@ -261,12 +384,13 @@
}).then(res => {
setTimeout(() => {
this.data = res.data.data;
- this.loading = false;
+ this.isLoading = false;
}, 100);
})
},
//鍒嗛〉鍒锋柊
async onLoad(val) {
+ console.log('鍒嗛〉', this.templateOid)
await TableData({
templateOid: this.templateOid,
codeClassifyOid: this.codeClassifyOid,
@@ -279,6 +403,46 @@
//澶氶��
handleSelectionChange(row) {
console.log(row)
+ this.rowOid = row.oid
+ this.selectRow = row
+ },
+ //缂栬緫
+ editHandler() {
+ 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
+ },
+ // 楂樼骇鏌ヨ
+ echoContion(val) {
+ console.log(val)
+ FindData({templateOid:this.templateOid,
+ codeClassifyOid: this.codeClassifyOid,
+ ...val
+ }).then(res=>{
+ console.log(res)
+ })
+ },
+ //鏁版嵁鏇存敼
+ 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
+ }
}
}
}
--
Gitblit v1.9.3