From 7a1b2b8e10466b586dbc9cb899d04d49ad940af6 Mon Sep 17 00:00:00 2001 From: 田源 <lastanimals@163.com> Date: 星期二, 29 八月 2023 11:32:44 +0800 Subject: [PATCH] 编码规则发布bug --- Source/UBCS-WEB/src/views/code/code.vue | 3219 ++++++++++++++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 2,940 insertions(+), 279 deletions(-) diff --git a/Source/UBCS-WEB/src/views/code/code.vue b/Source/UBCS-WEB/src/views/code/code.vue index 7061014..9cd24ac 100644 --- a/Source/UBCS-WEB/src/views/code/code.vue +++ b/Source/UBCS-WEB/src/views/code/code.vue @@ -1,172 +1,1003 @@ <template> - <basic-container style="height: 350px;"> - + <basic-container class="code-total" style="height: 100%;"> <!-- 缂栫爜瑙勫垯淇℃伅灞曠ず鍖哄煙 --> - <basic-container> - <p style="margin-top: -12px; margin-bottom: 4px; font-weight: 570; font-size: 19px; color: #0e2d5f;">缂栫爜瑙勫垯</p> - <avue-crud :option="optionRule" - :table-loading="loading" - :data="data" - :page.sync="page" - :permission="permissionList" - v-model="form" - ref="crud" - :before-open="beforeOpen" - @cell-click="loadBasic" - @row-update="rowUpdate" - @row-save="rowSave" - @search-change="searchChange" - @search-reset="searchReset" - @selection-change="selectionChange" - @current-change="currentChange" - @size-change="sizeChange" - @refresh-change="refreshChange" - @on-load="onLoad"> + <basic-container class="code-rule-container"> + <p style="margin-top: -5px; margin-bottom: 4px; font-weight: 570; font-size: 19px; color: #0e2d5f;">缂栫爜瑙勫垯</p> + <avue-crud ref="crud" + v-model="ruleForm" + :before-open="beforeOpen" + :data="data" + :option="optionRule" + :page.sync="page" + :permission="permissionList" + :table-loading="loading" + class="code-rule-crud" + @row-click="codeRuleRowClick" + @row-update="rowUpdate" + @row-save="rowSave" + @search-change="searchChange" + @search-reset="searchReset" + @selection-change="selectionChange" + @current-change="currentChange" + @size-change="sizeChange" + @refresh-change="refreshChange" + @on-load="onLoad"> <!-- 琛ㄦ牸鍐呮搷浣滄寜閽� --> <template slot="menu" slot-scope="scope"> - <el-button type="text" - size="small" - icon="el-icon-edit" - v-show="scope.row.lcStatusText=='缂栬緫涓�' ? true:false" - plain - @click="openEdit(scope.row)">缂� 杈� + <el-button v-show="scope.row.lcStatus=='Editing' ? true:false" + icon="el-icon-edit" + plain + size="small" + type="text" + @click="openEdit(scope.row)">缂� 杈� </el-button> - <el-button type="text" - size="small" - icon="el-icon-position" - v-show="scope.row.lcStatusText=='缂栬緫涓�' ? true:false" - plain - @click="enableOrDeactivatse(scope.row.oid,'release')">鍙� 甯� + <el-button v-show="scope.row.lcStatus=='Editing' ? true:false" + :disabled="releadDisabled" + icon="el-icon-position" + plain + size="small" + type="text" + @click="enableOrDeactivatse(scope.row.oid,'release')">鍙� 甯� </el-button> - <el-button type="text" - size="small" - v-show="scope.row.lcStatusText=='宸插彂甯�' ? true:false" - icon="el-icon-video-pause" - plain - @click="enableOrDeactivatse(scope.row.oid,'disable')">鍋� 鐢� + <el-button v-show="scope.row.lcStatus=='Released' ? true:false" + icon="el-icon-video-pause" + plain + size="small" + type="text" + @click="enableOrDeactivatse(scope.row.oid,'disable')">鍋� 鐢� </el-button> - <el-button type="text" - size="small" - v-show="scope.row.lcStatusText=='鍋滅敤' ? true:false" - icon="el-icon-video-play" - plain - @click="enableOrDeactivatse(scope.row.oid,'enable')">鍚� 鐢� + <el-button v-show="scope.row.lcStatus=='Disabled' ? true:false" + icon="el-icon-video-play" + plain + size="small" + type="text" + @click="enableOrDeactivatse(scope.row.oid,'enable')">鍚� 鐢� </el-button> </template> - <!-- 琛ㄦ牸宸︿笂鏂规寜閽尯鍩� --> + <!-- 琛ㄦ牸涓婃柟鎸夐挳鍖哄煙 --> <template slot="menuLeft" slot-scope="scope"> - <el-button type="danger" - size="small" - icon="el-icon-delete" - plain - @click="handleDelete">鍒� 闄� + <el-button icon="el-icon-delete" + plain + size="small" + type="danger" + @click="handleDelete"> + 鍒� 闄� </el-button> - <el-button size="small" - icon="icon-kelong" - plain - @click="cloneCodeSetting">鍏� 闅� + <el-button icon="el-icon-search" + plain + size="small" + type="primary" + @click="openAdvancedQuery('codeRule')"> + 楂樼骇鏌ヨ </el-button> - <el-button size="small" - icon="icon-lianjiekelong" - style="font-size: 12px;" - plain - @click="handleDelete">浠庡叾浠栬鍒欎腑鍏嬮殕鐮佹 + <el-button + icon="icon-kelong" + plain + size="small" + @click="openCodeRuleDialog"> + 鍏� 闅� </el-button> - <el-button size="small" - icon="el-icon-s-help" - plain - @click="handleRange">浣跨敤鑼冨洿 + <el-button + icon="icon-lianjiekelong" + plain + size="small" + style="font-size: 12px;" + @click="openOtherCodeRuleDialog"> + 浠庡叾浠栬鍒欎腑鍏嬮殕鐮佹 </el-button> - <el-button size="small" - icon="icon-qingkong" - plain - @click="handleDelete">娓呯┖鐮佸�� + <el-button + icon="el-icon-s-help" + plain + size="small" + @click="handleRange"> + 浣跨敤鑼冨洿 + </el-button> + <el-button + icon="icon-qingkong" + plain + size="small" + @click="clearAllCodeSec"> + 娓呯┖鐮佸�� + </el-button> + <el-button + icon="el-icon-guide" + plain + size="small" + @click="escapeOwner"> + 杞Щ鎵�鏈夎�� + </el-button> + <el-button + icon="el-icon-guide" + plain + size="small" + @click="maxSerialNum"> + 鏈�澶ф祦姘村彿 </el-button> </template> </avue-crud> </basic-container> - <!-- 瀵硅瘽妗� --> - <el-dialog title="缂栫爜瑙勫垯浣跨敤鑼冨洿" - append-to-body - :visible.sync="codeRangeSettingBox" - width="800px"> + <!-- 楂樼骇鏌ヨ瀵硅瘽妗� --> + <advanced-query + :ref="advancedQueryParam.ref" + :options="advancedQueryParam.options" + :visible.sync="advancedQueryParam.advancedQuerySettingBox" + @echoContion="echoSeniorContionMap"> + </advanced-query> + + <!-- 缂栫爜瑙勫垯鐩稿叧瀵硅瘽妗� --> + <el-dialog :visible.sync="codeRangeSettingBox" + append-to-body + class="avue-dialog avue-dialog--top" + style="height: 100vh;" + title="缂栫爜瑙勫垯浣跨敤鑼冨洿" + top="-3%" width="800px"> <avue-crud - :option="dialogeOption" - :table-loading="dialogLoading" - :data="useRangeData" - @refresh-change="refreshUseRangeChange"></avue-crud> + :data="useRangeData" + :option="dialogeOption" + :table-loading="dialogLoading" + style="margin-top:-40px" + @refresh-change="refreshUseRangeChange"> + </avue-crud> </el-dialog> - <!-- 鍏嬮殕瀵硅瘽妗� --> - <el-dialog title="鍏嬮殕缂栫爜瑙勫垯" - append-to-body - :visible.sync="cloneSettingBox" - width="800px"> - <clone-code></clone-code> + + <!-- 缂栫爜瑙勫垯,鍏嬮殕瀵硅瘽妗� --> + <el-dialog :visible.sync="cloneSettingBox" + append-to-body + class="avue-dialog avue-dialog--top" + style="height: 100vh;" + title="鍏嬮殕缂栫爜瑙勫垯" + top="-3%" width="800px"> + <div> + <el-row> + <el-form ref="form" :inline="true" :model="form" label-width="80px"> + <el-form-item label="缂栧彿" required> + <el-input v-model="cloneCodeRuleForm.id"></el-input> + </el-form-item> + <el-form-item label="鍚嶇О" required> + <el-input v-model="cloneCodeRuleForm.name"></el-input> + </el-form-item> + <el-form-item class="clone-input-textarea" label="鎻忚堪"> + <el-input v-model="cloneCodeRuleForm.description" :autosize="{ minRows: 3, maxRows: 5}" + type="textarea"></el-input> + </el-form-item> + </el-form> + </el-row> + <el-row> + <p style="margin: 0 0px 16px 50%; font-weight: 500; font-size: 20px; color: #000;">鐮佹绠$悊</p> + <avue-crud + :data="cloneData" + :option="cloneOption" + :table-loading="cloneTableLoading" + class="clone-avue-crud" + @on-load="cloneDataOnLoad"> + <template slot="menu" slot-scope="scope"> + <el-button + v-show="scope.row.orderNum > 1" + icon="el-icon-arrow-up" + plain + size="small" + type="text" + @click="upOrderNum(scope.row)">涓婄Щ + </el-button> + <el-button + icon="el-icon-arrow-down" + plain + size="small" + type="text" + @click="downOrderNum(scope.row)">涓嬬Щ + </el-button> + </template> + </avue-crud> + </el-row> + </div> + <div slot="footer" class="dialog-footer"> + <el-button type="primary" @click="saveCloneCodeRule">淇� 瀛�</el-button> + <el-button @click="cloneSettingBox = false">鍙� 娑�</el-button> + </div> </el-dialog> + + <!-- 缂栫爜瑙勫垯,浠庡叾浠栬鍒欏厠闅嗗璇濇 --> + <el-dialog :visible.sync="cloneOtherCodeRuleSettingBox" + append-to-body + class="avue-dialog avue-dialog--top" + destroy-on-close + style="height: 100vh;" + title="鍏嬮殕缂栫爜瑙勫垯鐨勫熀纭�淇℃伅" top="-3%" + width="800px"> + <div> + <el-row> + <p style="margin-top: -20px; margin-bottom: 4px; font-weight: 570; font-size: 19px; color: #0e2d5f;">缂栫爜瑙勫垯</p> + <avue-crud + ref="crudCloneCodeRuleOther" + :data="data" + :option="cloneCodeRuleOption" + :page.sync="page" + :table-loading="loading" + class="other-clone-coderule-crud" + @row-click="codeOtherCloneRuleRowClick" + @size-change="sizeChange" + @selection-change="selectionOtherCloneCodeRuleChange" + @on-load="onLoad"> + </avue-crud> + </el-row> + <el-row style="margin-top:10px;border-top: 1px solid #EBEEF5;"> + <p style="margin-top: 10px; margin-bottom: 4px; font-weight: 570; font-size: 19px; color: #0e2d5f;">鐮佹淇℃伅</p> + <avue-crud + ref="crudCloneCodeBasicOther" + :data="basicData" + :option="cloneBasicOption" + :table-loading="loadingBasic" + class="other-clone-codebasic-crud" + @row-click="codeOtherCloneBasicRowClick" + @selection-change="selectionOtherCloneCodeBasicChange"> + </avue-crud> + </el-row> + </div> + <div slot="footer" class="dialog-footer" style="height: 50px;"> + <el-button type="primary" @click="saveOtherCodeBasic">淇� 瀛�</el-button> + <el-button @click="cloneOtherCodeRuleSettingBox = false">鍙� 娑�</el-button> + </div> + </el-dialog> + + <!-- 缂栫爜瑙勫垯,杞Щ鎵�鏈夎�呭璇濇 --> + <el-dialog + :visible.sync="escapeOwnerVisible" + append-to-body + title="杞Щ鎵�鏈夎��" + width="30%"> + <el-select v-model="ruleOwner" class="selects" placeholder="璇烽�夋嫨"> + <el-option + v-for="item in ruleAdminUserList" + :key="item.VALUE" + :label="item.LABLE" + :value="item.VALUE" + class="seloption"> + </el-option> + </el-select> + <span slot="footer" class="dialog-footer"> + <el-button @click="escapeOwnerVisible = false">鍙� 娑�</el-button> + <el-button type="primary" @click="escapeOwnerConfirm">纭� 瀹�</el-button> + </span> + </el-dialog> + + <!-- 鏈�澶ф祦姘村彿瀵硅瘽妗� --> + <max-serialnum-dialog :ruleOid="maxSerial.ruleOid" :visible.sync="maxSerial.visible"></max-serialnum-dialog> <!-- 鍩虹鐮佹灞曠ず鍖哄煙 --> - <basic-container> - <p style="margin-top: -12px; margin-bottom: 4px; font-weight: 570; font-size: 19px; color: #0e2d5f;">鐮佹绠$悊</p> - <avue-crud :option="optionBasic" - :table-loading="loadingBasic" - :data="basicData" - :permission="permissionList" - @refresh-change="refreshChange"> - </avue-crud> + <basic-container class="code-basicsec-container"> + <p style="margin-top: -5px; margin-bottom: 4px; font-weight: 570; font-size: 19px; color: #0e2d5f;">鐮佹绠$悊</p> + <avue-crud ref="crudBasic" + :data="basicData" + :option="optionBasic" + :permission="permissionList" + :table-loading="loadingBasic" + class="code-basic-crud" + @row-click="codeBasicSecRowClick" + @search-change="basicSearchChange" + @search-reset="basicSearchReset" + @selection-change="selectionBasicChange" + @refresh-change="refreshChangeBasicSec"> + + <!-- 鍩虹鐮佹琛ㄦ牸鍐呮搷浣滄寜閽� --> + <template slot="menu" slot-scope="scope"> + <el-button + v-show="currentRuleLcStatus != 'Editing'" + icon="el-icon-view" + plain + size="small" + type="text" + @click="openBasicDialog('view',scope.row)">鏌ョ湅 + </el-button> + <el-button + v-show="currentRuleLcStatus === 'Editing'" + icon="el-icon-edit" + plain + size="small" + type="text" + @click="openBasicDialog('edit',scope.row)">缂栬緫 + </el-button> + <el-button + v-show="scope.row.secType === 'codeclassifysec' || scope.row.secType == 'codefixedsec'" + icon="el-icon-setting" + plain + size="small" + type="text" + @click="openBasicSecCodeValueMgr(scope.row)">鐮佸�肩鐞� + </el-button> + <el-button + v-show="scope.row.orderNum > 1" + icon="el-icon-arrow-up" + plain + size="small" + type="text" + @click="upOrderNum(scope.row)">涓婄Щ + </el-button> + <el-button + icon="el-icon-arrow-down" + plain + size="small" + type="text" + @click="downOrderNum(scope.row)">涓嬬Щ + </el-button> + </template> + + <!-- 鍩虹鐮佹琛ㄦ牸宸︿笂鏂规寜閽尯鍩� --> + <template slot="menuLeft" slot-scope="scope"> + <el-button :disabled="selectionList.length <= 0" + icon="el-icon-plus" + size="small" + type="primary" + @click="openAddBasicCodeSec"> + 鏂� 澧� + </el-button> + <el-button :disabled="selectionList.length <= 0" + icon="el-icon-delete" + plain + size="small" + type="danger" + @click="deleteBasicCode(scope.row)"> + 鍒� 闄� + </el-button> + <el-button :disabled="selectionList.length <= 0" + icon="el-icon-search" + plain + size="small" + type="primary" + @click="openAdvancedQuery('codeBasicSec')"> + 楂樼骇鏌ヨ + </el-button> + </template> + + </avue-crud> </basic-container> + <!-- 鐮佹鐮佸�肩鐞嗗璇濇 --> + <el-dialog :visible.sync="isShowBasicSecCodeValueMgr" + :width="isShowFixedForm ? '69vw':'50vw'" + append-to-body + class="avue-dialog avue-dialog--top" + destroy-on-close + style="height: 100vh;" title="鐮佹鐮佸�肩鐞�" + top="-3%" + @close="clearFixedOrClassifyForm('close')"> + <!-- 鍒嗙被鐮佹鐮佸�肩鐞� --> + <el-row v-show="!isShowFixedForm"> + <el-col :span="11"> + <basic-container> + <div class="box classify_value_box" style="height:60vh; margin-bottom:-40px"> + <basic-container> + <div class="abox" style="height:54vh"> + <avue-tree + :data="classifyValueTreeData" + :option="classisyValueTreeOption" + style="" + @node-click="classisyValueTreeOnodeClick"/> + </div> + </basic-container> + </div> + <div style="margin-top:20px; display: flex; align-items:center; justify-content:center;"> + <el-button class="button" icon="el-icon-arrow-up" size="mini" type="primary" + @click="codeClassifyValueOpetion('up')">涓婄Щ + </el-button> + <el-button class="button" icon="el-icon-arrow-down" size="mini" type="primary" + @click="codeClassifyValueOpetion('down')">涓嬬Щ + </el-button> + </div> + </basic-container> + </el-col> + <el-col :span="13"> + <basic-container> + <div class="box" style="height:60vh; margin-bottom:-40px"> + <el-form> + <el-form-item :label-width="50" label="鐮佸��:" required> + <el-input v-model="codeClassifyForm.id" style="width: 18vw"></el-input> + </el-form-item> + <el-form-item :label-width="50" label="鍚嶇О:" required> + <el-input v-model="codeClassifyForm.name" style="width: 18vw"></el-input> + </el-form-item> + </el-form> + </div> + <div style="margin-top:20px; display: flex; align-items:center; justify-content:center;"> + <el-button class="button" icon="el-icon-circle-plus" size="mini" type="primary" + @click="addCodeSecValue('codeclassifyvaluesec')">娣诲姞 + </el-button> + <el-button :disabled="selectedFixedOrCodeclassifyValue==''" class="button" icon="el-icon-edit-outline" plain + size="mini" type="success" @click="editCodeSecValue('codeclassifyvaluesec')">淇敼 + </el-button> + <el-button :disabled="selectedFixedOrCodeclassifyValue==''" class="button" icon="el-icon-close" size="mini" + type="danger" @click="delCodeSecValue('codeclassifyvaluesec')">鍒犻櫎 + </el-button> + <el-button class="button" icon="el-icon-close" plain size="mini" type="warning" + @click="clearFixedOrClassifyForm('codeclassifyvaluesec')">鍙栨秷 + </el-button> + </div> + </basic-container> + </el-col> + </el-row> + <!-- 鍥哄畾鐮佹鐮佸�肩鐞� --> + <el-row v-show="isShowFixedForm"> + <el-col :span="15"> + <basic-container> + <div class="box fixedbox" style="height:63vh; margin-bottom:-40px"> + <avue-crud + ref="crudFixedValue" + :data="fixedValueData" + :option="fixedValueOption" + :table-loading="fixedValueOptionLoading" + class="fixed-avue-crud" + @row-click="selectedCodeValueRow"> + <!-- 琛ㄦ牸鍐呮寜閽厤缃� --> + <template slot="menu" slot-scope="scope"> + <el-button icon="el-icon-arrow-up" size="mini" type="text" + @click="codeFixedValueOpetion('up',scope.row)">涓婄Щ + </el-button> + <el-button icon="el-icon-arrow-down" size="mini" type="text" + @click="codeFixedValueOpetion('down',scope.row)">涓嬬Щ + </el-button> + <el-button icon="el-icon-minus" size="mini" type="text" + @click="codeFixedValueOpetion('remove',scope.row)">绉婚櫎 + </el-button> + </template> + </avue-crud> + </div> + <div style="margin-top:10px;"> + <el-button class="button" icon="el-icon-success" size="mini" type="primary" + @click="saveCodeFixedOrClassifyValueOption('fixedValue')">淇濆瓨 + </el-button> + </div> + </basic-container> + </el-col> + <el-col :span="9"> + <basic-container> + <div class="box" style="height: 63vh; margin-bottom:-40px; overflow:hidden;"> + <div style="overflow-y:auto;height: 58vh;"> + <el-form> + <el-form-item label="鐮佸��:" label-width="54px" required> + <el-input v-model="codeFixdForm.id" style="width: 19.5vw"></el-input> + </el-form-item> + <el-form-item label="鎻忚堪:" label-width="54px"> + <el-input v-model="codeFixdForm.description" style="width: 19.5vw;" type="textarea"></el-input> + </el-form-item> + </el-form> + </div> + </div> + <div style="margin-top:10px; display: flex; align-items:center; justify-content:center;"> + <el-button :disabled="selectedFixedOrCodeclassifyValue!=''" class="button" icon="el-icon-circle-plus" + size="mini" type="primary" @click="addCodeSecValue('codefixedsec')">娣诲姞 + </el-button> + <el-button :disabled="selectedFixedOrCodeclassifyValue==''" class="button" icon="el-icon-edit-outline" plain + size="mini" type="success" @click="editCodeSecValue('codefixedsec')">淇敼 + </el-button> + <el-button :disabled="selectedFixedOrCodeclassifyValue==''" class="button" icon="el-icon-close" size="mini" + type="danger" @click="delCodeSecValue('codefixedsec')">鍒犻櫎 + </el-button> + <el-button class="button" icon="el-icon-close" plain size="mini" type="warning" + @click="clearFixedOrClassifyForm('codefixedsec')">鍙栨秷 + </el-button> + </div> + </basic-container> + </el-col> + </el-row> + </el-dialog> + + <!-- 鍩虹鐮佹鏂板鐩稿叧瀵硅瘽妗� --> + <el-dialog :close-on-click-modal="false" + :title="basicSecDialogTitle" + :visible.sync="addBasicCodeSettingBox" + append-to-body + class="avue-dialog avue-dialog--top" + destroy-on-close lock-scroll + style="height: 100vh;" + top="-3%" + width="900px" + @close="clearBasicAddForm"> + + <!-- 绗竴灞傚璇濇,娣诲姞鐮佹淇℃伅瀵硅瘽妗嗕腑鐨勫唴瀹� --> + <div class="add-basicsec-total" style="overflow-y: auto; height: 58vh"> + <el-form :model="form" class="add-basicsec-form"> + <span class="left"> + <el-form-item :label-width="leftFormLabelWidth" label="鐮佹缂栧彿:" required> + <el-input ref="id" v-model="form.id" :readonly="basicSecOnlyRead"></el-input> + </el-form-item> + + <el-form-item :label-width="leftFormLabelWidth" label="鐮佹鍚嶇О:" required> + <el-input ref="name" v-model="form.name" :readonly="basicSecOnlyRead"></el-input> + </el-form-item> + + <el-form-item :label-width="leftFormLabelWidth" label="鐮佹绫诲瀷" required> + <el-select v-model="form.secType" :disabled="basicSecOnlyRead" placeholder="璇烽�夋嫨" + @change="changeSectypeFormItems(null)"> + <el-option + v-for="item in enumParam.secTypeList" + :key="item.itemValue" + :label="item.itemName" + :value="item.itemValue"> + </el-option> + </el-select> + </el-form-item> + + <el-form-item :label-width="leftFormLabelWidth" label="鎻忚堪:"> + <el-input v-model="form.description" :readonly="basicSecOnlyRead" type="textarea"></el-input> + </el-form-item> + + <el-form-item :label-width="leftFormLabelWidth" label="鏄惁娴佹按渚濊禆:"> + <el-switch v-model="form.serialDependFlag" :disabled="basicSecOnlyRead" + style="margin-right: 20px"></el-switch> + <el-input-number v-show="form.serialDependFlag" v-model="form.serialDependOrder" + :readonly="basicSecOnlyRead" controls-position="right"></el-input-number> + </el-form-item> + + <el-form-item :label-width="leftFormLabelWidth" label="鏄惁涓虹┖:"> + <el-switch v-model="form.nullableFlag" :disabled="basicSecOnlyRead"></el-switch> + </el-form-item> + </span> + <el-divider direction="vertical"></el-divider> + <span class="right"> + <!-- 鍥哄畾鐮佹 --> + <div v-show="form.secType==='codefixedsec' ? true:false"> + <el-form-item :label-width="rightFormLabelWidth" label="鐮佹闀垮害绫诲瀷:" required> + <el-select v-model="form.codeSecLengthType" :disabled="basicSecOnlyRead" placeholder="璇烽�夋嫨"> + <el-option + v-for="item in enumParam.codeSecLengthType" + :key="item.itemValue" + :label="item.itemName" + :value="item.itemValue"> + </el-option> + </el-select> + </el-form-item> + <el-form-item :label-width="rightFormLabelWidth" label="鐮佹鐨勯暱搴�:" required> + <el-input ref="codeSecLength" v-model.number="form.codeSecLength" + :readonly="basicSecOnlyRead"></el-input> + </el-form-item> + </div> + <!-- 灞炴�х爜娈� --> + <div v-show="form.secType==='codeattrsec' ? true:false"> + <el-form-item :label-width="rightFormLabelWidth" label="灞炴��:" required> + <el-input + ref="referAttributeId" + v-model="form.referAttributeName" + :disabled="basicSecOnlyRead" + placeholder="璇烽�夋嫨" + prefix-icon="el-icon-search" + readonly="true" + @focus="openAttrSelectOrGetValue('attr')"> + <i slot="suffix" class="el-icon-circle-close" style="cursor: pointer;" + @click="clearAttrDataByIcon('attr')"></i> + </el-input> + </el-form-item> + <el-form-item :label-width="rightFormLabelWidth" label="灞炴�ф墍鍦ㄥ垎绫�:"> + <el-input + v-model="form.referCodeClassifyOidName" + disabled> + </el-input> + </el-form-item> + <el-form-item :label-width="rightFormLabelWidth" label="鍙栧�艰鍒�:"> + <el-input + v-model="form.getValueClass" + :disabled="basicSecOnlyRead" + placeholder="璇烽�夋嫨" + prefix-icon="el-icon-search" + readonly="true" + @focus="openAttrSelectOrGetValue('value')"> + <i slot="suffix" class="el-icon-circle-close" style="margin-right: 5px;cursor: pointer;" + @click="clearAttrDataByIcon('value')"></i> + </el-input> + </el-form-item> + </div> + <!-- 娴佹按鐮佹 --> + <div v-show="form.secType==='codeserialsec' ? true:false"> + <el-form-item :label-width="rightFormLabelWidth" label="鐮佹鐨勯暱搴�:" required> + <el-input ref="seriaCodeSecLength" v-model.number="form.codeSecLength" + :readonly="basicSecOnlyRead"></el-input> + </el-form-item> + <el-form-item :label-width="rightFormLabelWidth" label="娴佹按鍙风殑璧峰鍊�:"> + <el-input ref="serialStart" v-model.number="form.serialStart" :readonly="basicSecOnlyRead"></el-input> + </el-form-item> + <el-form-item :label-width="rightFormLabelWidth" label="娴佹按鐨勬闀�:"> + <el-input ref="serialStep" v-model.number="form.serialStep" :readonly="basicSecOnlyRead"></el-input> + </el-form-item> + <el-form-item :label-width="rightFormLabelWidth" label="缂栫爜琛ヤ綅鏂瑰紡:" required> + <el-select v-model="form.codeFillType" :disabled="basicSecOnlyRead" placeholder="璇烽�夋嫨"> + <el-option v-for="item in enumParam.codeFillType" :key="item.itemValue" + :label="item.itemName" + :value="item.itemValue" + label="宸﹁ˉ浣�" + value="codeattrsec"> + </el-option> + </el-select> + </el-form-item> + <el-form-item v-if="form.codeFillType!='code_fill_none'" :label-width="rightFormLabelWidth" + label="琛ヤ綅鏃剁殑瀛楃:"> + <el-select v-model="form.codeFillSeparator" :disabled="basicSecOnlyRead" filterable placeholder="璇烽�夋嫨" + @blur="inputSelectBlur"> + <el-option + v-for="item in enumParam.codeFillSeparator" + :key="item.itemValue" + :label="item.itemName" + :value="item.itemValue"> + </el-option> + </el-select> + </el-form-item> + <el-form-item :label-width="rightFormLabelWidth" label="濉厖闀垮害:" required> + <el-input ref="codeFillLength" v-model.number="form.codeFillLength" + :readonly="basicSecOnlyRead"></el-input> + </el-form-item> + <el-form-item :label-width="rightFormLabelWidth" label="娴佹按涓婇檺:" required> + <el-input ref="codeFillLimit" v-model.number="form.codeFillLimit" + :readonly="basicSecOnlyRead"></el-input> + </el-form-item> + <el-form-item :label-width="rightFormLabelWidth" label="娴佹按鏄惁琛ョ爜:" required> + <el-switch v-model="form.codeFillFlag" :disabled="basicSecOnlyRead"></el-switch> + </el-form-item> + <el-form-item :label-width="rightFormLabelWidth" label="鑷畾涔夌殑娴佹按绠楁硶:"> + <el-input v-model="form.customCodeSerialClass" :readonly="basicSecOnlyRead"></el-input> + </el-form-item> + </div> + <!-- 灞傜骇鐮佹 --> + <div v-show="form.secType==='codelevelsec' ? true:false"> + <el-form-item :label-width="rightFormLabelWidth" label="灞傜骇绫诲瀷:" required> + <el-select v-model="form.codeLevelType" :disabled="basicSecOnlyRead" placeholder="璇烽�夋嫨"> + <el-option + v-for="item in enumParam.codeLevelType" + :key="item.itemValue" + :label="item.itemName" + :value="item.itemValue"> + </el-option> + </el-select> + </el-form-item> + <el-form-item :label-width="rightFormLabelWidth" label="灞傜骇鐨勫��:"> + <el-input ref="codeLevelValue" v-model.number="form.codeLevelValue" + :readonly="basicSecOnlyRead"></el-input> + </el-form-item> + <el-form-item :label-width="rightFormLabelWidth" label="瀛楃鎴彇绫诲瀷:" required> + <el-select v-model="form.valueCutType" :disabled="basicSecOnlyRead" placeholder="璇烽�夋嫨" + @change="changeCutType($event)"> + <el-option + v-for="item in enumParam.codeCutType" + :key="item.itemValue" + :label="item.itemName" + :value="item.itemValue"> + </el-option> + </el-select> + </el-form-item> + <el-form-item v-if="form.valueCutType!='code_cut_none'" id="ShowOrHide" :label-width="rightFormLabelWidth" + label="鍊兼埅鍙栭暱搴�:"> + <el-input ref="valueCutLength" v-model.number="form.valueCutLength" + :readonly="basicSecOnlyRead"></el-input> + </el-form-item> + <el-form-item :label-width="rightFormLabelWidth" label="鍙栧�肩被鍨�:"> + <el-select v-model="form.codeGetValueType" :disabled="basicSecOnlyRead" placeholder="璇烽�夋嫨"> + <el-option + v-for="item in enumParam.codeGetValueType" + :key="item.itemValue" + :label="item.itemName" + :value="item.itemValue"> + </el-option> + </el-select> + </el-form-item> + </div> + <!-- 寮曠敤鐮佹 --> + <div v-show="form.secType==='coderefersec' ? true:false"> + <el-form-item label="鍙傜収寮曠敤鐨勪笟鍔$被鍨�:" label-width="152px" required> + <el-input + ref="referBtmId" + v-model="form.referBtmName" + :disabled="basicSecOnlyRead" + placeholder="璇烽�夋嫨" + prefix-icon="el-icon-search" + readonly="true" + @focus="openAttrSelectOrGetValue('referBtmId')"> + <i slot="suffix" class="el-icon-circle-close" style="margin-right: 5px;cursor: pointer;" + @click="clearAttrDataByIcon('referBtmId')"></i> + </el-input> + </el-form-item> + <el-form-item label="鍙傜収閰嶇疆:" label-width="152px" required> + <el-input + ref="referConfig" + v-model="form.referConfig" + :disabled="basicSecOnlyRead" + placeholder="璇烽�夋嫨" + prefix-icon="el-icon-search" + readonly="true" + @focus="openAttrSelectOrGetValue('referConfig')"> + <i slot="suffix" class="el-icon-circle-close" style="margin-right: 5px;cursor: pointer;" + @click="clearAttrDataByIcon('referConfig')"></i> + </el-input> + </el-form-item> + </div> + <!-- 鏃ユ湡鐮佹 --> + <div v-show="form.secType==='codedatesec' ? true:false"> + <el-form-item :label-width="rightFormLabelWidth" label="鏃ユ湡鏍煎紡:" required> + <el-input ref="codeDateFormatStr" v-model="form.codeDateFormatStr" + :readonly="basicSecOnlyRead"></el-input> + </el-form-item> + </div> + <!-- 鍒嗙被鐮佹 --> + <div v-show="form.secType==='codeclassifysec' ? true:false"> + <el-form-item :label-width="rightFormLabelWidth" label="鐮佹闀垮害绫诲瀷:" required> + <el-select v-model="form.codeSecLengthType" :disabled="basicSecOnlyRead" placeholder="璇烽�夋嫨"> + <el-option + v-for="item in enumParam.codeSecLengthType" + :key="item.itemValue" + :label="item.itemName" + :value="item.itemValue"> + </el-option> + </el-select> + </el-form-item> + <el-form-item :label-width="rightFormLabelWidth" label="鐮佹鐨勯暱搴�:" required> + <el-input ref="classCodeSecLength" v-model.number="form.codeSecLength" + :readonly="basicSecOnlyRead"></el-input> + </el-form-item> + <el-form-item :label-width="rightFormLabelWidth" label="鏄惁鑷姩鍒嗛厤鍒嗙被鍊�:"> + <el-switch v-model="form.matchClassifyValueFlag" :disabled="basicSecOnlyRead"></el-switch> + </el-form-item> + <el-form-item :label-width="rightFormLabelWidth" label="鐖跺垎绫荤爜娈�:"> + <el-input + v-model="form.parentClassifySecText" + :disabled="basicSecOnlyRead" + placeholder="璇烽�夋嫨" + prefix-icon="el-icon-search" + readonly="true" + @focus="openAttrSelectOrGetValue('parentClassifySecOid')"> + <i slot="suffix" class="el-icon-circle-close" style="margin-right: 5px;cursor: pointer;" + @click="clearAttrDataByIcon('parentClassifySecOid')"></i> + </el-input> + </el-form-item> + </div> + <!-- 鍙彉鐮佹 --> + <div v-show="form.secType==='codevariablesec' ? true:false"> + <el-form-item :label-width="rightFormLabelWidth" label="鐮佹鐨勯暱搴�:" required> + <el-input ref="varCodeSecLength" v-model.number="form.codeSecLength" + :readonly="basicSecOnlyRead"></el-input> + </el-form-item> + <el-form-item :label-width="rightFormLabelWidth" label="缂栫爜琛ヤ綅鏂瑰紡:" required> + <el-select v-model="form.codeFillType" :disabled="basicSecOnlyRead" placeholder="璇烽�夋嫨"> + <el-option + v-for="item in enumParam.codeFillType" + :key="item.itemValue" + :label="item.itemName" + :value="item.itemValue"> + </el-option> + </el-select> + </el-form-item> + <el-form-item v-if="form.codeFillType!='code_fill_none'" :label-width="rightFormLabelWidth" + label="琛ヤ綅鏃剁殑瀛楃:"> + <el-select v-model="form.codeFillSeparator" :disabled="basicSecOnlyRead" filterable placeholder="璇烽�夋嫨" + @blur="inputSelectBlur"> + <el-option + v-for="item in enumParam.codeFillSeparator" + :key="item.itemValue" + :label="item.itemName" + :value="item.itemValue"> + </el-option> + </el-select> + </el-form-item> + </div> + </span> + </el-form> + </div> + <!-- 绗竴灞傚璇濇鐨勬寜閽拰鍒嗛殧绾挎潯 --> + <el-divider class="horizontal-line" direction="horizontal"></el-divider> + <div slot="footer" class="dialog-footer"> + <el-button :disabled="!showbtn" type="primary" @click="saveOrEditBasicCode">淇� 瀛�</el-button> + <el-button @click="addBasicCodeSettingBox = false">鍙� 娑�</el-button> + </div> + + <!-- 绗簩灞傚璇濇,灞炴�х爜娈碉紝灞炴�ч�夋嫨瀵硅瘽妗� --> + <el-dialog :visible.sync="isShowSelectAttrOption" + append-to-body + class="avue-dialog avue-dialog--top" + style="height: 100%;" + title="涓恒�愬睘鎬с�戦�夊彇鍊�" top="-3%" + width="78%"> + <div style="overflow-y: auto; height: 60vh"> + <el-row> + <!-- 宸︿晶涓婚搴撳垎绫绘爲 --> + <el-col :span="5"> + <div class="box"> + <el-scrollbar style="height: auto; border-bottom-right-radius:8px "> + <basic-container> + <div class="treeBox"> + <avue-tree :data="attrClassifyTreeData" :option="treeOption" @node-click="nodeClick"/> + </div> + </basic-container> + </el-scrollbar> + </div> + </el-col> + <!-- 鍙充晶琛ㄦ牸鏄剧ず鍖哄煙 --> + <el-col span="19"> + <basic-container> + <div class="bbox"> + <avue-crud + :ref="selectAttrParams.ref" + :data="selectAttrParams.selectAttrData" + :option="selectAttrParams.attrOption" + :table-loading="selectAttrParams.selectAttrOptionLoading" + @search-change="selectAttrSearchChange" + @search-reset="searchAttrReset" + @row-click="selectionAttrRowClick" + @selection-change="selectionChangeAttr"> + </avue-crud> + </div> + </basic-container> + </el-col> + </el-row> + </div> + <div slot="footer" class="dialog-footer"> + <el-button type="primary" @click="selectedListClassifyLinkAttr">纭� 瀹�</el-button> + <el-button @click="isShowSelectAttrOption = false">鍙� 娑�</el-button> + </div> + </el-dialog> + + <!-- 绗簩灞傚璇濇,灞炴�х爜娈碉紝鍏紡缂栬緫妗嗗璇濇缁勪欢 --> + <formula-editor + ref="formulaEditor" + :systemVariableTableData="formulaEditorParams.systemVariableTableData" + :thisSceneTableData="formulaEditorParams.thisSceneTableData" + :visible.sync="formulaEditorParams.formulaEditorSettingBox" + @updateFormulaContent="updateFormulaContent"> + </formula-editor> + + <!-- 绗簩灞傚璇濇,涓恒�愮埗鍒嗙被鐮佹銆戦�夊彇鍊煎璇濇 --> + <el-dialog :visible.sync="parentClsfyParams.isShowParentClassifySettingBox" + append-to-body + destroy-on-close + style="height: 150vh; margin-top: -13vh;" + title="涓恒�愮埗鍒嗙被鐮佹銆戦�夊彇鍊�" + width="65%"> + <avue-crud + :ref="parentClsfyParams.ref" + :data="parentClsfyParams.parentClassifyData" + :option="parentClsfyParams.parentClassifyParentOption" + :page.sync="parentClsfyParams.parentClassifyDataPage" + :table-loading="parentClsfyParams.classifyDialogLoading" + @refresh-change="refreshParentClassifyDataChange" + @search-change="parentClassifySearchChange" + @search-reset="parentClassifySearchReset" + @row-click="parentClassifyRowClick" + @selection-change="parentClassifySelectionChange" + @current-change="parentClassifyCurrentChange" + @size-change="parentClassifySizeChange" + @on-load="parentClassifyOnLoad"> + </avue-crud> + <div slot="footer" class="dialog-footer"> + <el-button type="primary" @click="saveSelectedParentClassify">淇� 瀛�</el-button> + <el-button @click="parentClsfyParams.isShowParentClassifySettingBox = false">鍙� 娑�</el-button> + </div> + </el-dialog> + + <!-- 绗簩灞傚璇濇,涓恒�愬弬鐓у紩鐢ㄧ殑涓氬姟绫诲瀷銆戦�夊彇鍊煎璇濇 --> + <refer-btm-type-crud-dialog + :ref="referBtmDialogParams.ref" + :visible.sync="referBtmDialogParams.selectReferBtmSettingBox" + @echoReferBtmType="echoReferBtmType"> + </refer-btm-type-crud-dialog> + + <!-- 绗簩灞傚璇濇,鍙傜収閰嶇疆缁勪欢 --> + <refer-config-dialog + :display="referConfigVisble" + :referConfigOption="referConfigOption" + @setReferConfigValue="setReferConfigValue"> + </refer-config-dialog> + + </el-dialog> </basic-container> - </template> <script> - import { gridCodeRule, getDetail, add, update, remove, listUseRange, updateStatus } from "@/api/code/mdmrule"; - import { gridCodeBasicSec } from "@/api/code/codebasic"; - import optionBasic from "@/const/code/codebasic"; - import optionRule from "@/const/code/mdmrule"; - import {mapGetters} from "vuex"; +import { + gridCodeRule, + getDetail, + add, + update, + remove, + listUseRange, + updateStatus, + clone, + clearAllCode, + checkLikeCodeRule +} from "@/api/code/mdmrule"; +import { + gridCodeBasicSec, + downOrderNum, + upOrderNum, + deleteData, + editSave, + cloneCodeBasic, + addSave, + refDataGridClassifySec +} from "@/api/code/codebasic"; +import {listClassifyLinkAttr} from "@/api/code/codeclassify"; +import { + gridCodeFixedValue, + addSaveCodeFixedValue, + deleteCodeFixedValue, + editCodeFixedValue, + saveOrder +} from "@/api/code/codeFixedValue"; +import { + treeCodeClassifyValue, + addSaveCodeClassifyValue, + editCodeClassifyValue, + deleteCodeClassifyValue, + saveCodeClassifyValueOrder +} from "@/api/code/codeClassifyValue"; +import {getDictionary} from "@/api/omd/enum"; +import optionBasic from "@/const/code/codebasic"; +import cloneOption from "@/const/code/cloneOption"; +import cloneBasicOption from "@/const/code/cloneBasicDialogOption"; +import cloneCodeRuleOption from "@/const/code/cloneCodeRuleDialogOption"; +import optionRule from "@/const/code/mdmrule"; +import attrOption from "@/const/code/selectAttrOptionDialog"; +import treeOption from "@/const/code/classifyTreeOptionDialog"; +import classisyValueTreeOption from "@/const/code/classisyValueTreeDialog"; +import parentClassifyParentOption from "@/const/code/parentClassifyParentOptionDialog"; +import fixedValueOption from "@/const/code/fixedValueMgrDialog"; +import {mapGetters} from "vuex"; +import {getByRoleUserList} from "@/api/system/user"; +import func from "@/util/func"; export default { - data() { - return { - form: {}, - query: {}, - loading: true, - - page: { - pageSize: 10, - currentPage: 1, - total: 0 - }, - selectionList: [], - //缂栫爜瑙勫垯琛ㄦ牸閰嶇疆 - optionRule: optionRule, + data() { + return { + ruleForm: {}, + query: {}, + loading: true, + currentCodeRuleOid: '', + page: { + pageSize: 10, + currentPage: 1, + total: 0 + }, + selectionList: [], + /*缂栫爜瑙勫垯琛ㄦ牸閰嶇疆*/ + optionRule: optionRule, + data: [], + currentRuleLcStatus: '', + /*鍏嬮殕瀵硅瘽妗嗘帶鍒跺彉閲�*/ + cloneSettingBox: false, + cloneTableLoading: false, + cloneOption: cloneOption, + cloneData: [], + cloneCodeRuleForm: { + id: '', + name: '', + description: '', + }, + /*浠庡叾浠栬鍒欏厠闅嗙爜娈�*/ + cloneOtherCodeRuleSettingBox: false, + cloneBasicOption: cloneBasicOption, + cloneCodeRuleOption: cloneCodeRuleOption, + selectionOtherCloneCodeBasicList: [], // 褰撳墠閫変腑鐨勫熀纭�鐮佹 + /** 杞Щ鎵�鏈夎�呭璇濇 */ + escapeOwnerVisible: false, + ruleAdminUserList: [], //瑙勫垯绠$悊鍛樺垪琛� + ruleOwner: '', // 褰撳墠瑕佽浆绉荤粰鍝釜瑙勫垯绠$悊鍛樼殑ID + releadDisabled: false, // 閬垮厤瑙勫垯鍙戝竷閲嶅鎻愪氦 - data: [], + /*鏈�澶ф祦姘村彿*/ + maxSerial: { + visible: false, - /*鍏嬮殕鎸夐挳瀵硅瘽妗嗘帶鍒�*/ - cloneSettingBox: false, - optionBasic: optionBasic, + }, - //鍩虹鐮佹灞曠ず - basicData:[], - loadingBasic: true, - - /*浣跨敤鑼冨洿瀵硅瘽妗嗘帶鍒�*/ - codeRangeSettingBox: false, - useRangeData: [], - dialogLoading: true, - /*浣跨敤鑼冨洿瀵硅瘽妗�*/ - dialogeOption: { + /*浣跨敤鑼冨洿瀵硅瘽妗嗘樉绀烘帶鍒�*/ + codeRangeSettingBox: false, + useRangeData: [], + dialogLoading: true, + /*浣跨敤鑼冨洿瀵硅瘽妗嗛厤缃�*/ + dialogeOption: { height: 'auto', - calcHeight: 30, + calcHeight: 150, tip: false, searchShow: false, searchMenuSpan: 6, border: true, index: true, - disablePage:false, + disablePage: false, + refreshBtn: false, + columnBtn: false, viewBtn: false, addBtn: false, menu: false, @@ -187,65 +1018,471 @@ } ] }, + + /*鍩虹鐮佹鐩稿叧鏁版嵁*/ + optionBasic: optionBasic, + basicData: [], + loadingBasic: false, + selectionBasicList: [], + addBasicCodeSettingBox: false, + showbtn: false, //鍩虹鐮佹鏂板鏄惁鏄剧ず鍩虹鐮佹 + basicSecDialogTitle: '', //鍩虹鐮佹绗竴灞傚璇濇鏍囬 + basicSecOnlyRead: false, //鏂板鍩虹鐮佹琛ㄥ崟鏄惁鍙 + + + /** 鐮佸�肩鐞嗙浉鍏虫暟鎹� */ + isShowBasicSecCodeValueMgr: false, //鐮佹鐮佸�肩鐞嗗璇濇 + codefixedsecOrCodeclassifysec: '', //瀛樻斁鍩虹鐮佹鐐瑰嚮鐮佸�肩鐞嗘椂鐨勫綋鍓嶈id锛岀敤浜庝繚瀛樼爜鍊兼椂浣跨敤 + selectedFixedOrCodeclassifyValue: '', //褰撳墠閫変腑鐨勭爜鍊兼暟鎹� + //鍥哄畾鐮佹鐮佸�艰〃鍗� + codeFixdForm: { + codeFixedSecOid: "", + description: "", + id: "", + }, + isShowFixedForm: true, //true鏄剧ず鍥哄畾鐮佹鐮佸�肩鐞嗙晫闈紝false鏄剧ず鍒嗙被鐮佹鐮佸�肩鐞嗙晫闈� + fixedValueData: [], //鍥哄畾鐮佹鐮佸�艰〃鏍兼暟鎹� + fixedValueOption: fixedValueOption, //琛ㄦ牸閰嶇疆 + fixedValueOptionLoading: false, //鍔犺浇琛ㄦ牸鐨勫姩鎬佹晥鏋� + fixedValueSelectList: [], //鍥哄畾鐮佹鐮佸�煎綋鍓嶉�変腑鐨勮 + + //鍒嗙被鐮佹鐮佸�艰〃鍗� + codeClassifyForm: { + codeClassifySecOid: "", + id: "", + name: "", + oid: "", + }, + classisyValueTreeOption: classisyValueTreeOption, //鍒嗙被鐮佹鏍戠浉鍏抽厤缃」 + classifyValueTreeData: [], + + /* 涓哄睘鎬ч�夊彇鍊肩獥鍙f樉绀烘墦寮�鎺у埗鍙橀噺 */ + isShowSelectAttrOption: false, + /* 涓哄睘鎬ч�夊�煎乏渚ф爲鏁版嵁 */ + attrClassifyTreeData: [], + treeOption: treeOption, + currentSelectTreeData: '', //褰撳墠閫変腑鐨勬爲鑺傜偣 + /* 涓哄睘鎬ч�夊�煎彸渚ц〃鏍肩浉鍏虫暟鎹� */ + + selectAttrParams: { + ref: "selectionAttrCrud", + attrOption: attrOption, + selectAttrData: [], + selectAttrOptionLoading: false, + selectionChangeAttrList: [], + selectAttrQeury: {}, + }, + + // 灞炴�х爜娈碉紝鍏紡缂栬緫妗嗙粍浠剁殑鏈満鏅樉绀哄彉閲忋�佷笌绯荤粺鍙橀噺 + formulaEditorParams: { + thisSceneTableData: [ + { + formula: "${}", + desc: "", + } + ], + systemVariableTableData: [ + { + formula: "#CURRENTUSER.OID#", + desc: "褰撳墠鐢ㄦ埛鐨勪富閿�", + }, + { + formula: "#CURRENTUSER.ID#", + desc: "褰撳墠鐢ㄦ埛鐨勮处鎴�", + }, + { + formula: "#CURRENTTIME#", + desc: "褰撳墠鏃堕棿", + }, + { + formula: "#CURRENTDATE#", + desc: "褰撳墠鏃ユ湡", + }, + { + formula: "#CURRENTDATETIME#", + desc: "褰撳墠鏃ユ湡鏃堕棿", + }, + { + formula: "#CURRENTUSER_NAME#", + desc: "褰撳墠鐢ㄦ埛鐨勫鍚�", + }, + { + formula: "#CURRENTUSER.SECRETGRADE#", + desc: "褰撳墠鐢ㄦ埛瀵嗙骇", + }, + { + formula: "#CURRENTUSER.IPSECRET#", + desc: "褰撳墠鐢ㄦ埛鐨処P瀵嗙骇", + }, + { + formula: "#CURRENTUSER.BUSINESSUNIT#", + desc: "褰撳墠鐢ㄦ埛鎵�灞炰笟鍔″崟鍏�", + }, + { + formula: "#CURRENTUSER.BUSINESSUNITNAME#", + desc: "褰撳墠鐢ㄦ埛鎵�灞炰笟鍔″崟鍏冨悕绉�", + }, + { + formula: "#CURRENTUSER.GROUPOID#", + desc: "褰撳墠鐢ㄦ埛鐨勯儴闂ㄤ富閿�", + }, + { + formula: "#CURRENTUSER.GROUPNAME#", + desc: "褰撳墠鐢ㄦ埛鎵�灞為儴闂ㄥ悕绉�", + }, + { + formula: "#CURRENTUSER.EMAIL#", + desc: "褰撳墠鐢ㄦ埛閭欢鍦板潃", + }, + { + formula: "#CURRENTUSER.ROLENAME#", + desc: "褰撳墠鐢ㄦ埛鎵�灞炶鑹插悕绉�", + }, + ], + formulaEditorSettingBox: false, + }, + + /* 鐖跺垎绫荤爜娈靛璇濇 */ + parentClsfyParams: { + ref: 'crudParentClassify', + isShowParentClassifySettingBox: false, //鐖跺垎绫荤爜娈靛璇濇鏄剧ず鎺у埗 + classifyDialogLoading: true, //琛ㄦ牸鏁版嵁鍔犺浇鎻愮ず + parentClassifyParentOption: parentClassifyParentOption, //琛ㄦ牸閰嶇疆 + parentClassifyData: [], //琛ㄦ牸鏁版嵁 + //鍒嗛〉鍙傛暟閰嶇疆 + parentClassifyDataPage: { + pageSize: 10, + currentPage: 1, + total: 0 + }, + parentClassifyQuery: {}, //鏌ヨ鏉′欢 + parentClassifySelectionList: [], //褰撳墠閫変腑琛� + }, + + /** 鍙傜収寮曠敤鐨勪笟鍔$被鍨嬪璇濇鐩稿叧鏁版嵁 */ + referBtmDialogParams: { + ref: 'crudReferBtm', + selectReferBtmSettingBox: false, + }, + + /** 鍩虹鐮佹鏂板琛ㄥ崟 */ + form: { + id: '', //缂栧彿 + name: '', //鍚嶇О + secType: 'codefixedsec', //鐮佹绫诲瀷 + description: '', //鎻忚堪 + serialDependFlag: false, //鏄惁娴佹按渚濊禆 + serialDependOrder: '', //娴佹按渚濊禆椤哄簭 + nullableFlag: false, //鏄惁涓虹┖ + displayFlag: false, // + componentCodeFlag: false, //鏄惁鍙備笌缂栫爜 + pkCodeRule: '', //鎵�灞炵紪鐮佽鍒� + }, + + //鏋氫妇鍜屽彲杈撳彲閫夋煡璇� + enumParam: { + secTypeList: [], //鐮佹绫诲瀷 + codeSecLengthType: [], //鐮佹闀垮害绫诲瀷 + codeFillType: [], //缂栫爜琛ヤ綅鏂瑰紡 + codeFillSeparator: [], //琛ヤ綅鏃剁殑瀛楃锛屽彲杈撳彲閫夊唴瀹� + codeLevelType: [], //灞傜骇绫诲瀷 + codeCutType: [], //瀛楃鎴彇绫诲瀷 + codeGetValueType: [], //鍙栧�肩被鍨� + }, + + //琛ㄥ崟鍏冪礌鏍囩瀹藉害 + leftFormLabelWidth: '110px', + rightFormLabelWidth: '150px', + + // 楂樼骇鏌ヨ瀵硅瘽妗嗙浉鍏冲弬鏁� + advancedQueryParam: { + ref: 'advancedQuery', + advancedQuerySettingBox: false, + options: [], + currentOpen: '', //褰撳墠鎵撳紑楂樼骇鏌ヨ鐨勭獥鍙f槸 + //conditionMapParams: {}, + }, + + //寮曠敤鐮佹涓弬鐓ч厤缃粍浠剁浉鍏冲弬鏁� + referConfigOption: {}, + referConfigVisble: false, + + }; + }, + computed: { + ...mapGetters(["permission"]), + permissionList() { + return { + addBtn: this.vaildData(this.permission.codeRule_add, true), + viewBtn: this.vaildData(this.permission.codeRule_view, false), + delBtn: this.vaildData(this.permission.plCodeRule_delete, false), + editBtn: this.vaildData(this.permission.codeRule_edit, true) }; }, - computed: { - ...mapGetters(["permission"]), - permissionList() { - return { - addBtn: this.vaildData(this.permission.codeRule_add, true), - viewBtn: this.vaildData(this.permission.codeRule_view, false), - delBtn: this.vaildData(this.permission.plCodeRule_delete, false), - editBtn: this.vaildData(this.permission.codeRule_edit, true) - }; - }, + }, + watch: {}, + mounted() { + this.loadTotalEnum(); + }, + // 瑙e喅琛ㄦ牸閿欒闂 + activated() { + this.$nextTick(() => { + this.$refs.crud.doLayout(); + this.$refs.crudBasic.doLayout(); + }) + }, + methods: { + + /** 杞Щ瑙勫垯鎵�鏈夎�呭璇濇 */ + escapeOwner() { + if (this.selectionList.length === 0) { + this.$message.warning("璇烽�夋嫨涓�鏉$紪鐮佽鍒欙紒"); + return; + } + this.escapeOwnerVisible = true; + getByRoleUserList("瑙勫垯绠$悊鍛�").then(res => { + this.ruleAdminUserList = res.data.data; + }); }, - methods: { - //鐐瑰嚮鍑哄彂鍔犺浇鍩虹鐮佹淇℃伅 - loadBasic(row){ - this.loadingBasic = true; - //console.log(row.oid); - gridCodeBasicSec(1, -1, {"pkCodeRule":row.oid}).then(res => { - const data = res.data.data; - this.basicData = data.records; - //console.log(this.basicData); - this.loadingBasic = false; + /** 纭杞Щ鎵�鏈夎�� */ + escapeOwnerConfirm() { + if (!this.ruleOwner) { + this.$message.warning("璇烽�夋嫨鎮ㄨ杞Щ鐨勮鍒欑鐞嗗憳锛�"); + return; + } + this.selectionList[0].owner = this.ruleOwner; + let data = this.selectionList[0]; + update(data).then(() => { + this.onLoad(this.page); + this.$message({ + type: "success", + message: "瑙勫垯杞Щ鎴愬姛!" }); - - }, + this.escapeOwnerVisible = false; + }, error => { + console.log(error); + }); + }, - //鏌ヨ浣跨敤鑼冨洿 - handleRange(){ - if (this.selectionList.length === 0) { - this.$message.warning("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�!"); - return; - } - if (this.selectionList.length > 1) { - this.$message.warning("姣忔鍙兘閫夋嫨涓�鏉℃暟鎹�!"); - return; - } - this.codeRangeSettingBox = true; - this.getRangeCodeList() - }, - getRangeCodeList(){ - this.dialogLoading = true; - if(this.selectionList[0].oid==null){ - this.$message.error("鏈幏鍙栧埌鍙傛暟!"); - } - - listUseRange(this.selectionList[0].oid).then(res => { - this.useRangeData = res.data.data; - //console.log(this.useRangeData); - this.dialogLoading = false; - }); - }, - refreshUseRangeChange(){ - this.getRangeCodeList(); - }, - //鍚敤涓庡仠鐢� - enableOrDeactivatse(oId,update){ - updateStatus({"oid":oId,"ts":new Date().getTime,"update":update}).then(() => { + /** 楂樼骇鏌ヨ瀵硅瘽妗嗙粍浠�,缁勪欢杩斿洖鐨勫�兼槸condtionMap[field]褰㈠紡鐨勬煡璇㈡潯浠讹紝淇濈暀浜嗗拰涔嬪墠涓�鏍风殑鏂瑰紡 */ + echoSeniorContionMap(conditionMaps) { + //console.log(conditionMaps); + if (JSON.stringify(conditionMaps) != '{}') { + if (this.advancedQueryParam.currentOpen == 'codeRule') { + this.query = conditionMaps; this.onLoad(this.page); + } else { + this.sendGridCodeBasicSec(conditionMaps, true); + } + //console.log(conditionMaps); + } + }, + /* 鍏紡缂栬緫妗嗗唴瀹规敼鍙�,瀛愮粍浠剁紪杈戝畬鍏紡涔嬪悗鍐呭鍥炴樉鏃惰皟鐢� */ + updateFormulaContent(content) { + this.form.getValueClass = content; + }, + /* 寮曠敤鐮佹鍙傜収閰嶇疆,瀛愮粍浠跺~瀹屽弬鐓ч厤缃箣鍚庡唴瀹瑰洖鏄炬椂璋冪敤 */ + setReferConfigValue(content) { + // console.log(content.referTypeName); + this.form.referBtmId = content.referType || ''; + this.form.referBtmName = content.referTypeName || content.referType; + //杞崲鎴怞SON瀛楃涓茶繘琛岀埗缁勪欢鍥炴樉 + let submitFormJson = JSON.stringify(content); + this.form.referConfig = submitFormJson || ''; + }, + /** 寮曠敤鐮佹涓恒�愬弬鐓у紩鐢ㄧ殑涓氬姟绫诲瀷銆戦�夊彇鍊间箣鍚庣殑鍐呭鍥炴樉鏃惰皟鐢� */ + echoReferBtmType(content) { + // 瀹炵幇鍥炴樉 + this.form.referBtmId = content.id || ''; + this.form.referBtmName = content.name || content.id; + }, + + /** 鐖跺垎绫婚�夋嫨瀵硅瘽妗嗭紝绗簩灞傚祵濂楀璇濇锛屽強鍏剁浉鍏虫柟娉� */ + /** 淇濆瓨褰撳墠鐖跺垎绫荤爜娈电殑閫変腑琛岋紝骞惰繘琛屽洖鏄� */ + saveSelectedParentClassify() { + //console.log(this.parentClsfyParams.parentClassifySelectionList.length); + if (this.parentClsfyParams.parentClassifySelectionList.length != 1) { + this.$message.warning("璇烽�夋嫨涓�鏉℃暟鎹�!"); + return false; + } + //鍙傛暟鍊硷紝瀹炵幇鍥炴樉 + this.form.parentClassifySecOid = this.parentClsfyParams.parentClassifySelectionList[0].oid; + this.form.parentClassifySecText = this.parentClsfyParams.parentClassifySelectionList[0].name; + //娓呯┖褰撳墠閫変腑鐨勮 + this.parentClassifySelectionClear(); + this.parentClsfyParams.isShowParentClassifySettingBox = false; + }, + parentClassifySearchReset() { + this.parentClsfyParams.parentClassifyQuery = {}; + this.parentClassifyOnLoad(this.parentClsfyParams.parentClassifyDataPage); + }, + parentClassifySearchChange(params, done) { + this.parentClsfyParams.parentClassifyQuery = params; + this.parentClsfyParams.parentClassifyDataPage.currentPage = 1; + this.parentClassifyOnLoad(this.page, params); + done(); + }, + parentClassifyRowClick(row) { + this.$refs[this.parentClsfyParams.ref].toggleSelection(); + this.parentClsfyParams.parentClassifySelectionList = row; + this.$refs[this.parentClsfyParams.ref].setCurrentRow(row); + this.$refs[this.parentClsfyParams.ref].toggleRowSelection(row); //閫変腑褰撳墠琛� + }, + parentClassifySelectionChange(list) { + this.parentClsfyParams.parentClassifySelectionList = list; + this.$refs[this.parentClsfyParams.ref].setCurrentRow(this.parentClsfyParams.parentClassifySelectionList[list.length - 1]); + }, + parentClassifySelectionClear() { + this.parentClsfyParams.parentClassifySelectionList = []; + this.$refs[this.parentClsfyParams.ref].toggleSelection(); + }, + parentClassifyCurrentChange(currentPage) { + this.parentClsfyParams.parentClassifyDataPage.currentPage = currentPage; + }, + parentClassifySizeChange(pageSize) { + this.parentClsfyParams.parentClassifyDataPage.pageSize = pageSize; + }, + refreshParentClassifyDataChange() { + this.parentClassifyOnLoad(this.parentClsfyParams.parentClassifyDataPage, this.parentClsfyParams.parentClassifyQuery); + }, + parentClassifyOnLoad(page, params = {}) { + let parentClsParam = this.parentClsfyParams; + parentClsParam.classifyDialogLoading = true; + let oid = this.selectionList.length == 0 ? this.form.pkCodeRule : this.selectionList[0].oid; + let conditionMaps = {}; + + conditionMaps['conditionMap[pkCodeRule]'] = oid; + conditionMaps['conditionMap[oid_notequal]'] = this.form.oid; + refDataGridClassifySec( + page.currentPage, + page.pageSize, + conditionMaps + ).then(res => { + //console.log(res.data); + const data = res.data.data; + parentClsParam.parentClassifyDataPage.total = data.total; + parentClsParam.parentClassifyData = data.records; + parentClsParam.classifyDialogLoading = false; + this.parentClassifySelectionClear(); + }); + }, + + + /** 鎵撳紑灞炴�ч�夊彇鍊硷紝绗簩灞傚祵濂楀璇濇锛屽強鍏剁浉鍏虫柟娉� */ + /** 鑾峰彇褰撳墠琚�変腑鏍戣妭鐐圭殑oid */ + nodeClick(data) { + this.currentSelectTreeData = data; + this.loadlistClassifyLinkAttr() + }, + /** 鍔犺浇鍒嗙被杩炴帴灞炴�ц〃鏍兼暟鎹� */ + loadlistClassifyLinkAttr() { + let attrParam = this.selectAttrParams; + //console.log(this.currentSelectTreeData); + this.selectAttrParams.selectAttrOptionLoading = true; + let conditionMaps = {}; + if (attrParam.selectAttrQeury) { + Object.keys(attrParam.selectAttrQeury).forEach(key => { + conditionMaps['conditionMap[' + key + ']'] = attrParam.selectAttrQeury[key].trim(); + }); + } + conditionMaps['conditionMap[codeClassifyOid]'] = this.currentSelectTreeData.oid; + conditionMaps['conditionMap[btmTypeOid]'] = this.currentSelectTreeData.btmTypeOid; + listClassifyLinkAttr(conditionMaps).then(res => { + const data = res.data; + this.$nextTick(() => { + this.$refs[attrParam.ref].doLayout() + }); + //console.log(data.data); + this.selectAttrParams.selectAttrData = data.data; + this.selectAttrParams.selectAttrOptionLoading = false; + // 灏嗘悳绱㈡鍐呭缃┖ + this.selectAttrParams.selectAttrQeury = {}; + }) + }, + /** 鐐瑰嚮鎼滅储鍚庤Е鍙戣浜嬩欢 */ + selectAttrSearchChange(params, done) { + this.selectAttrParams.selectAttrQeury = params; + //console.log(params); //杩欏効闇�瑕佹敼 + this.loadlistClassifyLinkAttr(); + done(); + }, + /** 涓哄睘鎬ч�夊�肩晫闈紝鍗曞嚮琛ㄦ牸琛屾椂瑙﹀彂璇ヤ簨浠� */ + selectionAttrRowClick(row) { + this.$refs[this.selectAttrParams.ref].toggleSelection(); + this.selectAttrParams.selectionChangeAttrList = row; + this.$refs[this.selectAttrParams.ref].setCurrentRow(row); + this.$refs[this.selectAttrParams.ref].toggleRowSelection(row); //閫変腑褰撳墠琛� + }, + /** 灞炴�у彇鍊煎綋鍓嶉�変腑琛屽彂鐢熷彉鍖栨椂瑙﹀彂 */ + selectionChangeAttr(list) { + this.selectAttrParams.selectionChangeAttrList = list; + this.$refs[this.selectAttrParams.ref].setCurrentRow(this.selectAttrParams.selectionChangeAttrList[list.length - 1]); + }, + /** 閲嶇疆浣嶅睘鎬ч�夊彇鍊艰〃鏍肩殑鎼滅储妗嗕箣鍚庣殑鍥炶皟 */ + searchAttrReset() { + this.selectAttrParams.selectAttrQeury = {}; + this.loadlistClassifyLinkAttr() + }, + /** 涓哄睘鎬ч�夊彇鍊间箣鍚庣殑鍥炴樉 */ + selectedListClassifyLinkAttr() { + if (this.selectAttrParams.selectionChangeAttrList.length != 1) { + this.$message.warning("璇烽�夋嫨涓�鏉℃暟鎹�!"); + return false; + } + const attr = this.selectAttrParams.selectionChangeAttrList[0]; + //璋冪敤瀛愮粍浠跺苟浼犻�掑綋鍓嶉�変腑鐨勫弬鏁板�硷紝瀹炵幇鍥炴樉 + this.form = Object.assign({}, this.form, { + referAttributeId: attr.id || '', + referAttributeName: attr.name || attr.id, + referCodeClassifyOid: this.currentSelectTreeData.key || '', + referCodeClassifyOidName: this.currentSelectTreeData.title || '', + }) + this.isShowSelectAttrOption = false; + }, + + + /** 鍩虹鐮佹琛ㄤ腑鐨勭爜鍊肩鐞嗙殑鐩稿叧鏂规硶 */ + /** 鐮佸�肩鐞嗗脊绐楁帶鍒�*/ + openBasicSecCodeValueMgr(row) { + //褰撳墠涓哄浐瀹氱爜娈电爜鍊肩鐞嗙爜鍊肩鐞� + if (row.secType === "codefixedsec") { + this.isShowFixedForm = true; + this.loadFixedValueTableData(row); + } else { + //鍒嗙被鐮佹 + this.isShowFixedForm = false; + this.loadClassifyValueData(row); + } + this.codefixedsecOrCodeclassifysec = row; + this.isShowBasicSecCodeValueMgr = true; + }, + /** 鍔犺浇鍥哄畾鐮佹鐮佸�艰〃鏁版嵁*/ + loadFixedValueTableData(row) { + this.fixedValueOptionLoading = true; + gridCodeFixedValue(1, -1, {"codeFixedSecOid": row.oid}).then(res => { + this.fixedValueData = res.data.data.records; + //console.log(this.fixedValueData); + this.fixedValueOptionLoading = false; + }) + }, + /** 鍗曞嚮鍥哄畾鐮佹鐨勭爜鍊艰〃涓鏃惰Е鍙戠殑浜嬩欢*/ + selectedCodeValueRow(row) { + //console.log(row); + this.selectedFixedOrCodeclassifyValue = row; + this.codeFixdForm.id = row.id; + this.codeFixdForm.description = row.description; + this.codeFixdForm.codeFixedSecOid = row.codefixedsecoid; + }, + /** 鏂板鐮佸��*/ + addCodeSecValue(condition) { + if (condition === "codefixedsec") { + if (!this.tipsCodeSecValueMessage(this.codeFixdForm.id)) { + return; + } + this.codeFixdForm.codeFixedSecOid = this.codefixedsecOrCodeclassifysec.oid; + addSaveCodeFixedValue(this.codeFixdForm).then(() => { + this.loadFixedValueTableData({"oid": this.codefixedsecOrCodeclassifysec.oid}); + this.clearFixedOrClassifyForm('codefixedsec'); this.$message({ type: "success", message: "鎿嶄綔鎴愬姛!" @@ -253,136 +1490,1560 @@ }, error => { window.console.log(error); }); - }, - //鍏嬮殕 - cloneCodeSetting() { - if (this.selectionList.length === 0) { - this.$message.warning("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�!"); + } else { + if (!this.tipsCodeSecValueMessage(this.codeClassifyForm.id)) { return; } - if (this.selectionList.length > 1) { - this.$message.warning("姣忔鍙兘閫夋嫨涓�鏉℃暟鎹�!"); - return; - } - localStorage.setItem("cloneOid",this.selectionList[0].oid) - this.cloneSettingBox = true; - }, - - // 娣诲姞 - rowSave(row, done, loading) { - add(row).then(() => { - this.onLoad(this.page); + this.codeClassifyForm.codeClassifySecOid = this.codefixedsecOrCodeclassifysec.oid; + // console.log(this.codeClassifyForm); + addSaveCodeClassifyValue(this.codeClassifyForm).then(() => { + this.loadClassifyValueData({"oid": this.codefixedsecOrCodeclassifysec.oid}); + this.clearFixedOrClassifyForm('codeclassifyvaluesec'); this.$message({ type: "success", message: "鎿嶄綔鎴愬姛!" }); - done(); }, error => { - loading(); + this.$confirm(error, { + confirmButtonText: "纭畾", + type: "error", + }) + }); + } + }, + /** 娓呯┖鐮佸�艰〃鍗� */ + clearFixedOrClassifyForm(condition) { + //鐐瑰嚮鍙栨秷鏃舵竻绌鸿〃鍗曚笌褰撳墠閫変腑鐨勭爜鍊硷紝骞剁鐢ㄦ寜閽� + this.selectedFixedOrCodeclassifyValue = ''; + //console.log(condition); + if (condition === "close") { + this.codeFixdForm = this.$options.data().codeFixdForm; + this.codeClassifyForm = this.$options.data().codeClassifyForm; + } + if (condition === "codefixedsec") { + this.codeFixdForm.description = ''; + this.codeFixdForm.codeFixedSecOid = ''; + } else { + this.codeClassifyForm = this.$options.data().codeClassifyForm; + } + }, + /** 娣诲姞鎴栦慨鏀圭爜鍊间箣鍓嶅鐮佸�奸暱搴︽牴鎹鍒欒繘琛屾牎楠� */ + tipsCodeSecValueMessage(id) { + if (id.trim() == '') { + this.$message.warning("鐮佸�间笉鑳戒负绌猴紒"); + return false; + } + if (id.trim().length > this.codefixedsecOrCodeclassifysec.codeSecLength) { + this.$message.warning("鐮佸�奸暱搴︿笉鑳藉ぇ浜�" + this.codefixedsecOrCodeclassifysec.codeSecLength); + return false; + } + return true; + }, + /** 淇敼鐮佸�� */ + editCodeSecValue(condition) { + if (condition == 'codefixedsec') { + if (!this.tipsCodeSecValueMessage(this.codeFixdForm.id)) { + return; + } + //浠ュ墠鏄洿鎺ユ妸褰撳墠閫変腑琛岀殑鎵�鏈夋暟鎹兘杩涜鎻愪氦锛屼絾鍏跺疄鍙渶瑕佷紶杈撲竴浜涘繀瑕佸弬鏁板嵆鍙紝杩欏効鍋氫簡淇敼锛岄渶瑕佷紶鍏朵粬鍙傛暟鐨勮鑷娣诲姞 + let editData = { + "oid": this.selectedFixedOrCodeclassifyValue.oid, + "ts": new Date().getTime(), + "description": this.codeFixdForm.description, + "id": this.codeFixdForm.id, + "codeFixedSecOid": this.selectedFixedOrCodeclassifyValue.codefixedsecoid + } + editCodeFixedValue(editData).then(() => { + this.loadFixedValueTableData({"oid": this.codefixedsecOrCodeclassifysec.oid}) + this.$message({ + type: "success", + message: "鎿嶄綔鎴愬姛!" + }); + }, error => { window.console.log(error); }); - }, - openEdit(row){ - this.$refs.crud.rowEdit(row,row.$index); - }, - // 淇敼 - rowUpdate(row, index, done, loading) { - row.ts = new Date().getTime; - update(row).then(() => { - this.onLoad(this.page); + } else { + if (!this.tipsCodeSecValueMessage(this.codeClassifyForm.id)) { + return; + } + this.codeClassifyForm.oid = this.selectedFixedOrCodeclassifyValue.attributes.oid; + // 鍒嗙被鐮佹锛屽瓙鍒嗙被鍜岀埗鍒嗙被涔嬮棿涓嶈兘鐩镐簰鏇存敼 + if (this.checkClassUpdate(this.codefixedsecOrCodeclassifysec.oid, this.codeClassifyForm.codeClassifySecOid)) { + return; + } + this.$delete(this.codeClassifyForm, "parentClassifyValueOid"); + editCodeClassifyValue(this.codeClassifyForm).then(() => { + this.loadClassifyValueData({"oid": this.codefixedsecOrCodeclassifysec.oid}) this.$message({ type: "success", message: "鎿嶄綔鎴愬姛!" }); - done(); }, error => { - loading(); - console.log(error); + window.console.log(error); }); - }, - // 鍒犻櫎 - handleDelete() { - if (this.selectionList.length === 0) { - this.$message.warning("璇烽�夋嫨鑷冲皯涓�鏉℃暟鎹�"); - return; - } - if (this.selectionList.length > 1) { - this.$message.warning("姣忔鍙兘閫夋嫨涓�鏉℃暟鎹�"); - return; - } - this.$confirm("纭畾灏嗛�夋嫨鏁版嵁鍒犻櫎?", { + } + + }, + /** 鍒犻櫎鐮佸�� */ + delCodeSecValue(condition) { + //鍥哄畾鐮佹鐮佸�煎垹闄� + if (condition == 'codefixedsec') { + //console.log(this.selectedFixedOrCodeclassifyValue.oid); + this.$confirm("鏄惁鍒犻櫎杩欐潯鏁版嵁锛熷鏋滆寮曠敤灏嗕笉鑳借鍒犻櫎锛�", { confirmButtonText: "纭畾", cancelButtonText: "鍙栨秷", type: "warning" }) .then(() => { - let ts = new Date().getTime(); - // 鍙敮鎸佹瘡娆″崟鏉¤褰曞垹闄� - let oid = this.selectionList[0].oid - return remove({oid: oid,ts: ts}); + let ts = new Date(this.selectedFixedOrCodeclassifyValue.ts).getTime(); + return deleteCodeFixedValue({"oid": this.selectedFixedOrCodeclassifyValue.oid, "ts": ts}); }) .then(() => { - this.onLoad(this.page); + this.selectedFixedOrCodeclassifyValue = ''; + this.loadFixedValueTableData({"oid": this.codefixedsecOrCodeclassifysec.oid}) + this.clearFixedOrClassifyForm('codefixedsec'); this.$message({ type: "success", message: "鎿嶄綔鎴愬姛!" }); - this.$refs.crud.toggleSelection(); }); - }, - //鎵撳紑淇敼 - beforeOpen(done, type) { - if (["edit", "view"].includes(type)) { - getDetail(this.form.oid).then(res => { - this.form = res.data.data; - }); + } else { + if (this.checkClassUpdate(this.codefixedsecOrCodeclassifysec.oid, this.codeClassifyForm.codeClassifySecOid)) { + return; } - done(); - }, - searchReset() { - this.query = {}; - this.onLoad(this.page); - }, - searchChange(params, done) { - this.query = params; - this.page.currentPage = 1; - this.onLoad(this.page, params); - done(); - }, - selectionChange(list) { - this.selectionList = list; - }, - selectionClear() { - this.selectionList = []; - this.$refs.crud.toggleSelection(); - }, - currentChange(currentPage){ - this.page.currentPage = currentPage; - }, - sizeChange(pageSize){ - this.page.pageSize = pageSize; - }, - refreshChange() { - this.onLoad(this.page, this.query); - }, - onLoad(page, params = {}) { - this.loading = true; - gridCodeRule(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => { - //console.log(res); - const data = res.data.data; - this.page.total = data.total; - this.data = data.records; - this.loading = false; - this.loadBasic(data.records[0]) - this.selectionClear(); + //鍒嗙被鐮佹鐮佸�煎垹闄� + this.$confirm("鏄惁鍒犻櫎杩欐潯鏁版嵁锛熷鏋滆寮曠敤灏嗕笉鑳借鍒犻櫎锛�", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning" + }) + .then(() => { + let ts = new Date(this.selectedFixedOrCodeclassifyValue.ts).getTime(); + return deleteCodeClassifyValue({"oid": this.selectedFixedOrCodeclassifyValue.oid, "ts": ts}); + }) + .then(() => { + this.selectedFixedOrCodeclassifyValue = ''; + this.loadClassifyValueData({"oid": this.codefixedsecOrCodeclassifysec.oid}) + this.clearFixedOrClassifyForm('codeclassifyvalue'); + this.$message({ + type: "success", + message: "鎿嶄綔鎴愬姛!" + }); + }); + } + }, + /** 瀵瑰浐瀹氱爜鍊艰〃杩涜锛氫笂绉汇�佷笅绉汇�佺Щ闄ゆ搷浣�*/ + codeFixedValueOpetion(condition, row) { + //console.log(this.fixedValueData[row.$index].orderNum); + const index = row.$index; + if (condition == 'up') { + //瀵筼rdeNum鎺掑簭瀛楁杩涜璋冩暣 + this.fixedValueData[index].orderNum = this.fixedValueData[index].orderNum - 1 + this.fixedValueData[index - 1].orderNum = this.fixedValueData[index].orderNum + 1 + //褰撲笅鏍囧噺鍘�1灏忎簬0鎴栬�卭rderNum瀛楁鍑忓幓1灏忎簬0鐨勬椂鍊欎笉鎵ц涓婄Щ鎿嶄綔 + if (index - 1 < 0 || this.fixedValueData[row.$index].orderNum - 1 < 0) { + return; + } + //璋冩暣鏁扮粍鍊奸『搴� + let tempOption = this.fixedValueData[index - 1]; + this.$set(this.fixedValueData, index - 1, this.fixedValueData[index]) + this.$set(this.fixedValueData, index, tempOption) + + //console.log(this.fixedValueData); + } else if (condition == 'down') { + //瀵筼rdeNum鎺掑簭瀛楁杩涜璋冩暣 + this.fixedValueData[index].orderNum = this.fixedValueData[index].orderNum + 1 + this.fixedValueData[index + 1].orderNum = this.fixedValueData[index].orderNum - 1 + //璋冩暣鏁扮粍鍊奸『搴� + let tempOption = this.fixedValueData[index + 1]; + this.$set(this.fixedValueData, index + 1, this.fixedValueData[index]); + this.$set(this.fixedValueData, index, tempOption) + } else { + for (let i = index + 1; i < this.fixedValueData.length - 1; i++) { + //console.log(this.fixedValueData[i].orderNum); + this.fixedValueData[i].orderNum = this.fixedValueData[i].orderNum - 1; + //console.log(this.fixedValueData[i].orderNum); + } + this.$delete(this.fixedValueData, index); + } + //console.log(this.fixedValueData); + }, + /** 瀵瑰垎绫荤爜鍊艰〃杩涜锛氫笂绉汇�佷笅绉汇�佺Щ闄ゆ搷浣�*/ + codeClassifyValueOpetion(condition) { + if (this.checkClassUpdate(this.codefixedsecOrCodeclassifysec.oid, this.codeClassifyForm.codeClassifySecOid)) { + return; + } + //姝ゅ娑夊強鍒版繁娴呮嫹璐濋棶棰橈紝浣嗘槸鎵ц涓婁笅绉讳繚瀛樻搷浣滀箣鍚庝細閲嶆柊鍔犺浇treedata锛屾墍浠ュ奖鍝嶄笉澶� + let currentTreeList = this.getCodeClassifyValueTreeData(); + let saveData = []; + // console.log(currentTreeList.treeList); + if (condition == 'up') { + if (currentTreeList.index - 1 >= 0) { + // 璋冩暣椤哄簭 + saveData[0] = currentTreeList.treeList[currentTreeList.index].attributes; + saveData[1] = currentTreeList.treeList[currentTreeList.index - 1].attributes; + saveData[0].orderNum = parseInt(saveData[0].orderNum) - 1; + saveData[1].orderNum = parseInt(saveData[1].orderNum) + 1; + this.saveCodeFixedOrClassifyValueOption('classifyValue', saveData); + } + } else { + if (currentTreeList.index + 1 < currentTreeList.treeList.length) { + // 璋冩暣椤哄簭 + saveData[0] = currentTreeList.treeList[currentTreeList.index].attributes; + saveData[1] = currentTreeList.treeList[currentTreeList.index + 1].attributes; + saveData[0].orderNum = parseInt(saveData[0].orderNum) + 1; + saveData[1].orderNum = parseInt(saveData[1].orderNum) - 1; + this.saveCodeFixedOrClassifyValueOption('classifyValue', saveData); + } + } + }, + /** 閫変腑琚皟鏁撮『搴忕殑涓や釜鏍戠殑鑺傜偣*/ + getCodeClassifyValueTreeData() { + const currentNodeTreeData = this.selectedFixedOrCodeclassifyValue; + /**鑰冭檻鍑犵鎯呭喌锛岀涓�绉嶅綋鍓嶄笂绉粅涓嬬Щ鎿嶄綔宸茬粡鏄竟鐣岋紝 + 涓嶉渶瑕佽鍋氬鐞嗭紝绗簩绉嶅綋鍓嶄负鏍戞牴鑺傜偣锛岀涓夌褰撳墠涓哄彾瀛愯妭鐐� + */ + //璇存槑鏄牴鑺傜偣锛岀洿鎺ユ壘鍐嶅垽鏂槸鍚︽槸杈圭晫鍊� + if (currentNodeTreeData.parentId.trim() == '') { + return this.findTreeIndex(this.classifyValueTreeData, currentNodeTreeData.oid, true); + } else { + //璇存槑涓嶆槸鏍硅妭鐐�,鍏堟壘鍒扮埗鑺傜偣鍐嶆壘鍒板瓙鑺傜偣,鍒ゆ柇鏄惁鏄竟鐣屽�� + return this.findTreeIndex(this.classifyValueTreeData, currentNodeTreeData.parentId, false); + } + }, + /** + * 鎵惧墠涓�涓拰鍚庝竴涓厓绱� + * @treeList 鏌ユ壘鐨勬暟缁� + * @conditionOid 鐢ㄦ潵鏌ユ壘鍒ゆ柇鐨勬潯浠� + * @isTreeRoot 鏄惁鐖惰妭鐐� + * @rreturn 杩斿洖鐩搁偦鐨勮妭鐐� + */ + findTreeIndex(treeList, conditionOid, isTreeRoot) { + for (let index = 0; index < treeList.length; index++) { + if (treeList[index].oid == conditionOid) { + if (isTreeRoot) { + let resData = { + "index": index, + "treeList": treeList, + } + return resData; + } else { + return this.findTreeIndex(this.classifyValueTreeData[index].children, this.selectedFixedOrCodeclassifyValue.oid, true); + } + } + } + }, + /** 涓婄Щ涓嬬Щ绛夋搷浣滅殑淇濆瓨*/ + async saveCodeFixedOrClassifyValueOption(condition, editOrderNumdata) { + //淇濆瓨瀵瑰浐瀹氱爜娈电爜鍊肩殑涓婄Щ涓嬬Щ绉诲嚭绛夋搷浣� + if (condition == "fixedValue") { + let data = { + "codeFixedSecOid": this.codefixedsecOrCodeclassifysec.oid, + "dtoList": JSON.stringify(this.fixedValueData), + } + saveOrder(data).then(() => { + //鎵ц瀹屼繚瀛樹箣鍚庡皢褰撳墠閫変腑鐨勫璞℃竻绌� + this.selectedFixedOrCodeclassifyValue = ''; + this.$message({ + type: "success", + message: "淇濆瓨鎴愬姛!" + }); + }, error => { + window.console.log(error); + }); + } else { + //淇濆瓨瀵瑰垎绫荤爜鍊肩爜娈电爜鍊肩殑涓婄Щ涓嬬Щ绉诲嚭绛夋搷浣� + await saveCodeClassifyValueOrder({ + "codeClassifySecOid": this.codefixedsecOrCodeclassifysec.oid, + "dtoList": JSON.stringify(editOrderNumdata), + }).then(() => { + this.$message({ + type: "success", + message: "淇濆瓨鎴愬姛!" + }); + }, error => { + window.console.log(error); + }); + this.loadClassifyValueData({"oid": this.codefixedsecOrCodeclassifysec.oid}); + } + + }, + /** 鍒嗙被鐮佸�兼爲data鍔犺浇*/ + loadClassifyValueData(row) { + //console.log(row); + let condtionData = { + "queryAllLevel": true, + "loadType": "all", + "multipleSelect": false, + "isMuti": false, + "isQueryAllColumn": true, + 'conditionMap[codeclassifysecoid]': row.oid, + }; + treeCodeClassifyValue(condtionData).then(res => { + this.classifyValueTreeData = res.data; + //console.log(res.data); + }); + }, + /** 鍒嗙被鐮佸�兼爲鍗曞嚮鏃惰Е鍙戠殑浜嬩欢*/ + classisyValueTreeOnodeClick(node) { + //console.log(node); + this.selectedFixedOrCodeclassifyValue = node; + this.codeClassifyForm.codeClassifySecOid = node.attributes.codeClassifySecOid; + this.codeClassifyForm.id = node.attributes.id; + this.codeClassifyForm.name = node.attributes.name; + this.codeClassifyForm.parentClassifyValueOid = node.attributes.oid; + // console.log(this.codeClassifyForm); + }, + /** + * 鍒嗙被鐮佹鐮佸�硷紝淇敼銆佸垹闄ゃ�佷笂涓嬬Щ涔嬪墠锛屾鏌ユ槸鍚︿负瀛愬垎绫诲拰鐖跺垎绫讳箣闂寸浉浜掓洿鏀� + * @currentRowClassOid 褰撳墠閫変腑琛宱id + * @updateClassOid 瑕佷慨鏀圭殑鍒嗙被鐮佸�紀id + */ + checkClassUpdate(currentRowClassOid, updateClassOid) { + if (currentRowClassOid != updateClassOid) { + this.$message({ + type: "error", + message: "鎿嶄綔澶辫触銆愬瓙鍒嗙被涓庣埗鍒嗙被涔嬮棿涓嶈兘鐩镐簰淇敼鐮佸�笺��!" }); } + return currentRowClassOid != updateClassOid; + }, + + /** 缂栫爜瑙勫垯鐩稿叧鏂规硶 */ + /** 鎵撳紑楂樼骇鏌ヨ绐楀彛 */ + openAdvancedQuery(condition) { + if (condition == 'codeRule') { + this.advancedQueryParam.options = [ + { + data: [], + title: '缂栧彿', + fieldType: 'text', + queryField: 'id', + }, { + data: [], + title: '鍚嶇О', + fieldType: 'text', + queryField: 'name', + }, { + data: [], + title: '鎻忚堪', + fieldType: 'text', + queryField: 'description', + }, { + data: [ + // { + // key: '缂栬緫涓�', + // value: 'Editing', + // }, + // { + // key: '宸插彂甯�', + // value: 'Released', + // }, + // { + // key: '鍋滅敤', + // value: 'Disabled', + // }, + ], + title: '鐘舵��', + fieldType: 'combox', + queryField: 'lcStatus', + comboxKey: 'codeSearchLCStatus', + }, + ] + } else { + this.advancedQueryParam.options = [ + { + data: [], + title: '鐮佹缂栧彿', + fieldType: 'text', + queryField: 'id', + }, { + data: [], + title: '鐮佹鍚嶇О', + fieldType: 'text', + queryField: 'name', + }, { + data: [], + title: '鎻忚堪', + fieldType: 'text', + queryField: 'description', + }, { + data: [], + title: '鐮佹绫诲瀷', + fieldType: 'combox', + queryField: 'secType', + comboxKey: 'codeSecType', + } + ] + } + this.advancedQueryParam.currentOpen = condition; + this.advancedQueryParam.advancedQuerySettingBox = true; + }, + /** 鏌ヨ浣跨敤鑼冨洿*/ + handleRange() { + if (!this.tipsMessage(this.selectionList)) { + return; + } + this.codeRangeSettingBox = true; + this.getRangeCodeList() + }, + /** 鍔犺浇浣跨敤鑼冨洿鍒楄〃*/ + getRangeCodeList() { + this.dialogLoading = true; + if (this.selectionList[0].oid == null) { + this.$message.error("鏈幏鍙栧埌鍙傛暟!"); + } + + listUseRange(this.selectionList[0].oid).then(res => { + this.useRangeData = res.data.data; + //console.log(this.useRangeData); + this.dialogLoading = false; + }); + }, + /** 鍒锋柊浣跨敤鑼冨洿鍒楄〃*/ + refreshUseRangeChange() { + this.getRangeCodeList(); + }, + /** 淇敼瑙勫垯鐘舵��:鍚敤銆佸仠鐢ㄣ�佸彂甯� */ + updateStatus(oid, update) { + updateStatus({"oid": oid, "ts": new Date().getTime, "update": update}).then(() => { + this.onLoad(this.page); + this.$message({ + type: "success", + message: "鎿嶄綔鎴愬姛!" + }); + }, error => { + window.console.log(error); + }); + }, + /** 鍙戝竷缂栫爜瑙勫垯 */ + async enableOrDeactivatse(oid, update) { + if (update === "release") { + // 閬垮厤鐢ㄦ埛閲嶅鐐瑰嚮鎸夐挳 + this.releadDisabled = true; + await checkLikeCodeRule(oid).then(res => { + if (res.data.code === 200) { + this.updateStatus(oid, update); + } + }).catch(err => { + this.releadDisabled = false; + if (err.data.code == 400) { + this.$confirm(err.message, '鎻愮ず', { + distinguishCancelAndClose: true, + confirmButtonText: '缁х画鍙戝竷', + cancelButtonText: '鍙栨秷' + }).then(() => { + this.updateStatus(oid, update); + this.releadDisabled = false; + }).catch(action => { + this.releadDisabled = false; + this.$message({ + type: 'info', + message: '鍙栨秷鍙戝竷!' + }); + }); + } + }); + } else { + this.updateStatus(oid, update); + } + }, + /** 鎵撳紑缂栫爜瑙勫垯鍏嬮殕瀵硅瘽妗�*/ + openCodeRuleDialog() { + if (!this.tipsMessage(this.selectionList)) { + return; + } + this.cloneSettingBox = true; + this.cloneCodeRuleForm.id = this.selectionList[0].id; + this.cloneCodeRuleForm.name = this.selectionList[0].name; + this.cloneCodeRuleForm.description = this.selectionList[0].description; + this.loadBasic({"oid": this.selectionList[0].oid}); + }, + /** 鍏嬮殕缂栫爜瑙勫垯淇濆瓨鍔熻兘*/ + saveCloneCodeRule() { + let form = this.cloneCodeRuleForm; + if (form.id.trim() == '') { + this.$message.warning("缂栧彿涓嶈兘涓虹┖!"); + return; + } + if (form.name.trim() == '') { + this.$message.warning("鐮佸�间笉鑳戒负绌�!"); + return; + } + this.selectionList[0].oid = ''; + this.selectionList[0].id = form.id; + this.selectionList[0].name = form.name; + this.selectionList[0].description = form.description; + this.selectionList[0].createTime = new Date().getTime(); + this.selectionList[0].ts = new Date(this.selectionList[0].ts).getTime(); + this.selectionList[0].lcStatus = 'Editing'; + let data = Object.assign({}, this.selectionList[0], {elements: this.cloneData}); + clone(data).then(() => { + this.cloneSettingBox = false; + this.onLoad(this.page); + this.$message({ + type: "success", + message: "鎿嶄綔鎴愬姛!" + }); + }, error => { + window.console.log(error); + }); + //console.log(data); + }, + /** 鎵撳紑浠庡叾浠栫紪鐮佽鍒欎腑鍏嬮殕鐮佹瀵硅瘽妗�*/ + openOtherCodeRuleDialog() { + if (!this.tipsMessage(this.selectionList)) { + return; + } + if (this.selectionList[0].lcStatus != 'Editing') { + this.$message.warning("缂栫爜瑙勫垯宸茶寮曠敤锛屼笉鍏佽缂栬緫!"); + return; + } + this.cloneOtherCodeRuleSettingBox = true; + }, + //** 浠庡叾浠栫紪鐮佽鍒欎腑鍏嬮殕鐮佹瀵硅瘽妗�-鍗曞嚮缂栫爜瑙勫垯瀹炵幇琛岄�夋嫨*/ + codeOtherCloneRuleRowClick(row) { + this.$refs.crudCloneCodeRuleOther.toggleSelection(); + this.selectionOtherCloneCodeRuleList = row; + this.$refs.crudCloneCodeRuleOther.setCurrentRow(row); + this.$refs.crudCloneCodeRuleOther.toggleRowSelection(row); //閫変腑褰撳墠琛� + this.loadBasic(row); + }, + /** 浠庡叾浠栫紪鐮佽鍒欎腑鍏嬮殕鐮佹瀵硅瘽妗�-鍗曞嚮鍩虹鐮佹瀹炵幇琛岄�夋嫨*/ + codeOtherCloneBasicRowClick(row) { + this.$refs.crudCloneCodeBasicOther.toggleSelection(); + this.selectionOtherCloneCodeBasicList = row; + this.$refs.crudCloneCodeBasicOther.setCurrentRow(row); + this.$refs.crudCloneCodeBasicOther.toggleRowSelection(row); //閫変腑褰撳墠琛� + }, + /** 浠庡叾浠栬鍒欏厠闅嗙爜娈电晫闈腑缂栫爜瑙勫垯褰撳墠閫変腑琛屽彉鍖栫殑鏃跺�欒Е鍙�*/ + selectionOtherCloneCodeRuleChange(list) { + //console.log(list); + this.selectionOtherCloneCodeRuleList = list; + this.$refs.crudBasic.setCurrentRow(this.selectionBasicList[list.length - 1]); + if (list == '') { + this.basicData = []; + } + if (this.selectionOtherCloneCodeRuleList.length > 0) { + this.loadBasic(this.selectionOtherCloneCodeRuleList[list.length - 1]); + } + }, + selectionOtherCloneCodeBasicChange(list) { + this.selectionOtherCloneCodeBasicList = list; + this.$refs.crudCloneCodeBasicOther.setCurrentRow(this.selectionOtherCloneCodeBasicList[list.length - 1]); + }, + /** 浠庡叾浠栫紪鐮佽鍒欎腑鍏嬮殕鐮佹淇℃伅*/ + saveOtherCodeBasic() { + let oid = this.selectionList[0].oid; + let fromDialogPkCodebasic = this.selectionOtherCloneCodeBasicList; + if (fromDialogPkCodebasic.length <= 0) { + this.$message.warning("璇烽�夋嫨鐮佹鏁版嵁!"); + return; + } + let res = fromDialogPkCodebasic.filter((item) => { + return item.pkCodeRule == oid; + }); + if (res != '') { + this.$message.warning("闇�瑕佸厠闅嗙殑缂栫爜瑙勫垯涓庤鍏嬮殕鐨勭紪鐮佽鍒欑浉鍚�!"); + return; + } + let oidArr = []; + fromDialogPkCodebasic.forEach(ele => { + oidArr.push(ele.oid); + }); + let data = { + "pkCodeRule": oid, + "oidArr": oidArr.join(","), + } + //console.log(data); + cloneCodeBasic(data).then(() => { + this.cloneOtherCodeRuleSettingBox = false; + this.onLoad(this.page); + this.$message({ + type: "success", + message: "鎿嶄綔鎴愬姛!" + }); + }, error => { + window.console.log(error); + }); + }, + /** 娓呯┖鐮佸��*/ + clearAllCodeSec() { + if (this.selectionList.length == 0) { + this.$message.warning("娌℃湁閫夋嫨鏁版嵁!"); + return; + } + if (this.selectionList.length != 1) { + this.$message.warning("姣忔鍙兘閫夋嫨涓�鏉℃暟鎹�!"); + return; + } + let currentData = this.selectionList[0]; + this.$confirm("纭畾瑕佹竻绌虹爜鍊硷紵濡傛灉娓呯┖灏嗕笉鑳借鎭㈠锛岃璋ㄦ厧锛�", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning" + }) + .then(() => { + let ts = new Date(currentData.ts).getTime(); + return clearAllCode({"oid": currentData.oid, "ts": ts}); + }) + .then(() => { + this.this.onLoad(this.page); + this.$message({ + type: "success", + message: "鎿嶄綔鎴愬姛!" + }); + }); + }, + /** 娣诲姞*/ + rowSave(row, done, loading) { + console.log(row); + add(row).then(() => { + this.onLoad(this.page); + this.$message({ + type: "success", + message: "鎿嶄綔鎴愬姛!" + }); + done(); + }, error => { + loading(); + window.console.log(error); + }); + }, + openEdit(row) { + this.$refs.crud.rowEdit(row, row.$index); + }, + /** 淇敼*/ + rowUpdate(row, index, done, loading) { + row.ts = new Date().getTime; + update(row).then(() => { + this.onLoad(this.page); + this.$message({ + type: "success", + message: "鎿嶄綔鎴愬姛!" + }); + done(); + }, error => { + loading(); + console.log(error); + }); + }, + /** 鍒犻櫎*/ + handleDelete() { + if (!this.tipsMessage(this.selectionList)) { + return; + } + this.$confirm("纭畾灏嗛�夋嫨鏁版嵁鍒犻櫎?", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning" + }) + .then(() => { + // 鍙敮鎸佹瘡娆″崟鏉¤褰曞垹闄� + let oid = this.selectionList[0].oid; + let ts = new Date(this.selectionList[0].ts).getTime(); + return remove({oid: oid, ts: ts}); + }) + .then(() => { + this.onLoad(this.page); + this.$message({ + type: "success", + message: "鎿嶄綔鎴愬姛!" + }); + this.$refs.crud.toggleSelection(); + }); + }, + // 鎵撳紑淇敼*/ + beforeOpen(done, type) { + if (["edit", "view"].includes(type)) { + getDetail(this.ruleForm.oid).then(res => { + this.ruleForm = res.data.data; + }); + } + done(); + }, + searchReset() { + this.query = {}; + this.onLoad(this.page); + }, + searchChange(params, done) { + this.page.currentPage = 1; + // 澶氫釜conditionMap杩欐牱浼犲弬锛屽揩閫熸煡璇㈤粯璁ら噰鐢ㄦā绯婃煡璇� + let requestData = {}; + if (params) { + Object.keys(params).forEach(key => { + requestData["conditionMap" + '[' + key + '_like]'] = params[key].trim(); + }); + } + this.query = requestData; + this.onLoad(this.page); + done(); + }, + /** 缂栫爜瑙勫垯褰撳墠閫変腑琛屽彉鍖栫殑鏃跺�欒Е鍙�*/ + selectionChange(list) { + this.selectionList = list; + //褰撳墠閫変腑琛屼负绌虹殑鏃跺�欏氨灏嗙爜娈电鐞嗚〃鏍兼暟鎹疆绌�,骞剁鐢ㄧ浉鍏冲姛鑳� + if (this.selectionList.length <= 0) { + this.hideBasicTable(false); + } + if (this.selectionList.length > 0) { + this.$refs.crud.setCurrentRow(this.selectionList[list.length - 1]); + this.currentCodeRuleOid = this.selectionList[list.length - 1].oid; + this.currentRuleLcStatus = this.selectionList[list.length - 1].lcStatus; + this.loadBasic(this.selectionList[list.length - 1]); + } + }, + /** 鍗曞嚮缂栫爜瑙勫垯瀹炵幇琛岄�夋嫨*/ + codeRuleRowClick(row) { + // console.log(this.currentRuleLcStatus); + this.$refs.crud.toggleSelection(); + this.$refs.crud.toggleRowSelection(row); //閫変腑褰撳墠琛� + + }, + selectionClear() { + this.selectionList = []; + this.$refs.crud.toggleSelection(); + }, + currentChange(currentPage) { + this.page.currentPage = currentPage; + }, + sizeChange(pageSize) { + this.page.pageSize = pageSize; + }, + refreshChange() { + this.onLoad(this.page, this.query); + }, + onLoad(page, params = {}) { + this.loading = true; + gridCodeRule( + page.currentPage, + page.pageSize, + this.query + ).then(res => { + //console.log(res.data); + const data = res.data.data; + this.page.total = data.total; + this.data = data.records; + this.loading = false; + // 鏌ヨ鐨勫�间负绌烘椂锛岃灏嗙爜娈电鐞嗙浉鍏崇殑鍐呭绂佺敤 + if (data.records.length <= 0) { + this.hideBasicTable(false); + return; + } + this.loadBasic(this.data[0]) + this.$nextTick(() => { + this.$refs.crud.toggleRowSelection(this.data[0]); + this.$refs.crud.setCurrentRow(this.data[0]); + }) + this.selectionList = data.records[0]; + //this.selectionClear(); + }); + }, + + + /** 鍩虹鐮佹鐩稿叧鏂规硶 */ + /** 闃叉鎵撳紑杩囩紪杈戠獥鍙d箣鍚庤〃鍗曚腑瀛樺湪鍊硷紝鎵�浠ラ渶瑕佹竻绌�,骞跺垵濮嬪寲form琛ㄥ崟灞炴��*/ + clearBasicAddForm() { + this.form = this.$options.data().form; + // this.changeSectypeFormItems(null); + }, + /** 鎵撳紑鏂板绐楀彛*/ + openAddBasicCodeSec() { + if (!this.tipsMessage(this.selectionList)) { + return; + } + if (this.selectionList[0].lcStatus != 'Editing') { + this.$message.warning('缂栫爜瑙勫垯鐘舵�佷笉鏄�"缂栬緫涓�"锛屼笉鍏佽缂栬緫鐮佹!'); + return; + } + this.openBasicDialog('add', null); + this.loadCodeSecType(); + }, + /** 鎵撳紑鏂板鎴栫紪杈戝熀纭�鐮佹瀵硅瘽妗�*/ + openBasicDialog(condition, row) { + //console.log(row); + if (condition == 'add') { + this.basicSecDialogTitle = '娣诲姞鐮佹淇℃伅'; + this.showbtn = true; + this.basicSecOnlyRead = false; + } else if (condition == 'edit') { + if (this.selectionList.length != 1) { + this.$message.warning('璇烽�夋嫨涓�鏉$紪鐮佽鍒欐暟鎹�!'); + return; + } + this.basicSecDialogTitle = '淇敼鐮佹淇℃伅'; + this.showbtn = true; + this.basicSecOnlyRead = false; + //涓篺orm缁戝畾鍊� + } else { + this.basicSecDialogTitle = '鏌ョ湅鐮佹淇℃伅'; + this.showbtn = false; + this.basicSecOnlyRead = true; + } + //console.log(this.form); + this.changeSectypeFormItems(condition == 'add' ? null : row); + this.addBasicCodeSettingBox = true; + }, + /** 鏂板鍩虹鐮佹*/ + async saveOrEditBasicCode() { + if (this.selectionList[0].oid == null || this.selectionList[0].oid == '') { + this.$message.warning('缂哄け蹇呰鍙傛暟锛岃閲嶆柊閫夋嫨缂栫爜瑙勫垯鍚庡啀璇�!'); + return; + } + this.form.pkCodeRule = this.selectionList[0].oid; + if (this.form.oid == '' || this.form.oid == null) { + if (this.checkForm()) { + await addSave(this.form).then(() => { + this.$message({ + type: "success", + message: "鎿嶄綔鎴愬姛!" + }); + }, error => { + window.console.log(error); + }); + // 鍏抽棴瀵硅瘽妗� + this.addBasicCodeSettingBox = false + } + // 鐐瑰嚮鏂板鍩虹鐮佹,鍏抽棴绐楀彛涔嬪悗瑙﹀彂閲嶆柊鍔犺浇 + this.loadBasic(this.selectionList[0]); + } else { + // 鍙兘鍙傜収寮曠敤鐨勪笟鍔$被鍨嬩細鍙戠敓鏀瑰彉鎵�浠ヨ繖鍎跨洿鎺ュreferConfig鐨刯son杩涜鏀瑰彉 + if (this.form.referConfig === "coderefersec" || this.form.referConfig != undefined) { + let referConfig = JSON.parse(this.form.referConfig); + referConfig.referType = this.form.referBtmId; + referConfig.referTypeName = this.form.referBtmName; + this.form.referConfig = JSON.stringify(referConfig); + // let referValueInfo = JSON.parse(this.form.referValueInfo); + // referValueInfo.referType = this.form.referBtmId; + } + editSave(this.form).then(() => { + this.$message({ + type: "success", + message: "鎿嶄綔鎴愬姛!" + }); + }, error => { + window.console.log(error); + }); + this.loadBasic(this.selectionList[0]); + // 鍏抽棴瀵硅瘽妗� + this.addBasicCodeSettingBox = false + } + }, + /** 鍥犱负elementui鐨勮〃鍗曟牎楠岃缃笉涓婃墍浠ラ噰鐢ㄥ垽鏂殑鏂瑰紡鏉ュ仛琛ㄥ崟妫�楠屾柟寮�*/ + checkForm() { + let form = this.form; + //console.log(form); + const regNumber = /^[0-9]+\.{0,1}[0-9]*$/; //鏁板瓧鎴栧皬鏁版鍒欐牎楠� + const regPos = /^[0-9]*[1-9][0-9]*$/; //闈炶礋鏁存暟姝e垯鏍¢獙 + const tipsMsg = "蹇呭~椤逛笉鑳戒负绌�"; + if (form.id == '') { + this.$message.warning("(鐮佹缂栧彿)" + tipsMsg); + this.$refs.id.$el.querySelector('input').focus(); + return false; + } + if (form.name == '') { + this.$message.warning("(鐮佹鍚嶇О)" + tipsMsg); + this.$refs.name.$el.querySelector('input').focus(); + return false; + } + if (form.secType == '') { + this.$message.warning("(鐮佹绫诲瀷)" + tipsMsg); + this.$refs.secType.$el.querySelector('select').focus(); + return false; + } + if (form.secType === 'codefixedsec') { + //鍥哄畾鐮佹 + if (form.codeSecLengthType == '') { + this.$message.warning("(鐮佹闀垮害绫诲瀷)" + tipsMsg); + // this.$refs.codeSecLengthType.$el.querySelector('select').focus(); + return false; + } + if (form.codeSecLength == '') { + this.$message.warning("(鐮佹闀垮害)" + tipsMsg); + this.$refs.codeSecLength.$el.querySelector('input').focus(); + return false; + } + if (!regNumber.test(form.codeSecLength)) { + this.$message.warning("鐮佹鐨勯暱搴﹀繀椤讳负鏁板瓧鍊�"); + this.$refs.codeSecLength.$el.querySelector('input').focus(); + return false; + } + } else if (this.form.secType === 'codeattrsec') { + //灞炴�х爜娈� + if (form.referAttributeId == '') { + this.$message.warning('(灞炴��)' + tipsMsg); + this.$refs.referAttributeId.$el.querySelector('input').focus(); + return false; + } + } else if (this.form.secType === 'codeserialsec') { + //console.log(form.codeFillType); + //娴佹按鐮佹 + if (form.codeSecLength == '') { + this.$message.warning('(鐮佹鐨勯暱搴�)' + tipsMsg); + this.$refs.seriaCodeSecLength.$el.querySelector('input').focus(); + return false; + } + if (!regNumber.test(form.codeSecLength)) { + this.$message.warning('鐮佹鐨勯暱搴﹀繀椤讳负鏁板瓧鍊�'); + this.$refs.seriaCodeSecLength.$el.querySelector('input').focus(); + return false; + } + if (!regNumber.test(form.serialStart)) { + this.$message.warning('娴佹按鍙风殑璧峰鍊煎繀椤讳负鏁板瓧鍊�'); + this.$refs.serialStart.$el.querySelector('input').focus(); + return false; + } + if (!regNumber.test(form.serialStep)) { + this.$message.warning('娴佹按鐨勬闀垮繀椤讳负鏁板瓧鍊�'); + this.$refs.serialStep.$el.querySelector('input').focus(); + return false; + } + if (form.codeFillType == '') { + this.$message.warning('(缂栫爜琛ヤ綅鏂瑰紡)' + tipsMsg); + return false; + } + if (form.codeFillType != '涓嶈ˉ浣�' && form.codeFillSeparator == '') { + this.$message.warning('褰撹ˉ浣嶆柟寮忎负宸﹁ˉ浣嶆垨鑰呭彸琛ヤ綅鐨勬椂鍊欙紝琛ヤ綅瀛楃涓嶈兘涓虹┖'); + return false; + } + if (form.codeFillLength == '') { + this.$message.warning('濉厖闀垮害涓嶈兘涓虹┖'); + this.$refs.codeFillLength.$el.querySelector('input').focus(); + return false; + } + if (!regNumber.test(form.codeFillLength)) { + this.$message.warning('濉厖闀垮害蹇呴』涓烘暟瀛楀��'); + this.$refs.codeFillLength.$el.querySelector('input').focus(); + return false; + } + if (form.codeFillLimit == '') { + this.$message.warning('(娴佹按涓婇檺)' + tipsMsg); + this.$refs.codeFillLimit.$el.querySelector('input').focus(); + return false; + } + if (!regNumber.test(form.codeFillLimit)) { + this.$message.warning('娴佹按涓婇檺蹇呴』涓烘暟瀛楀��'); + this.$refs.codeFillLimit.$el.querySelector('input').focus(); + return false; + } + // if(form.codeFillFlag == '' || ){ + // this.$message.warning('(娴佹按鏄惁琛ョ爜)'+tipsMsg); + // return false; + // } + } else if (this.form.secType === 'codelevelsec') { + //灞傜骇鐮佹 + if (form.codeLevelType == '') { + this.$message.warning('(灞傜骇绫诲瀷)' + tipsMsg); + return false; + } + if (form.codeLevelType != 'code_level_min' && !regNumber.test(form.codeLevelValue)) { + this.$message.warning('(灞傜骇鐨勫��)鍙兘濉啓鏁板瓧'); + this.$refs.codeLevelValue.$el.querySelector('input').focus(); + return false; + } + if (form.valueCutType == '') { + this.$message.warning('(瀛楃鎴彇绫诲瀷)' + tipsMsg); + // this.$refs.valueCutType.$el.querySelector('select').focus(); + return false; + } + if (form.valueCutType != 'code_cut_none' && !regPos.test(form.valueCutLength)) { + this.$message.warning('(鍊兼埅鍙栭暱搴�)鍙兘濉啓姝f暣鏁�'); + this.$refs.valueCutLength.$el.querySelector('input').focus(); + return false; + } + } else if (this.form.secType === 'coderefersec') { + //寮曠敤鐮佹 + if (form.referBtmId == '') { + this.$message.warning('(鍙傜収寮曠敤鐨勪笟鍔$被鍨�)' + tipsMsg); + this.$refs.referBtmId.$el.querySelector('input').focus(); + return false; + } + if (form.referConfig == '') { + this.$message.warning('(鍙傜収閰嶇疆)' + tipsMsg); + this.$refs.referConfig.$el.querySelector('input').focus(); + return false; + } + } else if (this.form.secType === 'codedatesec') { + //鏃ユ湡鐮佹 + if (form.codeDateFormatStr == '') { + this.$message.warning('(鏃ユ湡鏍煎紡)' + tipsMsg); + this.$refs.codeDateFormatStr.$el.querySelector('input').focus(); + return false; + } + } else if (this.form.secType === 'codeclassifysec') { + //鍒嗙被鐮佹 + if (form.codeSecLengthType == '') { + this.$message.warning('(鐮佹闀垮害绫诲瀷)' + tipsMsg); + return false; + } + if (form.codeSecLength == '') { + this.$message.warning('(鐮佹闀垮害)' + tipsMsg); + this.$refs.classCodeSecLength.$el.querySelector('input').focus(); + return false; + } + if (!regNumber.test(form.codeSecLength)) { + this.$message.warning('鐮佹鐨勯暱搴﹀繀椤讳负鏁板瓧鍊�'); + this.$refs.classCodeSecLength.$el.querySelector('input').focus(); + return false; + } + } else if (this.form.secType === 'codevariablesec') { + //鍙彉鐮佹 + if (form.codeSecLength == '') { + this.$message.warning('(鐮佹闀垮害)' + tipsMsg); + this.$refs.varCodeSecLength.$el.querySelector('input').focus(); + return false; + } + if (!regNumber.test(form.codeSecLength)) { + this.$message.warning('鐮佹鐨勯暱搴﹀繀椤讳负鏁板瓧鍊�'); + this.$refs.classCodeSecLength.$el.querySelector('input').focus(); + return false; + } + if (form.codeFillType == '') { + this.$message.warning('(缂栫爜琛ヤ綅鏂瑰紡)' + tipsMsg); + return false; + } + // console.log(form); + if (form.codeFillType != 'code_fill_none' && form.codeFillSeparator == '') { + this.$message.warning('褰撹ˉ浣嶆柟寮忎负宸﹁ˉ浣嶆垨鑰呭彸琛ヤ綅鐨勬椂鍊欙紝琛ヤ綅瀛楃涓嶈兘涓虹┖'); + return false; + } + } + return true; + }, + /** 鍒ゆ柇鏁版嵁鏄惁閫夋嫨浠ュ強鍙兘閫夋嫨鍗曟潯鏁版嵁*/ + tipsMessage(list) { + if (list.length != 1) { + this.$message.warning("璇烽�夋嫨涓�鏉℃暟鎹�!"); + return false; + } + return true; + }, + /** 鍩虹鐮佹鍒犻櫎*/ + deleteBasicCode() { + if (!this.tipsMessage(this.selectionBasicList)) { + return; + } + let oid = this.selectionBasicList[0].oid; + this.$confirm("鏄惁鍒犻櫎杩欐潯鏁版嵁锛熷鏋滆寮曠敤灏嗕笉鑳借鍒犻櫎锛�", { + confirmButtonText: "纭畾", + cancelButtonText: "鍙栨秷", + type: "warning" + }) + .then(() => { + let ts = new Date(this.selectionBasicList[0].ts).getTime(); + return deleteData({"oid": oid, "ts": ts}); + }) + .then(() => { + this.loadBasic({"oid": this.currentCodeRuleOid == null || this.currentCodeRuleOid == '' ? this.selectionList[0].oid : this.currentCodeRuleOid}); + this.$message({ + type: "success", + message: "鎿嶄綔鎴愬姛!" + }); + this.$refs.crudBasic.toggleSelection(); + }); + }, + /** 鐐瑰嚮瑙﹀彂鍔犺浇鍩虹鐮佹淇℃伅*/ + loadBasic(row) { + if (this.cloneSettingBox) { + this.cloneTableLoading = true; + } else { + this.loadingBasic = true; + } + // console.log(row.oid); + //瀛樺偍褰撳墠鍏宠仈鐨勭紪鐮佽鍒欑浉鍏充俊鎭� + if (row != '' || row != null) { + this.currentCodeRuleOid = row.oid; + this.currentRuleLcStatus = row.lcStatus; + this.sendGridCodeBasicSec({"pkCodeRule": row.oid}, false); + } + }, + /** 鍙戦�佸姞杞藉熀纭�鐮佹鐨勮姹�*/ + sendGridCodeBasicSec(condition, isAdancedQuery/** 鏄惁楂樼骇鏌ヨ */) { + // 濡傛灉褰撳墠鍩虹鐮佹琛ㄤ腑鐨勬悳绱㈡寜閽闅愯棌锛屽氨闇�瑕佸湪姝ゅ紑鍚� + if (this.selectionList.length >= 0 && !this.$refs.crudBasic.option.column[0].search) { + this.hideBasicTable(true); + } + let conditionMaps = {}; + if (condition && !isAdancedQuery) { + Object.keys(condition).forEach(key => { + conditionMaps['conditionMap[' + key + ']'] = condition[key].trim(); + }); + } + if (isAdancedQuery) { + condition['conditionMap[pkCodeRule]'] = this.currentCodeRuleOid == null || this.currentCodeRuleOid == '' + ? this.selectionList[0].oid : this.currentCodeRuleOid; + } + gridCodeBasicSec(1, -1, isAdancedQuery ? condition : conditionMaps).then(res => { + const data = res.data.data; + if (this.cloneSettingBox) { + this.cloneData = data.records; + this.cloneTableLoading = false; + } else { + this.basicData = data.records; + // console.log(this.basicData); + this.loadingBasic = false; + } + }); + }, + /** 鍩虹鐮佹閫変腑鏃惰Е鍙�*/ + selectionBasicChange(list) { + this.selectionBasicList = list; + this.$refs.crudBasic.setCurrentRow(this.selectionBasicList[list.length - 1]); + }, + /** 鍩虹鐮佹琚崟鍑昏〃鏍艰鏃惰Е鍙�*/ + codeBasicSecRowClick(row) { + this.$refs.crudBasic.toggleSelection(); + this.selectionBasicList = row; + this.$refs.crudBasic.setCurrentRow(row); + this.$refs.crudBasic.toggleRowSelection(row); //閫変腑褰撳墠琛� + }, + basicSearchChange(params, done) { + this.sendGridCodeBasicSec(Object.assign(params, {"pkCodeRule": this.selectionList[this.selectionList.length - 1].oid}), false); + done(); + }, + basicSearchReset() { + this.sendGridCodeBasicSec({"pkCodeRule": this.selectionList[this.selectionList.length - 1].oid}, false); + }, + /** 涓婄Щ涓嬬Щ鍩虹鐮佹*/ + async upOrderNum(row) { + if (!this.tipsMessage(this.selectionList)) { + return; + } + if (this.selectionList[0].lcStatus != 'Editing') { + this.$message.warning("鍙湁缂栫爜瑙勫垯鐨勭姸鎬佹槸 [缂栬緫涓璢 鐨勬椂鍊欙紝鎵嶈兘璋冩暣鐮佹椤哄簭!"); + return; + } + if (row.oid == null || row.oid == '') { + this.$message.warning("鏈幏鍙栧埌蹇呭~鍙傛暟!"); + return; + } + await upOrderNum(row.oid).then(() => { + this.loadBasic(this.selectionList[0]); + this.$message({ + type: "success", + message: "鎿嶄綔鎴愬姛!" + }); + }) + }, + downOrderNum(row) { + //console.log(row.oid); + if (!this.tipsMessage(this.selectionList)) { + return; + } + let codeRuleOid = this.selectionList[0].oid; + if (this.selectionList[0].lcStatus != 'Editing') { + this.$message.warning("鍙湁缂栫爜瑙勫垯鐨勭姸鎬佹槸 [缂栬緫涓璢 鐨勬椂鍊欙紝鎵嶈兘璋冩暣鐮佹椤哄簭!"); + return; + } + if (row.oid == null || row.oid == '') { + this.$message.warning("鏈幏鍙栧埌蹇呭~鍙傛暟!"); + return; + } + downOrderNum(row.oid).then(() => { + this.loadBasic({"oid": codeRuleOid}); + this.$message({ + type: "success", + message: "鎿嶄綔鎴愬姛!" + }); + }) + }, + /** 鍩虹鐮佹鍒锋柊鏃舵煡璇�*/ + refreshChangeBasicSec() { + this.loadBasic(this.selectionList.at(-1)); + }, + /** 鎿嶄綔鍩虹鐮佹涓悳绱㈡竻绌虹瓑鎸夐挳鐨勬樉绀�/闅愯棌*/ + hideBasicTable(hideBoolean) { + this.$refs.crudBasic.option.refreshBtn = hideBoolean; + this.$refs.crudBasic.option.column[0].search = hideBoolean; + this.$refs.crudBasic.option.column[1].search = hideBoolean; + if (!hideBoolean) { + this.selectionList = []; + this.basicData = []; + } + }, + changeCutType(value) { + if (value != 'code_cut_none') { + if (this.form.valueCutLength == '') { + this.form.valueCutLength = 1; + } + } else { + this.form.valueCutLength = ''; + } + }, + + /** 绗竴灞傚璇濇鐩稿叧鏂规硶 */ + /** 鎵撳紑浜屽眰瀵硅瘽妗嗘柟娉�*/ + openAttrSelectOrGetValue(condition) { + if (condition === 'attr') { + this.isShowSelectAttrOption = true; + this.loadlistClassifyLinkAttr(); + } else if (condition === 'value') { + //鎵撳紑鍏紡缂栬緫妗嗭紝绗簩灞傚祵濂楀璇濇 + //this.$refs.formulaEditor.isShowformulaEdit = true; + this.formulaEditorParams.formulaEditorSettingBox = true; + } else if (condition === 'parentClassifySecOid') { + this.parentClsfyParams.isShowParentClassifySettingBox = true; + } else if (condition === 'referBtmId') { + this.referBtmDialogParams.selectReferBtmSettingBox = true; + // 璋冪敤瀛愮粍浠跺埛鏂拌〃鏍兼暟鎹� + this.$refs[this.referBtmDialogParams.ref].referBtmOnLoad(); + } else if (condition === 'referConfig') { + this.referConfigVisble = true; + this.referConfigOption = { + referBtmName: this.form.referBtmName, + referBtmId: this.form.referBtmId, + referConfig: this.form.referConfig || '', + } + this.$refs.referConfig.$el.querySelector('input').blur(); + } + }, + + /** 鐐瑰嚮杈撳叆妗嗙殑脳鍙凤紝娓呯┖杈撳叆妗嗕腑鐨勫唴瀹�*/ + clearAttrDataByIcon(condition) { + if (condition === 'attr') { + this.form.referAttributeName = ''; + this.form.referAttributeId = ''; + this.form.referCodeClassifyOid = ''; + this.form.referCodeClassifyOidName = ''; + } else if (condition === 'value') { + this.form.getValueClass = ''; + } else if (condition === 'parentClassifySecOid') { + this.form.parentClassifySecOid = ''; + } else if (condition === 'referBtmId') { + this.form.referBtmId = ''; + this.form.referBtmName = ''; + this.form.referConfig = ''; + } else if (condition === 'referConfig') { + this.form.referConfig = ''; + } + }, + /** 琛ヤ綅鏃剁殑瀛楃锛屽疄鐜板彲杈撳彲閫�*/ + inputSelectBlur(e) { + if (e.target.value) { + this.form.codeFillSeparator = e.target.value; + } + }, + /** 鐮佹绫诲瀷鏀瑰彉鏃讹紝澧炲姞瀵瑰簲鐨刦orm琛ㄥ崟涓殑灞炴��*/ + changeSectypeFormItems(row) { + //console.log(row); + if (func.isEmpty(this.enumParam.secTypeList) || this.enumParam.secTypeList.length == 0) { + this.loadCodeSecType(); + } + if (row != null) { + this.form = { + oid: row.oid, + id: row.id, //缂栧彿, + name: row.name,//鍚嶇О + secType: row.secType,//鐮佹绫诲瀷 + description: row.description,//鎻忚堪 + serialDependFlag: row.serialDependFlag == 'true' ? true : false,//鏄惁娴佹按渚濊禆 + serialDependOrder: row.serialDependOrder,//娴佹按渚濊禆椤哄簭 + nullableFlag: row.nullableFlag == 'true' ? true : false,//鏄惁涓虹┖ + displayFlag: row.displayFlag == 'true' ? true : false, + componentCodeFlag: row.componentCodeFlag == 'true' ? true : false,//鏄惁鍙備笌缂栫爜 + pkCodeRule: row.pkCodeRule, //鎵�灞炵紪鐮佽鍒� + } + } else { + this.form = { + id: this.form.id, //缂栧彿 + name: this.form.name, //鍚嶇О + secType: this.form.secType, //鐮佹绫诲瀷 + description: this.form.description, //鎻忚堪 + serialDependFlag: this.form.serialDependFlag, //鏄惁娴佹按渚濊禆 + serialDependOrder: this.form.serialDependOrder, //娴佹按渚濊禆椤哄簭 + nullableFlag: this.form.nullableFlag, //鏄惁涓虹┖ + displayFlag: this.form.displayFlag, // + componentCodeFlag: this.form.componentCodeFlag, //鏄惁鍙備笌缂栫爜 + pkCodeRule: this.form.pkCodeRule, //鎵�灞炵紪鐮佽鍒� + }; + //console.log(this.form); + } + if (this.form.secType === 'codefixedsec') { + //鍥哄畾鐮佹 + this.form = Object.assign({}, this.form, { + codeSecLength: row != null && row.codeSecLength != '' ? row.codeSecLength : '', + codeSecLengthType: row != null && row.codeSecLengthType != '' ? row.codeSecLengthType : 'code_sec_length_variable' + }); + this.loadCodeSecLength(); + } else if (this.form.secType === 'codeattrsec') { + //灞炴�х爜娈� + this.form = Object.assign({}, this.form, { + referCodeClassifyOid: row != null && row.referCodeClassifyOid != '' ? row.referCodeClassifyOid : '', //灞炴�d + referCodeClassifyOidName: row != null && row.referCodeClassifyOidName != '' ? row.referCodeClassifyOidName : '', //灞炴�ф墍鍦ㄥ垎绫� + referAttributeId: row != null && row.referAttributeId != '' ? row.referAttributeId : '', //灞炴�х紪鍙� + referAttributeName: row != null && row.referAttributeName != '' ? row.referAttributeName : '', //灞炴�� + getValueClass: row != null && row.getValueClass != '' ? row.getValueClass : '' //鍙栧�艰鍒� + }); + } else if (this.form.secType === 'codeserialsec') { + //娴佹按鐮佹 + this.form = Object.assign({}, this.form, { + codeSecLength: row != null && row.codeSecLength != '' ? row.codeSecLength : '', //鐮佹鐨勯暱搴� + serialStart: row != null && row.serialStart != '' ? row.serialStart : 1, //娴佹按鍙疯捣濮嬪�� + serialStep: row != null && row.serialStep != '' ? row.serialStep : 1, //娴佹按鐨勬闀� + codeFillType: row != null && row.codeFillType != '' ? row.codeFillType : 'code_fill_left', //缂栫爜琛ヤ綅鏂瑰紡 + // codeFillSeparatorSelect: row!=null&&row.codeFillSeparatorSelect != '' ? row.codeFillSeparatorSelect:0, //琛ヤ綅鏃剁殑瀛楃锛岄�変腑鐨勪笅鎷夋鐨勪笅鏍� + codeFillSeparator: row != null && row.codeFillSeparator != '' ? row.codeFillSeparator : '0', //琛ヤ綅鏃剁殑瀛楃 + codeFillLength: row != null && row.codeFillLength != '' ? row.codeFillLength : '', //濉厖闀垮害 + codeFillLimit: row != null && row.codeFillLimit != '' ? row.codeFillLimit : '', //娴佹按涓婇檺 + codeFillFlag: row != null && row.codeFillFlag != '' ? row.codeFillFlag == 'true' ? true : false : false, //娴佹按鏄惁琛ョ爜 + customCodeSerialClass: row != null && row.customCodeSerialClass != '' ? row.customCodeSerialClass : '', //鑷畾涔夋祦姘寸畻娉� + }); + this.loadCodeFillType(); + this.loadCodeFillSeparator(); + } else if (this.form.secType === 'codelevelsec') { + //灞傜骇鐮佹 + this.form = Object.assign({}, this.form, { + codeLevelType: row != null && row.codeLevelType != '' ? row.codeLevelType : 'code_level_min', //灞傜骇绫诲瀷 鏋氫妇鏌ヨ + codeLevelValue: row != null && row.codeLevelValue != '' ? row.codeLevelValue : '', //灞傜骇鐨勫�� + valueCutType: row != null && row.valueCutType != '' ? row.valueCutType : 'code_cut_none', //瀛楃鎴彇绫诲瀷 鏋氫妇鏌ヨ + valueCutLength: row != null && row.valueCutLength != '' ? row.valueCutLength : '', // + codeGetValueType: row != null && row.codeGetValueType != '' ? row.codeGetValueType : 'code_get_value_all_up', //鍙栧�肩被鍨� 鏋氫妇鏌ヨ + }); + this.loadCodeLevelType(); + this.loadCodeCutType(); + this.loadCodeGetValueType(); + } else if (this.form.secType === 'coderefersec') { + //寮曠敤鐮佹 + this.form = Object.assign({}, this.form, { + referBtmId: row != null && row.referBtmId != '' ? row.referBtmId : '', //鍙傜収寮曠敤鐨勪笟鍔$被鍨嬶紝鐨刬d + referBtmName: row != null && row.referBtmName != '' ? row.referBtmName : '', //鍙傜収寮曠敤鐨勪笟鍔$被鍨� + referConfig: row != null && row.referConfig != '' ? row.referConfig : '', //鍙傜収閰嶇疆 + referValueInfo: row != null && row.referValueInfo != '' ? row.referValueInfo : '', //鍙傜収閰嶇疆 + }); + } else if (this.form.secType === 'codedatesec') { + //鏃ユ湡鐮佹 + this.form = Object.assign({}, this.form, { + codeDateFormatStr: row != null && row.codeDateFormatStr != '' ? row.codeDateFormatStr : '', //鏃ユ湡鏍煎紡 + }); + } else if (this.form.secType === 'codeclassifysec') { + //console.log(this.form); + //鍒嗙被鐮佹 + this.form = Object.assign({}, this.form, { + codeSecLengthType: row != null && row.codeSecLengthType != '' ? row.codeSecLengthType : 'code_sec_length_variable', //鐮佹闀垮害绫诲瀷 + codeSecLength: row != null && row.codeSecLength != '' ? row.codeSecLength : '', //鐮佹鐨勯暱搴� + matchClassifyValueFlag: row != null && row.matchClassifyValueFlag != '' ? row.matchClassifyValueFlag == 'true' ? true : false : false, //鏄惁鑷姩鍖归厤鍊� + parentClassifySecOid: row != null && row.parentClassifySecOid != '' ? row.parentClassifySecOid : '', //鐖跺垎绫荤爜娈甸�変腑鐨刬d + parentClassifySecText: row != null && row.parentClassifySecText != '' ? row.parentClassifySecText : '', //鐖跺垎绫荤爜娈� + }); + this.loadCodeSecLength(); + } else if (this.form.secType === 'codevariablesec') { + //鍙彉鐮佹 + this.form = Object.assign({}, this.form, { + codeSecLength: row != null && row.codeSecLength != '' ? row.codeSecLength : '', //鐮佹鐨勯暱搴� + codeFillType: row != null && row.codeFillType != '' ? row.codeFillType : 'code_fill_left', //缂栫爜閮ㄤ綅鏂瑰紡锛屾灇涓炬煡璇� + // codeFillSeparatorSelect: row!=null&&row.codeFillSeparatorSelect != '' ? row.codeFillSeparatorSelect:0, //閫変腑鐨勮ˉ浣嶆椂鐨勫瓧绗︾殑涓嬫爣 + codeFillSeparator: row != null && row.codeFillSeparator != '' ? row.codeFillSeparator : '0', //琛ヤ綅鏃剁殑瀛楃锛屽彲杈撳彲閫夋煡璇� + }); + this.loadCodeFillType(); + this.loadCodeFillSeparator(); + } + // console.log(this.form); + }, + /** 绗竴娆¤姹傜殑鏋氫妇鏁版嵁鏀剧紦瀛�*/ + getLocalStorageEnum(enumKey) { + let enumCach = JSON.parse(localStorage.getItem(enumKey)); + if (enumCach == null) { + getDictionary({code: enumKey}).then(res => { + enumCach = res.data.data; + localStorage.setItem(enumKey, JSON.stringify(res.data.data)); + }) + } + return enumCach; + }, + /** 缁熶竴鍔犺浇鎵�鏈夋灇涓炬煡璇紝涓昏鏄负閬垮厤鍒囨崲鐮佹绫诲瀷鏃惰繕鏈姞杞藉畬鎴愮殑鎯呭喌*/ + loadTotalEnum() { + this.loadCodeSecType(); + this.loadCodeSecLength(); + this.loadCodeFillType(); + this.loadCodeFillSeparator(); + this.loadCodeLevelType(); + this.loadCodeCutType(); + this.loadCodeGetValueType(); + }, + /** 鏋氫妇鍜屽彲杈撳彲閫夊唴瀹规煡璇� */ + loadCodeSecType() { + let enumList = this.getLocalStorageEnum("codeSecType"); + this.enumParam.secTypeList = enumList.length > 0 ? enumList : []; + console.log(this.enumParam.secTypeList); + this.loadCodeSecLength(); + }, + loadCodeSecLength() { + let enumList = this.getLocalStorageEnum("codeSecLength"); + this.enumParam.codeSecLengthType = enumList.length > 0 ? enumList : []; + }, + loadCodeFillType() { + let enumList = this.getLocalStorageEnum("codeFillType"); + this.enumParam.codeFillType = enumList.length > 0 ? enumList : []; + }, + loadCodeFillSeparator() { + let enumCach = JSON.parse(localStorage.getItem("codeFillSeparator")); + if (enumCach == null) { + getDictionary("codeFillSeparator").then(res => { + this.enumParam.codeFillSeparator = res.data.data; + localStorage.setItem('codeFillSeparator', JSON.stringify(res.data.data)); + }) + } + }, + loadCodeLevelType() { + let enumList = this.getLocalStorageEnum("codeLevelType"); + this.enumParam.codeLevelType = enumList.length > 0 ? enumList : []; + }, + loadCodeCutType() { + let enumList = this.getLocalStorageEnum("codeCutType"); + this.enumParam.codeCutType = enumList.length > 0 ? enumList : []; + }, + loadCodeGetValueType() { + let enumList = this.getLocalStorageEnum("codeGetValueType"); + this.enumParam.codeGetValueType = enumList.length > 0 ? enumList : []; + }, + // 鏈�澶ф祦姘村彿 + maxSerialNum() { + console.log(this.selectionList) + if (this.selectionList.length === 0) { + this.$message.warning("璇烽�夋嫨涓�鏉$紪鐮佽鍒欙紒"); + return; + } + this.maxSerial.visible = true + this.maxSerial.ruleOid = this.selectionList[0]['oid'] } - }; + + } +}; + </script> <style> -.icon-lianjiekelong { - font-size: 12px; +[class^="icon-"] { + font-size: 12px !important; } -</style> \ No newline at end of file + +.code-rule-crud > .avue-crud__search, .code-basic-crud > .avue-crud__search { + margin-bottom: -15px; +} + +.clone-input-textarea > .el-form-item__content { + width: 495px; +} + +.clone-avue-crud > .el-card > .el-card__body > .avue-crud__menu { + display: none !important; +} + +.fixed-avue-crud > .el-card > .el-card__body > .avue-crud__menu { + display: none !important; +} + +.other-clone-codebasic-crud > .el-card > .el-card__body > .avue-crud__menu { + display: none !important; +} + +.other-clone-coderule-crud > .el-card > .el-card__body > .avue-crud__menu { + display: none !important; +} + +.el-table--small .el-table__cell { + padding: 3px 0; +} + +.classify_value_box > .el-scrollbar { + height: 95%; +} + +.basic-container > .el-card > .el-card__body { + margin: -10px 0; +} + +.code-basicsec-container { + padding: 1px 6px; +} + +.horizontal-line { + /* margin-top: 19px !important; */ + margin-bottom: -20px !important; + width: 100%; + height: 2px; +} + +.el-card__body > .treeBox { + height: 56vh; +} + +.el-col-5 > .box { + height: 56vh; +} + +.operator_, filter, .layui-btn { + width: 60px; +} + +.left > .el-form-item > .el-form-item__content > .el-input-number { + width: 120px; +} + +.left > .el-form-item > .el-form-item__content > .el-input-number > .el-input > .el-input__inner { + width: 120px; +} + +.el-col > .el-card > .el-card__header { + background: rgb(213 231 239); + border-radius: inherit; +} + +/** 鏂板鐮佹 */ +.add-basicsec-total { + width: 100%; +} + +.add-basicsec-total .el-input__inner, .add-basicsec-total .el-textarea__inner { + width: 220px; +} + +.add-basicsec-total > .add-basicsec-form { + display: flex; + flex-direction: row; + width: 100%; + height: 100%; + align-items: center; + justify-content: space-around; +} + +.add-basicsec-form > .el-divider--vertical { + width: 2px; + height: 100%; + margin: 0 auto; + /* position: fixed; */ +} + +.left { + /* float: left; */ + width: 45%; + height: 100%; +} + +.right { + /* float: right; */ + margin-right: 2vw; + height: 100%; + width: auto; +} + +.right > .el-form > .el-form-item { + margin-bottom: 8px; +} + +/* 瀵硅瘽妗嗗簳閮ㄦ寜閽竟妗嗘牱寮� */ +.el-dialog__footer { + /* width: 100%; */ + border-top: 1px solid #E9E7E7; + padding: 5px 10px 10px; +} + +.seloption { + margin-left: 10px; +} + +/* .code-total > .basic-container__card { + height: 100%; + } */ + +</style> -- Gitblit v1.9.3