From bf26550ac9ef8cab43d149f81d93a23345034112 Mon Sep 17 00:00:00 2001 From: wangting <675591594@qq.com> Date: 星期三, 16 八月 2023 17:37:39 +0800 Subject: [PATCH] 流程中业务数据编辑 --- Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue | 6 +++ Source/UBCS-WEB/src/components/refer/vciWebRefer.vue | 7 ++- Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue | 8 +++- Source/UBCS-WEB/src/views/work/process/leave/handle.vue | 1 Source/UBCS-WEB/src/components/work/BusinessWork.vue | 55 +++++++++++++++++---------- 5 files changed, 50 insertions(+), 27 deletions(-) diff --git a/Source/UBCS-WEB/src/components/refer/vciWebRefer.vue b/Source/UBCS-WEB/src/components/refer/vciWebRefer.vue index 893ef94..a253841 100644 --- a/Source/UBCS-WEB/src/components/refer/vciWebRefer.vue +++ b/Source/UBCS-WEB/src/components/refer/vciWebRefer.vue @@ -19,7 +19,9 @@ return { refertype: this.referConfig.options.type, emitData:{}, - title:'' + title:'', + display:this.display || true, + disabled:this.disabled || false }; }, created() { @@ -30,7 +32,6 @@ } }, mounted() { - //console.log(this.referConfig.options); var title = this.referConfig.title || ''; title = title.replace(":", ""); title = title ? ('涓恒��' + title + '銆戦�夊彇鍊�') : ('涓恒��' + this.referConfig.showField + '銆戦�夊彇鍊�'); @@ -48,7 +49,7 @@ immediate: true, handler(newV) { this.$emit("setReferValue", newV); - }, + } } } } diff --git a/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue b/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue index d74fc46..a31af82 100644 --- a/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue +++ b/Source/UBCS-WEB/src/components/refer/vciWebReferDefalut.vue @@ -16,6 +16,7 @@ @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange" + @row-click="rowClick" @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @@ -83,8 +84,6 @@ }, created() { this.getParams(); - // console.log('referConfig:') - // console.log(this.referConfig) }, mounted() { if(this.referConfig.options.page){ @@ -254,6 +253,11 @@ sizeChange(pageSize){ this.page.pageSize = pageSize; }, + rowClick (row) { + this.$refs.referDefalutCrud.toggleSelection(); + this.$refs.referDefalutCrud.toggleRowSelection(row); //閫変腑褰撳墠琛� + this.selectionList=[row] + }, selectionChange(list) { if (!this.isMuti && list.length > 1) { const nowVal = list.shift(); diff --git a/Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue b/Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue index 49c1779..68050b1 100644 --- a/Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue +++ b/Source/UBCS-WEB/src/components/refer/vciWebReferTable.vue @@ -15,6 +15,7 @@ @search-change="searchChange" @search-reset="searchReset" @selection-change="selectionChange" + @row-click="rowClick" @current-change="currentChange" @size-change="sizeChange" @refresh-change="refreshChange" @@ -311,6 +312,11 @@ sizeChange(pageSize){ this.page.pageSize = pageSize; }, + rowClick (row) { + this.$refs.referCrud.toggleSelection(); + this.$refs.referCrud.toggleRowSelection(row); //閫変腑褰撳墠琛� + this.selectionList=[row] + }, selectionChange(list) { if (!this.isMuti && list.length > 1) { const nowVal = list.shift(); diff --git a/Source/UBCS-WEB/src/components/work/BusinessWork.vue b/Source/UBCS-WEB/src/components/work/BusinessWork.vue index 9e67e9b..a074199 100644 --- a/Source/UBCS-WEB/src/components/work/BusinessWork.vue +++ b/Source/UBCS-WEB/src/components/work/BusinessWork.vue @@ -22,26 +22,34 @@ align="center" > <template slot-scope="{ row }"> - <el-input v-if="editingRow === row && editShow== item.prop && item.edit == 'text'" v-model="row[item.prop]" + <el-input + v-if="editingRow === row && editShow== item.prop && item.edit == 'input'" v-model="row[item.prop]" @blur="editingRows=null"></el-input> - <el-input-number size="small" controls-position="right" v-if="editingRow === row && editShow== item.prop && item.edit == 'number'" v-model="row[item.prop]" + <el-input-number size="small" controls-position="right" + v-if="editingRow === row && editShow== item.prop && item.edit == 'number'" v-model="row[item.prop]" @blur="editingRows=null" :style="{width:(item.width-10)+'px'}"></el-input-number> - <el-select v-model="row[item.prop]" filterable allow-create default-first-option slot="prepend" v-if="editingRow === row && editShow== item.prop && item.edit == 'select' " @blur="editingRows=null"> + <el-select filterable default-first-option slot="prepend" @change="changeSelect" + v-if="editingRow === row && editShow== item.prop && item.edit == 'select' " v-model="row[item.prop]" @blur="editingRows=null"> <el-option v-for="optionItem in item.dicData" - :key="optionItem.dictValue" - :label="optionItem.dictValue" - :value="optionItem.dictValue"> + :key="optionItem.key" + :label="optionItem.value" + :value="optionItem.key"> </el-option> </el-select> <el-switch - v-if="item.edit === 'switch' || item.edit === 'truefalse'" v-model="row[item.prop]" active-value="true" + v-if="editingRow === row && editShow== item.prop && (item.edit === 'switch' || item.edit === 'truefalse')" v-model="row[item.prop]" active-value="true" inactive-value="false"> </el-switch> + <el-date-picker + v-if="editingRow === row && editShow== item.prop && (item.edit == 'date' || item.edit == 'datetime') " v-model="row[item.prop]" @blur="editingRows=null" + :type="item.edit" :format="item.dateFormate" :value-format="item.dateFormate" + placeholder="閫夋嫨鏃ユ湡"> + </el-date-picker> <vciWebRefer v-if="editingRow === row && editShow== item.prop && item.edit == 'refer'" :referConfig="item.referConfig || {}" :value="row[item.referConfig.field] || row[item.prop]" - :text="row[item.referConfig.showField]" + :text="row[item.referConfig.showField]" :disabled="item.disabled" :display="item.display" @setReferValue="setReferValue" ></vciWebRefer> <span v-else v-html="formatter(row,item)"></span> @@ -143,7 +151,7 @@ this.List = res.data.tableDefineVO.cols[0]; this.tableHeadData=[]; this.List.forEach((item) => { - let editAttr=this.stageAttrs.filter(stageitem => stageitem.attrId == item.field); + let editAttr=this.stageAttrs.filter(stageitem => stageitem.attrId == item.field || (item.fieldType=='combox' && stageitem.attrId+'Text' == item.field)|| (item.fieldType=='refer' && stageitem.attrId+'name' == item.field)); let columnItem = { label: item.title, prop: item.field, @@ -165,24 +173,26 @@ } if(editAttr.length>0) { - editAttr=editAttr[0] - columnItem.edit= 'text';//this.columnType[editAttr.edit] - if (typeof editAttr.editConfig == "string") { - columnItem.editConfig = eval("(" + item.editConfig + ")"); - } else { - columnItem.editConfig = item.editConfig - } - if (item.edit == 'select') { + columnItem.edit= this.columnType[item.fieldType] + if (columnItem.edit == 'select') { //闇�瑕佽幏鍙栦笅鎷夋鏁版嵁 - columnItem.dicData = columnItem.editConfig.comboxConfig.data || this.geDictData(columnItem.editConfig.comboxConfig.comboxKey) + columnItem.dicData = item.data || this.geDictData(item.comboxKey) + columnItem.formatter = function (row, column) { + let d=column.dicData.find((value, keys, arr) => { + return value.key == row[column.prop.replace('Text','')]; + }) + return row[column.prop] =(d && d.value) || row[column.prop] + } } - if (item.edit == 'refer') { + if (columnItem.edit == 'refer') { columnItem.referConfig = { title: item.title, showField: item.showField || item.field, - field: item.field, - options: columnItem.editConfig.referConfig + field: item.sortField || item.field, + options: item.referConfig } + columnItem.display=!item.hidden; + columnItem.disabled=item.readOnly } } @@ -229,6 +239,9 @@ this.editingRow[data.field] = data.value || ""; this.editingRow[data.showField] = data.text || ""; } + }, + changeSelect(data){ + this.editingRow[this.editShow.replace('Text','')] = data; } } } diff --git a/Source/UBCS-WEB/src/views/work/process/leave/handle.vue b/Source/UBCS-WEB/src/views/work/process/leave/handle.vue index 813cc12..83d8e01 100644 --- a/Source/UBCS-WEB/src/views/work/process/leave/handle.vue +++ b/Source/UBCS-WEB/src/views/work/process/leave/handle.vue @@ -132,7 +132,6 @@ this.apiGetBtnTask(this.processInstanceId) }, formatterPass(row, value, column) { - console.log('value',value) return value?'鍚屾剰':'椹冲洖' }, async apiGetBtnTask(id) { -- Gitblit v1.9.3