From 7b157aa56608423c9e7de63e12240e8044b3afd9 Mon Sep 17 00:00:00 2001
From: lihang <lihang@vci-tech.com>
Date: 星期一, 17 四月 2023 16:51:06 +0800
Subject: [PATCH] 元数据管理ver初始
---
Source/UBCS-WEB/src/views/modeling/Business.vue | 513 ++++++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 418 insertions(+), 95 deletions(-)
diff --git a/Source/UBCS-WEB/src/views/modeling/Business.vue b/Source/UBCS-WEB/src/views/modeling/Business.vue
index a9ef549..189885b 100644
--- a/Source/UBCS-WEB/src/views/modeling/Business.vue
+++ b/Source/UBCS-WEB/src/views/modeling/Business.vue
@@ -1,111 +1,434 @@
<template>
- <div>
- <avue-form :model="form" :rules="rules">
- <avue-form-item label="濮撳悕" prop="name">
- <el-input v-model="form.name"></el-input>
- </avue-form-item>
- <avue-form-item label="瀛﹀巻" prop="education">
- <el-select v-model="form.education" placeholder="璇烽�夋嫨">
- <el-option label="鍗氬+" value="鍗氬+"></el-option>
- <el-option label="纭曞+" value="纭曞+"></el-option>
- <el-option label="鏈" value="鏈"></el-option>
- <el-option label="澶т笓" value="澶т笓"></el-option>
- <el-option label="涓笓" value="涓笓"></el-option>
- </el-select>
- </avue-form-item>
- <avue-form-item label="宸ヤ綔缁忓巻">
- <table class="table">
- <thead>
- <tr>
- <th>鍏徃</th>
- <th>鑱屼綅</th>
- <th>璧锋鏃堕棿</th>
- </tr>
- </thead>
- <tbody>
- <tr v-for="(item, index) in form.workExperience" :key="index">
- <td>
- <el-input v-model="item.company"></el-input>
- </td>
- <td>
- <el-input v-model="item.position"></el-input>
- </td>
- <td>
- <el-date-picker
- v-model="item.dateRange"
- range-separator="鑷�"
- type="daterange"
- start-placeholder="寮�濮嬫棩鏈�"
- end-placeholder="缁撴潫鏃ユ湡"
- format="yyyy-MM-dd"
- ></el-date-picker>
- </td>
- </tr>
- </tbody>
- </table>
- </avue-form-item>
- </avue-form>
- </div>
+
+ <el-container>
+ <el-aside width="240px">
+ <basic-container>
+ <avue-tree id="basic" :data="treeData" :option="treeOption" @node-click="nodeClick">
+ </avue-tree>
+ </basic-container>
+ </el-aside>
+ <el-main>
+ <!-- 鍩烘湰淇℃伅-->
+ <basic-container>
+ <p style="margin-top: 10px;font-weight: 570;font-size: 19px">鍩烘湰淇℃伅</p>
+ <avue-crud
+ v-model="objs"
+ :data="basicData"
+ :option="basicOption"
+ @row-save="basicSave"
+ >
+ <!-- 鐗堟湰瑙勫垯-->
+ <template slot="rulesForm" slot-scope="{disabled,size}">
+ <div>
+ <el-input v-if="rulesFalg==false" v-model="objs.tex" :size="size" placeholder="璇疯緭鍏ョ増鏈彿瑙勫垯"
+ style="width: 290px"></el-input>
+ <el-select v-if="rulesFalg" v-model="objs.select" placeholder="璇烽�夋嫨鐗堟湰鍙疯鍒�" style="max-width: 300px">
+ <el-option label="娴嬭瘯1" value="1"></el-option>
+ <el-option label="娴嬭瘯2" value="2"></el-option>
+ <el-option label="娴嬭瘯3" value="3"></el-option>
+ </el-select>
+ <el-button style="margin-bottom: 5px;margin-left: 10px" type="primary" @click="handelRules">
+ {{ rulesFalg == false ? "閫夋嫨鐗堟湰鍙疯鍒�" : "鎵嬪姩杈撳叆" }}
+ </el-button>
+ </div>
+ </template>
+ <!-- 鐢熷懡鍛ㄦ湡-->
+ <template slot="lifeCycleForm">
+ <el-select v-model="objs.select" placeholder="璇烽�夋嫨鐢熷懡鍛ㄦ湡" style="max-width: 300px">
+ <el-option label="娴嬭瘯1" value="1"></el-option>
+ <el-option label="娴嬭瘯2" value="2"></el-option>
+ <el-option label="娴嬭瘯3" value="3"></el-option>
+ </el-select>
+ <el-button style="margin-bottom: 5px;display: inline-block;margin-left: 10px" type="primary"
+ @click="handelLife">鐢熷懡鍛ㄦ湡鍒楄〃
+ </el-button>
+ </template>
+ </avue-crud>
+ <el-dialog :visible.sync="packageLifeBox"
+ append-to-body
+ title="鏌ョ湅浣跨敤鑼冨洿"
+ width="1000px">
+ <Businpackage></Businpackage>
+ <span slot="footer" class="dialog-footer">
+ <el-button @click="dialoghandelfalse">鍙� 娑�</el-button>
+ <el-button type="primary" @click="dialoghandeltrue">纭� 瀹�</el-button>
+ </span>
+ </el-dialog>
+ </basic-container>
+ <!-- 灞炴�у垪琛�-->
+ <basic-container>
+ <p style="margin-top: 10px;font-weight: 570;font-size: 19px">灞炴�у垪琛�</p>
+ <avue-crud
+ v-model="obj"
+ :data="loadData"
+ :option="loadOption"
+ @row-save="loadSave"
+ ></avue-crud>
+ </basic-container>
+ </el-main>
+ </el-container>
</template>
-
<script>
-
-
-
export default {
name: "Business",
-
- data(){
+ data() {
return {
- form: {
- name: "",
- education: "",
- workExperience: [
- { company: "", position: "", dateRange: [] },
- { company: "", position: "", dateRange: [] },
- ],
+ //鐢熷懡鍛ㄦ湡瀵硅瘽妗嗙姸鎬�
+ packageLifeBox: false,
+ //鐗堟湰瑙勫垯鐘舵��
+ rulesFalg: false,
+ obj: {},
+ treeData: [{
+ value: 0,
+ label: '涓氬姟绫诲瀷鏍�',
+ children: [
+ {
+ value: 1,
+ label: 'A',
+ },
+ {
+ value: 2,
+ label: 'B',
+ },
+ {
+ value: 3,
+ label: 'C',
+ },
+ {
+ value: 4,
+ label: 'D',
+ },
+ {
+ value: 5,
+ label: 'E',
+ }
+ ]
+ }],
+ treeOption: {
+ defaultExpandAll: true,
},
- rules: {
- name: [{ required: true, message: "璇疯緭鍏ュ鍚�", trigger: "blur" }],
- education: [{ required: true, message: "璇烽�夋嫨瀛﹀巻", trigger: "change" }],
- "workExperience.0.company": [
- { required: true, message: "璇疯緭鍏ュ叕鍙稿悕绉�", trigger: "blur" },
- ],
- "workExperience.0.position": [
- { required: true, message: "璇疯緭鍏ヨ亴浣嶅悕绉�", trigger: "blur" },
- ],
- "workExperience.0.dateRange": [
- { required: true, message: "璇烽�夋嫨璧锋鏃堕棿", trigger: "change" },
- ],
- "workExperience.1.company": [
- { required: true, message: "璇疯緭鍏ュ叕鍙稿悕绉�", trigger: "blur" },
- ],
- "workExperience.1.position": [
- { required: true, message: "璇疯緭鍏ヨ亴浣嶅悕绉�", trigger: "blur" },
- ],
- "workExperience.1.dateRange": [
- { required: true, message: "璇烽�夋嫨璧锋鏃堕棿", trigger: "change" },
- ],
+ loadData: [],
+ loadData1: [
+ {
+ name: '寮犱笁',
+ business: '娴嬭瘯',
+ attrType: "娴嬭瘯",
+ default: "娴嬭瘯",
+ explain: "娴嬭瘯璇存槑"
+ },
+ {
+ name: '鏉庡洓',
+ business: '娴嬭瘯',
+ attrType: "娴嬭瘯",
+ default: "娴嬭瘯",
+ explain: "娴嬭瘯璇存槑"
+ }
+ ],
+ loadData2: [
+ {
+ name: '鐜嬩簲',
+ business: '娴嬭瘯',
+ attrType: "娴嬭瘯",
+ default: "娴嬭瘯",
+ explain: "娴嬭瘯璇存槑"
+ },
+ {
+ name: '瀹嬪叚',
+ business: '娴嬭瘯',
+ attrType: "娴嬭瘯",
+ default: "娴嬭瘯",
+ explain: "娴嬭瘯璇存槑"
+ }
+ ],
+ loadOption: {
+ border: true,
+ height: 422,
+ editBtn: false,
+ column: [
+ {
+ label: '灞炴�у悕',
+ prop: 'name'
+ },
+ {
+ label: '涓氬姟绫诲瀷',
+ prop: 'business'
+ },
+ {
+ label: "灞炴�х被鍨�",
+ prop: "attrType"
+ },
+ {
+ label: "榛樿鍊�",
+ prop: "default",
+ },
+ {
+ label: "璇存槑",
+ prop: "explain"
+ }
+ ]
},
+ //鍩烘湰淇℃伅
+ objs: {
+ tex: "",
+ select: "",
+ lifeTex: ""
+ },
+ basicData: [],
+ basicData1: [
+ {
+ typeName: "娴嬭瘯1",
+ tag: "瀹㈡埛",
+ inherit: "娴嬭瘯",
+ implement: "娴嬭瘯",
+ lifeCycle: "鍛ㄦ湡",
+ desc: "杩欐槸涓�涓弿杩�"
+ }
+ ],
+ basicData2: [
+ {
+ typeName: "娴嬭瘯2",
+ tag: "瀹㈡埛",
+ inherit: "娴嬭瘯",
+ implement: "娴嬭瘯",
+ lifeCycle: "鍛ㄦ湡",
+ desc: "杩欐槸涓�涓弿杩�"
+ }
+ ],
+ basicOption: {
+ border: true,
+ height: 88,
+ tabs: true,
+ column: [
+ {
+ label: "绫诲瀷鍚嶇О",
+ prop: "typeName",
+ display: false
+ },
+ {
+ label: "鏍囩",
+ prop: "tag",
+ display: false
+ },
+ {
+ label: "缁ф壙鑷�",
+ prop: "inherit",
+ display: false
+ },
+ {
+ label: "瀹炵幇绫�",
+ prop: "implement",
+ display: false
+ },
+ {
+ label: "鎻忚堪",
+ prop: "desc",
+ display: false
+ }
+ ],
+ group: [
+ {
+ label: "鍩烘湰淇℃伅",
+ column: [
+ {
+ label: "绫诲瀷鍚嶇О",
+ prop: "typeName"
+ },
+ {
+ label: "鏍囩",
+ prop: "tag"
+ },
+ {
+ label: "缁ф壙鑷�",
+ prop: "inherit"
+ },
+ {
+ label: "鏄惁瀹炰緥鍖�",
+ prop: "case",
+ type: "switch",
+ align: "center",
+ hide: true,
+ labelWidth: 90,
+ dicData: [
+ {
+ label: "鍚�",
+ value: 0
+ },
+ {
+ label: "鏄�",
+ value: 1
+ }
+ ],
+ },
+ {
+ label: "鎻忚堪",
+ prop: "desc",
+ type: "textarea"
+ },
+ {
+ label: "瀹炵幇绫�",
+ prop: "implement"
+ },
+
+ ]
+ },
+ {
+ label: "鐗堟湰瑙勫垯",
+ column: [
+ {
+ label: '鐗堟湰瑙勫垯',
+ prop: 'radio',
+ type: 'radio',
+ button: true,
+ change: this.radioChange,
+ value: 0,
+ dicData: [{
+ label: '涓嶅彲淇',
+ value: 0
+ }, {
+ label: '閲囩敤涓�绾х増鏈鐞�',
+ value: 1
+ }, {
+ label: '閲囩敤浜岀骇鐗堟湰绠$悊',
+ value: 2
+ }]
+ },
+ {
+ label: "鐗堟湰鍙疯鍒�",
+ prop: "rules",
+ display: true,
+ formslot: true,
+ },
+ {
+ label: "鍒嗛殧绗�",
+ prop: "interval",
+ type: "select",
+ display: true,
+ dicData: [
+ {
+ label: ".",
+ value: 0
+ },
+ {
+ label: "-",
+ value: 1
+ },
+ {
+ label: " ",
+ value: 2
+ }
+ ]
+ },
+ {
+ label: '鐗堟鍙疯鍒�',
+ prop: 'radioRules',
+ type: 'radio',
+ display: true,
+ dicData: [{
+ label: '1.2.3...',
+ value: 0
+ }, {
+ label: 'a.b.c...',
+ value: 1
+ }, {
+ label: '0.1.2...',
+ value: 2
+ }]
+ },
+ ]
+ },
+ {
+ label: "鐢熷懡鍛ㄦ湡",
+ column: [
+ {
+ label: "鐢熷懡鍛ㄦ湡",
+ prop: "lifeCycle"
+ }
+ ]
+ }
+ ]
+ },
+
}
+ },
+ created() {
+ this.loadData = this.loadData1;
+ this.basicData = this.basicData1
+ },
+ methods: {
+ //鐢熷懡鍛ㄦ湡瀵硅瘽妗嗗彇娑堢偣鍑讳簨浠�
+ dialoghandelfalse() {
+ this.packageLifeBox = false
+ },
+ //鐢熷懡鍛ㄦ湡瀵硅瘽妗嗙‘瀹氱偣鍑讳簨浠�
+ dialoghandeltrue() {
+ this.packageLifeBox = false
+ },
+ //閫夋嫨鐢熷懡鍛ㄦ湡瀵硅瘽妗�
+ handelLife() {
+ this.packageLifeBox = true
+ },
+ //鐗堟湰瑙勫垯鎵嬪姩杈撳叆鍜岄�夋嫨妗嗙殑鐘舵�佸彇鍙�
+ handelRules() {
+ this.rulesFalg = !this.rulesFalg
+ },
+ //鐗堟湰瑙勫垯涓変釜鎸夐挳鐨勬樉绀洪殣钘�
+ radioChange(val) {
+ if (val.value == 0) {
+ this.basicOption.group[1].column[1].display = false;
+ this.basicOption.group[1].column[2].display = false;
+ this.basicOption.group[1].column[3].display = false;
+ } else if (val.value == 1) {
+ this.basicOption.group[1].column[1].display = true;
+ this.basicOption.group[1].column[2].display = true;
+ this.basicOption.group[1].column[3].display = false;
+ } else if (val.value == 2) {
+ this.basicOption.group[1].column[1].display = true;
+ this.basicOption.group[1].column[2].display = true;
+ this.basicOption.group[1].column[3].display = true;
+ }
+ },
+ nodeClick(data) {
+ if (data.value == 1) {
+ this.loadData = this.loadData1;
+ this.basicData = this.basicData1
+ } else if (data.value == 2) {
+ this.loadData = this.loadData2;
+ this.basicData = this.basicData2
+ }
+ this.$message.success(JSON.stringify(data))
+ }
+ },
+// 鍩烘湰淇℃伅娣诲姞
+ basicSave(row, done, loading) {
+ add(Object.assign({
+ createUser: this.userInfo.name
+ }, row)).then(() => {
+ this.$message.success('鏂板鎴愬姛')
+ done();
+ this.getList();
+ }).catch(() => {
+ loading()
+ })
+ },
+ //灞炴�ф坊鍔�
+ loadSave(row, done, loading) {
+ add(Object.assign({
+ createUser: this.userInfo.name
+ }, row)).then(() => {
+ this.$message.success('鏂板鎴愬姛')
+ done();
+ this.getList();
+ }).catch(() => {
+ loading()
+ })
}
}
</script>
-<style scoped>
-.table {
- width: 100%;
- border-collapse: collapse;
+<style lang="scss">
+#basic {
+ height: 770px;
+ border-radius: 10px;
}
-.table th,
-.table td {
- padding: 10px;
- border: 1px solid #ccc;
-}
-
-.table th {
- background-color: #f0f0f0;
- font-weight: bold;
-}
</style>
--
Gitblit v1.10.0