From 4508f5eb86b063a0f3ec01e6ad68c6ce8ccd1392 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期四, 29 二月 2024 14:34:11 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'
---
Source/UBCS-WEB/src/views/modeling/BusinessAdd.vue | 344 ++++++++++++++++++++++++++++++++++-----------------------
1 files changed, 206 insertions(+), 138 deletions(-)
diff --git a/Source/UBCS-WEB/src/views/modeling/BusinessAdd.vue b/Source/UBCS-WEB/src/views/modeling/BusinessAdd.vue
index 651e7cc..3289b7c 100644
--- a/Source/UBCS-WEB/src/views/modeling/BusinessAdd.vue
+++ b/Source/UBCS-WEB/src/views/modeling/BusinessAdd.vue
@@ -1,89 +1,97 @@
<template>
<el-dialog
- title="涓氬姟绫诲瀷"
+ v-loading="loading"
:visible.sync="showSubmitDialog"
append-to-body
- @close="closeSubmitDialog"
- width="70%"
style="height: 115vh;"
+ title="涓氬姟绫诲瀷"
+ top="6vh"
+ width="70%"
+ @close="closeSubmitDialog"
>
- <el-form ref="form" :model="btmType" show-message="true" inline size="medium" label-suffix=":" class="btmTypeForm"
- :rules="rules" @resetFields="resetForm" status-icon="true">
- <el-form-item label="鑻辨枃鍚嶇О" label-width="100px" required="true" prop="id">
- <el-input v-model="btmType.id" :prefix-icon="icons.key"></el-input>
+ <el-form ref="form" :model="btmType" :rules="rules" class="btmTypeForm" inline label-suffix=":" show-message="true"
+ size="medium" status-icon="true" @resetFields="resetForm">
+ <el-form-item label="鑻辨枃鍚嶇О" label-width="100px" prop="id" required="true">
+ <el-input v-model="btmType.id" :disabled="false" :prefix-icon="icons.key"></el-input>
</el-form-item>
<el-form-item label="涓枃鍚嶇О" label-width="100px">
<el-input v-model="btmType.name" :prefix-icon="icons.name"></el-input>
</el-form-item>
- <el-form-item label="鏁版嵁搴撹〃鍚�" label-width="100px">
+ <!-- <el-form-item label="鏁版嵁搴撹〃鍚�" label-width="100px">
<el-input v-model="btmType.tableName" :prefix-icon="icons.tableName"></el-input>
- </el-form-item>
- <el-form-item label="鎵�灞為鍩�" label-width="100px" prop="domain" class="domainSelect">
- <el-select placeholder="璇烽�夋嫨棰嗗煙" v-model="btmType.bizDomain" :prefix-icon="icons.domain">
+ </el-form-item> -->
+ <el-form-item class="domainSelect" label="鎵�灞為鍩�" label-width="100px" prop="domain">
+ <el-select v-model="btmType.bizDomain" :prefix-icon="icons.domain" placeholder="璇烽�夋嫨棰嗗煙" @change="domainChange">
<el-option v-for="item in domainOption"
- :label="item.label" :value="item.value" :key="item.value">
+ :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
</el-form-item>
<el-form-item label="鐗堟湰瑙勫垯" label-width="100px">
<el-input v-model="btmType.revisionRuleName"
:prefix-icon="icons.revisionRule"
- class="revisionRule"
- @focus="openRevision"
- clearable
- @clear="clearRevision"
:suffix-icon="icons.referType"
- placeholder="璇烽�夋嫨锛岀暀绌哄垯涓嶈繘琛岀鐞�">
+ class="revisionRule"
+ clearable
+ placeholder="璇烽�夋嫨锛岀暀绌哄垯涓嶈繘琛岀鐞�"
+ @change="ruleChange"
+ @clear="clearRevision"
+ @focus="openRevision">
</el-input>
</el-form-item>
<el-form-item label="鐢熷懡鍛ㄦ湡" label-width="100px">
<el-input v-model="btmType.lifeCycleName"
:prefix-icon="icons.lifeCycle"
- class="lifeCycle"
- @focus="openLifeCycle"
- clearable
- @clear="clearLifeCycle"
:suffix-icon="icons.referType"
- placeholder="璇烽�夋嫨锛岀暀绌哄垯涓嶈繘琛岀鐞�">
+ class="lifeCycle"
+ clearable
+ placeholder="璇烽�夋嫨锛岀暀绌哄垯涓嶈繘琛岀鐞�"
+ @clear="clearLifeCycle"
+ @focus="openLifeCycle">
</el-input>
</el-form-item>
- <div>
- <el-form-item label="寮�鍚鍥�" label-width="100px" class="viewFlag">
- <el-switch v-model="btmType.viewFlag" active-color="#13ce66" @change="viewChange"></el-switch>
- </el-form-item>
- <el-form-item label="瑙嗗浘璇彞" label-width="100px" class="viewInput">
- <el-input v-model="btmType.view" :prefix-icon="icons.view" :disabled="!btmType.viewFlag"></el-input>
- </el-form-item>
- </div>
- <el-form-item label="鎻忚堪" label-width="100px" class="description">
- <el-input v-model="btmType.description"
+ <!-- <div>-->
+ <!-- <el-form-item label="寮�鍚鍥�" label-width="100px" class="viewFlag">-->
+ <!-- <el-switch v-model="btmType.viewFlag" active-color="#13ce66" @change="viewChange"></el-switch>-->
+ <!-- </el-form-item>-->
+ <!-- <el-form-item label="瑙嗗浘璇彞" label-width="100px" class="viewInput">-->
+ <!-- <el-input v-model="btmType.view" :prefix-icon="icons.view" :disabled="!btmType.viewFlag"></el-input>-->
+ <!-- </el-form-item>-->
+ <!-- </div>-->
+ <el-form-item class="description" label="鎻忚堪" label-width="100px">
+ <el-input id="descId"
+ v-model="btmType.description"
:prefix-icon="icons.desc"
class="descClass"
- id="descId"
></el-input>
</el-form-item>
</el-form>
- <avue-crud :option="option"
+ <avue-crud ref="attrTable"
:data="btmType.attributes"
- :page.sync="page"
- ref="attrTable">
- <template slot-scope="scope" slot="menuLeft">
- <el-button type="danger"
- icon="el-icon-plus"
+ :option="option"
+ :page.sync="page">
+ <template slot="menuLeft" slot-scope="scope">
+ <el-button icon="el-icon-plus"
size="small"
+ type="danger"
@click="rowAdd()">灞炴�ч�夋嫨
</el-button>
</template>
<template slot="attrDataTypeText" slot-scope="{row}">
- <el-tag>{{ row.attrDataTypeText }}</el-tag>
+ <el-tag v-if=" row.attrDataTypeText">{{ row.attrDataTypeText }}</el-tag>
+ </template>
+ <template slot="isDefaultAttr" slot-scope="{row}">
+ <el-tag v-if="row.isDefaultAttr" type="success">鏄�</el-tag>
+ <el-tag v-else type="danger">鍚�</el-tag>
</template>
<template slot="menu" slot-scope="{row,index}">
- <el-button icon="el-icon-edit" size="small" type="text" v-if="!row.$cellEdit" @click="cellEditClick(row)">缂栬緫
+ <el-button v-if="!row.$cellEdit" icon="el-icon-edit" size="small" type="text" @click="cellEditClick(row,index)">
+ 缂栬緫
</el-button>
- <el-button icon="el-icon-delete" size="small" type="text" v-if="!row.$cellEdit"
+ <el-button v-if="!row.$cellEdit" icon="el-icon-delete" size="small" type="text"
@click="removeFormAttrTable(row,index)">绉婚櫎
</el-button>
- <el-button icon="el-icon-check" size="small" type="text" v-if="row.$cellEdit" @click="cellEditSave(row,index)">
+ <el-button v-if="row.$cellEdit" icon="el-icon-check" size="small" type="text" @click="cellEditSave(row,index)">
淇濆瓨
</el-button>
</template>
@@ -94,23 +102,23 @@
</div>
<!-- 灞炴�ф睜鐨勯�夋嫨 -->
- <el-dialog title="灞炴�ф睜"
- :visible="attrRef.visible"
+ <el-dialog :visible="attrRef.visible"
append-to-body
- @close="closeAttrDialog"
+ title="灞炴�ф睜"
width="80%"
+ @close="closeAttrDialog"
>
- <avue-crud class="attrRef"
- :option="attrRef.option"
+ <avue-crud ref="attrRef"
+ v-loading="attrRef.loading"
:data="attrRef.data"
+ :option="attrRef.option"
:page.sync="attrRef.page"
- ref="attrRef"
+ class="attrRef"
@on-load="attrRefOnLoad"
@search-change="attrRefSearch"
- @selection-change="selectionChange"
- v-loading="attrRef.loading">
+ @selection-change="selectionChange">
<template slot="typeValue" slot-scope="scope">
- <el-tag>{{ scope.row.typeValue }}</el-tag>
+ <el-tag v-if="scope.row.typeValue">{{ scope.row.typeValue }}</el-tag>
</template>
</avue-crud>
<div slot="footer" class="dialog-footer">
@@ -119,19 +127,19 @@
</div>
</el-dialog>
<!-- 鐗堟湰瑙勫垯鐨勫弬鐓� -->
- <el-dialog title="璇烽�夋嫨鐗堟湰瑙勫垯"
- :visible.sync="revisionRef.visible"
+ <el-dialog :visible.sync="revisionRef.visible"
append-to-body
+ title="璇烽�夋嫨鐗堟湰瑙勫垯"
width="80%">
- <avue-crud class="revisionRef"
- :option="revisionRef.option"
- :data="revisionRef.data"
- :page.sync="revisionRef.page"
- ref="revisionRef"
- @row-click="revisionClick"
+ <avue-crud ref="revisionRef"
v-loading="revisionRef.loading"
- @search-change="searchRevisionRule"
+ :data="revisionRef.data"
+ :option="revisionRef.option"
+ :page.sync="revisionRef.page"
+ class="revisionRef"
+ @row-click="revisionClick"
+ @search-change="searchRevisionRule"
@search-reset="clearSearchRevisionRule">
<template slot="radio"
slot-scope="{row}">
@@ -147,19 +155,19 @@
</el-dialog>
<!-- 鐢熷懡鍛ㄦ湡鐨勫弬鐓� -->
- <el-dialog title="璇烽�夋嫨鐢熷懡鍛ㄦ湡"
- :visible.sync="lifeCycleRef.visible"
+ <el-dialog :visible.sync="lifeCycleRef.visible"
append-to-body
+ title="璇烽�夋嫨鐢熷懡鍛ㄦ湡"
width="80%">
- <avue-crud class="lifeCycleRef"
- :option="lifeCycleRef.option"
- :data="lifeCycleRef.data"
- :page.sync="lifeCycleRef.page"
- ref="lifeCycleRef"
- @row-click="lifeCycleClick"
+ <avue-crud ref="lifeCycleRef"
v-loading="lifeCycleRef.loading"
- @search-change="searchLifeCycle"
+ :data="lifeCycleRef.data"
+ :option="lifeCycleRef.option"
+ :page.sync="lifeCycleRef.page"
+ class="lifeCycleRef"
+ @row-click="lifeCycleClick"
+ @search-change="searchLifeCycle"
@search-reset="clearSearchLifeCycle">
<template slot="radio"
slot-scope="{row}">
@@ -181,7 +189,7 @@
<script>
-import {add, update} from '@/api/omd/btmType';
+import {add, update, defaultRequestHandler} from '@/api/omd/btmType';
import {queryPage} from '@/api/omd/OmdAttribute';
import {getPage} from '@/api/omd/revisionRule';
import {getList} from '@/api/modeling/cycle';
@@ -190,27 +198,24 @@
name: 'BusinessAdd',
props: {
btmType: {
- type: Object
+ type: Object,
+ default: {}
},
domainOption: {
type: Array
},
icons: {
type: Array
- }
+ },
+ type: {
+ type: String,
+ },
},
- watch: {
- btmType: {
- handler(newval, oldval) {
- console.log('鐩戝惉', newval, oldval)
- },
- deep: true,
- immediate: true
- }
- },
+ watch: {},
data() {
return {
form: {},
+ loading: false,
showSubmitDialog: false,
option: {
height: "330px",
@@ -224,6 +229,7 @@
editBtn: false,
delBtn: false,
columnBtn: false,
+ refreshBtn: false,
menuWidth: 150,
addBtn: false,
highlightCurrentRow: true,
@@ -231,13 +237,14 @@
{
label: '鑻辨枃鍚嶇О',
prop: 'id',
- align: 'center'
+ align: 'center',
+ disabled: true
}, {
label: '涓枃鍚嶇О',
prop: 'name',
align: 'center',
cell: true
- },{
+ }, {
label: "绫诲瀷",
prop: "attrDataTypeText",
align: 'center',
@@ -254,6 +261,13 @@
prop: "description",
align: 'center',
cell: true
+ },
+ {
+ label: '榛樿瀛楁',
+ prop: 'isDefaultAttr',
+ align: 'center',
+ cell: true,
+ slot: true
}
]
},
@@ -283,6 +297,7 @@
prop: 'id',
align: 'left',
search: true,
+ disabled: true,
width: 230
}, {
label: '涓枃鍚嶇О',
@@ -355,6 +370,7 @@
{
label: '鑻辨枃鍚嶇О',
prop: 'id',
+ disabled: true,
search: true
},
{
@@ -419,6 +435,7 @@
{
label: '鑻辨枃鍚嶇О',
prop: 'id',
+ disabled: true,
search: true
},
{
@@ -467,20 +484,73 @@
{required: true, message: '璇烽�夋嫨鎵�灞為鍩�', trigger: 'blur'}
]
},
+ domainData: [],
+ ruleData: [],
+ lifeData: [],
+ domainFirstSelection: true,
+ ruleFirstSelection: true,
+ lifeCycleSelection: true,
}
},
created() {
},
methods: {
+ getDefaultData(requestType, dataName, selectionName) {
+ if (this[selectionName]) {
+ defaultRequestHandler(requestType).then(res => {
+ this[dataName] = res.data.data;
+ res.data.data.forEach(item => {
+ let data = {
+ id: item.id,
+ name: item.name,
+ attrDataType: item.attrDataType,
+ attrDataTypeText: item.attrDataTypeText,
+ defaultValue: item.defaultValue,
+ description: item.description,
+ attributeLength: item.attributeLength,
+ referBtmTypeId: item.referTypeCode,
+ referBtmTypeName: item.referToName,
+ enumId: item.dictCode,
+ isDefaultAttr: item.isDefaultAttr
+ }
+ if (!this.btmType.attributes) {
+ this.btmType.attributes = [];
+ }
+ this.btmType.attributes.push(data);
+ })
+ this.attrRefOnLoad()
+ this[selectionName] = false;
+ });
+ }
+ },
+ //鎵�灞為鍩焎hange
+ domainChange() {
+ this.getDefaultData('defaultAttr', 'domainData', 'domainFirstSelection');
+ },
+ //鐗堟湰瑙勫垯change
+ ruleHandler() {
+ this.getDefaultData('reVersionRule', 'ruleData', 'ruleFirstSelection');
+ },
+ //鐢熷懡鍛ㄦ湡change
+ lifeCycleHandler() {
+ this.getDefaultData('lifeCycle', 'lifeData', 'lifeCycleSelection');
+ },
+ //榛樿鍊艰姹�
+ defaultValueRequest() {
+
+ },
// 鍏抽棴缁勪欢寮圭獥
closeSubmitDialog() {
this.showSubmitDialog = false;
- this.btmType.attributes = [];
- this.btmType = {};
- this.attrRef.selectData = [];
- this.attrRef.queryNotIn = null;
- this.resetForm();
+ //鎵�灞為鍩熺姸鎬侀噸鏂拌祴鍊�
+ this.domainFirstSelection = true;
+ //鐗堟湰瑙勫垯鐘舵�侀噸鏂拌祴鍊�
+ this.ruleFirstSelection = true;
+ //鐢熷懡鍛ㄦ湡鐘舵�侀噸鏂拌祴鍊�
+ this.lifeCycleSelection = true;
+ //閲嶇疆鏍¢獙瑙勫垯
+ this.$refs.form.resetFields();
},
// 鍏抽棴灞炴�ф睜鏌ヨ寮圭獥
closeAttrDialog() {
@@ -504,12 +574,7 @@
const data = res.data.data;
this.attrRef.page.total = data.total;
this.attrRef.data = data.records;
- });
- setTimeout(() => {
this.attrRef.loading = false;
- }, 600)
- this.$nextTick(() => {
- this.$refs.attrRef.refreshTable();
});
},
// 灞炴�ф睜妫�绱�
@@ -536,7 +601,7 @@
if (!this.btmType.attributes) {
this.btmType.attributes = [];
}
- console.log(this.attrRef.selectData);
+ // console.log(this.attrRef.selectData);
this.attrRef.selectData.forEach(item => {
this.btmType.attributes.push({
id: item.id,
@@ -562,27 +627,28 @@
},
// 娣诲姞涓氬姟绫诲瀷
submitBtmType() {
- console.log(this.btmType);
- if (!this.btmType.attributes){
- this.$message.warning("杩樻病鏈変负涓氬姟绫诲瀷閫夋嫨灞炴��");
- return;
- }else{
+ // console.log(this.btmType);
+ if (!this.btmType.attributes) {
+ this.$message.warning("杩樻病鏈変负涓氬姟绫诲瀷閫夋嫨灞炴��");
+ return;
+ } else {
let nullFlag = false;
- this.btmType.attributes.forEach(item => {
- if (!item.name){
- this.$message.warning("绗�" + (item.$index+1) + "琛岀殑涓枃鍚嶇О涓嶈兘涓虹┖");
- nullFlag = true;
- return;
- }
- })
- if (nullFlag){
+ this.btmType.attributes.forEach(item => {
+ if (!item.name) {
+ this.$message.warning("绗�" + (item.$index + 1) + "琛岀殑涓枃鍚嶇О涓嶈兘涓虹┖");
+ nullFlag = true;
+ return;
+ }
+ })
+ if (nullFlag) {
return;
}
-
}
+ this.btmType.attributes = this.btmType.attributes.filter(item => !item.isDefaultAttr);
add(this.btmType, true).then(res => {
+ // console.log(res)
// 娣诲姞瀹屾垚锛屽洖璋冪埗缁勪欢鐨勫埛鏂�
- this.$message.success('淇濆瓨鎴愬姛');
+ this.$message.success(res.data.msg);
this.cancleSubmitBtmType();
this.$emit('refreshTable');
})
@@ -605,33 +671,34 @@
},
// 鍒楄〃缂栬緫
cellEditClick(cell) {
- console.log(cell);
+ // console.log(cell);
cell.$cellEdit = true;
},
// 鍒楄〃缂栬緫淇濆瓨
- cellEditSave(row) {
- this.btmType.attributes[row.$index].name = row.name
- this.btmType.attributes[row.$index].defaultValue = row.defaultValue;
- this.btmType.attributes[row.$index].description = row.description;
+ cellEditSave(row, index) {
+ this.btmType.attributes[index].name = row.name
+ this.btmType.attributes[index].defaultValue = row.defaultValue;
+ this.btmType.attributes[index].description = row.description;
row.$cellEdit = false;
+ // console.log(this.btmType.attributes);
+ this.$refs.attrTable.refreshTable();
},
// 鎵撳紑鐗堟湰瑙勫垯鍙傜収
- openRevision() {
+ openRevision() {
this.revisionRef.visible = true;
this.revisionRuleOnLoad();
},
// 鐗堟湰鍙傜収鍒楄〃鐨勯粯璁ゆ煡璇㈡柟娉�
- revisionRuleOnLoad(){
+ revisionRuleOnLoad() {
this.revisionRef.loading = true;
getPage().then(res => {
this.revisionRef.data = res.data.data.records;
- });
- setTimeout(() => {
this.revisionRef.loading = false;
- }, 600)
- this.$nextTick(() => {
- this.$refs.revisionRef.refreshTable();
});
+
+ // this.$nextTick(() => {
+ // this.$refs.revisionRef.refreshTable();
+ // });
},
// 鎵撳紑鐗堟湰瑙勫垯鍙傜収
openLifeCycle() {
@@ -639,14 +706,12 @@
this.lifeCycleOnLoad();
},
// 鐢熷懡鍛ㄦ湡鍒楄〃鐨勯粯璁ゆ煡璇㈡柟娉�
- lifeCycleOnLoad(){
+ lifeCycleOnLoad() {
this.lifeCycleRef.loading = true;
getList().then(res => {
this.lifeCycleRef.data = res.data.data.records;
- });
- setTimeout(() => {
this.lifeCycleRef.loading = false;
- }, 600)
+ });
this.$nextTick(() => {
this.$refs.lifeCycleRef.refreshTable();
});
@@ -665,7 +730,9 @@
this.btmType.revisionRuleId = this.revisionRef.selectData.id;
this.btmType.revisionRuleName = this.revisionRef.selectData.name;
this.btmType.inputRevisionFlag = false;
+ this.ruleHandler()
this.cancelRevision();
+
},
// 纭閫変腑鐢熷懡鍛ㄦ湡
confirmLifeCycle() {
@@ -673,6 +740,7 @@
this.btmType.lifeCycleId = this.lifeCycleRef.selectData.id;
this.btmType.lifeCycleName = this.lifeCycleRef.selectData.name;
this.cancelLifeCycle();
+ this.lifeCycleHandler()
},
// 鍙栨秷閫変腑鐗堟湰瑙勫垯
cancelRevision() {
@@ -725,16 +793,16 @@
* @param params 鎼滅储妗嗚緭鍏ュ�� {id: '',name: ''} 鐩存帴鑾峰彇灏辫
* @param done 鎵ц瀹屾垚鍚庣殑鍥炶皟
*/
- searchRevisionRule(params,done){
+ searchRevisionRule(params, done) {
let condition = {};
- if (params.id){
- condition['id_like'] = params.id;
+ if (params.id) {
+ condition['id_like'] = params.id;
}
- if (params.name){
- condition['name_like'] = params.name;
+ if (params.name) {
+ condition['name_like'] = params.name;
}
this.revisionRef.loading = true;
- getPage(this.revisionRef.page.currentPage,this.revisionRef.page.pageSize,condition).then(res => {
+ getPage(this.revisionRef.page.currentPage, this.revisionRef.page.pageSize, condition).then(res => {
this.revisionRef.data = res.data.data.records;
});
setTimeout(() => {
@@ -750,16 +818,16 @@
* @param params 鎼滅储妗嗚緭鍏ュ��
* @param done 鎵ц瀹屾垚鍚庣殑鍥炶皟
*/
- searchLifeCycle(params,done){
+ searchLifeCycle(params, done) {
let condition = {};
- if (params.id){
+ if (params.id) {
condition['id_like'] = params.id;
}
- if (params.name){
+ if (params.name) {
condition['name_like'] = params.name;
}
this.lifeCycleRef.loading = true;
- getList(this.lifeCycleRef.page.currentPage,this.lifeCycleRef.page.pageSize,condition).then(res => {
+ getList(this.lifeCycleRef.page.currentPage, this.lifeCycleRef.page.pageSize, condition).then(res => {
this.lifeCycleRef.data = res.data.data.records;
});
setTimeout(() => {
@@ -771,11 +839,11 @@
});
},
// 鍙栨秷鐗堟湰瑙勫垯鎼滅储
- clearSearchRevisionRule(item){
+ clearSearchRevisionRule(item) {
this.revisionRuleOnLoad();
},
// 鍙栨秷鐢熷懡鍛ㄦ湡鎼滅储
- clearSearchLifeCycle(item){
+ clearSearchLifeCycle(item) {
this.lifeCycleOnLoad();
console.log(item);
}
--
Gitblit v1.9.3