component_ryl_v3 1.1.0 → 1.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -132,3 +132,5 @@ Learn more about IDE Support for Vue in the [Vue Docs Scaling up Guide](https://
132
132
 
133
133
  # 金额格式指令
134
134
  <el-input v-model="inputMoney" v-money="{max:100,min:0}" placeholder="请输入"></el-input>
135
+ # 数字格式指令
136
+ <el-input v-model="inputNumber" v-number="{max:100,min:0}" placeholder="请输入"></el-input>
@@ -1,3 +1,4 @@
1
+ !function(){"use strict";try{if("undefined"!=typeof document){var e=document.createElement("style");e.appendChild(document.createTextNode('@charset "UTF-8";*:not(svg),#app,html,body{margin:0;padding:0;font-family:Helvetica Neue,Helvetica,PingFang SC,Hiragino Sans GB,Microsoft YaHei,微软雅黑,Arial,sans-serif;font-size:12px}a{text-decoration:none;color:#5a5a5a}li{list-style:none}.flex{display:-webkit-flex;display:flex;display:-moz-box;display:-ms-flexbox}.flex_row{flex-direction:row}.flex_col{flex-direction:column}.initTextarea>.el-textarea__inner{resize:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent;border-radius:4px}::-webkit-scrollbar-thumb{background-color:transparent;border-radius:0}::-webkit-scrollbar-thumb:hover{background:#c2c2c2}::-webkit-scrollbar-corner{background:transparent}.common_show_scroll::-webkit-scrollbar-thumb{background:#c2c2c2}.tinymce-editor-JustOne *:not(h1,h2,h3,h4,h5,h6){font-size:inherit}.tinymce-editor-JustOne h1{font-size:32px}.tinymce-editor-JustOne h2{font-size:28px}.tinymce-editor-JustOne h3{font-size:24px}.tinymce-editor-JustOne h4{font-size:20px}.tinymce-editor-JustOne h5{font-size:16px}.tinymce-editor-JustOne h6{font-size:12px}.jddsDialog.el-dialog{border-radius:4px}.jddsDialog .el-dialog__title,.jddsDialog .zbt{font-size:16px;color:#272727;line-height:normal}.jddsDialog .el-dialog__body .el-form-item:last-child{margin-bottom:0}.jddsDialog .el-dialog__headerbtn{top:5px;right:0}.jddsDialog .btn{min-width:68px;height:32px;line-height:32px;border-radius:4px;padding:0}.jddsDialog .exit{font-size:14px}.jddsDialog .header-title{display:flex;align-items:center}.jddsDialog.el-dialog--center .header-title{justify-content:center}.JD_table.el-table:before{height:0!important}.JD_table.el-table{width:100%}.JD_table.el-table th,.JD_table.el-table th.el-table__cell{background-color:#eff2f580;padding:0;height:40px;line-height:40px;border-bottom:none!important}.JD_table.el-table th .cell,.JD_table.el-table th.el-table__cell .cell{font-weight:400;color:#999;text-align:left;white-space:nowrap}.JD_table.el-table td,.JD_table.el-table td.el-table__cell{padding:0;height:48px;line-height:48px}.JD_table.el-table td .cell,.JD_table.el-table td.el-table__cell .cell{line-height:normal}.el-table--group,.el-table--border{border:none!important}.el-table--group:after,.el-table--border:after{width:0!important}.el-table--border .el-table__cell,.el-table--border td{border-right:none!important}.el-table--border th.el-table__cell{border-right:1px solid #ebeef5!important}.el-table .cell{text-align:center!important}.el-table__header,.el-table__empty-block,.el-table__body{width:100%!important}.el-button{border-radius:2px!important}.el-input input{border-radius:2px}.el-sub-menu__title:hover,.el-sub-menu .el-menu-item:hover,.el-menu-item:hover{color:#fff!important;background-color:#06f!important}.el-sub-menu__title:hover i.iconfont,.el-sub-menu .el-menu-item:hover i.iconfont,.el-menu-item:hover i.iconfont{color:#fff!important}.el-sub-menu .el-menu-item.is-active,.el-menu-item.is-active,.el-sub-menu__title.is-active{background-color:#06f!important}.el-sub-menu .el-menu-item.is-active i.iconfont,.el-menu-item.is-active i.iconfont,.el-sub-menu__title.is-active i.iconfont{color:#fff!important}.el-sub-menu__title{text-align:left!important}.el-sub-menu .el-menu-item{min-width:auto!important;background-color:#151822!important;padding-left:46px!important;position:relative}.el-sub-menu .el-menu-item:after{content:"";width:4px;height:4px;background:#7c878e;border-radius:50%;position:absolute;top:19px;left:26px}.el-sub-menu .el-menu{background-color:#151822!important}.el-menu{border-right:none!important}.el-menu-item,.el-sub-menu__title{height:38px!important;line-height:38px!important;margin-top:2px}.el-menu-item *,.el-sub-menu__title *{vertical-align:middle}.el-submenu__title i.el-sub-menu__icon-arrow{color:#c0c5c7;font-weight:700}.el-message-box{width:400px!important}.initMsg_in{padding:20px 0!important}.initMsg_in .el-message-box__header{padding:0!important}.initMsg_in .el-message-box__header .el-message-box__headerbtn{display:none}.initMsg_in .el-message-box__header .el-message-box__status{font-size:50px!important}.initMsg_in .el-message-box__header .el-message-box__status svg{font-size:100%}.initMsg_in .el-message-box__content{padding:30px!important}.initMsg_in .el-message-box__content .el-message-box__message{letter-spacing:1px}.initMsg_in .el-message-box__btns{padding:0!important}.initMsg_in .el-message-box__btns button{min-width:100px;height:40px;border-radius:4px}.initMsg_in .el-message-box__btns button:nth-child(2){margin-left:20px!important}.defaultMsg_in .el-message-box__container{align-items:flex-start}.defaultMsg_in .el-message-box__title span{font-size:14px;font-weight:700}.defaultMsg_in .el-message-box__headerbtn{top:7px}.defaultMsg_in .el-message-box__status{top:0;transform:none}.defaultMsg_in .el-message-box__btns button{min-width:68px;height:32px;border-radius:4px;border:none}.ieBro{position:fixed;padding:10px;z-index:9999;top:0;left:0;right:0;background:#fffade;border:1px solid #f9d878;justify-content:space-between}.ieBro span,.ieBro a{font-size:12px}.ieBro .color{text-decoration:underline}.el-radio__label,.el-checkbox__label,.el-form-item__label{font-size:12px!important}.el-form--inline .el-form-item{margin-right:18px!important}.el-form-item__label{padding:0!important}.mce-content-body[data-mce-placeholder]:not(.mce-visualblocks):before{content:""!important}.mainMenu[data-v-c6581c9c]{display:inline-block;position:relative}.mainMenu .elbadge[data-v-c6581c9c]{color:red;font-style:normal}.mainMenu .elbadge.hot[data-v-c6581c9c]:after{display:inline-block;content:"";width:8px;height:8px;background-color:red;border-radius:100%;transform:scale(.9);position:absolute;top:10px;right:-10px}.mainMenu .elbadge.new[data-v-c6581c9c]:after{display:inline-block;content:"new";background-color:red;color:#fff;padding:0 4px 1px;line-height:16px;border-radius:4px;transform:scale(.9);position:absolute;top:6px;right:-32px}.mainMenu .elbadge.run[data-v-c6581c9c]{display:inline-block;color:#fff;background-color:red;min-width:20px;padding:0 2px;text-align:center;height:16px;line-height:16px;border-radius:4px;animation:changeRun 1.5s ease-in-out 0s infinite}.mainMenu .elbadge.num[data-v-c6581c9c]{display:inline-block;background-color:red;color:#fff;width:20px;text-align:center;height:16px;line-height:16px;border-radius:4px;transform:scale(.9);position:absolute;top:6px;right:-22px}.mainMenu .elbadge.num.nine[data-v-c6581c9c]{width:26px;right:-28px}.mainMenu .elbadge.num.nine em[data-v-c6581c9c]{position:relative;top:-4px}[data-v-c6581c9c] .el-menu-item span,[data-v-c6581c9c] .el-sub-menu__title span{font-size:14px}.handHeaderContent{position:relative;z-index:999;height:100vh}.handHeaderContent .el-container.is-vertical{position:relative}.handHeaderContent .inner_header{padding:0;background:#fff;justify-content:space-between;height:50px!important}.handHeaderContent .inner_header .colSpan{width:60px;background-color:transparent;justify-content:center;align-items:center}.handHeaderContent .inner_header .colSpan .hide{width:16px;height:16px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAAAXNSR0IArs4c6QAAA2hJREFUeF7t3Vtu5DAMRFFlZ9nZzKwsS0ugTBswGnnYLkqkVddAkC+1Q9YBrXb68dJae28cth14AYBt9p+FA8A7fwCY5w8AALAJtDbAHsA6fjaB5vEDAADcB/A2wB7AO3+eBprnDwAAcB/A2gB7AOv4eRpoHv9/AK/2XTBuQAfAYdwBABiHv70gxLwF3uUzAbzz/9wEchh3AADG4bMHMA8fAABgD+BugD2AuQAAAMC8A+blMwEAYN4B8/IrTIC/rbX+w5HQgWwAW/AASAg/+0ZQD/1Pa+0fEyAp/cfnA2ScfQu/nxsAGQk8zplxCdiHD4DE8DMuAc/hKwB4LWMAnpkT4KvwVQBvAT2wfohZAL4LHwDJ/GYA+Cl8ACwO4LfwAbAwgCPhA2BRAEfDB8CCAM6ED4DFAJwNHwALAbgSPgAWAXA1fAAsAEAJHwA3B6CGD4AbA4gIHwA3BRAVPgBuCCAyfADcDEB0+AC4EYAR4SsAklu3xumP/jt4VPgASHZ0BMDI8AFQHMDo8AFQGMCM8AFQFMCs8AFQEMDM8AFQDMDs8AFQCEBG+AAoAiArfAAUAJAZPgAAwLuDMw1sdwIzpwBvD08UsL8VnIUAAEUA9D8jAwEACgHIQACAYgBmIwBAQQAzEQCgKIBZCABQGMAMBAAoDmA0AgDcAMBIBFcB9E8J40OiRDxHXhO4P8WI+wQAEENUlp8FMGISAEBJUFx7BUA0AgCIISrLrwKIRAAAJUFxrQIgCgEAxBCV5SqACAQAUBIU10YAUBEAQAxRWR4FQEEAACVBcW0kgKsIACCGqCyPBnAFAQCUBMW1IwCcRQAAMURl+SgAZxAAQElQXDsSwFEEABBDVJaPBnAEAQCUBMW1MwD8hgAAYojK8lkAfkKgAFBqZ23CF0dGfm0cAQZ0YOYE2P7cZwRXJ0BA+TxEBoDnywEAEh1mAdgjAIApgA3B/ndiKzxPnTkB9nuCvi/gSOhABQAJZXPKrQMAMLcAAACYd8C8fCYAAMw7YF4+EwAA5h0wL58JAADzDpiXzwQAgHkHzMtnAgDAvAPm5fcJ0D9sicO0Ax3Au2ntlP14VTAAjCkwAYzD76UDAADsAZwNMAGc0+cSYJ4+AADAJcDcAAAAwLMAZwNMAOf02QSapw8AAHAJMDcAAHMAH9uzwUGCPXdSAAAAAElFTkSuQmCC) no-repeat;background-size:contain;cursor:pointer;transition:all .2s}.handHeaderContent .inner_header .colSpan .hide.rotate{transform:rotate(180deg)}.handHeaderContent .inner_header .saasInfo .img{align-items:center;justify-content:center;height:50px;margin-right:20px;cursor:pointer}.handHeaderContent .inner_header .saasInfo .img:hover .dropDown{display:block}.handHeaderContent .inner_header .saasInfo .img img{width:33px;height:33px;border-radius:50%;margin-right:5px;border:1px solid #eff2f5}.handHeaderContent .inner_header .saasInfo .img i{font-size:14px;font-weight:700;color:#5a5a5a}.handHeaderContent .dropDown{position:absolute;right:10px;top:50px;width:170px;background:#fff;box-shadow:0 0 4px #1919191a;border-radius:2px;display:none;z-index:999}.handHeaderContent .dropDown .san{display:inline-block;width:10px;height:10px;border:1px solid #fff;border-top-style:none;border-right-style:none;transform:rotate(135deg);position:absolute;top:-4px;right:38px;background:#fff}.handHeaderContent .dropDown .user{padding:11px;align-items:center;border-bottom:1px solid #f5f5f5}.handHeaderContent .dropDown .user span{line-height:normal;font-size:14px}.handHeaderContent .dropDown .exit{font-size:14px;line-height:39px;height:39px;border-top:1px solid #EFF2F5;text-align:center;padding:0;color:#5a5a5a}.handHeaderContent .aside{height:100%;transition:all .2s;overflow:overlay}.handHeaderContent .aside .init-el-menu{padding-bottom:38px}.handHeaderContent .aside.hideMenu .el-tooltip{text-align:center}.handHeaderContent .aside.hideMenu .el-submenu__title{text-align:center!important}.handHeaderContent .aside.hideMenu i.iconfont{margin-right:0}.handHeaderContent .aside.hideMenu .deldom,.handHeaderContent .aside.hideMenu .el-submenu__icon-arrow{display:none}.handHeaderContent .aside i.iconfont{font-size:16px;display:inline-block;width:18px;margin-right:4px;color:#747c81}.handHeaderContent .main{padding:0;background-color:#eff2f5}.handHeaderContent .main.scroll{overflow-y:scroll}.handHeaderContent .main.scroll .inner_content,.handHeaderContent .main.scroll .inner_content.normal{height:auto}.handHeaderContent .main.scrollX{overflow-x:scroll}.handHeaderContent .main .content_mar{padding:18px}.handHeaderContent .main .inner_content{background-color:#fff;height:calc(100vh - 86px);border-radius:4px}.handHeaderContent .main .inner_content.normal{background-color:transparent}.handHeaderContent .inner_footer{color:#666;text-align:center;padding-top:18px;justify-content:center}@keyframes changeRun{0%{transform:translateY(0) scale(.9)}25%{transform:translateY(-6px) scale(.9)}50%{transform:translateY(0) scale(.9)}75%{transform:translateY(-2px) scale(.9)}to{transform:translateY(0) scale(.9)}}.initNoData[data-v-0b0e3718]{width:100%;align-items:center;justify-content:center}.initNoData .inner[data-v-0b0e3718]{text-align:center}.initNoData .inner p[data-v-0b0e3718]{color:#666;margin-top:12px;line-height:normal}.initPaging[data-v-1d8ef8c9] .el-select__placeholder{text-align:center}.previewFix[data-v-14d38dc6]{width:100%;height:100%;position:fixed;top:0;left:0;z-index:9999;background-color:#00000080;display:flex;justify-content:center;align-items:center}.previewFix img[data-v-14d38dc6]{max-width:98%;max-height:98%}.status_search[data-v-e6bbcf18]{display:inline-block}.status_search span[data-v-e6bbcf18]{min-width:40px;height:30px;padding:0 10px;display:inline-block;text-align:center;line-height:30px;border:1px solid #d9d9d9;border-right:1px solid transparent;cursor:pointer}.status_search span[data-v-e6bbcf18]:first-child{border-radius:2px 0 0 2px}.status_search span[data-v-e6bbcf18]:last-child{border-radius:0 2px 2px 0;border-right:1px solid #d9d9d9}.status_search .active[data-v-e6bbcf18]{background:#06f;color:#fff;border-color:#06f}')),document.head.appendChild(e)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}}();
1
2
  import { ref, watch, openBlock, createElementBlock, createVNode, unref, withCtx, renderSlot, Fragment, normalizeStyle, normalizeClass, createTextVNode, toDisplayString, createCommentVNode, createBlock, createElementVNode, resolveComponent, renderList, computed, onMounted, nextTick } from "vue";
2
3
  import { ElDialog, ElButton, ElMenuItem, ElSubMenu, ElContainer, ElAside, ElMenu, ElMain, ElHeader, ElConfigProvider, ElPagination, ElMessageBox } from "element-plus";
3
4
  const _hoisted_1$6 = { class: "header-title" };
@@ -341,7 +342,7 @@ const _sfc_main$5 = {
341
342
  };
342
343
  }
343
344
  };
344
- const sidebarItem = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-e79ba81c"]]);
345
+ const sidebarItem = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-c6581c9c"]]);
345
346
  const _hoisted_1$4 = {
346
347
  key: 0,
347
348
  class: "ieBro flex flex_row"
@@ -1203,11 +1204,61 @@ const throttle = {
1203
1204
  });
1204
1205
  }
1205
1206
  };
1207
+ const number = {
1208
+ mounted(el, binding) {
1209
+ const input = el.querySelector("input") || el;
1210
+ const handleInput = () => {
1211
+ let value = input.value;
1212
+ if (!value) return;
1213
+ value = value.replace(/[^\d]/g, "");
1214
+ if (value.length > 1 && value.startsWith("0")) {
1215
+ value = value.replace(/^0+/, "") || "0";
1216
+ }
1217
+ if (binding.value) {
1218
+ const { min = 0, max } = binding.value;
1219
+ const numValue = parseInt(value) || 0;
1220
+ if (!isNaN(numValue)) {
1221
+ if (numValue < min) {
1222
+ value = String(min);
1223
+ } else if (max !== void 0 && numValue > max) {
1224
+ value = String(max);
1225
+ }
1226
+ }
1227
+ }
1228
+ if (input.value !== value) {
1229
+ input.value = value;
1230
+ input.dispatchEvent(new Event("input"));
1231
+ }
1232
+ };
1233
+ const handleBlur = () => {
1234
+ let value = input.value;
1235
+ if (!value) return;
1236
+ if (binding.value) {
1237
+ const { min = 0, max } = binding.value;
1238
+ const numValue = parseInt(value) || 0;
1239
+ if (!isNaN(numValue)) {
1240
+ if (numValue < min) {
1241
+ value = String(min);
1242
+ } else if (max !== void 0 && numValue > max) {
1243
+ value = String(max);
1244
+ }
1245
+ }
1246
+ }
1247
+ if (input.value !== value) {
1248
+ input.value = value;
1249
+ input.dispatchEvent(new Event("input"));
1250
+ }
1251
+ };
1252
+ input.addEventListener("input", handleInput);
1253
+ input.addEventListener("blur", handleBlur);
1254
+ }
1255
+ };
1206
1256
  let directives = {
1207
1257
  money,
1208
1258
  debounce,
1209
1259
  throttle,
1210
- copy
1260
+ copy,
1261
+ number
1211
1262
  };
1212
1263
  const directives$1 = {
1213
1264
  install(app) {
@@ -1216,8 +1267,30 @@ const directives$1 = {
1216
1267
  });
1217
1268
  }
1218
1269
  };
1270
+ const setThemeVariables = () => {
1271
+ const root = document.documentElement;
1272
+ const themeVariables = {
1273
+ "--el-color-primary": "#06f",
1274
+ "--el-color-success": "#35B84B",
1275
+ "--el-color-danger": "#FC1334"
1276
+ };
1277
+ Object.entries(themeVariables).forEach(([key, value]) => {
1278
+ root.style.setProperty(key, value);
1279
+ });
1280
+ };
1281
+ const initTheme = () => {
1282
+ setThemeVariables();
1283
+ const observer = new MutationObserver(() => {
1284
+ setThemeVariables();
1285
+ });
1286
+ observer.observe(document.documentElement, {
1287
+ attributes: true,
1288
+ attributeFilter: ["style"]
1289
+ });
1290
+ };
1219
1291
  const index = {
1220
1292
  install(app) {
1293
+ initTheme();
1221
1294
  app.component("HandDialog", _sfc_main$6);
1222
1295
  app.component("HandHeader", _sfc_main$4);
1223
1296
  app.component("HandNoData", HandNoData);
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "component_ryl_v3",
3
3
  "private": false,
4
- "version": "1.1.0",
4
+ "version": "1.1.2",
5
5
  "type": "module",
6
6
  "description": "Vue3 login form component with Element Plus",
7
7
  "main": "./dist/component_ryl_v3.js",
@@ -41,8 +41,10 @@
41
41
  "devDependencies": {
42
42
  "@vitejs/plugin-vue": "^5.2.3",
43
43
  "sass-embedded": "^1.100.0",
44
+ "terser": "^5.48.0",
44
45
  "unplugin-auto-import": "^21.0.0",
45
46
  "unplugin-vue-components": "^32.1.0",
46
- "vite": "^6.3.5"
47
+ "vite": "^6.3.5",
48
+ "vite-plugin-css-injected-by-js": "^3.5.1"
47
49
  }
48
50
  }
package/src/App.vue CHANGED
@@ -65,6 +65,8 @@
65
65
  <el-input v-model="inputValue" v-throttle:input="handleInput" placeholder="请输入"></el-input>
66
66
  <span>金额格式</span>
67
67
  <el-input v-model="inputMoney" v-money="{max:100}" placeholder="请输入"></el-input>
68
+ <span>数字格式</span>
69
+ <el-input v-model="inputNumber" v-number="{max:100}" placeholder="请输入"></el-input>
68
70
  <span>复制</span><br>
69
71
  <el-button v-copy="['这是复制的内容',copyBack]">点击复制</el-button>
70
72
  </template>
@@ -185,7 +187,7 @@ const menuList = ref( {
185
187
  //#region 询问窗口组件
186
188
  const openConfirm = () => {
187
189
  handConfirmNew({
188
- text: '塑料袋建设路口封建势力扩大发啦建设<br />路口到付件老师的开<b>发老师快</b>递费了收快递费塑料袋建设路口封建势力扩大发啦建设路口到付件老师的开发老师快递费了收快递费',
190
+ text: '塑料袋建设路口封建势力扩大发啦建设<br />路口塑料袋口就蓝思科技法律思考就发了上课动静分离上课杜绝浪费收到了开发',
189
191
  type:2,
190
192
  title:'提示'
191
193
  }).then(() => {
@@ -212,4 +214,6 @@ const copyBack = (err, success) => {
212
214
  }
213
215
  }
214
216
  //#endregion 自定义指令
217
+
218
+ const inputNumber = ref('')
215
219
  </script>
@@ -70,10 +70,6 @@
70
70
  color: #fff !important;
71
71
  }
72
72
  }
73
- // 有下级的hover效果(暂时不用)
74
- .el-sub-menu__title:hover{
75
- // background-color: #1e222d !important;
76
- }
77
73
  .el-sub-menu .el-menu-item.is-active,.el-menu-item.is-active,.el-sub-menu__title.is-active{
78
74
  background-color: #06f !important;
79
75
  i.iconfont{
@@ -169,22 +165,12 @@
169
165
  font-weight: bold;
170
166
  }
171
167
  }
172
- .el-message-box__headerbtn .el-message-box__close{
173
- font-size: 18px;
174
- svg{
175
- font-size: 100%;
176
- }
177
- }
178
168
  .el-message-box__headerbtn{
179
169
  top:7px;
180
- right: 10px;
181
170
  }
182
171
  .el-message-box__status{
183
172
  top:0;
184
173
  transform: none;
185
- svg{
186
- font-size: 100px;
187
- }
188
174
  }
189
175
  .el-message-box__btns {
190
176
  button {
@@ -192,9 +178,6 @@
192
178
  height: 32px;
193
179
  border-radius: 4px;
194
180
  border: none;
195
- &:nth-child(2) {
196
- // margin-left: 20px !important;
197
- }
198
181
  }
199
182
  }
200
183
  }
@@ -15,18 +15,11 @@
15
15
  .el-dialog__headerbtn{
16
16
  top:5px;
17
17
  right: 0;
18
- i{
19
- font-size: 18px;
20
- svg{
21
- width: 100%;
22
- height: 100%;
23
- }
24
- }
25
18
  }
26
19
  .btn {
27
- width: 88px;
28
- height: 36px;
29
- line-height: 36px;
20
+ min-width: 68px;
21
+ height: 32px;
22
+ line-height: 32px;
30
23
  border-radius: 4px;
31
24
  padding: 0;
32
25
  }
@@ -2,7 +2,7 @@
2
2
  @use "./dialog.scss";
3
3
  @use "./common.scss";
4
4
 
5
- *,
5
+ *:not(svg),
6
6
  #app,
7
7
  html,
8
8
  body {
package/src/index.js CHANGED
@@ -1,3 +1,6 @@
1
+ import './assets/styles/index.scss'
2
+ import './assets/styles/dialog.scss'
3
+ import './assets/styles/common.scss'
1
4
  import HandDialog from './packages/handDialog/handDialog.vue'
2
5
  import HandHeader from './packages/handHeader/handHeader.vue'
3
6
  import HandNoData from './packages/handNoData/handNoData.vue'
@@ -6,6 +9,7 @@ import HandSeeImg from './packages/handSeeImg/handSeeImg.vue'
6
9
  import HandTab from './packages/handTab/handTab.vue'
7
10
  import { handConfirmNew } from './packages/handConfirmNew/index.js'
8
11
  import directives from './packages/directives'
12
+ import { initTheme } from './utils/theme'
9
13
 
10
14
 
11
15
 
@@ -22,6 +26,7 @@ export {
22
26
 
23
27
  export default {
24
28
  install(app) {
29
+ initTheme()
25
30
  app.component('HandDialog', HandDialog)
26
31
  app.component('HandHeader', HandHeader)
27
32
  app.component('HandNoData', HandNoData)
package/src/main.js CHANGED
@@ -1,7 +1,6 @@
1
1
  import { createApp } from 'vue'
2
2
  import 'element-plus/dist/index.css'
3
3
  import "@/assets/styles/index.scss"
4
- import "@/assets/styles/element-plus-theme.scss"
5
4
  import App from './App.vue'
6
5
  import directives from './packages/directives'
7
6
 
@@ -2,11 +2,13 @@ import money from './money'
2
2
  import copy from './copy'
3
3
  import debounce from './debounce'
4
4
  import throttle from './throttle'
5
+ import number from './number'
5
6
  let directives = {
6
7
  money,
7
8
  debounce,
8
9
  throttle,
9
- copy
10
+ copy,
11
+ number
10
12
  }
11
13
 
12
14
  export default {
@@ -0,0 +1,64 @@
1
+ export default {
2
+ mounted(el, binding) {
3
+ const input = el.querySelector('input') || el
4
+
5
+ const handleInput = () => {
6
+ let value = input.value
7
+
8
+ if (!value) return
9
+
10
+ value = value.replace(/[^\d]/g, '')
11
+
12
+ if (value.length > 1 && value.startsWith('0')) {
13
+ value = value.replace(/^0+/, '') || '0'
14
+ }
15
+
16
+ if (binding.value) {
17
+ const { min = 0, max } = binding.value
18
+
19
+ const numValue = parseInt(value) || 0
20
+
21
+ if (!isNaN(numValue)) {
22
+ if (numValue < min) {
23
+ value = String(min)
24
+ } else if (max !== undefined && numValue > max) {
25
+ value = String(max)
26
+ }
27
+ }
28
+ }
29
+
30
+ if (input.value !== value) {
31
+ input.value = value
32
+ input.dispatchEvent(new Event('input'))
33
+ }
34
+ }
35
+
36
+ const handleBlur = () => {
37
+ let value = input.value
38
+
39
+ if (!value) return
40
+
41
+ if (binding.value) {
42
+ const { min = 0, max } = binding.value
43
+
44
+ const numValue = parseInt(value) || 0
45
+
46
+ if (!isNaN(numValue)) {
47
+ if (numValue < min) {
48
+ value = String(min)
49
+ } else if (max !== undefined && numValue > max) {
50
+ value = String(max)
51
+ }
52
+ }
53
+ }
54
+
55
+ if (input.value !== value) {
56
+ input.value = value
57
+ input.dispatchEvent(new Event('input'))
58
+ }
59
+ }
60
+
61
+ input.addEventListener('input', handleInput)
62
+ input.addEventListener('blur', handleBlur)
63
+ }
64
+ }
@@ -167,7 +167,7 @@ defineProps({
167
167
  }
168
168
  }
169
169
  }
170
- .el-menu-item span,.el-sub-menu__title span{
170
+ :deep(.el-menu-item span), :deep(.el-sub-menu__title span){
171
171
  font-size: 14px;
172
172
  }
173
173
  </style>
@@ -0,0 +1,26 @@
1
+ // 初始化主题变量
2
+ export const setThemeVariables = () => {
3
+ const root = document.documentElement
4
+ const themeVariables = {
5
+ '--el-color-primary': '#06f',
6
+ '--el-color-success': '#35B84B',
7
+ '--el-color-danger': '#FC1334'
8
+ }
9
+
10
+ Object.entries(themeVariables).forEach(([key, value]) => {
11
+ root.style.setProperty(key, value)
12
+ })
13
+ }
14
+
15
+ export const initTheme = () => {
16
+ setThemeVariables()
17
+
18
+ const observer = new MutationObserver(() => {
19
+ setThemeVariables()
20
+ })
21
+
22
+ observer.observe(document.documentElement, {
23
+ attributes: true,
24
+ attributeFilter: ['style']
25
+ })
26
+ }
@@ -1 +0,0 @@
1
- @charset "UTF-8";.mainMenu[data-v-e79ba81c]{display:inline-block;position:relative}.mainMenu .elbadge[data-v-e79ba81c]{color:red;font-style:normal}.mainMenu .elbadge.hot[data-v-e79ba81c]:after{display:inline-block;content:"";width:8px;height:8px;background-color:red;border-radius:100%;transform:scale(.9);position:absolute;top:10px;right:-10px}.mainMenu .elbadge.new[data-v-e79ba81c]:after{display:inline-block;content:"new";background-color:red;color:#fff;padding:0 4px 1px;line-height:16px;border-radius:4px;transform:scale(.9);position:absolute;top:6px;right:-32px}.mainMenu .elbadge.run[data-v-e79ba81c]{display:inline-block;color:#fff;background-color:red;min-width:20px;padding:0 2px;text-align:center;height:16px;line-height:16px;border-radius:4px;animation:changeRun 1.5s ease-in-out 0s infinite}.mainMenu .elbadge.num[data-v-e79ba81c]{display:inline-block;background-color:red;color:#fff;width:20px;text-align:center;height:16px;line-height:16px;border-radius:4px;transform:scale(.9);position:absolute;top:6px;right:-22px}.mainMenu .elbadge.num.nine[data-v-e79ba81c]{width:26px;right:-28px}.mainMenu .elbadge.num.nine em[data-v-e79ba81c]{position:relative;top:-4px}.el-menu-item span[data-v-e79ba81c],.el-sub-menu__title span[data-v-e79ba81c]{font-size:14px}.handHeaderContent{position:relative;z-index:999;height:100vh}.handHeaderContent .el-container.is-vertical{position:relative}.handHeaderContent .inner_header{padding:0;background:#fff;justify-content:space-between;height:50px!important}.handHeaderContent .inner_header .colSpan{width:60px;background-color:transparent;justify-content:center;align-items:center}.handHeaderContent .inner_header .colSpan .hide{width:16px;height:16px;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAAAXNSR0IArs4c6QAAA2hJREFUeF7t3Vtu5DAMRFFlZ9nZzKwsS0ugTBswGnnYLkqkVddAkC+1Q9YBrXb68dJae28cth14AYBt9p+FA8A7fwCY5w8AALAJtDbAHsA6fjaB5vEDAADcB/A2wB7AO3+eBprnDwAAcB/A2gB7AOv4eRpoHv9/AK/2XTBuQAfAYdwBABiHv70gxLwF3uUzAbzz/9wEchh3AADG4bMHMA8fAABgD+BugD2AuQAAAMC8A+blMwEAYN4B8/IrTIC/rbX+w5HQgWwAW/AASAg/+0ZQD/1Pa+0fEyAp/cfnA2ScfQu/nxsAGQk8zplxCdiHD4DE8DMuAc/hKwB4LWMAnpkT4KvwVQBvAT2wfohZAL4LHwDJ/GYA+Cl8ACwO4LfwAbAwgCPhA2BRAEfDB8CCAM6ED4DFAJwNHwALAbgSPgAWAXA1fAAsAEAJHwA3B6CGD4AbA4gIHwA3BRAVPgBuCCAyfADcDEB0+AC4EYAR4SsAklu3xumP/jt4VPgASHZ0BMDI8AFQHMDo8AFQGMCM8AFQFMCs8AFQEMDM8AFQDMDs8AFQCEBG+AAoAiArfAAUAJAZPgAAwLuDMw1sdwIzpwBvD08UsL8VnIUAAEUA9D8jAwEACgHIQACAYgBmIwBAQQAzEQCgKIBZCABQGMAMBAAoDmA0AgDcAMBIBFcB9E8J40OiRDxHXhO4P8WI+wQAEENUlp8FMGISAEBJUFx7BUA0AgCIISrLrwKIRAAAJUFxrQIgCgEAxBCV5SqACAQAUBIU10YAUBEAQAxRWR4FQEEAACVBcW0kgKsIACCGqCyPBnAFAQCUBMW1IwCcRQAAMURl+SgAZxAAQElQXDsSwFEEABBDVJaPBnAEAQCUBMW1MwD8hgAAYojK8lkAfkKgAFBqZ23CF0dGfm0cAQZ0YOYE2P7cZwRXJ0BA+TxEBoDnywEAEh1mAdgjAIApgA3B/ndiKzxPnTkB9nuCvi/gSOhABQAJZXPKrQMAMLcAAACYd8C8fCYAAMw7YF4+EwAA5h0wL58JAADzDpiXzwQAgHkHzMtnAgDAvAPm5fcJ0D9sicO0Ax3Au2ntlP14VTAAjCkwAYzD76UDAADsAZwNMAGc0+cSYJ4+AADAJcDcAAAAwLMAZwNMAOf02QSapw8AAHAJMDcAAHMAH9uzwUGCPXdSAAAAAElFTkSuQmCC) no-repeat;background-size:contain;cursor:pointer;transition:all .2s}.handHeaderContent .inner_header .colSpan .hide.rotate{transform:rotate(180deg)}.handHeaderContent .inner_header .saasInfo .img{align-items:center;justify-content:center;height:50px;margin-right:20px;cursor:pointer}.handHeaderContent .inner_header .saasInfo .img:hover .dropDown{display:block}.handHeaderContent .inner_header .saasInfo .img img{width:33px;height:33px;border-radius:50%;margin-right:5px;border:1px solid #eff2f5}.handHeaderContent .inner_header .saasInfo .img i{font-size:14px;font-weight:700;color:#5a5a5a}.handHeaderContent .dropDown{position:absolute;right:10px;top:50px;width:170px;background:#fff;box-shadow:0 0 4px #1919191a;border-radius:2px;display:none;z-index:999}.handHeaderContent .dropDown .san{display:inline-block;width:10px;height:10px;border:1px solid #fff;border-top-style:none;border-right-style:none;transform:rotate(135deg);position:absolute;top:-4px;right:38px;background:#fff}.handHeaderContent .dropDown .user{padding:11px;align-items:center;border-bottom:1px solid #f5f5f5}.handHeaderContent .dropDown .user span{line-height:normal;font-size:14px}.handHeaderContent .dropDown .exit{font-size:14px;line-height:39px;height:39px;border-top:1px solid #EFF2F5;text-align:center;padding:0;color:#5a5a5a}.handHeaderContent .aside{height:100%;transition:all .2s;overflow:overlay}.handHeaderContent .aside .init-el-menu{padding-bottom:38px}.handHeaderContent .aside.hideMenu .el-tooltip{text-align:center}.handHeaderContent .aside.hideMenu .el-submenu__title{text-align:center!important}.handHeaderContent .aside.hideMenu i.iconfont{margin-right:0}.handHeaderContent .aside.hideMenu .deldom,.handHeaderContent .aside.hideMenu .el-submenu__icon-arrow{display:none}.handHeaderContent .aside i.iconfont{font-size:16px;display:inline-block;width:18px;margin-right:4px;color:#747c81}.handHeaderContent .main{padding:0;background-color:#eff2f5}.handHeaderContent .main.scroll{overflow-y:scroll}.handHeaderContent .main.scroll .inner_content,.handHeaderContent .main.scroll .inner_content.normal{height:auto}.handHeaderContent .main.scrollX{overflow-x:scroll}.handHeaderContent .main .content_mar{padding:18px}.handHeaderContent .main .inner_content{background-color:#fff;height:calc(100vh - 86px);border-radius:4px}.handHeaderContent .main .inner_content.normal{background-color:transparent}.handHeaderContent .inner_footer{color:#666;text-align:center;padding-top:18px;justify-content:center}@keyframes changeRun{0%{transform:translateY(0) scale(.9)}25%{transform:translateY(-6px) scale(.9)}50%{transform:translateY(0) scale(.9)}75%{transform:translateY(-2px) scale(.9)}to{transform:translateY(0) scale(.9)}}.initNoData[data-v-0b0e3718]{width:100%;align-items:center;justify-content:center}.initNoData .inner[data-v-0b0e3718]{text-align:center}.initNoData .inner p[data-v-0b0e3718]{color:#666;margin-top:12px;line-height:normal}.initPaging[data-v-1d8ef8c9] .el-select__placeholder{text-align:center}.previewFix[data-v-14d38dc6]{width:100%;height:100%;position:fixed;top:0;left:0;z-index:9999;background-color:#00000080;display:flex;justify-content:center;align-items:center}.previewFix img[data-v-14d38dc6]{max-width:98%;max-height:98%}.status_search[data-v-e6bbcf18]{display:inline-block}.status_search span[data-v-e6bbcf18]{min-width:40px;height:30px;padding:0 10px;display:inline-block;text-align:center;line-height:30px;border:1px solid #d9d9d9;border-right:1px solid transparent;cursor:pointer}.status_search span[data-v-e6bbcf18]:first-child{border-radius:2px 0 0 2px}.status_search span[data-v-e6bbcf18]:last-child{border-radius:0 2px 2px 0;border-right:1px solid #d9d9d9}.status_search .active[data-v-e6bbcf18]{background:#06f;color:#fff;border-color:#06f}
@@ -1,15 +0,0 @@
1
- /**
2
- * Element Plus 主题色覆盖
3
- * 使用 CSS 变量改变主题色
4
- */
5
-
6
- :root {
7
- /* 主题色 */
8
- --el-color-primary: #06f;
9
-
10
- /* 成功色 */
11
- --el-color-success: #35B84B;
12
-
13
- /* 危险色 */
14
- --el-color-danger: #FC1334;
15
- }