diff --git a/java-mall-app-shop-admin/api/warehouse/specification.js b/java-mall-app-shop-admin/api/warehouse/specification.js new file mode 100644 index 0000000..657488d --- /dev/null +++ b/java-mall-app-shop-admin/api/warehouse/specification.js @@ -0,0 +1,73 @@ +import http from "../../utils/http"; +import config from "../../config/config"; + +/** 获取规格列表 + * + * @author Seven + * @data 2025-7-12 + * @params { + * pageNum + * pageSize + * } + * @returns { } + * @see https://mall.gpxscs.cn/api/admin/shop/shop-base-product-spec/list + */ + +export function GetSpecificationList(params) { + return http({ + url: "/shop/shop-base-product-spec/list", + method: "get", + params, + baseURL: config.adminApi, + }); +} + +/** 编辑规格 + * + * @author Seven + * @data 2025-7-12 + * @params { + * spec_buildin + store_id + spec_order + specItems + spec_id + spec_remark + store_name + spec_format + text + spec_name + spec_category_id + * } + * @returns { } + * @see https://mall.gpxscs.cn/api/admin/shop/shop-base-product-spec/edit + */ + +export function UpdateSpecification(params) { + return http({ + url: "/shop/shop-base-product-spec/edit", + method: "post", + params, + baseURL: config.adminApi, + }); +} + +/** 删除规格 + * + * @author Seven + * @data 2025-7-12 + * @params { + * spec_ids + * } + * @returns { } + * @see https://mall.gpxscs.cn/api/admin/shop/shop-base-product-spec/delete + */ + +export function DelectSpecification(params) { + return http({ + url: "/shop/shop-base-product-spec/delete", + method: "post", + params, + baseURL: config.adminApi, + }); +} diff --git a/java-mall-app-shop-admin/pages.json b/java-mall-app-shop-admin/pages.json index e43654a..622c5ec 100644 --- a/java-mall-app-shop-admin/pages.json +++ b/java-mall-app-shop-admin/pages.json @@ -224,6 +224,18 @@ "navigationBarTitleText": "分类管理" } }, + { + "path": "pages/warehouse/manage/specification", + "style": { + "navigationBarTitleText": "规格管理" + } + }, + { + "path": "pages/warehouse/manage/typeManagement", + "style": { + "navigationBarTitleText": "类型管理" + } + }, { "path": "pages/warehouse/manage/batch", "style": { diff --git a/java-mall-app-shop-admin/pages/forgetPassword/forgetPassword.vue b/java-mall-app-shop-admin/pages/forgetPassword/forgetPassword.vue index 27d0ee1..7a26974 100644 --- a/java-mall-app-shop-admin/pages/forgetPassword/forgetPassword.vue +++ b/java-mall-app-shop-admin/pages/forgetPassword/forgetPassword.vue @@ -339,7 +339,7 @@ export default { } .input_icon { - /deep/ .u-icon__icon { + ::v-deep .u-icon__icon { font-size: 36rpx !important; } } diff --git a/java-mall-app-shop-admin/pages/login/login.vue b/java-mall-app-shop-admin/pages/login/login.vue index 9f595d8..d9a8f0a 100644 --- a/java-mall-app-shop-admin/pages/login/login.vue +++ b/java-mall-app-shop-admin/pages/login/login.vue @@ -496,7 +496,7 @@ export default { } .input_icon { - /deep/ .u-icon__icon { + ::v-deep .u-icon__icon { font-size: 36rpx !important; } } diff --git a/java-mall-app-shop-admin/pages/order/order.vue b/java-mall-app-shop-admin/pages/order/order.vue index b8171f7..4486e14 100644 --- a/java-mall-app-shop-admin/pages/order/order.vue +++ b/java-mall-app-shop-admin/pages/order/order.vue @@ -1019,12 +1019,15 @@ export default { tabs2: [ { name: "进行中", + num: 0, }, { name: "异常配送", + num: 0, }, { name: "退款", + num: 0, }, ], commodityArr: [ diff --git a/java-mall-app-shop-admin/pages/register/register.vue b/java-mall-app-shop-admin/pages/register/register.vue index 50057f4..8de9ade 100644 --- a/java-mall-app-shop-admin/pages/register/register.vue +++ b/java-mall-app-shop-admin/pages/register/register.vue @@ -270,7 +270,7 @@ export default { } .input_icon { - /deep/ .u-icon__icon { + ::v-deep.u-icon__icon { font-size: 36rpx !important; } } diff --git a/java-mall-app-shop-admin/pages/warehouse/manage/classifyList.vue b/java-mall-app-shop-admin/pages/warehouse/manage/classifyList.vue index 782780e..6522efb 100644 --- a/java-mall-app-shop-admin/pages/warehouse/manage/classifyList.vue +++ b/java-mall-app-shop-admin/pages/warehouse/manage/classifyList.vue @@ -249,7 +249,7 @@ - 暂无商品,马上添加 + 暂无商品类型,点击马上添加 +``` +在 `script` 中定义打开方法,和选择监听 +``` javascript + methods: { + // 显示选择器 + showPicker() { + this.$refs.treePicker._show(); + }, + //监听选择(ids为数组) + selectChange(ids, names) { + console.log(ids, names) + } + } +``` +在 `template` 中调用打开 +``` javascript + 调用选择器 +``` + +### 属性 +|属性名|类型|默认值|说明| +|:-|:-:|:--:|-:| +|localdata|Array|[]|源数据,目前支持tree结构,后续会考虑支持扁平化结构| +|valueKey|String|id|指定 Object 中 key 的值作为节点数据id| +|textKey|String|name|指定 Object 中 key 的值作为节点显示内容| +|childrenKey|String|children|指定 Object 中 key 的值作为节点子集| +|multiple|Boolean|false|是否多选,默认单选| +|selectParent|Boolean|true|是否可以选父级,默认可以| +|title|String| |标题| +|titleColor|String||标题颜色| +|confirmColor|String|#0055ff|确定按钮颜色| +|cancelColor|String|#757575|取消按钮颜色| +|switchColor|String|#666|节点切换图标颜色| +|border|Boolean|false|是否有分割线,默认无| + + + +### 数据格式 + +注意:必须有id、name(id可通过valueKey来配置为其它键值,如value)字段,且唯一 + +``` json +[ + { + id: 1, + name: '公司1', + children: [{ + id: 11, + name: '研发部', + children: [{ + id: 111, + name: '张三', + + },{ + id: 112, + name: '李四', + + }] + },{ + id: 12, + name: '综合部', + + } ] + }, + { + id: 2, + name: '公司2', + children: [{ + id: 21, + name: '研发部', + + },{ + id: 22, + name: '综合部', + + },{ + id: 23, + name: '财务部', + + }, ] + }, + { + id: 3, + name: '公司3' + }, + { + id: 4, + name: '公司4', + children: [{ + id: 41, + name: '研发部', + + }] + } +] +``` + + +### 方法 +|方法名|参数|默认值|说明| +|:-|:-:|:--:|-:| +|_show()| | |显示选择器| +|_hide()| | |隐藏选择器| diff --git a/java-mall-app-shop-admin/pages/warehouse/manage/components/ba-tree-picker/ba-tree-picker.vue b/java-mall-app-shop-admin/pages/warehouse/manage/components/ba-tree-picker/ba-tree-picker.vue new file mode 100644 index 0000000..59496c9 --- /dev/null +++ b/java-mall-app-shop-admin/pages/warehouse/manage/components/ba-tree-picker/ba-tree-picker.vue @@ -0,0 +1,704 @@ + + + + + + + diff --git a/java-mall-app-shop-admin/pages/warehouse/manage/components/tree/style.css b/java-mall-app-shop-admin/pages/warehouse/manage/components/tree/style.css new file mode 100644 index 0000000..10c8dd8 --- /dev/null +++ b/java-mall-app-shop-admin/pages/warehouse/manage/components/tree/style.css @@ -0,0 +1,160 @@ +.tki-tree-mask { + position: fixed; + top: 0rpx; + right: 0rpx; + bottom: 0rpx; + left: 0rpx; + z-index: 11999; + background-color: rgba(0, 0, 0, 0.6); + opacity: 0; + transition: all 0.3s ease; + visibility: hidden; +} +.tki-tree-mask.show { + visibility: visible; + opacity: 1; +} + +.tki-tree-cnt { + position: fixed; + top: 0rpx; + right: 0rpx; + bottom: 0rpx; + left: 0rpx; + z-index: 12000; + top: 225rpx; + transition: all 0.3s ease; + transform: translateY(100%); +} +.tki-tree-cnt.show { + transform: translateY(0); +} + +.tki-tree-bar-title { + font-weight: bold; + color: #000; +} + +.tki-tree-bar { + background-color: #fff; + height: 62px; + padding-left: 20rpx; + padding-right: 20rpx; + display: flex; + justify-content: space-between; + align-items: center; + box-sizing: border-box; + border-bottom-width: 1rpx !important; + border-bottom-style: solid; + border-bottom-color: #f5f5f5; + font-size: 32rpx; + color: #757575; + line-height: 1; +} +.tki-tree-bar-confirm { + color: #fe411b; +} +.tki-tree-view { + position: absolute; + top: 0rpx; + right: 0rpx; + bottom: 0rpx; + left: 0rpx; + top: 120rpx; + background-color: #fff; + padding-top: 20rpx; + padding-right: 20rpx; + padding-bottom: 20rpx; + padding-left: 20rpx; +} +.tki-tree-view-sc { + height: 100%; + overflow: hidden; +} +.tki-tree-item { + display: flex; + justify-content: space-between; + align-items: center; + font-size: 26rpx; + color: #757575; + line-height: 1; + height: 0; + opacity: 0; + transition: 0.2s; + position: relative; + overflow: hidden; + margin-bottom: 20rpx; +} +.tki-tree-item.show { + height: 80rpx; + opacity: 1; +} +.tki-tree-item.showchild:before { + transform: rotate(90deg); +} +.tki-tree-item.last:before { + opacity: 0; +} +.tki-tree-icon { + width: 26rpx; + height: 26rpx; + margin-right: 24rpx; +} +.tki-tree-label { + flex: 1; + display: flex; + align-items: center; + height: 100%; + font-size: 36rpx; + line-height: 1.2; +} +.tki-tree-check { + width: 40px; + height: 40px; + display: flex; + justify-content: center; + align-items: center; +} +.tki-tree-check-yes, +.tki-tree-check-no { + width: 20px; + height: 20px; + border-top-left-radius: 20%; + border-top-right-radius: 20%; + border-bottom-right-radius: 20%; + border-bottom-left-radius: 20%; + border-top-width: 1rpx; + border-left-width: 1rpx; + border-bottom-width: 1rpx; + border-right-width: 1rpx; + border-style: solid; + border-color: #fe411b; + display: flex; + justify-content: center; + align-items: center; + box-sizing: border-box; +} +.tki-tree-check-yes-b { + width: 12px; + height: 12px; + border-top-left-radius: 20%; + border-top-right-radius: 20%; + border-bottom-right-radius: 20%; + border-bottom-left-radius: 20%; + background-color: #fe411b; +} +.tki-tree-check .radio { + border-top-left-radius: 50%; + border-top-right-radius: 50%; + border-bottom-right-radius: 50%; + border-bottom-left-radius: 50%; +} +.tki-tree-check .radio .tki-tree-check-yes-b { + border-top-left-radius: 50%; + border-top-right-radius: 50%; + border-bottom-right-radius: 50%; + border-bottom-left-radius: 50%; +} +.hover-c { + opacity: 0.6; +} diff --git a/java-mall-app-shop-admin/pages/warehouse/manage/components/tree/tree.vue b/java-mall-app-shop-admin/pages/warehouse/manage/components/tree/tree.vue new file mode 100644 index 0000000..0861fe6 --- /dev/null +++ b/java-mall-app-shop-admin/pages/warehouse/manage/components/tree/tree.vue @@ -0,0 +1,573 @@ + + + + + diff --git a/java-mall-app-shop-admin/pages/warehouse/manage/specification.vue b/java-mall-app-shop-admin/pages/warehouse/manage/specification.vue new file mode 100644 index 0000000..a07188c --- /dev/null +++ b/java-mall-app-shop-admin/pages/warehouse/manage/specification.vue @@ -0,0 +1,706 @@ + + + + + diff --git a/java-mall-app-shop-admin/pages/warehouse/manage/typeManagement.vue b/java-mall-app-shop-admin/pages/warehouse/manage/typeManagement.vue new file mode 100644 index 0000000..f6f499c --- /dev/null +++ b/java-mall-app-shop-admin/pages/warehouse/manage/typeManagement.vue @@ -0,0 +1,38 @@ + + + + + diff --git a/java-mall-app-shop-admin/pages/warehouse/warehouse.vue b/java-mall-app-shop-admin/pages/warehouse/warehouse.vue index fd050d4..dcf7629 100644 --- a/java-mall-app-shop-admin/pages/warehouse/warehouse.vue +++ b/java-mall-app-shop-admin/pages/warehouse/warehouse.vue @@ -14,7 +14,7 @@ 商品管理 - +