From 7bacb4be65407d9f8a6bdcd44b4192aa32de91a1 Mon Sep 17 00:00:00 2001 From: ludc Date: 星期四, 20 七月 2023 10:06:22 +0800 Subject: [PATCH] 提交代码 --- Source/UBCS-WEB/src/components/code-dialog-page/referConfigDialog.vue | 699 +++++++-------------------------------------------------- 1 files changed, 89 insertions(+), 610 deletions(-) diff --git a/Source/UBCS-WEB/src/components/code-dialog-page/referConfigDialog.vue b/Source/UBCS-WEB/src/components/code-dialog-page/referConfigDialog.vue index 38708a5..bbbb00e 100644 --- a/Source/UBCS-WEB/src/components/code-dialog-page/referConfigDialog.vue +++ b/Source/UBCS-WEB/src/components/code-dialog-page/referConfigDialog.vue @@ -1,618 +1,97 @@ <template> - <!-- 绗簩灞傚璇濇,灞炴�х爜娈碉紝鍏紡缂栬緫妗嗗脊绐� --> - <el-dialog - title="鍙傜収閰嶇疆" - append-to-body - :visible.sync="isShowReferConfig" - width="90%" - @close="recoveryDataAndForm('initData')" - style="height: 110vh; margin-top: -13vh; overflow-y: hidden"> - <div style="width: 100%; overflow-y: auto; height: 70vh"> - <el-row> - <avue-form :option="formOption" v-model="form"></avue-form> - </el-row> - <el-row v-show="form.referWindowType==0 || form.referWindowType==3"> - <avue-crud - ref="crudAttr" - :option="attrOption" - :data="attrData"> - <!-- 琛ㄦ牸鍐呮搷浣滄寜閽� --> - <template slot="menu" slot-scope="scope"> - <el-button type="text" - size="small" - icon="el-icon-search" - plain - @click="scope.row.isquery=!scope.row.isquery"> - {{scope.row.isquery ? "蹇�熸煡璇�":"鍙栨秷蹇�熸煡璇�"}} - </el-button> - <el-button type="text" - size="small" - icon="el-icon-minus" - plain - @click="removeCurrentRow(scope.row,'removeAttr')">绉婚櫎 - </el-button> - </template> - <!-- 琛ㄦ牸宸︿笂鏂规寜閽尯鍩� --> - <template slot="menuLeft" slot-scope="scope"> - <el-button type="primary" - size="small" - icon="el-icon-plus" - @click="openAddSearchOrAttrDialog('selectAttr')">閫夋嫨灞炴�� - </el-button> - </template> - </avue-crud> - </el-row> - <el-row> - <avue-crud - ref="crudAddCondition" - :option="addSearchCondtionOption" - :data="addSearchCondtionData"> - <!-- 琛ㄦ牸鍐呮搷浣滄寜閽� --> - <template slot="menu" slot-scope="scope"> - <el-button type="text" - size="small" - icon="el-icon-minus" - plain - @click="removeCurrentRow(scope.row,'removeaddSearchCondtion')">绉婚櫎 - </el-button> - </template> - <!-- 琛ㄦ牸宸︿笂鏂规寜閽尯鍩� --> - <template slot="menuLeft" slot-scope="scope"> - <el-button type="primary" - size="small" - icon="el-icon-plus" - @click="openAddSearchOrAttrDialog('addSearchCondition')"> - 娣诲姞鏌ヨ鏉′欢 - </el-button> - </template> - </avue-crud> - </el-row> - </div> - <div slot="footer" class="dialog-footer"> - <el-button type="primary" @click="selectedListReferConfig">纭� 瀹�</el-button> - <el-button @click="recoveryDataAndForm('initForm')">娓呯┖鍐呭</el-button> - <el-button @click="isShowReferConfig = false">鍙� 娑�</el-button> - </div> - </el-dialog> - + <div v-if="display"> + <!-- 绗簩灞傚璇濇,鑷畾涔夊弬鐓ч厤缃瓼orm缁勪欢 --> + <refer-config-form-dialog + ref="referConfigFormDialog" + @echoReferConfig="echoReferConfig"> + </refer-config-form-dialog> + <!-- 绗簩灞傚璇濇,鐩存帴閫夋嫨鍙傜収閰嶇疆crud缁勪欢 --> + <refer-config-crud-dialog + ref="referConfigCrudDialog" + @openReconfigInterFace="openReconfigInterFace" + @echoReferConfig="echoReferConfig"> + </refer-config-crud-dialog> + </div> </template> - + <script> - export default { - name: "referConfigDialog", - props: { - //鏈満鏅彉閲� - thisSceneTableData: { - type: Array, - }, - }, - data() { - return { - labelWidth: '150', // 鏍囬瀹藉害 - isShowReferConfig: false, // 瀵硅瘽妗嗘樉绀洪殣钘忔帶鍒� - // 琛ㄥ崟瀵硅薄 - form: { - text: '', - text1: '', - text2: '', - referWindowType: 0, //鍙傜収绐楀彛绫诲瀷 - }, - attrData: [ - { - field: 'id', - title: '缂栧彿', - fieldType: 'text', - fieldTypeText: '鏂囨湰妗�', - sort: "true", - sortField: 'id', - width: '150', - isquery: true, - },{ - field: 'name', - title: '鍚嶇О', - fieldType: 'text', - fieldTypeText: '鏂囨湰妗�', - sort: "true", - sortField: 'name', - width: '180', - isquery: true, - } - ], - attrOption: { - height:'150', - tip: false, - addBtn: false, - editBtn: false, - searchShow: false, - searchMenuSpan: 6, - border: false, - index: true, - viewBtn: false, - delBtn: false, - selection: false, - disablePage: false, - refreshBtn: false, - columnBtn: false, - dialogClickModal: false, - highlightCurrentRow: true, - column: [ - { - label: "鍒楀瓧娈�(*)", - prop: "field", - },{ - label: "鍒楀悕(*)", - prop: "title", - },{ - label: "瀛楁绫诲瀷(*)", - prop: "fieldTypeText", - },{ - label: "鍒楄〃鍙帓搴�", - prop: "sort", - },{ - label: "鎺掑簭瀛楁", - prop: "sortField", - },{ - label: "瀛楁瀹藉害", - prop: "width", - },{ - label: "鍒楀浐瀹氫綅缃�", - prop: "fixedText", - },{ - label: "js鏄剧ず浠g爜", - prop: "templet", - }, - ] - }, - addSearchCondtionData: [ - { - id: 'test', - cate: 'test', - value: 1 - },{ - id: 'test1', - cate: 'test1', - value: 2 - },{ - id: 'test2', - cate: 'test2', - value: 3 - },{ - id: 'test4', - cate: 'test4', - value: 4 - } - ], - addSearchCondtionOption: { - height:'150', - tip: false, - addBtn: false, - editBtn: false, - searchShow: false, - searchMenuSpan: 6, - border: false, - index: true, - viewBtn: false, - delBtn: false, - selection: false, - disablePage: false, - refreshBtn: false, - columnBtn: false, - dialogClickModal: false, - highlightCurrentRow: true, - column: [ - { - label: "绛涢�夊瓧娈�", - prop: "id", - },{ - label: "绛涢�夌被鍨�", - prop: "cate", - },{ - label: "绛涢�夊��", - prop: "value", - } - ] - } - }; - }, - // 琛ㄥ崟鐣岄潰鏄剧ず鍐呭閰嶇疆 - computed: { - formOption() { - return { - submitBtn: false, - emptyBtn: false, - labelWidth: '145', //榛樿鏍囩瀹藉害 - // 鍩虹琛ㄥ崟淇℃伅灞曠ず鍖哄煙 - column: [ - { - label: '鍙傜収鐨勪笟鍔$被鍨�', - prop: 'text1', - span: 7, - type: 'table', - children: { - border: true, - column: [{ - label: '涓氬姟绫诲瀷缂栧彿', - width: 120, - search: true, - searchSpan: 8, - searchLabelWidth: 100, - prop: 'id' - },{ - label: '涓氬姟绫诲瀷鍚嶇О', - search: true, - searchSpan: 8, - searchLabelWidth: 100, - prop: 'name' - },{ - label: '鎻忚堪', - search: false, - prop: 'description' - }], - }, - rules: [{ - required: true, - message: "(鍙傜収鐨勪笟鍔$被鍨�)蹇呭~椤逛笉鑳戒负绌�", - trigger: "blur", - }], - },{ - label: '鏄剧ず鐨勫睘鎬�', - prop: 'text2', - tip: '閫夋嫨鏁版嵁鍚庯紝鏄剧ず鍒板瓧娈典笂鐨勪俊鎭墍灞炵殑灞炴�э紝涓�鑸兘鏄痭ame,濡傛灉鏄涓睘鎬т娇鐢ㄩ�楀彿鍒嗗壊锛屽id,name', - tipPlacement: 'right', - span: 7, - rules: [{ - required: true, - message: "(鏄剧ず鐨勫睘鎬�)蹇呭~椤逛笉鑳戒负绌�", - trigger: "blur", - }], - },{ - label: '瀛樺偍鍊肩殑灞炴��', - prop: 'text2', - tip: '閫夋嫨鏁版嵁鍚庯紝淇濆瓨鍒版暟鎹簱閲岀殑灞炴�э紝涓�鑸兘鏄痮id鎴栬�卛d锛屽鏋滄槸澶氫釜灞炴�т娇鐢ㄩ�楀彿鍒嗗壊锛屽oid ,id', - tipPlacement: 'right', - span: 7, - rules: [{ - required: true, - message: "(瀛樺偍鍊肩殑灞炴��)蹇呭~椤逛笉鑳戒负绌�", - trigger: "blur", - }], - },{ - label: '鍙傜収绐楀彛绫诲瀷', - prop: 'referWindowType', - //tip: '鎴戞槸涓�涓乏杈规彁绀鸿', - //tipPlacement: 'left', - span: 7, - type: 'select', - dicData: [{ - label: '榛樿鏍峰紡', - value: 0 - }, { - label: '骞冲彴閰嶇疆', - value: 1 - }, { - label: '鏍戝舰', - value: 2 - }, { - label: '鍒楄〃', - value: 3 - }, { - label: '閮ㄩ棬鏍�', - value: 4 - }, { - label: '閮ㄩ棬鍒楄〃', - value: 5 - }, { - label: '鐢ㄦ埛', - value: 6 - }, { - label: '鐢ㄦ埛鍒楄〃', - value: 7 - }, { - label: '瑙掕壊鍒楄〃', - value: 8 - }, { - label: '鑱屽姟', - value: 9 - }, { - label: '宸ョ', - value: 10 - }, { - label: '娴佺▼妯℃澘', - value: 11 - }], - rules: [{ - required: true, - message: "(鍙傜収绐楀彛绫诲瀷)蹇呭~椤逛笉鑳戒负绌�", - trigger: "blur", - }], - },{ - label: '鑷畾涔夌殑鍚庡彴璺緞', - prop: 'text2', - tip: '閫氬父涓虹┖;濡傛灉鏄垪琛紝鍚庡彴蹇呴』杩斿洖DataGrid锛屽鏋滄槸鏍戯紝鍚庡彴蹇呴』杩斿洖List', - tipPlacement: 'right', - span: 7, - },{ - label: '鏈嶅姟鐨勫湴鍧�', - prop: 'text2', - tip: '閫氬父涓虹┖锛屽湪鏀寔寰湇鍔℃垨鑰呭垎甯冨紡閮ㄧ讲鐨勬椂鍊欐墠閰嶇疆', - tipPlacement: 'right', - span: 7, - },{ - label: '璇锋眰鍚庡彴鐨勫崗璁柟寮�', - prop: 'text2', - //tip: '', - //tipPlacement: 'right', - span: 7, - type: 'select', - },{ - label: '绐楀彛鏄剧ず鐨勯珮搴�', - prop: 'text2', - tip: '榛樿绌虹潃锛岃缃悗琛ㄧず寮哄埗鏄剧ず杩欐牱鐨勯珮搴�', - tipPlacement: 'right', - span: 7, - },{ - label: '杩囨护(绾ц仈)灞炴��', - prop: 'text2', - tip: '鑾峰彇琛ㄥ崟涓婄殑鍏朵粬灞炴�х殑灞炴�х殑鍊兼潵杩囨护,鎴栬�呬娇鐢ㄦ煇涓睘鎬ф潵绾ц仈閫夋嫨', - tipPlacement: 'right', - span: 7, - },{ - label: '杩囨护灞炴�ц姹傚弬鏁�', - prop: 'text2', - tip: '浣跨敤杩囨护灞炴�ф椂锛屽彂閫佺粰鍚庡彴鐨勮姹傚弬鏁�', - tipPlacement: 'right', - span: 7, - },{ - label: '鏄惁澶氶��', - type: 'switch', - prop: 'text2', - //tip: '', - //tipPlacement: 'right', - span: 7, - row: true, - },{ - label: '鏄犲皠鍏朵粬灞炴��', - prop: 'text2', - tip: '閫夋嫨鏁版嵁鍚庯紝灏嗛�夋嫨鐨勬暟鎹嫹璐濆埌琛ㄥ崟閲岀殑鍏朵粬灞炴�э紝涔﹀啓鏍煎紡涓簕褰撳墠琛ㄥ崟涓婄殑灞炴��:閫夋嫨鏁版嵁閲岀殑灞炴��,XXXXx:yyyy}', - tipPlacement: 'right', - span: 18, - } - ], - // 鍙樺姩鐨勮〃鍗曞尯鍩� - group: [ - { - display: this.form.referWindowType==0||this.form.referWindowType==3, - icon: 'el-icon-info', - label: this.form.referWindowType==0 ? '榛樿鍙傜収鐨勯厤缃�(涓嬫柟鍒楄〃)':'鍒楄〃鍙傜収鐨勯厤缃紙涓嬫柟鍒楄〃)', - collapse: true, - prop: 'group1', - column: [ - { - label: '姣忛〉鏄剧ず鏉℃暟', - prop: 'text1', - span: 7, - tip: '鍒嗛〉鏃舵瘡椤垫樉绀虹殑鏁伴噺锛屼笉鍒嗛〉濉�-1', - tipPlacement: 'right', - },{ - label: '鎺掑簭瀛楁', - prop: 'text1', - span: 7, - type: 'table', - children: { - border: true, - column: [{ - label: '灞炴�ц嫳鏂囩紪鍙�', - width: 120, - search: true, - searchSpan: 8, - searchLabelWidth: 100, - prop: 'id' - },{ - label: '灞炴�т腑鏂囧悕绉�', - search: true, - searchSpan: 8, - searchLabelWidth: 100, - prop: 'name' - },{ - label: '灞炴�ч暱搴�', - search: false, - prop: 'attrLength' - },{ - label: '灞炴�х被鍨�', - search: false, - prop: 'attrType' - }], - }, - },{ - label: '鎺掑簭绫诲瀷', - prop: 'text1', - span: 7, - type: 'select', - tip: '鏌ヨ鏁版嵁鏃剁殑鎺掑簭绫诲瀷', - tipPlacement: 'right', - } - ] - }, - { - display: this.form.referWindowType==1, - icon: 'el-icon-info', - label: 'stand(骞冲彴閰嶇疆)鍙傜収', - collapse: true, - prop: 'group2', - column: [ - { - label: '鍙傝�冪殑UI涓婁笅鏂�', - prop: 'text1', - span: 7, - tip: '鍙湁鍙傜収绐楀彛绫诲瀷鏄痵tand鏃舵墠蹇呴』璁剧疆,涓斿湪stand绫诲瀷涓嬫墠鑳界敓鏁�', - tipPlacement: 'right', - }, - { - label: '骞冲彴鐨勮〃鏍肩紪鍙�', - prop: 'text1', - span: 7, - tip: '涓庡弬鐓х殑UI涓婁笅鏂囦簰鏂ワ紝鍙湁鍙傜収绐楀彛绫诲瀷鏄痵tand鏃舵墠蹇呴』璁剧疆锛屼笖鍦╯tand绫诲瀷涓嬫墠鑳界敓鏁�', - tipPlacement: 'right', - type: 'table', - children: { - border: true, - column: [{ - label: '灞炴�ц嫳鏂囩紪鍙�', - width: 120, - search: true, - searchSpan: 8, - searchLabelWidth: 100, - prop: 'id' - },{ - label: '灞炴�т腑鏂囧悕绉�', - search: true, - searchSpan: 8, - searchLabelWidth: 100, - prop: 'name' - },{ - label: '灞炴�ч暱搴�', - search: false, - prop: 'attrLength' - },{ - label: '灞炴�х被鍨�', - search: false, - prop: 'attrType' - }], - }, - }, - ] - }, - { - display: this.form.referWindowType==2, - icon: 'el-icon-info', - label: '鏍戝舰鍙傜収淇℃伅', - collapse: true, - prop: 'group3', - labelWidth: '158', - column: [ - { - label: '鏍戝舰鐨勪笂绾ф爲褰�', - prop: 'text1', - span: 7, - tip: '鏍戝舰灞曠ず鐨勬椂鍊欙紝涓婁笅绾у叧绯绘煡鎵剧殑灞炴�с��', - tipPlacement: 'right', - },{ - label: '涓婄骇灞炴�у�煎搴斿睘鎬�', - prop: 'text1', - span: 7, - tip: '涓婄骇灞炴�у瓨鍌ㄧ殑鍊�,鏄笂绾ф暟鎹殑浠�涔堝睘鎬с�備竴鑸兘鏄痮id銆�', - tipPlacement: 'right', - },{ - label: '鏍硅妭鐐圭殑鍊�', - prop: 'text1', - span: 7, - tip: '鏍戝舰灞曠ず鐨勬椂鍊欙紝涓婄骇鐨勫�笺��', - tipPlacement: 'right', - },{ - label: '鏍戝姞杞芥柟寮�', - prop: 'text1', - span: 7, - type: 'select', - },{ - label: '鏄惁鍙兘閫夋嫨鍙跺瓙鑺傜偣', - prop: 'text1', - span: 7, - type: 'switch', - },{ - label: '鎺掑簭瀛楁', - prop: 'text1', - span: 7, - type: 'table', - children: { - border: true, - column: [{ - label: '灞炴�ц嫳鏂囩紪鍙�', - width: 120, - search: true, - searchSpan: 8, - searchLabelWidth: 100, - prop: 'id' - },{ - label: '灞炴�т腑鏂囧悕绉�', - search: true, - searchSpan: 8, - searchLabelWidth: 100, - prop: 'name' - },{ - label: '灞炴�ч暱搴�', - search: false, - prop: 'attrLength' - },{ - label: '灞炴�х被鍨�', - search: false, - prop: 'attrType' - }], - }, - },{ - label: '鎺掑簭绫诲瀷', - prop: 'text1', - span: 7, - type: 'select', - }, - ] - }, - ] - } - }, - }, - methods: { - // 閫夋嫨瀹屽弬鐓ч厤缃箣鍚庣偣鍑讳繚瀛樻寜閽Е鍙� - selectedListReferConfig(){ - console.log(this.option); - console.log(this.form.referWindowType); - }, - /** 鍏跺疄閫夊彇灞炴�ц〃鏍肩殑榛樿鏁版嵁涓嶉渶瑕佸姞杞斤紝 - 浣嗘槸寮圭獥鎵撳紑浼氭湁琛ㄦ牸閿欒闂鎵�浠ラ渶瑕佸湪杩欒皟鐢╠oLayout鏂规硶*/ - onloadAttrData(){ - this.$nextTick(() => { - this.$refs.crudAttr.doLayout() - }) - }, - // 灞炴�ч�夋嫨琛ㄦ牸涓殑绉婚櫎鎸夐挳鍔熻兘 - removeCurrentRow(row,condition){ - if(condition=='removeAttr'){ - this.$delete(this.attrData, row.$index); - return; - } - this.$delete(this.addSearchCondtionData, row.$index); - }, - // 璇ョ晫闈㈢殑鏁版嵁杩涜鍒濆鍖栧鍘� - recoveryDataAndForm(condition){ - if(condition=='initForm'){ - this.form = this.$options.data().form; - return; - } - Object.assign(this.$data,this.$options.data()); - }, - // 鎵撳紑娣诲姞鏌ヨ鏉′欢瀵硅瘽妗� - openAddSearchOrAttrDialog(condition){ - if(condition=='addSearchCondition'){ - console.log('this is open addSearchCondition'); - }else { - console.log('this is open selectAttr'); - } +import referConfigFormDialog from "./referConfigFormDialog.vue"; +import referConfigCrudDialog from "./referConfigCrudDialog.vue"; +import func from "@/util/func"; +export default { + name: "referConfigDialog", + props: ["referConfigOption","display"], + components: {referConfigFormDialog, referConfigCrudDialog}, + data() { + return { + }; + }, + watch:{ + referConfigOption (){ + console.log(111) + if(func.notEmpty(this.referConfigOption.referConfig) || func.notEmpty(this.referConfigOption.referBtmId)){ + this.openReconfigInterFace(this.referConfigOption); + }else{ + this.openTipsChooseOrCust(); } - } - }; + }, + }, + methods: { + echoReferConfig(value) { + this.emitData = value; + }, + // 褰撳墠宸插瓨鍦ㄧ紪杈戣繃鐨勫弬鐓ч厤缃紝鎵�浠ョ洿鎺ユ墦寮�鍙傜収閰嶇疆鐣岄潰 + openReconfigInterFace(preReferConfigForm){ + const form = preReferConfigForm; + let data = { + referTypeName: form.referBtmName || '', + referType: form.referBtmId || '', + } + if(this.referConfigOption.referConfig){ + // 缂栬緫鐮佹鏃秗eferConfig鍙兘浼氬湪涓恒�愬弬鐓у紩鐢ㄧ殑涓氬姟绫诲瀷銆戦�夊彇鍊间箣鍚庢敼鍙� + let referConfigValue =JSON.parse(form.referConfig); + if(referConfigValue.referType != form.referBtmId && data.referType){ + referConfigValue.referType = form.referBtmId || ''; + referConfigValue.referTypeName = form.referBtmName || form.referBtmId; + this.referConfigOption.referConfig = JSON.stringify(referConfigValue); + } + this.$set(data,"referConfig",this.referConfigOption.referConfig) + } + // 棣栨鐐瑰嚮鎶ラ敊鏈畾涔� + this.$nextTick(()=>{ + this.$refs.referConfigFormDialog.isShowReferConfigForm = true; + this.$refs.referConfigFormDialog.initPageData(data); + }) + }, + // 鎵撳紑鑷畾涔夊弬鐓ч厤缃垨鐩存帴閫夋嫨鍙傜収閰嶇疆鐨勬彁绀烘 + openTipsChooseOrCust(){ + this.$confirm('璇烽�夋嫨鍙傜収閰嶇疆鐨勫畾涔夋柟寮忥紵','鍙傜収閰嶇疆鐨勬柟寮�', { + distinguishCancelAndClose: true, + closeOnClickModal: false, + confirmButtonText: '鑷畾涔夊弬鐓ч厤缃�', + cancelButtonText: '鐩存帴閫夋嫨鍙傜収閰嶇疆' + }) + .then(() => { + // 鎵撳紑鑷畾鍙傜収閰嶇疆瀵硅瘽妗� + this.$refs.referConfigFormDialog.isShowReferConfigForm = true; + }) + .catch(action => { + if (action === "cancel") { + // 鎵撳紑鐩存帴閫夋嫨鍙傜収閰嶇疆瀵硅瘽妗� + this.$refs.referConfigCrudDialog.isShowReferConfigCrud = true; + + } + }); + }, + /* 寮曠敤鐮佹鍙傜収閰嶇疆,瀛愮粍浠跺~瀹屽弬鐓ч厤缃箣鍚庡唴瀹瑰洖鏄炬椂璋冪敤 */ + echoReferConfig(content){ + this.$emit('setReferConfigValue', content) // 瑙﹀彂update:data灏嗗瓙缁勪欢鍊间紶閫掔粰鐖剁粍浠� + }, + + }, +} </script> <style> - /* 鎻愮ず鏂囨湰鍑虹幇鐨勯�熷害 */ - .el-tooltip__popper{ - width: 200px !important; - transition-duration: 0.2s !important; - transition-delay: 0.1s !important; - } - /* 鎻愮ず鏂囨湰娑堝け鏃剁殑閫熷害 */ - .fel-fade-in-linear-leave-active,.el-fade-in-linear-leave-to{ - -webkit-transition:opacity .0s !important; - transition:opacity .0s !important; - } - -</style> \ No newline at end of file +</style> -- Gitblit v1.9.3