xyvcard-hairstyle 0.0.1

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 ADDED
@@ -0,0 +1,51 @@
1
+ # pnpm publish --no-git-checks
2
+ npm config set registry https://registry.npmjs.org/
3
+
4
+ # pnpm install
5
+ npm config set registry https://registry.npmmirror.com/
6
+
7
+
8
+ This template should help get you started developing with Vue 3 in Vite.
9
+
10
+ ## Recommended IDE Setup
11
+
12
+ [VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin).
13
+
14
+ ## Type Support for `.vue` Imports in TS
15
+
16
+ TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types.
17
+
18
+ If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps:
19
+
20
+ 1. Disable the built-in TypeScript Extension
21
+ 1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette
22
+ 2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)`
23
+ 2. Reload the VSCode window by running `Developer: Reload Window` from the command palette.
24
+
25
+ ## Customize configuration
26
+
27
+ See [Vite Configuration Reference](https://vitejs.dev/config/).
28
+
29
+ ## Project Setup
30
+
31
+ ```sh
32
+ pnpm install
33
+ ```
34
+
35
+ ### Compile and Hot-Reload for Development
36
+
37
+ ```sh
38
+ pnpm dev
39
+ ```
40
+
41
+ ### Type-Check, Compile and Minify for Production
42
+
43
+ ```sh
44
+ pnpm build
45
+ ```
46
+
47
+ ### Lint with [ESLint](https://eslint.org/)
48
+
49
+ ```sh
50
+ pnpm lint
51
+ ```
@@ -0,0 +1,89 @@
1
+ import { useUserStore as a, clearEmpty as r, request as s } from "jmash-core";
2
+ class o {
3
+ getKey(t) {
4
+ return {
5
+ hairstyleId: t.hairstyleId
6
+ };
7
+ }
8
+ // 查询翻页信息发型信息
9
+ findPage(t) {
10
+ const n = a().user.tenant;
11
+ return t && (t.hasGender = (t == null ? void 0 : t.gender) != null, t.hasStatus = (t == null ? void 0 : t.status) != null), r(t), s({
12
+ url: "/v1/hairstyle/hairstyle_info/page/" + n,
13
+ method: "get",
14
+ params: t
15
+ });
16
+ }
17
+ // 查询发型信息
18
+ findById(t) {
19
+ const n = a().user.tenant;
20
+ return r(t), s({
21
+ url: "/v1/hairstyle/hairstyle_info/id/" + n + "/" + t.hairstyleId,
22
+ method: "get"
23
+ });
24
+ }
25
+ // 创建实体发型信息
26
+ create(t) {
27
+ return t.tenant = a().user.tenant, r(t), s({
28
+ url: "/v1/hairstyle/hairstyle_info",
29
+ method: "post",
30
+ data: t
31
+ });
32
+ }
33
+ // 修改实体发型信息
34
+ update(t) {
35
+ return t.tenant = a().user.tenant, r(t), s({
36
+ url: "/v1/hairstyle/hairstyle_info",
37
+ method: "patch",
38
+ data: t
39
+ });
40
+ }
41
+ // 上移下移
42
+ move(t, n) {
43
+ let e = { ...t };
44
+ return e.tenant = a().user.tenant, e.up = n, r(e), s({
45
+ url: "/v1/hairstyle/hairstyle_info/move",
46
+ method: "put",
47
+ data: e
48
+ });
49
+ }
50
+ // 启用/禁用
51
+ enable(t, n) {
52
+ let e = { ...t };
53
+ return e.tenant = a().user.tenant, e.enable = n, r(e), s({
54
+ url: "/v1/hairstyle/hairstyle_info/enable",
55
+ method: "put",
56
+ data: e
57
+ });
58
+ }
59
+ // 删除发型信息
60
+ delete(t) {
61
+ return t.tenant = a().user.tenant, r(t), s({
62
+ url: "/v1/hairstyle/hairstyle_info/id",
63
+ method: "delete",
64
+ params: t
65
+ });
66
+ }
67
+ // 批量删除发型信息
68
+ batchDelete(t) {
69
+ const n = t.map((i) => i.hairstyleId), e = {
70
+ tenant: a().user.tenant,
71
+ hairstyleId: n
72
+ };
73
+ return r(e), s({
74
+ url: "/v1/hairstyle/hairstyle_info/batch",
75
+ method: "put",
76
+ data: e
77
+ });
78
+ }
79
+ }
80
+ const d = new o(), p = (l, t) => {
81
+ const n = l.__vccOpts || l;
82
+ for (const [e, i] of t)
83
+ n[e] = i;
84
+ return n;
85
+ };
86
+ export {
87
+ p as _,
88
+ d as h
89
+ };
@@ -0,0 +1,230 @@
1
+ import { defineComponent as D, ref as v, reactive as M, useModel as H, resolveComponent as s, openBlock as R, createBlock as A, withCtx as t, createVNode as l, unref as n, createElementVNode as G, createTextVNode as N, toDisplayString as P, mergeModels as w } from "vue";
2
+ import { ElMessage as $ } from "element-plus";
3
+ import { useI18n as T } from "vue-i18n";
4
+ import { h as c, _ as z } from "./_plugin-vue_export-helper-DSAIRWI6.mjs";
5
+ const J = { class: "dialog-footer" }, L = /* @__PURE__ */ D({
6
+ __name: "edit",
7
+ props: /* @__PURE__ */ w({
8
+ entityKey: {
9
+ type: Object,
10
+ default: () => {
11
+ }
12
+ }
13
+ }, {
14
+ modelValue: { type: Boolean },
15
+ modelModifiers: {}
16
+ }),
17
+ emits: /* @__PURE__ */ w(["refresh"], ["update:modelValue"]),
18
+ setup(f, { emit: j }) {
19
+ const { t: m } = T(), h = v(), k = Math.random() * 10 + "";
20
+ let o = M({
21
+ requestId: k,
22
+ updateMask: "hairstyleName,gender,hairstyleModel,hairstylePic,prompt"
23
+ });
24
+ const C = M({
25
+ hairstyleName: [
26
+ {
27
+ required: !0,
28
+ message: m("hairstyleInfo.hairstyleName"),
29
+ trigger: "change"
30
+ }
31
+ ],
32
+ gender: [
33
+ {
34
+ required: !0,
35
+ message: m("hairstyleInfo.gender"),
36
+ trigger: "change"
37
+ }
38
+ ],
39
+ hairstyleModel: [
40
+ {
41
+ required: !0,
42
+ message: m("hairstyleInfo.hairstyleModel"),
43
+ trigger: "change"
44
+ }
45
+ ],
46
+ hairstylePic: [
47
+ {
48
+ required: !0,
49
+ message: m("hairstyleInfo.hairstylePic"),
50
+ trigger: "change"
51
+ }
52
+ ]
53
+ }), i = H(f, "modelValue"), y = f, g = j, U = Object.keys(y.entityKey), _ = v(U.length >= 1);
54
+ _.value && c.findById(y.entityKey).then(({ data: e }) => {
55
+ Object.assign(o, e);
56
+ });
57
+ const q = async () => {
58
+ var e;
59
+ await ((e = h.value) == null ? void 0 : e.validate((a) => {
60
+ a && (_.value ? c.update(o).then((r) => {
61
+ console.log(r), r.status === 200 && ($({
62
+ message: m("common.submitSuccess"),
63
+ type: "success"
64
+ }), i.value && (i.value = !1), g("refresh", r.status === 200));
65
+ }) : c.create(o).then((r) => {
66
+ console.log(r), r.status === 200 && ($({
67
+ message: m("common.submitSuccess"),
68
+ type: "success"
69
+ }), i.value && (i.value = !1), g("refresh", r.status === 200));
70
+ }));
71
+ }));
72
+ };
73
+ function b() {
74
+ i.value && (i.value = !1);
75
+ }
76
+ function F(e) {
77
+ o.hairstyleModel = e.response.fileSrc;
78
+ }
79
+ function S(e) {
80
+ o.hairstylePic = e.response.fileSrc;
81
+ }
82
+ return (e, a) => {
83
+ const r = s("jmash-single-image-upload"), u = s("el-form-item"), p = s("el-col"), I = s("el-input"), B = s("jmash-enum-select"), E = s("el-row"), K = s("el-form"), V = s("el-button"), O = s("el-dialog");
84
+ return R(), A(O, {
85
+ modelValue: i.value,
86
+ "onUpdate:modelValue": a[3] || (a[3] = (d) => i.value = d),
87
+ onClose: b
88
+ }, {
89
+ footer: t(() => [
90
+ G("div", J, [
91
+ l(V, { onClick: b }, {
92
+ default: t(() => [
93
+ N(P(e.$t("common.cancel")), 1)
94
+ ]),
95
+ _: 1
96
+ }),
97
+ l(V, {
98
+ type: "primary",
99
+ onClick: q
100
+ }, {
101
+ default: t(() => [
102
+ N(P(e.$t("common.confirm")), 1)
103
+ ]),
104
+ _: 1
105
+ })
106
+ ])
107
+ ]),
108
+ default: t(() => [
109
+ l(K, {
110
+ ref_key: "hairstyleInfoFormRef",
111
+ ref: h,
112
+ model: n(o),
113
+ "label-width": "120px",
114
+ rules: C
115
+ }, {
116
+ default: t(() => [
117
+ l(E, null, {
118
+ default: t(() => [
119
+ l(p, { span: 12 }, {
120
+ default: t(() => [
121
+ l(u, {
122
+ label: e.$t("hairstyleInfo.hairstyleModel"),
123
+ prop: "hairstyleModel"
124
+ }, {
125
+ default: t(() => [
126
+ l(r, {
127
+ "picture-url": n(o).hairstyleModel,
128
+ onUploadFile: F
129
+ }, null, 8, ["picture-url"])
130
+ ]),
131
+ _: 1
132
+ }, 8, ["label"])
133
+ ]),
134
+ _: 1
135
+ }),
136
+ l(p, { span: 12 }, {
137
+ default: t(() => [
138
+ l(u, {
139
+ label: e.$t("hairstyleInfo.hairstylePic"),
140
+ prop: "hairstylePic"
141
+ }, {
142
+ default: t(() => [
143
+ l(r, {
144
+ "picture-url": n(o).hairstylePic,
145
+ onUploadFile: S
146
+ }, null, 8, ["picture-url"])
147
+ ]),
148
+ _: 1
149
+ }, 8, ["label"])
150
+ ]),
151
+ _: 1
152
+ }),
153
+ l(p, { span: 12 }, {
154
+ default: t(() => [
155
+ l(u, {
156
+ label: e.$t("hairstyleInfo.hairstyleName"),
157
+ prop: "hairstyleName"
158
+ }, {
159
+ default: t(() => [
160
+ l(I, {
161
+ modelValue: n(o).hairstyleName,
162
+ "onUpdate:modelValue": a[0] || (a[0] = (d) => n(o).hairstyleName = d),
163
+ placeholder: e.$t("hairstyleInfo.hairstyleNamePlaceholder"),
164
+ maxlength: "200",
165
+ "show-word-limit": "",
166
+ clearable: ""
167
+ }, null, 8, ["modelValue", "placeholder"])
168
+ ]),
169
+ _: 1
170
+ }, 8, ["label"])
171
+ ]),
172
+ _: 1
173
+ }),
174
+ l(p, { span: 12 }, {
175
+ default: t(() => [
176
+ l(u, {
177
+ label: e.$t("hairstyleInfo.gender"),
178
+ prop: "gender"
179
+ }, {
180
+ default: t(() => [
181
+ l(B, {
182
+ modelValue: n(o).gender,
183
+ "onUpdate:modelValue": a[1] || (a[1] = (d) => n(o).gender = d),
184
+ clearable: "",
185
+ placeholder: e.$t("hairstyleInfo.genderPlaceholder"),
186
+ "enum-type": "jmash.protobuf.Gender",
187
+ class: "w-full"
188
+ }, null, 8, ["modelValue", "placeholder"])
189
+ ]),
190
+ _: 1
191
+ }, 8, ["label"])
192
+ ]),
193
+ _: 1
194
+ }),
195
+ l(p, { span: 24 }, {
196
+ default: t(() => [
197
+ l(u, {
198
+ label: e.$t("hairstyleInfo.prompt"),
199
+ prop: "prompt"
200
+ }, {
201
+ default: t(() => [
202
+ l(I, {
203
+ modelValue: n(o).prompt,
204
+ "onUpdate:modelValue": a[2] || (a[2] = (d) => n(o).prompt = d),
205
+ placeholder: e.$t("hairstyleInfo.promptPlaceholder"),
206
+ maxlength: "300",
207
+ "show-word-limit": "",
208
+ type: "textarea"
209
+ }, null, 8, ["modelValue", "placeholder"])
210
+ ]),
211
+ _: 1
212
+ }, 8, ["label"])
213
+ ]),
214
+ _: 1
215
+ })
216
+ ]),
217
+ _: 1
218
+ })
219
+ ]),
220
+ _: 1
221
+ }, 8, ["model", "rules"])
222
+ ]),
223
+ _: 1
224
+ }, 8, ["modelValue"]);
225
+ };
226
+ }
227
+ }), Z = /* @__PURE__ */ z(L, [["__scopeId", "data-v-a419856c"]]);
228
+ export {
229
+ Z as default
230
+ };
@@ -0,0 +1,417 @@
1
+ import { defineComponent as ne, ref as c, reactive as E, resolveComponent as i, resolveDirective as ie, openBlock as u, createElementBlock as C, createElementVNode as f, createVNode as t, withCtx as o, withKeys as se, unref as n, createTextVNode as y, toDisplayString as p, withDirectives as V, createBlock as I, isRef as Q, createCommentVNode as U } from "vue";
2
+ import { useTableHooks as re, fileApi as $ } from "jmash-core";
3
+ import { D as T, h as de } from "./info-C2BzE-Wh.mjs";
4
+ import { useI18n as ue } from "vue-i18n";
5
+ import { h as me } from "./_plugin-vue_export-helper-DSAIRWI6.mjs";
6
+ import pe from "./edit-CBqg1DMz.mjs";
7
+ const ce = { class: "app-container" }, fe = { class: "search-container" }, ye = ["onClick"], he = ["onClick"], ve = ["onClick"], Ie = /* @__PURE__ */ ne({
8
+ __name: "index",
9
+ setup(_e) {
10
+ const { t: h } = ue(), r = c({}), {
11
+ tableHooks: s,
12
+ multipleTableRef: L,
13
+ queryFormRef: K,
14
+ listLoading: q,
15
+ tableData: A,
16
+ total: g
17
+ } = re(h, me, r);
18
+ let v = c([
19
+ {
20
+ label: "hairstyleInfo.hairstyleName",
21
+ prop: "hairstyleName",
22
+ width: "300",
23
+ isColumn: !0
24
+ },
25
+ {
26
+ label: "hairstyleInfo.gender",
27
+ prop: "gender",
28
+ width: "100",
29
+ slotName: "sexType",
30
+ columnType: "slot",
31
+ isColumn: !0
32
+ },
33
+ {
34
+ label: "hairstyleInfo.hairstyleModel",
35
+ prop: "hairstyleModel",
36
+ width: "200",
37
+ isColumn: !0,
38
+ slotName: "hairstyleModel",
39
+ columnType: "slot"
40
+ },
41
+ {
42
+ label: "hairstyleInfo.hairstylePic",
43
+ prop: "hairstylePic",
44
+ width: "200",
45
+ isColumn: !0,
46
+ slotName: "hairstylePic",
47
+ columnType: "slot"
48
+ },
49
+ {
50
+ label: "hairstyleInfo.orderBy",
51
+ prop: "orderBy",
52
+ width: "100",
53
+ isColumn: !0,
54
+ slotName: "listOrder",
55
+ columnType: "slot"
56
+ },
57
+ {
58
+ label: "hairstyleInfo.status",
59
+ prop: "status",
60
+ width: "100",
61
+ slotName: "status",
62
+ columnType: "slot",
63
+ isColumn: !0
64
+ },
65
+ {
66
+ label: "common.operate",
67
+ width: "200",
68
+ slotName: "operation",
69
+ columnType: "slot",
70
+ fixed: "right",
71
+ isColumn: !0
72
+ }
73
+ ]);
74
+ const d = c({
75
+ title: h("common.edit"),
76
+ visible: !1
77
+ });
78
+ c(!1);
79
+ let P = E({});
80
+ function x() {
81
+ P = E({}), d.value.title = h("common.add"), d.value.visible = !0;
82
+ }
83
+ function F(a) {
84
+ P.hairstyleId = a.hairstyleId, d.value.title = h("common.edit"), d.value.visible = !0;
85
+ }
86
+ function H(a) {
87
+ s.selectionRows.value = a;
88
+ }
89
+ function O(a) {
90
+ s.handleSort(a.prop, a.order);
91
+ }
92
+ function G() {
93
+ r.value = {}, s.resetQuery();
94
+ }
95
+ function R(a) {
96
+ a && s.getList();
97
+ }
98
+ s.getList();
99
+ const _ = c({
100
+ title: h("common.view"),
101
+ visible: !1
102
+ }), S = c({});
103
+ function J(a) {
104
+ S.value.hairstyleId = a.hairstyleId, _.value.visible = !0;
105
+ }
106
+ return (a, l) => {
107
+ const W = i("el-input"), w = i("el-form-item"), b = i("el-col"), z = i("jmash-select"), D = i("el-row"), N = i("el-button"), X = i("el-form"), Y = i("jmash-column-select"), j = i("el-image"), Z = i("Bottom"), M = i("el-icon"), B = i("el-tooltip"), ee = i("Top"), le = i("el-switch"), te = i("jmash-table"), oe = i("jmash-pagination"), ae = i("el-card"), k = ie("hasPerm");
108
+ return u(), C("div", ce, [
109
+ f("div", fe, [
110
+ t(X, {
111
+ ref_key: "queryFormRef",
112
+ ref: K,
113
+ model: r.value,
114
+ inline: !0
115
+ }, {
116
+ default: o(() => [
117
+ t(D, null, {
118
+ default: o(() => [
119
+ t(b, { span: 6 }, {
120
+ default: o(() => [
121
+ t(w, {
122
+ label: a.$t("hairstyleInfo.hairstyleName"),
123
+ prop: "hairstyleName"
124
+ }, {
125
+ default: o(() => [
126
+ t(W, {
127
+ modelValue: r.value.like_hairstyle_name,
128
+ "onUpdate:modelValue": l[0] || (l[0] = (e) => r.value.like_hairstyle_name = e),
129
+ placeholder: a.$t("hairstyleInfo.hairstyleNamePlaceholder"),
130
+ clearable: "",
131
+ onKeyup: l[1] || (l[1] = se((e) => n(s).handleQuery(), ["enter"]))
132
+ }, null, 8, ["modelValue", "placeholder"])
133
+ ]),
134
+ _: 1
135
+ }, 8, ["label"])
136
+ ]),
137
+ _: 1
138
+ }),
139
+ t(b, { span: 6 }, {
140
+ default: o(() => [
141
+ t(w, {
142
+ label: a.$t("hairstyleInfo.gender"),
143
+ prop: "gender"
144
+ }, {
145
+ default: o(() => [
146
+ t(z, {
147
+ modelValue: r.value.gender,
148
+ "onUpdate:modelValue": l[2] || (l[2] = (e) => r.value.gender = e),
149
+ placeholder: a.$t("hairstyleInfo.genderPlaceholder"),
150
+ data: n(T).genderEnum.values,
151
+ clearable: "",
152
+ onChange: l[3] || (l[3] = (e) => n(s).handleQuery())
153
+ }, null, 8, ["modelValue", "placeholder", "data"])
154
+ ]),
155
+ _: 1
156
+ }, 8, ["label"])
157
+ ]),
158
+ _: 1
159
+ }),
160
+ t(b, { span: 6 }, {
161
+ default: o(() => [
162
+ t(w, {
163
+ label: a.$t("hairstyleInfo.status"),
164
+ prop: "status"
165
+ }, {
166
+ default: o(() => [
167
+ t(z, {
168
+ modelValue: r.value.status,
169
+ "onUpdate:modelValue": l[4] || (l[4] = (e) => r.value.status = e),
170
+ placeholder: a.$t("hairstyleInfo.statusPlaceholder"),
171
+ data: n(T).statusDict.values,
172
+ clearable: "",
173
+ onChange: l[5] || (l[5] = (e) => n(s).handleQuery())
174
+ }, null, 8, ["modelValue", "placeholder", "data"])
175
+ ]),
176
+ _: 1
177
+ }, 8, ["label"])
178
+ ]),
179
+ _: 1
180
+ })
181
+ ]),
182
+ _: 1
183
+ }),
184
+ t(w, { class: "search-btn" }, {
185
+ default: o(() => [
186
+ t(N, {
187
+ type: "primary",
188
+ onClick: l[6] || (l[6] = (e) => n(s).handleQuery())
189
+ }, {
190
+ default: o(() => [
191
+ y(p(a.$t("common.search")), 1)
192
+ ]),
193
+ _: 1
194
+ }),
195
+ t(N, { onClick: G }, {
196
+ default: o(() => [
197
+ y(p(a.$t("common.reset")), 1)
198
+ ]),
199
+ _: 1
200
+ })
201
+ ]),
202
+ _: 1
203
+ })
204
+ ]),
205
+ _: 1
206
+ }, 8, ["model"]),
207
+ l[14] || (l[14] = f("div", { class: "clear" }, null, -1))
208
+ ]),
209
+ t(ae, {
210
+ shadow: "never",
211
+ class: "table-container"
212
+ }, {
213
+ header: o(() => [
214
+ t(D, null, {
215
+ default: o(() => [
216
+ t(b, { span: 17 }, {
217
+ default: o(() => [
218
+ V((u(), I(N, {
219
+ type: "primary",
220
+ onClick: x
221
+ }, {
222
+ default: o(() => [
223
+ y(p(a.$t("common.add")), 1)
224
+ ]),
225
+ _: 1
226
+ })), [
227
+ [k, ["hairstyle:hairstyle_info:add"]]
228
+ ])
229
+ ]),
230
+ _: 1
231
+ }),
232
+ t(b, {
233
+ span: 7,
234
+ class: "container-float"
235
+ }, {
236
+ default: o(() => [
237
+ t(Y, {
238
+ modelValue: n(v),
239
+ "onUpdate:modelValue": l[7] || (l[7] = (e) => Q(v) ? v.value = e : v = e),
240
+ "label-name": "hairstyle/hairstyle-info"
241
+ }, null, 8, ["modelValue"])
242
+ ]),
243
+ _: 1
244
+ })
245
+ ]),
246
+ _: 1
247
+ })
248
+ ]),
249
+ footer: o(() => [
250
+ n(g) > 0 ? (u(), I(oe, {
251
+ key: 0,
252
+ total: n(g),
253
+ "onUpdate:total": l[8] || (l[8] = (e) => Q(g) ? g.value = e : null),
254
+ "current-page": r.value.curPage,
255
+ "onUpdate:currentPage": l[9] || (l[9] = (e) => r.value.curPage = e),
256
+ "page-size": r.value.pageSize,
257
+ "onUpdate:pageSize": l[10] || (l[10] = (e) => r.value.pageSize = e),
258
+ onPagination: l[11] || (l[11] = (e) => n(s).getList())
259
+ }, null, 8, ["total", "current-page", "page-size"])) : U("", !0)
260
+ ]),
261
+ default: o(() => [
262
+ t(te, {
263
+ ref_key: "multipleTableRef",
264
+ ref: L,
265
+ "row-key": "hairstyleId",
266
+ "list-loading": n(q),
267
+ data: n(A),
268
+ "table-label": n(v),
269
+ onSelectionChange: H,
270
+ onSortChange: O,
271
+ isSelection: !1
272
+ }, {
273
+ sexType: o((e) => [
274
+ f("span", null, p(n(T).genderEnum.getEnumValue(e.data.row.gender)), 1)
275
+ ]),
276
+ hairstyleModel: o((e) => [
277
+ f("span", null, [
278
+ t(j, {
279
+ src: n($).imageUrl(
280
+ e.data.row.hairstyleModel,
281
+ 90,
282
+ 120,
283
+ "trans"
284
+ ),
285
+ "zoom-rate": 1.2,
286
+ "max-scale": 7,
287
+ "min-scale": 0.2,
288
+ "preview-src-list": [
289
+ n($).imageUrl(e.data.row.hairstyleModel)
290
+ ],
291
+ "preview-teleported": "",
292
+ "hide-on-click-modal": "",
293
+ fit: "contain"
294
+ }, null, 8, ["src", "preview-src-list"])
295
+ ])
296
+ ]),
297
+ hairstylePic: o((e) => [
298
+ f("span", null, [
299
+ t(j, {
300
+ src: n($).imageUrl(e.data.row.hairstylePic, 90, 120, "trans"),
301
+ "zoom-rate": 1.2,
302
+ "max-scale": 7,
303
+ "min-scale": 0.2,
304
+ "preview-src-list": [
305
+ n($).imageUrl(e.data.row.hairstylePic)
306
+ ],
307
+ "preview-teleported": "",
308
+ "hide-on-click-modal": "",
309
+ fit: "contain"
310
+ }, null, 8, ["src", "preview-src-list"])
311
+ ])
312
+ ]),
313
+ listOrder: o((e) => [
314
+ t(B, {
315
+ class: "box-item",
316
+ effect: "dark",
317
+ content: "下移",
318
+ placement: "top"
319
+ }, {
320
+ default: o(() => [
321
+ t(M, {
322
+ size: "16",
323
+ onClick: (m) => n(s).handleMove(e.data.row, !1)
324
+ }, {
325
+ default: o(() => [
326
+ t(Z)
327
+ ]),
328
+ _: 1
329
+ }, 8, ["onClick"])
330
+ ]),
331
+ _: 2
332
+ }, 1024),
333
+ t(B, {
334
+ class: "box-item",
335
+ effect: "dark",
336
+ content: "上移",
337
+ placement: "top"
338
+ }, {
339
+ default: o(() => [
340
+ t(M, {
341
+ size: "16",
342
+ onClick: (m) => n(s).handleMove(e.data.row, !0)
343
+ }, {
344
+ default: o(() => [
345
+ t(ee)
346
+ ]),
347
+ _: 1
348
+ }, 8, ["onClick"])
349
+ ]),
350
+ _: 2
351
+ }, 1024)
352
+ ]),
353
+ status: o((e) => [
354
+ f("span", null, [
355
+ t(le, {
356
+ modelValue: e.data.row.status,
357
+ "onUpdate:modelValue": (m) => e.data.row.status = m,
358
+ onChange: (m) => n(s).enableRecord(e.data.row, e.data.row.status)
359
+ }, null, 8, ["modelValue", "onUpdate:modelValue", "onChange"])
360
+ ])
361
+ ]),
362
+ operation: o((e) => [
363
+ V((u(), C("span", {
364
+ class: "el-button-color",
365
+ onClick: (m) => J(e.data.row)
366
+ }, [
367
+ y(p(a.$t("common.view")), 1)
368
+ ], 8, ye)), [
369
+ [k, ["hairstyle:hairstyle_info:view"]]
370
+ ]),
371
+ V((u(), C("span", {
372
+ class: "el-button-color dropdown-left",
373
+ onClick: (m) => F(e.data.row)
374
+ }, [
375
+ y(p(a.$t("common.edit")), 1)
376
+ ], 8, he)), [
377
+ [k, ["hairstyle:hairstyle_info:update"]]
378
+ ]),
379
+ V((u(), C("span", {
380
+ class: "el-button-color dropdown-left",
381
+ onClick: (m) => n(s).deleteRecord(e.data.row)
382
+ }, [
383
+ y(p(a.$t("common.delete")), 1)
384
+ ], 8, ve)), [
385
+ [k, ["hairstyle:hairstyle_info:delete"]]
386
+ ])
387
+ ]),
388
+ _: 1
389
+ }, 8, ["list-loading", "data", "table-label"])
390
+ ]),
391
+ _: 1
392
+ }),
393
+ d.value.visible ? (u(), I(pe, {
394
+ key: 0,
395
+ modelValue: d.value.visible,
396
+ "onUpdate:modelValue": l[12] || (l[12] = (e) => d.value.visible = e),
397
+ title: d.value.title,
398
+ "entity-key": n(P),
399
+ onRefresh: R,
400
+ width: "900px"
401
+ }, null, 8, ["modelValue", "title", "entity-key"])) : U("", !0),
402
+ _.value.visible ? (u(), I(de, {
403
+ key: 1,
404
+ modelValue: _.value.visible,
405
+ "onUpdate:modelValue": l[13] || (l[13] = (e) => _.value.visible = e),
406
+ title: _.value.title,
407
+ "entity-key": S.value,
408
+ onRefresh: R,
409
+ width: "900px"
410
+ }, null, 8, ["modelValue", "title", "entity-key"])) : U("", !0)
411
+ ]);
412
+ };
413
+ }
414
+ });
415
+ export {
416
+ Ie as default
417
+ };
package/dist/index.mjs ADDED
@@ -0,0 +1,48 @@
1
+ import { deepMerge as t, addViteMenus as s, i18n as o } from "jmash-core";
2
+ const r = {
3
+ // 发型信息
4
+ hairstyleInfo: {
5
+ name: "发型信息",
6
+ tenantId: "租户号",
7
+ hairstyleId: "发型ID",
8
+ hairstyleName: "发型名称",
9
+ gender: "性别",
10
+ hairstyleModel: "模特发型图",
11
+ hairstylePic: "发型图",
12
+ orderBy: "排序",
13
+ status: "状态"
14
+ }
15
+ }, i = {
16
+ // 发型信息
17
+ hairstyleInfo: {
18
+ name: "发型信息",
19
+ tenantId: "租户号",
20
+ hairstyleId: "发型ID",
21
+ hairstyleName: "发型名称",
22
+ hairstyleNamePlaceholder: "请输入发型名称",
23
+ gender: "性别",
24
+ genderPlaceholder: "请选择性别",
25
+ hairstyleModel: "模特发型图",
26
+ hairstylePic: "发型图",
27
+ prompt: "提示词",
28
+ promptPlaceholder: "请输入提示词",
29
+ orderBy: "排序",
30
+ status: "状态",
31
+ statusPlaceholder: "请选择状态",
32
+ createTime: "创建时间"
33
+ }
34
+ };
35
+ function n(e) {
36
+ let a = e.global.getLocaleMessage("zh-cn");
37
+ a = t(a, i);
38
+ let l = e.global.getLocaleMessage("en");
39
+ l = t(l, r), e.global.setLocaleMessage("zh-cn", a), e.global.setLocaleMessage("en", l);
40
+ }
41
+ const h = /* @__PURE__ */ Object.assign({ "./views/hairstyle/hairstyle-info/edit.vue": () => import("./edit-CBqg1DMz.mjs"), "./views/hairstyle/hairstyle-info/index.vue": () => import("./index-D-Zb3RFd.mjs"), "./views/hairstyle/hairstyle-info/info.vue": () => import("./info-C2BzE-Wh.mjs").then((e) => e.i) }), d = {
42
+ install(e) {
43
+ s(h, 7), n(o);
44
+ }
45
+ };
46
+ export {
47
+ d as default
48
+ };
@@ -0,0 +1,167 @@
1
+ var I = Object.defineProperty;
2
+ var M = (l, e, t) => e in l ? I(l, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : l[e] = t;
3
+ var a = (l, e, t) => M(l, typeof e != "symbol" ? e + "" : e, t);
4
+ import { ref as y, reactive as V, defineComponent as S, useModel as T, resolveComponent as d, openBlock as N, createBlock as k, withCtx as n, createVNode as s, unref as u, createTextVNode as p, toDisplayString as f, mergeModels as x } from "vue";
5
+ import { h as A, _ as j } from "./_plugin-vue_export-helper-DSAIRWI6.mjs";
6
+ import { EnumDict as B, fileApi as m } from "jmash-core";
7
+ class i {
8
+ }
9
+ //模块
10
+ a(i, "MODULE_DICT", "dict"), //字典类型枚举
11
+ a(i, "ENUM_ENTRY_TYPES", "jmash.dict.protobuf.EntryTypes"), // 学历
12
+ a(i, "DICT_DEGREE", "FirstDegree"), // 模块
13
+ a(i, "MODULE_RBAC", "rbac"), // 性别枚举
14
+ a(i, "ENUM_GENDER", "jmash.protobuf.Gender"), // 状态
15
+ a(i, "STATUS_VALUES", y([
16
+ { key: !0, value: "启用" },
17
+ { key: !1, value: "禁用" }
18
+ ]));
19
+ class O {
20
+ constructor(e, t) {
21
+ a(this, "values", V([]));
22
+ a(this, "query");
23
+ this.values.length = 0, this.values.push(...e.value), this.query = t;
24
+ }
25
+ // 根据给定键获取业务数据项的值的方法
26
+ getValue(e) {
27
+ for (const t of this.values)
28
+ if (t.key == e)
29
+ return t.value;
30
+ return "";
31
+ }
32
+ }
33
+ class h {
34
+ }
35
+ // 性别枚举
36
+ a(h, "genderEnum", new B(
37
+ i.MODULE_RBAC,
38
+ i.ENUM_GENDER
39
+ )), // 状态字典
40
+ a(h, "statusDict", new O(i.STATUS_VALUES, {}));
41
+ const R = /* @__PURE__ */ S({
42
+ __name: "info",
43
+ props: /* @__PURE__ */ x({
44
+ entityKey: {
45
+ type: Object,
46
+ default: () => {
47
+ }
48
+ }
49
+ }, {
50
+ modelValue: { type: Boolean },
51
+ modelModifiers: {}
52
+ }),
53
+ emits: ["update:modelValue"],
54
+ setup(l) {
55
+ const e = T(l, "modelValue"), t = l, g = Object.keys(t.entityKey), E = y(g.length >= 1), o = y({});
56
+ E.value && A.findById(t.entityKey).then(({ data: r }) => {
57
+ o.value = r;
58
+ });
59
+ function b() {
60
+ e.value && (e.value = !1);
61
+ }
62
+ return (r, _) => {
63
+ const v = d("el-image"), c = d("el-descriptions-item"), U = d("el-descriptions"), D = d("el-dialog");
64
+ return N(), k(D, {
65
+ modelValue: e.value,
66
+ "onUpdate:modelValue": _[0] || (_[0] = (w) => e.value = w),
67
+ onClose: b
68
+ }, {
69
+ default: n(() => [
70
+ s(U, {
71
+ column: 2,
72
+ border: ""
73
+ }, {
74
+ default: n(() => [
75
+ s(c, {
76
+ label: r.$t("hairstyleInfo.hairstyleModel")
77
+ }, {
78
+ default: n(() => [
79
+ s(v, {
80
+ style: { width: "70px", height: "70px" },
81
+ src: u(m).imageUrl(
82
+ o.value.hairstyleModel,
83
+ void 0,
84
+ 70,
85
+ "white"
86
+ ),
87
+ "zoom-rate": 1.2,
88
+ "max-scale": 7,
89
+ "min-scale": 0.2,
90
+ "initial-index": 4,
91
+ "preview-src-list": [
92
+ u(m).imageUrl(o.value.hairstyleModel)
93
+ ],
94
+ "preview-teleported": "",
95
+ "hide-on-click-modal": "",
96
+ fit: "contain"
97
+ }, null, 8, ["src", "preview-src-list"])
98
+ ]),
99
+ _: 1
100
+ }, 8, ["label"]),
101
+ s(c, {
102
+ label: r.$t("hairstyleInfo.hairstylePic")
103
+ }, {
104
+ default: n(() => [
105
+ s(v, {
106
+ style: { width: "70px", height: "70px" },
107
+ src: u(m).imageUrl(
108
+ o.value.hairstylePic,
109
+ void 0,
110
+ 70,
111
+ "white"
112
+ ),
113
+ "zoom-rate": 1.2,
114
+ "max-scale": 7,
115
+ "min-scale": 0.2,
116
+ "initial-index": 4,
117
+ "preview-src-list": [
118
+ u(m).imageUrl(o.value.hairstylePic)
119
+ ],
120
+ "preview-teleported": "",
121
+ "hide-on-click-modal": "",
122
+ fit: "contain"
123
+ }, null, 8, ["src", "preview-src-list"])
124
+ ]),
125
+ _: 1
126
+ }, 8, ["label"]),
127
+ s(c, {
128
+ label: r.$t("hairstyleInfo.hairstyleName")
129
+ }, {
130
+ default: n(() => [
131
+ p(f(o.value.hairstyleName), 1)
132
+ ]),
133
+ _: 1
134
+ }, 8, ["label"]),
135
+ s(c, {
136
+ label: r.$t("hairstyleInfo.gender")
137
+ }, {
138
+ default: n(() => [
139
+ p(f(u(h).genderEnum.getEnumValue(o.value.gender)), 1)
140
+ ]),
141
+ _: 1
142
+ }, 8, ["label"]),
143
+ s(c, {
144
+ label: r.$t("hairstyleInfo.prompt")
145
+ }, {
146
+ default: n(() => [
147
+ p(f(o.value.prompt), 1)
148
+ ]),
149
+ _: 1
150
+ }, 8, ["label"])
151
+ ]),
152
+ _: 1
153
+ })
154
+ ]),
155
+ _: 1
156
+ }, 8, ["modelValue"]);
157
+ };
158
+ }
159
+ }), L = /* @__PURE__ */ j(R, [["__scopeId", "data-v-1e87fd47"]]), C = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
160
+ __proto__: null,
161
+ default: L
162
+ }, Symbol.toStringTag, { value: "Module" }));
163
+ export {
164
+ h as D,
165
+ L as h,
166
+ C as i
167
+ };
package/dist/style.css ADDED
@@ -0,0 +1 @@
1
+ .position-center[data-v-a419856c]{position:absolute;right:0;top:30%;transform:translateY(-30%)}.plus-position[data-v-a419856c]{position:absolute;right:0;top:0;margin-top:8px}[data-v-1e87fd47] .el-descriptions__label{width:150px}
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
@@ -0,0 +1,7 @@
1
+ export interface FileModel {
2
+ fileId: string;
3
+ fileName: string;
4
+ filePath: string;
5
+ fileSrc?: string;
6
+ fileExt: string;
7
+ }
@@ -0,0 +1,7 @@
1
+ import { type Entry } from "jmash-core";
2
+ export declare class StatusBizDict {
3
+ values: import("vue").Reactive<Entry[]>;
4
+ query: any;
5
+ constructor(results: any, query: any);
6
+ getValue(key: string): string;
7
+ }
@@ -0,0 +1,15 @@
1
+ import type { AxiosPromise } from "axios";
2
+ import type { HairstyleInfoApi, HairstyleInfoReq, HairstyleInfoModel, HairstyleInfoPage, HairstyleInfoKey, HairstyleInfoCreateReq, HairstyleInfoUpdateReq } from "./types";
3
+ declare class HairstyleInfoApiImpl implements HairstyleInfoApi {
4
+ getKey(model: HairstyleInfoModel): HairstyleInfoKey;
5
+ findPage(query?: HairstyleInfoReq): AxiosPromise<HairstyleInfoPage>;
6
+ findById(query: HairstyleInfoKey): AxiosPromise<HairstyleInfoModel>;
7
+ create(data: HairstyleInfoCreateReq): AxiosPromise<HairstyleInfoModel>;
8
+ update(data: HairstyleInfoUpdateReq): AxiosPromise<HairstyleInfoModel>;
9
+ move(key: HairstyleInfoKey, up: boolean): AxiosPromise<boolean>;
10
+ enable(key: HairstyleInfoKey, enable: boolean): AxiosPromise<boolean>;
11
+ delete(query: HairstyleInfoKey): AxiosPromise<HairstyleInfoModel>;
12
+ batchDelete(keys: HairstyleInfoKey[]): AxiosPromise<number>;
13
+ }
14
+ declare const hairstyleInfoApi: HairstyleInfoApiImpl;
15
+ export { hairstyleInfoApi };
@@ -0,0 +1,76 @@
1
+ import type { EntityApi, EntityReq, EntityModel, EntityList, EntityPage, EntityTotal, EntityKey, EntityKeyList, EntityCreateReq, EntityUpdateReq, EntityExportReq, EntityImportReq } from "jmash-core";
2
+ export interface HairstyleInfoApi extends EntityApi {
3
+ }
4
+ export interface HairstyleInfoReq extends EntityReq {
5
+ like_hairstyle_name?: string;
6
+ hasGender?: boolean;
7
+ gender?: string;
8
+ hasStatus?: boolean;
9
+ status?: boolean;
10
+ }
11
+ export interface HairstyleInfoModel extends EntityModel {
12
+ tenantId?: string;
13
+ hairstyleId?: string;
14
+ hairstyleName?: string;
15
+ gender?: string;
16
+ hairstyleModel?: string;
17
+ hairstylePic?: string;
18
+ prompt?: string;
19
+ orderBy?: number;
20
+ status?: boolean;
21
+ version?: number;
22
+ createBy?: string;
23
+ createTime?: string;
24
+ updateBy?: string;
25
+ updateTime?: string;
26
+ }
27
+ export interface HairstyleInfoList extends EntityList {
28
+ results: Array<HairstyleInfoModel>;
29
+ }
30
+ export interface HairstyleInfoPage extends EntityPage {
31
+ results: Array<HairstyleInfoModel>;
32
+ subTotalDto: HairstyleInfoModelTotal;
33
+ totalDto: HairstyleInfoModelTotal;
34
+ }
35
+ export interface HairstyleInfoModelTotal extends EntityTotal {
36
+ totalSize: number;
37
+ }
38
+ export interface HairstyleInfoKey extends EntityKey {
39
+ tenant?: string;
40
+ hairstyleId?: string;
41
+ }
42
+ export interface HairstyleInfoKeyList extends EntityKeyList {
43
+ tenant?: string;
44
+ hairstyleId?: Array<string>;
45
+ }
46
+ export interface HairstyleInfoCreateReq extends EntityCreateReq {
47
+ hairstyleName?: string;
48
+ gender?: string;
49
+ hairstyleModel?: string;
50
+ hairstylePic?: string;
51
+ prompt?: string;
52
+ }
53
+ export interface HairstyleInfoUpdateReq extends EntityUpdateReq {
54
+ hairstyleId?: string;
55
+ hairstyleName?: string;
56
+ gender?: string;
57
+ hairstyleModel?: string;
58
+ hairstylePic?: string;
59
+ prompt?: string;
60
+ }
61
+ export type HairstyleInfoFormReq = HairstyleInfoCreateReq | HairstyleInfoUpdateReq;
62
+ export interface HairstyleInfoExportReq extends EntityExportReq {
63
+ req: HairstyleInfoReq;
64
+ }
65
+ export interface HairstyleInfoImportReq extends EntityImportReq {
66
+ }
67
+ export interface HairstyleInfoMoveKey {
68
+ tenant?: string;
69
+ hairstyleId?: string;
70
+ up?: boolean;
71
+ }
72
+ export interface HairstyleInfoEnableKey {
73
+ tenant?: string;
74
+ hairstyleId?: string;
75
+ enable?: boolean;
76
+ }
@@ -0,0 +1,6 @@
1
+ import { EnumDict } from "jmash-core";
2
+ import { StatusBizDict } from "./dict";
3
+ export declare class Dict {
4
+ static readonly genderEnum: EnumDict;
5
+ static readonly statusDict: StatusBizDict;
6
+ }
@@ -0,0 +1,17 @@
1
+ export declare class Constant {
2
+ static readonly MODULE_DICT = "dict";
3
+ static readonly ENUM_ENTRY_TYPES = "jmash.dict.protobuf.EntryTypes";
4
+ static readonly DICT_DEGREE = "FirstDegree";
5
+ static readonly MODULE_RBAC = "rbac";
6
+ static readonly ENUM_GENDER = "jmash.protobuf.Gender";
7
+ static readonly STATUS_VALUES: import("vue").Ref<{
8
+ key: boolean;
9
+ value: string;
10
+ }[], {
11
+ key: boolean;
12
+ value: string;
13
+ }[] | {
14
+ key: boolean;
15
+ value: string;
16
+ }[]>;
17
+ }
@@ -0,0 +1,5 @@
1
+ import type { App } from "vue";
2
+ declare const hairstyle: {
3
+ install(app: App): void;
4
+ };
5
+ export default hairstyle;
@@ -0,0 +1,14 @@
1
+ declare const _default: {
2
+ hairstyleInfo: {
3
+ name: string;
4
+ tenantId: string;
5
+ hairstyleId: string;
6
+ hairstyleName: string;
7
+ gender: string;
8
+ hairstyleModel: string;
9
+ hairstylePic: string;
10
+ orderBy: string;
11
+ status: string;
12
+ };
13
+ };
14
+ export default _default;
@@ -0,0 +1,20 @@
1
+ declare const _default: {
2
+ hairstyleInfo: {
3
+ name: string;
4
+ tenantId: string;
5
+ hairstyleId: string;
6
+ hairstyleName: string;
7
+ hairstyleNamePlaceholder: string;
8
+ gender: string;
9
+ genderPlaceholder: string;
10
+ hairstyleModel: string;
11
+ hairstylePic: string;
12
+ prompt: string;
13
+ promptPlaceholder: string;
14
+ orderBy: string;
15
+ status: string;
16
+ statusPlaceholder: string;
17
+ createTime: string;
18
+ };
19
+ };
20
+ export default _default;
@@ -0,0 +1 @@
1
+ export declare function loadLang(i18n: any): void;
@@ -0,0 +1,5 @@
1
+ import "@/permission";
2
+ import "element-plus/dist/index.css";
3
+ import "jmash-core/dist/style.css";
4
+ import "jmash-dict/dist/style.css";
5
+ import "jmash-rbac/dist/style.css";
@@ -0,0 +1 @@
1
+ import "nprogress/nprogress.css";
@@ -0,0 +1,28 @@
1
+ import { type PropType } from "vue";
2
+ import type { HairstyleInfoKey } from "@/api/hairstyle/hairstyle-info/types";
3
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
4
+ entityKey: {
5
+ type: PropType<HairstyleInfoKey>;
6
+ default: () => void;
7
+ };
8
+ modelValue: {
9
+ type: PropType<boolean>;
10
+ };
11
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
12
+ refresh: (...args: any[]) => void;
13
+ "update:modelValue": (value: boolean | undefined) => void;
14
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
15
+ entityKey: {
16
+ type: PropType<HairstyleInfoKey>;
17
+ default: () => void;
18
+ };
19
+ modelValue: {
20
+ type: PropType<boolean>;
21
+ };
22
+ }>> & Readonly<{
23
+ onRefresh?: ((...args: any[]) => any) | undefined;
24
+ "onUpdate:modelValue"?: ((value: boolean | undefined) => any) | undefined;
25
+ }>, {
26
+ entityKey: HairstyleInfoKey;
27
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
28
+ export default _default;
@@ -0,0 +1,2 @@
1
+ declare const _default: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
2
+ export default _default;
@@ -0,0 +1,26 @@
1
+ import { type PropType } from "vue";
2
+ import type { HairstyleInfoKey } from "@/api/hairstyle/hairstyle-info/types";
3
+ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
4
+ entityKey: {
5
+ type: PropType<HairstyleInfoKey>;
6
+ default: () => void;
7
+ };
8
+ modelValue: {
9
+ type: PropType<boolean>;
10
+ };
11
+ }>, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
12
+ "update:modelValue": (value: boolean | undefined) => any;
13
+ }, string, import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
14
+ entityKey: {
15
+ type: PropType<HairstyleInfoKey>;
16
+ default: () => void;
17
+ };
18
+ modelValue: {
19
+ type: PropType<boolean>;
20
+ };
21
+ }>> & Readonly<{
22
+ "onUpdate:modelValue"?: ((value: boolean | undefined) => any) | undefined;
23
+ }>, {
24
+ entityKey: HairstyleInfoKey;
25
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
26
+ export default _default;
package/package.json ADDED
@@ -0,0 +1,57 @@
1
+ {
2
+ "name": "xyvcard-hairstyle",
3
+ "version": "0.0.1",
4
+ "private": false,
5
+ "module": "dist/index.mjs",
6
+ "types": "dts/src/index.d.ts",
7
+ "files": [
8
+ "dist",
9
+ "dts/src"
10
+ ],
11
+ "peerDependencies": {
12
+ "axios": "^1.9.0",
13
+ "element-plus": "^2.11.5",
14
+ "pinia": "^2.3.1",
15
+ "vue": "^3.5.13",
16
+ "vue-i18n": "^9.14.4",
17
+ "vue-router": "^4.5.1",
18
+ "jmash-core": "^0.1.42",
19
+ "jmash-dict": "^0.1.6",
20
+ "jmash-rbac": "^0.1.28"
21
+ },
22
+ "devDependencies": {
23
+ "@eslint/js": "^9.14.0",
24
+ "@tsconfig/node20": "^20.1.2",
25
+ "@types/node": "^20.11.10",
26
+ "@vitejs/plugin-vue": "^5.0.3",
27
+ "@vue/tsconfig": "^0.5.1",
28
+ "eslint": "^9.14.0",
29
+ "eslint-plugin-vue": "^9.30.0",
30
+ "globals": "^15.12.0",
31
+ "npm-run-all2": "^6.1.1",
32
+ "prettier": "^3.0.3",
33
+ "sass": "^1.72.0",
34
+ "typescript": "~5.3.0",
35
+ "typescript-eslint": "^8.13.0",
36
+ "unplugin-auto-import": "^0.17.5",
37
+ "unplugin-vue-components": "^0.26.0",
38
+ "vite": "^5.0.11",
39
+ "vue-tsc": "^2.1.10"
40
+ },
41
+ "dependencies": {
42
+ "file-saver": "^2.0.5",
43
+ "nprogress": "^0.2.0",
44
+ "@vueuse/core": "^10.9.0",
45
+ "qs": "^6.14.0"
46
+ },
47
+ "scripts": {
48
+ "dev": "vite",
49
+ "build": "vite build && pnpm build:dts",
50
+ "build:dts": "vue-tsc --declaration --emitDeclarationOnly",
51
+ "preview": "vite preview",
52
+ "build-only": "vite build",
53
+ "type-check": "vue-tsc --build --force",
54
+ "lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore",
55
+ "format": "prettier --write src/"
56
+ }
57
+ }