From 6c4d4b494ef9c8fb134ece79e3993038a0358639 Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期五, 14 四月 2023 18:29:03 +0800 Subject: [PATCH] 对象建模更新 --- 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.9.3