From beed32d5c297b07a261ed8c89bcc98503a8896dc Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期五, 26 五月 2023 18:09:36 +0800
Subject: [PATCH] 动态表格组件
---
Source/UBCS-WEB/src/components/Crud/Crud.vue | 85 ++
Source/UBCS-WEB/src/components/FormTemplate/index.vue | 1638 +++++++++++++++++++++++++++---------------------------
Source/UBCS-WEB/src/api/GetItem.js | 21
Source/UBCS-WEB/vue.config.js | 3
4 files changed, 924 insertions(+), 823 deletions(-)
diff --git a/Source/UBCS-WEB/src/api/GetItem.js b/Source/UBCS-WEB/src/api/GetItem.js
new file mode 100644
index 0000000..e3b471f
--- /dev/null
+++ b/Source/UBCS-WEB/src/api/GetItem.js
@@ -0,0 +1,21 @@
+import request from "@/router/axios";
+
+export const MasterTable =(params)=>{
+ return request({
+ url: 'api/ubcs-code/ubcs-code//mdmEngineController/getUIInfoByClassifyOid',
+ method: 'get',
+ params:{
+ ...params
+ }
+ })
+}
+
+export const TableData =(params)=>{
+ return request({
+ url: 'api/ubcs-code/ubcs-code//mdmEngineController/gridTableDataByClassifyOid',
+ method: 'get',
+ params:{
+ ...params
+ }
+ })
+}
diff --git a/Source/UBCS-WEB/src/components/Crud/Crud.vue b/Source/UBCS-WEB/src/components/Crud/Crud.vue
index 30b5efe..90412c5 100644
--- a/Source/UBCS-WEB/src/components/Crud/Crud.vue
+++ b/Source/UBCS-WEB/src/components/Crud/Crud.vue
@@ -1,15 +1,94 @@
<template>
- <avue-crud :data="data" ></avue-crud>
+<basic-container style="height: 750px">
+ <avue-crud ref="crud" :data="data" :option="option" style="height: 750px" @sort-change="sortChange"></avue-crud>
+</basic-container>
</template>
<script>
+import { MasterTable,TableData } from "@/api/GetItem";
export default {
name: "Crud.vue",
data(){
return{
- data:[],
- option:{}
+ data:[
+ {
+ zhiliangbz:"111",
+ },
+ {
+ xinghaoguige:"1121",
+ },
+ ],
+ option:{
+ //榛樿楂樺害,
+ align:'center',
+ menuAlign:'center',
+ column:[]
+ },
+ List:[],
+ columnType: {
+ text: "input",
+ combox: "select",
+ truefalse: "switch",
+ number: "number",
+ datetime: "datetime",
+ },
}
+ },
+ created() {
+ this.CrudHeaderRend();
+ this.CrudRend()
+ },
+ activated() {
+ this.doLayout()
+ },
+ methods:{
+ doLayout() {
+ this.$nextTick(() => {
+ this.$refs.crud.doLayout();
+ });
+ },
+ CrudHeaderRend(){
+ MasterTable({codeClassifyOid:"D9CF223F-317D-71EB-BD11-433A94CAD9F3",functionId: 5,_: 1685067339479}).then(res=>{
+ this.List=res.data.tableDefineVO.cols[0];
+ this.List.forEach(item=>{
+ console.log(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);
+
+ })
+ })
+ },
+ CrudRend(){
+ TableData({templateOid: "A12826E4-2B66-6D56-DE30-92BB1D7F607F",
+ codeClassifyOid: "D9CF223F-317D-71EB-BD11-433A94CAD9F3",
+ page: 1,
+ limit: 9,
+ _: 1685089123575
+ }).then(res=>{
+ console.log(res)
+ this.data=res.data.data
+ })
+ },
+ // 鎺掑簭
+ sortChange(val){
+ console.log(val)
+
+ // TableData( {
+ // templateOid: "A12826E4-2B66-6D56-DE30-92BB1D7F607F",
+ // codeClassifyOid: "D9CF223F-317D-71EB-BD11-433A94CAD9F3",
+ // order:"desc",
+ // sort:val.prop
+ // }).then(res=>{
+ // console.log(res.data.data)
+ // this.data=res.data.data
+ // })
+ },
}
}
</script>
diff --git a/Source/UBCS-WEB/src/components/FormTemplate/index.vue b/Source/UBCS-WEB/src/components/FormTemplate/index.vue
index 3f10469..739da06 100644
--- a/Source/UBCS-WEB/src/components/FormTemplate/index.vue
+++ b/Source/UBCS-WEB/src/components/FormTemplate/index.vue
@@ -1,819 +1,819 @@
-<template>
- <el-dialog
- :visible.sync="dialogVisible"
- v-dialogDrag
- top="0vh"
- title="鎻愮ず"
- class="avue-dialog avue-dialog--top"
- :width="dialogOptions.width"
- append-to-body
- >
- <avue-form :option="option" v-loading="loading" ref="form">
- <template :slot="item.prop + 'Label'" v-for="item in option.column"">
- <div>
- <span>{{ item.label }}</span>
- <el-tooltip
- v-if="item.keyAttr"
- class="item"
- effect="dark"
- content="鍏抽敭灞炴��"
- placement="top-start"
- >
- <i class="el-icon-star-on key_attr_icon"></i>
- </el-tooltip>
- </div>
- </template>
- </avue-form>
- <div class="avue-dialog__footer">
- <el-button @click="close()">鍙� 娑�</el-button>
- <el-button @click="close()" type="primary">纭� 瀹�</el-button>
- </div>
- </el-dialog>
-</template>
-
-<script>
-import { getFormTemplate } from "../../api/common";
-export default {
- name: "FormTemplate",
- props: {
- visible: {
- type: Boolean,
- default: false,
- },
- },
- data() {
- return {
- loading: false,
- dialogOptions: {
- width: "60%",
- },
- option: {
- emptyBtn: false,
- submitBtn: false,
- labelWidth: "120",
- column: [],
- },
- templateData: {},
- columnType: {
- text: "input",
- combox: "select",
- truefalse: "switch",
- number: "number",
- datetime: "datetime",
- },
- testItems: [
- {
- comboxKey: null,
- customClass: null,
- data: null,
- dateFormate: "",
- defaultValue: "",
- displayExtension: null,
- extendAttrMap: null,
- extendAttrString: null,
- field: "id",
- hidden: true,
- keyAttr: false,
- prefix: "",
- readOnly: false,
- referConfig: null,
- required: false,
- selectLibFlag: "",
- showField: null,
- suffix: "",
- text: "浠e彿",
- tooltips: "",
- type: "text",
- unique: false,
- verify: "",
- },
- {
- comboxKey: "wupin${lcstatus}",
- customClass: null,
- data: null,
- dateFormate: "",
- defaultValue: "",
- displayExtension: null,
- extendAttrMap: null,
- extendAttrString: null,
- field: "lcstatus",
- hidden: false,
- keyAttr: false,
- prefix: "",
- readOnly: false,
- referConfig: null,
- required: false,
- selectLibFlag: "",
- showField: null,
- suffix: "",
- text: "鐘舵��",
- tooltips: "",
- type: "combox",
- unique: false,
- verify: "",
- },
- {
- comboxKey: null,
- customClass: null,
- data: null,
- dateFormate: "",
- defaultValue: "",
- displayExtension: null,
- extendAttrMap: null,
- extendAttrString: null,
- field: "oldcode",
- hidden: false,
- keyAttr: false,
- prefix: "el-icon-search",
- readOnly: false,
- referConfig: null,
- required: false,
- selectLibFlag: "",
- showField: null,
- suffix: "鏂囨湰鍚庣紑娴嬭瘯",
- text: "鍓嶅悗缂�",
- tooltips: "",
- type: "text",
- unique: false,
- verify: "",
- },
- {
- comboxKey: null,
- customClass: null,
- data: null,
- dateFormate: "",
- defaultValue: "",
- displayExtension: null,
- extendAttrMap: null,
- extendAttrString: null,
- field: "materialname",
- hidden: false,
- keyAttr: false,
- prefix: "",
- readOnly: false,
- referConfig: null,
- required: true,
- selectLibFlag: "",
- showField: null,
- suffix: "",
- text: "姝e垯鏍¢獙",
- tooltips: "璇疯緭鍏ユ暟瀛�",
- type: "text",
- unique: false,
- verify: "/[0-9]/",
- },
- {
- comboxKey: "materialclassify_data",
- customClass: null,
- data: [
- {
- attributes: {},
- key: "model_type",
- value: "妯″瀷",
- },
- {
- attributes: {},
- key: "part_type",
- value: "闆朵欢",
- },
- ],
- dateFormate: "",
- defaultValue: "",
- displayExtension: null,
- extendAttrMap: null,
- extendAttrString: null,
- field: "materialclassify",
- hidden: false,
- keyAttr: false,
- prefix: "",
- readOnly: false,
- referConfig: null,
- required: false,
- selectLibFlag: "",
- showField: null,
- suffix: "",
- text: "鐗╂枡鍒嗙被",
- tooltips: "",
- type: "combox",
- unique: false,
- verify: "",
- },
- {
- comboxKey: null,
- customClass: null,
- data: null,
- dateFormate: "",
- defaultValue: "",
- displayExtension: null,
- extendAttrMap: null,
- extendAttrString: null,
- field: "firstfl",
- hidden: false,
- keyAttr: false,
- prefix: "",
- readOnly: false,
- referConfig: null,
- required: false,
- selectLibFlag: "",
- showField: null,
- suffix: "",
- text: "鏁板瓧杈撳叆妗�",
- tooltips: "",
- type: "number",
- unique: false,
- verify: "",
- },
- {
- comboxKey: null,
- customClass: null,
- data: null,
- dateFormate: "yyyy-MM-dd HH:mm:ss",
- defaultValue: "",
- displayExtension: null,
- extendAttrMap: null,
- extendAttrString: null,
- field: "secondfl",
- hidden: false,
- keyAttr: false,
- prefix: "",
- readOnly: false,
- referConfig: null,
- required: false,
- selectLibFlag: "",
- showField: null,
- suffix: "",
- text: "鏃堕棿閫夋嫨鍣�",
- tooltips: "",
- type: "datetime",
- unique: false,
- verify: "",
- },
- {
- comboxKey: null,
- customClass: null,
- data: null,
- dateFormate: "",
- defaultValue: "",
- displayExtension: null,
- extendAttrMap: null,
- extendAttrString: null,
- field: "thrifl",
- hidden: false,
- keyAttr: true,
- prefix: "",
- readOnly: false,
- referConfig: null,
- required: false,
- selectLibFlag: "",
- showField: null,
- suffix: "",
- text: "鍏抽敭灞炴��",
- tooltips: "",
- type: "text",
- unique: false,
- verify: "",
- },
- {
- comboxKey: null,
- customClass: null,
- data: null,
- dateFormate: "",
- defaultValue: "false",
- displayExtension: null,
- extendAttrMap: null,
- extendAttrString: null,
- field: "xiaoshouwl",
- hidden: false,
- keyAttr: false,
- prefix: "",
- readOnly: false,
- referConfig: null,
- required: false,
- selectLibFlag: "",
- showField: null,
- suffix: "",
- text: "閿�鍞墿鏂�",
- tooltips: "",
- type: "truefalse",
- unique: false,
- verify: "",
- },
- {
- comboxKey: null,
- customClass: null,
- data: null,
- dateFormate: "",
- defaultValue: "",
- displayExtension: null,
- extendAttrMap: null,
- extendAttrString: null,
- field: "tuhao",
- hidden: false,
- keyAttr: false,
- prefix: "",
- readOnly: false,
- referConfig: null,
- required: false,
- selectLibFlag: "",
- showField: null,
- suffix: "",
- text: "鍥惧彿",
- tooltips: "鎻愮ず",
- type: "text",
- unique: false,
- verify: "",
- },
- {
- comboxKey: null,
- customClass: null,
- data: null,
- dateFormate: "",
- defaultValue: "",
- displayExtension: null,
- extendAttrMap: null,
- extendAttrString: null,
- field: "xinghaoguige",
- hidden: false,
- keyAttr: false,
- prefix: "",
- readOnly: false,
- referConfig: null,
- required: false,
- selectLibFlag: "",
- showField: null,
- suffix: "",
- text: "瑙勬牸鍨嬪彿锛圕APP锛�",
- tooltips: "",
- type: "text",
- unique: false,
- verify: "",
- },
- {
- comboxKey: null,
- customClass: null,
- data: null,
- dateFormate: "",
- defaultValue: "",
- displayExtension: null,
- extendAttrMap: null,
- extendAttrString: null,
- field: "jiliangdw",
- hidden: false,
- keyAttr: false,
- prefix: "",
- readOnly: false,
- referConfig: {
- backPath: "",
- displayTable: null,
- height: null,
- initSort: null,
- loadType: "all",
- mapFields: "",
- method: "GET",
- muti: false,
- onlyLeaf: false,
- paramForFormKey: "",
- parentFieldName: null,
- parentUsedField: null,
- parentValue: null,
- referContent: null,
- referType: "appendix",
- remoteSort: false,
- tableConfig: {
- cols: [
- {
- align: "left",
- colspan: 1,
- comboxKey: null,
- data: [],
- dateFormate: null,
- edit: null,
- editConfig: null,
- event: null,
- field: "id",
- fieldType: "text",
- fixed: null,
- hidden: false,
- minWidth: null,
- optionButtons: null,
- optionField: false,
- optionJsMap: null,
- queryField: null,
- referConfig: null,
- rowspan: 1,
- showField: null,
- sort: true,
- sortField: "id",
- style: null,
- templet: null,
- title: "缂栧彿",
- unresize: false,
- width: 150,
- },
- {
- align: "left",
- colspan: 1,
- comboxKey: null,
- data: [],
- dateFormate: null,
- edit: null,
- editConfig: null,
- event: null,
- field: "name",
- fieldType: "text",
- fixed: null,
- hidden: false,
- minWidth: null,
- optionButtons: null,
- optionField: false,
- optionJsMap: null,
- queryField: null,
- referConfig: null,
- rowspan: 1,
- showField: null,
- sort: true,
- sortField: "name",
- style: null,
- templet: null,
- title: "鍚嶇О",
- unresize: false,
- width: 180,
- },
- ],
- oid: null,
- page: {
- limit: 15,
- page: 1,
- },
- queryColumns: [
- {
- align: "left",
- colspan: 1,
- comboxKey: null,
- data: [],
- dateFormate: null,
- edit: null,
- editConfig: null,
- event: null,
- field: "id",
- fieldType: "text",
- fixed: null,
- hidden: false,
- minWidth: null,
- optionButtons: null,
- optionField: false,
- optionJsMap: null,
- queryField: null,
- referConfig: null,
- rowspan: 1,
- showField: null,
- sort: true,
- sortField: "id",
- style: null,
- templet: null,
- title: "缂栧彿",
- unresize: false,
- width: 150,
- },
- {
- align: "left",
- colspan: 1,
- comboxKey: null,
- data: [],
- dateFormate: null,
- edit: null,
- editConfig: null,
- event: null,
- field: "name",
- fieldType: "text",
- fixed: null,
- hidden: false,
- minWidth: null,
- optionButtons: null,
- optionField: false,
- optionJsMap: null,
- queryField: null,
- referConfig: null,
- rowspan: 1,
- showField: null,
- sort: true,
- sortField: "name",
- style: null,
- templet: null,
- title: "鍚嶇О",
- unresize: false,
- width: 180,
- },
- ],
- },
- textField: "name",
- type: "default",
- url: "",
- useFormKey: "",
- valueField: "oid",
- where: {
- materialname: "璁¢噺鍗曚綅",
- },
- },
- required: false,
- selectLibFlag: "",
- showField: "jiliangdwname",
- suffix: "",
- text: "璁¢噺鍗曚綅",
- tooltips: "",
- type: "refer",
- unique: false,
- verify: "",
- },
- {
- comboxKey: null,
- customClass: null,
- data: null,
- dateFormate: "",
- defaultValue: "",
- displayExtension: null,
- extendAttrMap: null,
- extendAttrString: null,
- field: "chukufangshi",
- hidden: false,
- keyAttr: false,
- prefix: "",
- readOnly: false,
- referConfig: null,
- required: false,
- selectLibFlag: "",
- showField: null,
- suffix: "",
- text: "鍑哄簱鏂瑰紡",
- tooltips: "",
- type: "text",
- unique: false,
- verify: "",
- },
- {
- comboxKey: null,
- customClass: null,
- data: null,
- dateFormate: "",
- defaultValue: "",
- displayExtension: null,
- extendAttrMap: null,
- extendAttrString: null,
- field: "beizhushuoming",
- hidden: false,
- keyAttr: false,
- prefix: "",
- readOnly: false,
- referConfig: null,
- required: false,
- selectLibFlag: "",
- showField: null,
- suffix: "",
- text: "澶囨敞璇存槑",
- tooltips: "",
- type: "text",
- unique: false,
- verify: "",
- },
- {
- comboxKey: null,
- customClass: null,
- data: null,
- dateFormate: "",
- defaultValue: "",
- displayExtension: null,
- extendAttrMap: null,
- extendAttrString: null,
- field: "hesuanfenlei",
- hidden: false,
- keyAttr: false,
- prefix: "",
- readOnly: false,
- referConfig: {
- backPath: "",
- displayTable: null,
- height: null,
- initSort: null,
- loadType: "all",
- mapFields: "",
- method: "GET",
- muti: false,
- onlyLeaf: false,
- paramForFormKey: "",
- parentFieldName: "PARENTCODECLASSIFYOID",
- parentUsedField: "oid",
- parentValue:
- "\\IN(SELECT oid from PLATFORMBTM_CODECLASSIFY where id ='hesuanfenlei')",
- referContent: null,
- referType: "codeclassify",
- remoteSort: false,
- tableConfig: null,
- textField: "name",
- type: "tree",
- url: "",
- useFormKey: "",
- valueField: "oid",
- where: null,
- },
- required: false,
- selectLibFlag: "",
- showField: "hesuanfenleiname",
- suffix: "",
- text: "鏍哥畻鍒嗙被",
- tooltips: "",
- type: "refer",
- unique: false,
- verify: "",
- },
- {
- comboxKey: "Eummaterialtype",
- customClass: null,
- data: null,
- dateFormate: "",
- defaultValue: "1001",
- displayExtension: null,
- extendAttrMap: null,
- extendAttrString: null,
- field: "materialtype",
- hidden: false,
- keyAttr: false,
- prefix: "",
- readOnly: false,
- referConfig: null,
- required: false,
- selectLibFlag: "",
- showField: null,
- suffix: "",
- text: "鐗╂枡绫诲瀷",
- tooltips: "",
- type: "combox",
- unique: false,
- verify: "",
- },
- {
- comboxKey: "myDataSecret",
- customClass: null,
- data: null,
- dateFormate: "",
- defaultValue: "",
- displayExtension: null,
- extendAttrMap: null,
- extendAttrString: null,
- field: "secretgrade",
- hidden: false,
- keyAttr: false,
- prefix: "",
- readOnly: false,
- referConfig: null,
- required: false,
- selectLibFlag: "",
- showField: null,
- suffix: "",
- text: "secretGrade",
- tooltips: "",
- type: "combox",
- unique: false,
- verify: "",
- },
- ],
- };
- },
- created() {
- this.preOrSufFixShow();
- },
- computed: {
- dialogVisible: {
- get() {
- return this.visible;
- },
- set(val) {
- this.$emit("update:visible", val);
- },
- },
- },
- methods: {
- getFormTemplate() {
- this.loading = true;
- getFormTemplate({
- templateOid: "78B8C7C5-A042-0B96-FE6D-65421451782A",
- codeClassifyOid: "4524E801-6CC6-92E8-1AC3-2AB9604E8F96",
- page: 1,
- limit: 30,
- })
- .then((res) => {
- if (res.status === 200) {
- this.templateData = res.data;
- this.templateRender();
- }
- this.loading = false;
- console.log(res.data);
- })
- .catch((err) => {
- this.loading = false;
- console.log(err);
- });
- },
- templateRender() {
- const items = this.testItems;
- // const items = this.templateData.formDefineVO.items;
- items.forEach((item) => {
- // 闅愯棌琛ㄥ崟鍏冪礌
- if (item.hide) {
- return;
- }
- // if (item.field === 'id' || item.field === 'lcstatus') {
- // item.readOnly = true
- // }
- // 璁剧疆琛ㄥ崟鏍¢獙鐨勮鍒欙紝鏂囨湰
- let message = "璇烽�夋嫨";
- let trigger = "change";
- if (item.type === "text") {
- message = "璇疯緭鍏�";
- trigger = "blur";
- } else if (item.type === "file") {
- message = "璇蜂笂浼�";
- }
- let columnItem = {
- label: item.text,
- labelslot: true,
- prop: item.field,
- type: this.columnType[item.type],
- dicData: this.getDictData(item.type, item.dicData),
- disabled: item.readOnly,
- prepend: this.preOrSufFixShow("text", item.prefix),
- append: this.preOrSufFixShow("text", item.suffix),
- prefixIcon: this.preOrSufFixShow("icon", item.prefix),
- suffixIcon: this.preOrSufFixShow("icon", item.suffix),
- valueFormat: item.dateFormate,
- format: item.dateFormate,
- keyAttr: item.keyAttr,
- value: 1,
- rules: [
- {
- required: item.required,
- message: `璇�${message}${item.text}`,
- trigger,
- },
- {
- pattern: item.verify,
- message: item.tooltips,
- trigger,
- },
- ],
- props: {
- label: "value",
- value: "key",
- },
- };
- console.log(this.$refs.form, "form");
- this.option.column.push(columnItem);
- });
- },
- close() {
- this.dialogVisible = false;
- },
- // 鍓嶅悗缂�
- preOrSufFixShow(type, val) {
- if (this.$utilFunc.isEmpty(val) && typeof val !== "string") return;
- const isIcon = val.slice(0, 8) === "el-icon-";
- if ((type === "text" && !isIcon) || (type === "icon" && isIcon)) {
- return val;
- }
- },
- // 鑾峰彇瀛楀吀鏁版嵁
- getDictData(type, dicData) {
- if (type === "truefalse") {
- return [
- {
- value: "鍚�",
- key: 0,
- },
- {
- value: "鏄�",
- key: 1,
- },
- ];
- } else if (type === "combox") {
- return dicData;
- }
- return [];
- },
- },
- watch: {
- visible(newV) {
- if (newV) {
- this.getFormTemplate();
- }
- },
- },
-};
-</script>
-
-<style lang="scss" scoped>
-.key_attr_icon {
- font-size: 24px;
- position: relative;
- top: 2px;
- color: red;
-}
-</style>
+<template>
+ <el-dialog
+ :visible.sync="dialogVisible"
+ v-dialogDrag
+ top="0vh"
+ title="鎻愮ず"
+ class="avue-dialog avue-dialog--top"
+ :width="dialogOptions.width"
+ append-to-body
+ >
+ <avue-form :option="option" v-loading="loading" ref="form">
+ <template :slot="item.prop + 'Label'" v-for="item in option.column">
+ <div>
+ <span>{{ item.label }}</span>
+ <el-tooltip
+ v-if="item.keyAttr"
+ class="item"
+ effect="dark"
+ content="鍏抽敭灞炴��"
+ placement="top-start"
+ >
+ <i class="el-icon-star-on key_attr_icon"></i>
+ </el-tooltip>
+ </div>
+ </template>
+ </avue-form>
+ <div class="avue-dialog__footer">
+ <el-button @click="close()">鍙� 娑�</el-button>
+ <el-button @click="close()" type="primary">纭� 瀹�</el-button>
+ </div>
+ </el-dialog>
+</template>
+
+<script>
+import { getFormTemplate } from "../../api/common";
+export default {
+ name: "FormTemplate",
+ props: {
+ visible: {
+ type: Boolean,
+ default: false,
+ },
+ },
+ data() {
+ return {
+ loading: false,
+ dialogOptions: {
+ width: "60%",
+ },
+ option: {
+ emptyBtn: false,
+ submitBtn: false,
+ labelWidth: "120",
+ column: [],
+ },
+ templateData: {},
+ columnType: {
+ text: "input",
+ combox: "select",
+ truefalse: "switch",
+ number: "number",
+ datetime: "datetime",
+ },
+ testItems: [
+ {
+ comboxKey: null,
+ customClass: null,
+ data: null,
+ dateFormate: "",
+ defaultValue: "",
+ displayExtension: null,
+ extendAttrMap: null,
+ extendAttrString: null,
+ field: "id",
+ hidden: true,
+ keyAttr: false,
+ prefix: "",
+ readOnly: false,
+ referConfig: null,
+ required: false,
+ selectLibFlag: "",
+ showField: null,
+ suffix: "",
+ text: "浠e彿",
+ tooltips: "",
+ type: "text",
+ unique: false,
+ verify: "",
+ },
+ {
+ comboxKey: "wupin${lcstatus}",
+ customClass: null,
+ data: null,
+ dateFormate: "",
+ defaultValue: "",
+ displayExtension: null,
+ extendAttrMap: null,
+ extendAttrString: null,
+ field: "lcstatus",
+ hidden: false,
+ keyAttr: false,
+ prefix: "",
+ readOnly: false,
+ referConfig: null,
+ required: false,
+ selectLibFlag: "",
+ showField: null,
+ suffix: "",
+ text: "鐘舵��",
+ tooltips: "",
+ type: "combox",
+ unique: false,
+ verify: "",
+ },
+ {
+ comboxKey: null,
+ customClass: null,
+ data: null,
+ dateFormate: "",
+ defaultValue: "",
+ displayExtension: null,
+ extendAttrMap: null,
+ extendAttrString: null,
+ field: "oldcode",
+ hidden: false,
+ keyAttr: false,
+ prefix: "el-icon-search",
+ readOnly: false,
+ referConfig: null,
+ required: false,
+ selectLibFlag: "",
+ showField: null,
+ suffix: "鏂囨湰鍚庣紑娴嬭瘯",
+ text: "鍓嶅悗缂�",
+ tooltips: "",
+ type: "text",
+ unique: false,
+ verify: "",
+ },
+ {
+ comboxKey: null,
+ customClass: null,
+ data: null,
+ dateFormate: "",
+ defaultValue: "",
+ displayExtension: null,
+ extendAttrMap: null,
+ extendAttrString: null,
+ field: "materialname",
+ hidden: false,
+ keyAttr: false,
+ prefix: "",
+ readOnly: false,
+ referConfig: null,
+ required: true,
+ selectLibFlag: "",
+ showField: null,
+ suffix: "",
+ text: "姝e垯鏍¢獙",
+ tooltips: "璇疯緭鍏ユ暟瀛�",
+ type: "text",
+ unique: false,
+ verify: "/[0-9]/",
+ },
+ {
+ comboxKey: "materialclassify_data",
+ customClass: null,
+ data: [
+ {
+ attributes: {},
+ key: "model_type",
+ value: "妯″瀷",
+ },
+ {
+ attributes: {},
+ key: "part_type",
+ value: "闆朵欢",
+ },
+ ],
+ dateFormate: "",
+ defaultValue: "",
+ displayExtension: null,
+ extendAttrMap: null,
+ extendAttrString: null,
+ field: "materialclassify",
+ hidden: false,
+ keyAttr: false,
+ prefix: "",
+ readOnly: false,
+ referConfig: null,
+ required: false,
+ selectLibFlag: "",
+ showField: null,
+ suffix: "",
+ text: "鐗╂枡鍒嗙被",
+ tooltips: "",
+ type: "combox",
+ unique: false,
+ verify: "",
+ },
+ {
+ comboxKey: null,
+ customClass: null,
+ data: null,
+ dateFormate: "",
+ defaultValue: "",
+ displayExtension: null,
+ extendAttrMap: null,
+ extendAttrString: null,
+ field: "firstfl",
+ hidden: false,
+ keyAttr: false,
+ prefix: "",
+ readOnly: false,
+ referConfig: null,
+ required: false,
+ selectLibFlag: "",
+ showField: null,
+ suffix: "",
+ text: "鏁板瓧杈撳叆妗�",
+ tooltips: "",
+ type: "number",
+ unique: false,
+ verify: "",
+ },
+ {
+ comboxKey: null,
+ customClass: null,
+ data: null,
+ dateFormate: "yyyy-MM-dd HH:mm:ss",
+ defaultValue: "",
+ displayExtension: null,
+ extendAttrMap: null,
+ extendAttrString: null,
+ field: "secondfl",
+ hidden: false,
+ keyAttr: false,
+ prefix: "",
+ readOnly: false,
+ referConfig: null,
+ required: false,
+ selectLibFlag: "",
+ showField: null,
+ suffix: "",
+ text: "鏃堕棿閫夋嫨鍣�",
+ tooltips: "",
+ type: "datetime",
+ unique: false,
+ verify: "",
+ },
+ {
+ comboxKey: null,
+ customClass: null,
+ data: null,
+ dateFormate: "",
+ defaultValue: "",
+ displayExtension: null,
+ extendAttrMap: null,
+ extendAttrString: null,
+ field: "thrifl",
+ hidden: false,
+ keyAttr: true,
+ prefix: "",
+ readOnly: false,
+ referConfig: null,
+ required: false,
+ selectLibFlag: "",
+ showField: null,
+ suffix: "",
+ text: "鍏抽敭灞炴��",
+ tooltips: "",
+ type: "text",
+ unique: false,
+ verify: "",
+ },
+ {
+ comboxKey: null,
+ customClass: null,
+ data: null,
+ dateFormate: "",
+ defaultValue: "false",
+ displayExtension: null,
+ extendAttrMap: null,
+ extendAttrString: null,
+ field: "xiaoshouwl",
+ hidden: false,
+ keyAttr: false,
+ prefix: "",
+ readOnly: false,
+ referConfig: null,
+ required: false,
+ selectLibFlag: "",
+ showField: null,
+ suffix: "",
+ text: "閿�鍞墿鏂�",
+ tooltips: "",
+ type: "truefalse",
+ unique: false,
+ verify: "",
+ },
+ {
+ comboxKey: null,
+ customClass: null,
+ data: null,
+ dateFormate: "",
+ defaultValue: "",
+ displayExtension: null,
+ extendAttrMap: null,
+ extendAttrString: null,
+ field: "tuhao",
+ hidden: false,
+ keyAttr: false,
+ prefix: "",
+ readOnly: false,
+ referConfig: null,
+ required: false,
+ selectLibFlag: "",
+ showField: null,
+ suffix: "",
+ text: "鍥惧彿",
+ tooltips: "鎻愮ず",
+ type: "text",
+ unique: false,
+ verify: "",
+ },
+ {
+ comboxKey: null,
+ customClass: null,
+ data: null,
+ dateFormate: "",
+ defaultValue: "",
+ displayExtension: null,
+ extendAttrMap: null,
+ extendAttrString: null,
+ field: "xinghaoguige",
+ hidden: false,
+ keyAttr: false,
+ prefix: "",
+ readOnly: false,
+ referConfig: null,
+ required: false,
+ selectLibFlag: "",
+ showField: null,
+ suffix: "",
+ text: "瑙勬牸鍨嬪彿锛圕APP锛�",
+ tooltips: "",
+ type: "text",
+ unique: false,
+ verify: "",
+ },
+ {
+ comboxKey: null,
+ customClass: null,
+ data: null,
+ dateFormate: "",
+ defaultValue: "",
+ displayExtension: null,
+ extendAttrMap: null,
+ extendAttrString: null,
+ field: "jiliangdw",
+ hidden: false,
+ keyAttr: false,
+ prefix: "",
+ readOnly: false,
+ referConfig: {
+ backPath: "",
+ displayTable: null,
+ height: null,
+ initSort: null,
+ loadType: "all",
+ mapFields: "",
+ method: "GET",
+ muti: false,
+ onlyLeaf: false,
+ paramForFormKey: "",
+ parentFieldName: null,
+ parentUsedField: null,
+ parentValue: null,
+ referContent: null,
+ referType: "appendix",
+ remoteSort: false,
+ tableConfig: {
+ cols: [
+ {
+ align: "left",
+ colspan: 1,
+ comboxKey: null,
+ data: [],
+ dateFormate: null,
+ edit: null,
+ editConfig: null,
+ event: null,
+ field: "id",
+ fieldType: "text",
+ fixed: null,
+ hidden: false,
+ minWidth: null,
+ optionButtons: null,
+ optionField: false,
+ optionJsMap: null,
+ queryField: null,
+ referConfig: null,
+ rowspan: 1,
+ showField: null,
+ sort: true,
+ sortField: "id",
+ style: null,
+ templet: null,
+ title: "缂栧彿",
+ unresize: false,
+ width: 150,
+ },
+ {
+ align: "left",
+ colspan: 1,
+ comboxKey: null,
+ data: [],
+ dateFormate: null,
+ edit: null,
+ editConfig: null,
+ event: null,
+ field: "name",
+ fieldType: "text",
+ fixed: null,
+ hidden: false,
+ minWidth: null,
+ optionButtons: null,
+ optionField: false,
+ optionJsMap: null,
+ queryField: null,
+ referConfig: null,
+ rowspan: 1,
+ showField: null,
+ sort: true,
+ sortField: "name",
+ style: null,
+ templet: null,
+ title: "鍚嶇О",
+ unresize: false,
+ width: 180,
+ },
+ ],
+ oid: null,
+ page: {
+ limit: 15,
+ page: 1,
+ },
+ queryColumns: [
+ {
+ align: "left",
+ colspan: 1,
+ comboxKey: null,
+ data: [],
+ dateFormate: null,
+ edit: null,
+ editConfig: null,
+ event: null,
+ field: "id",
+ fieldType: "text",
+ fixed: null,
+ hidden: false,
+ minWidth: null,
+ optionButtons: null,
+ optionField: false,
+ optionJsMap: null,
+ queryField: null,
+ referConfig: null,
+ rowspan: 1,
+ showField: null,
+ sort: true,
+ sortField: "id",
+ style: null,
+ templet: null,
+ title: "缂栧彿",
+ unresize: false,
+ width: 150,
+ },
+ {
+ align: "left",
+ colspan: 1,
+ comboxKey: null,
+ data: [],
+ dateFormate: null,
+ edit: null,
+ editConfig: null,
+ event: null,
+ field: "name",
+ fieldType: "text",
+ fixed: null,
+ hidden: false,
+ minWidth: null,
+ optionButtons: null,
+ optionField: false,
+ optionJsMap: null,
+ queryField: null,
+ referConfig: null,
+ rowspan: 1,
+ showField: null,
+ sort: true,
+ sortField: "name",
+ style: null,
+ templet: null,
+ title: "鍚嶇О",
+ unresize: false,
+ width: 180,
+ },
+ ],
+ },
+ textField: "name",
+ type: "default",
+ url: "",
+ useFormKey: "",
+ valueField: "oid",
+ where: {
+ materialname: "璁¢噺鍗曚綅",
+ },
+ },
+ required: false,
+ selectLibFlag: "",
+ showField: "jiliangdwname",
+ suffix: "",
+ text: "璁¢噺鍗曚綅",
+ tooltips: "",
+ type: "refer",
+ unique: false,
+ verify: "",
+ },
+ {
+ comboxKey: null,
+ customClass: null,
+ data: null,
+ dateFormate: "",
+ defaultValue: "",
+ displayExtension: null,
+ extendAttrMap: null,
+ extendAttrString: null,
+ field: "chukufangshi",
+ hidden: false,
+ keyAttr: false,
+ prefix: "",
+ readOnly: false,
+ referConfig: null,
+ required: false,
+ selectLibFlag: "",
+ showField: null,
+ suffix: "",
+ text: "鍑哄簱鏂瑰紡",
+ tooltips: "",
+ type: "text",
+ unique: false,
+ verify: "",
+ },
+ {
+ comboxKey: null,
+ customClass: null,
+ data: null,
+ dateFormate: "",
+ defaultValue: "",
+ displayExtension: null,
+ extendAttrMap: null,
+ extendAttrString: null,
+ field: "beizhushuoming",
+ hidden: false,
+ keyAttr: false,
+ prefix: "",
+ readOnly: false,
+ referConfig: null,
+ required: false,
+ selectLibFlag: "",
+ showField: null,
+ suffix: "",
+ text: "澶囨敞璇存槑",
+ tooltips: "",
+ type: "text",
+ unique: false,
+ verify: "",
+ },
+ {
+ comboxKey: null,
+ customClass: null,
+ data: null,
+ dateFormate: "",
+ defaultValue: "",
+ displayExtension: null,
+ extendAttrMap: null,
+ extendAttrString: null,
+ field: "hesuanfenlei",
+ hidden: false,
+ keyAttr: false,
+ prefix: "",
+ readOnly: false,
+ referConfig: {
+ backPath: "",
+ displayTable: null,
+ height: null,
+ initSort: null,
+ loadType: "all",
+ mapFields: "",
+ method: "GET",
+ muti: false,
+ onlyLeaf: false,
+ paramForFormKey: "",
+ parentFieldName: "PARENTCODECLASSIFYOID",
+ parentUsedField: "oid",
+ parentValue:
+ "\\IN(SELECT oid from PLATFORMBTM_CODECLASSIFY where id ='hesuanfenlei')",
+ referContent: null,
+ referType: "codeclassify",
+ remoteSort: false,
+ tableConfig: null,
+ textField: "name",
+ type: "tree",
+ url: "",
+ useFormKey: "",
+ valueField: "oid",
+ where: null,
+ },
+ required: false,
+ selectLibFlag: "",
+ showField: "hesuanfenleiname",
+ suffix: "",
+ text: "鏍哥畻鍒嗙被",
+ tooltips: "",
+ type: "refer",
+ unique: false,
+ verify: "",
+ },
+ {
+ comboxKey: "Eummaterialtype",
+ customClass: null,
+ data: null,
+ dateFormate: "",
+ defaultValue: "1001",
+ displayExtension: null,
+ extendAttrMap: null,
+ extendAttrString: null,
+ field: "materialtype",
+ hidden: false,
+ keyAttr: false,
+ prefix: "",
+ readOnly: false,
+ referConfig: null,
+ required: false,
+ selectLibFlag: "",
+ showField: null,
+ suffix: "",
+ text: "鐗╂枡绫诲瀷",
+ tooltips: "",
+ type: "combox",
+ unique: false,
+ verify: "",
+ },
+ {
+ comboxKey: "myDataSecret",
+ customClass: null,
+ data: null,
+ dateFormate: "",
+ defaultValue: "",
+ displayExtension: null,
+ extendAttrMap: null,
+ extendAttrString: null,
+ field: "secretgrade",
+ hidden: false,
+ keyAttr: false,
+ prefix: "",
+ readOnly: false,
+ referConfig: null,
+ required: false,
+ selectLibFlag: "",
+ showField: null,
+ suffix: "",
+ text: "secretGrade",
+ tooltips: "",
+ type: "combox",
+ unique: false,
+ verify: "",
+ },
+ ],
+ };
+ },
+ created() {
+ this.preOrSufFixShow();
+ },
+ computed: {
+ dialogVisible: {
+ get() {
+ return this.visible;
+ },
+ set(val) {
+ this.$emit("update:visible", val);
+ },
+ },
+ },
+ methods: {
+ getFormTemplate() {
+ this.loading = true;
+ getFormTemplate({
+ templateOid: "78B8C7C5-A042-0B96-FE6D-65421451782A",
+ codeClassifyOid: "4524E801-6CC6-92E8-1AC3-2AB9604E8F96",
+ page: 1,
+ limit: 30,
+ })
+ .then((res) => {
+ if (res.status === 200) {
+ this.templateData = res.data;
+ this.templateRender();
+ }
+ this.loading = false;
+ console.log(res.data);
+ })
+ .catch((err) => {
+ this.loading = false;
+ console.log(err);
+ });
+ },
+ templateRender() {
+ const items = this.testItems;
+ // const items = this.templateData.formDefineVO.items;
+ items.forEach((item) => {
+ // 闅愯棌琛ㄥ崟鍏冪礌
+ if (item.hide) {
+ return;
+ }
+ // if (item.field === 'id' || item.field === 'lcstatus') {
+ // item.readOnly = true
+ // }
+ // 璁剧疆琛ㄥ崟鏍¢獙鐨勮鍒欙紝鏂囨湰
+ let message = "璇烽�夋嫨";
+ let trigger = "change";
+ if (item.type === "text") {
+ message = "璇疯緭鍏�";
+ trigger = "blur";
+ } else if (item.type === "file") {
+ message = "璇蜂笂浼�";
+ }
+ let columnItem = {
+ label: item.text,
+ labelslot: true,
+ prop: item.field,
+ type: this.columnType[item.type],
+ dicData: this.getDictData(item.type, item.dicData),
+ disabled: item.readOnly,
+ prepend: this.preOrSufFixShow("text", item.prefix),
+ append: this.preOrSufFixShow("text", item.suffix),
+ prefixIcon: this.preOrSufFixShow("icon", item.prefix),
+ suffixIcon: this.preOrSufFixShow("icon", item.suffix),
+ valueFormat: item.dateFormate,
+ format: item.dateFormate,
+ keyAttr: item.keyAttr,
+ value: 1,
+ rules: [
+ {
+ required: item.required,
+ message: `璇�${message}${item.text}`,
+ trigger,
+ },
+ {
+ pattern: item.verify,
+ message: item.tooltips,
+ trigger,
+ },
+ ],
+ props: {
+ label: "value",
+ value: "key",
+ },
+ };
+ console.log(this.$refs.form, "form");
+ this.option.column.push(columnItem);
+ });
+ },
+ close() {
+ this.dialogVisible = false;
+ },
+ // 鍓嶅悗缂�
+ preOrSufFixShow(type, val) {
+ if (this.$utilFunc.isEmpty(val) && typeof val !== "string") return;
+ const isIcon = val.slice(0, 8) === "el-icon-";
+ if ((type === "text" && !isIcon) || (type === "icon" && isIcon)) {
+ return val;
+ }
+ },
+ // 鑾峰彇瀛楀吀鏁版嵁
+ getDictData(type, dicData) {
+ if (type === "truefalse") {
+ return [
+ {
+ value: "鍚�",
+ key: 0,
+ },
+ {
+ value: "鏄�",
+ key: 1,
+ },
+ ];
+ } else if (type === "combox") {
+ return dicData;
+ }
+ return [];
+ },
+ },
+ watch: {
+ visible(newV) {
+ if (newV) {
+ this.getFormTemplate();
+ }
+ },
+ },
+};
+</script>
+
+<style lang="scss" scoped>
+.key_attr_icon {
+ font-size: 24px;
+ position: relative;
+ top: 2px;
+ color: red;
+}
+</style>
diff --git a/Source/UBCS-WEB/vue.config.js b/Source/UBCS-WEB/vue.config.js
index 1a23368..3b94341 100644
--- a/Source/UBCS-WEB/vue.config.js
+++ b/Source/UBCS-WEB/vue.config.js
@@ -28,7 +28,8 @@
//鏈湴鏈嶅姟鎺ュ彛鍦板潃
// target: 'http://localhost:37000',
//target: 'http://192.168.3.7:37000',
- target: 'http://dev.vci-tech.com:37000',
+ // target: 'http://dev.vci-tech.com:37000',
+ target: 'http://192.168.1.51:37000/',
//杩滅▼婕旂ず鏈嶅姟鍦板潃,鍙敤浜庣洿鎺ュ惎鍔ㄩ」鐩�
// target: 'https://saber.bladex.vip/api',
ws: true,
--
Gitblit v1.9.3