初始化

This commit is contained in:
zsqtony 2025-07-08 16:49:39 +08:00
parent b48337a67d
commit f231f64c1d
297 changed files with 75483 additions and 0 deletions

3
.env.development Normal file
View File

@ -0,0 +1,3 @@
NODE_ENV= development
VITE_HTTP_BASE_URL = http://10.39.13.80:8003/api/
VITE_ACCESS_TOKEN_KEY= 'ACCESS_TOKEN_CUSTOMER'

3
.env.prod Normal file
View File

@ -0,0 +1,3 @@
NODE_ENV= prod
# VITE_HTTP_BASE_URL= https://v3api.nchl.net/api/
VITE_ACCESS_TOKEN_KEY= 'NCHL_PROD_ACCESS_TOKEN_CUSTOMER'

3
.env.test Normal file
View File

@ -0,0 +1,3 @@
NODE_ENV= test
# VITE_HTTP_BASE_URL= https://v3api-dev.nchl.net/api/
VITE_ACCESS_TOKEN_KEY= 'NCHL_TEST_ACCESS_TOKEN_CUSTOMER'

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
node_modules

49
dist/dev/mp-weixin/app.js vendored Normal file
View File

@ -0,0 +1,49 @@
"use strict";
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
const common_vendor = require("./common/vendor.js");
require("./common/libraries/request.js");
const common_store_useWeAppAuthStore = require("./common/store/useWeAppAuthStore.js");
const common_libraries_updateManager = require("./common/libraries/updateManager.js");
require("./gen/Apis.js");
require("./common/libraries/apiLoading.js");
if (!Math) {
"./pages/loading.js";
"./pages/login.js";
"./pages/index/index.js";
"./pages/me/index.js";
}
const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
__name: "App",
setup(__props) {
const auth = common_store_useWeAppAuthStore.useWeAppAuthStore();
common_vendor.onLaunch(async () => {
const app = common_vendor.getCurrentInstance();
await auth.login(app);
console.log("App Launch");
common_libraries_updateManager.CheckUpdate();
});
common_vendor.onShow(async () => {
console.log("App Show");
});
common_vendor.onHide(() => {
console.log("App Hide");
});
return () => {
};
}
});
const App = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__file", "/Users/zsq/Sources/github/2025property-pay/pay-employee/src/App.vue"]]);
function createApp() {
const app = common_vendor.createSSRApp(App);
app.use(common_vendor.uviewPlus);
app.config.globalProperties.$onLaunched = new Promise((resolve) => {
app.config.globalProperties.$isResolve = resolve;
});
app.use(common_vendor.createPinia());
return {
app,
Pinia: common_vendor.Pinia
};
}
createApp().app.mount("#app");
exports.createApp = createApp;

34
dist/dev/mp-weixin/app.json vendored Normal file
View File

@ -0,0 +1,34 @@
{
"pages": [
"pages/loading",
"pages/login",
"pages/index/index",
"pages/me/index"
],
"subPackages": [],
"window": {
"navigationBarBackgroundColor": "#3da605",
"navigationBarTextStyle": "white"
},
"tabBar": {
"color": "#000000",
"selectedColor": "#3DA605",
"backgroundColor": "#ffffff",
"borderStyle": "black",
"list": [
{
"pagePath": "pages/index/index",
"text": "首页",
"iconPath": "/static/tabbar/home.png",
"selectedIconPath": "/static/tabbar/home_act.png"
},
{
"pagePath": "pages/me/index",
"text": "我的",
"iconPath": "/static/tabbar/me.png",
"selectedIconPath": "/static/tabbar/me_act.png"
}
]
},
"usingComponents": {}
}

3191
dist/dev/mp-weixin/app.wxss vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,22 @@
"use strict";
const common_vendor = require("../../vendor.js");
const _sfc_main = {};
if (!Array) {
const _easycom_u_loading_icon2 = common_vendor.resolveComponent("u-loading-icon");
_easycom_u_loading_icon2();
}
const _easycom_u_loading_icon = () => "../../../node-modules/uview-plus/components/u-loading-icon/u-loading-icon.js";
if (!Math) {
_easycom_u_loading_icon();
}
function _sfc_render(_ctx, _cache) {
return {
a: common_vendor.p({
text: "努力加载中",
size: "36",
vertical: true
})
};
}
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-bcef2396"], ["__file", "/Users/zsq/Sources/github/2025property-pay/pay-employee/src/common/components/cc-root-view/Loading.vue"]]);
wx.createComponent(Component);

View File

@ -0,0 +1,6 @@
{
"component": true,
"usingComponents": {
"u-loading-icon": "../../../node-modules/uview-plus/components/u-loading-icon/u-loading-icon"
}
}

View File

@ -0,0 +1 @@
<view class="loading-container data-v-bcef2396"><u-loading-icon wx:if="{{a}}" class="data-v-bcef2396" u-i="bcef2396-0" bind:__l="__l" u-p="{{a}}"/></view>

View File

@ -0,0 +1,6 @@
.loading-container.data-v-bcef2396 {
min-height: 100vh;
display: flex;
justify-content: center;
align-items: center;
}

View File

@ -0,0 +1,53 @@
"use strict";
const common_vendor = require("../../vendor.js");
const common_store_useWeAppAuthStore = require("../../store/useWeAppAuthStore.js");
require("../../../gen/Apis.js");
require("../../libraries/request.js");
require("../../libraries/apiLoading.js");
if (!Array) {
const _easycom_up_button2 = common_vendor.resolveComponent("up-button");
_easycom_up_button2();
}
const _easycom_up_button = () => "../../../node-modules/uview-plus/components/u-button/u-button.js";
if (!Math) {
_easycom_up_button();
}
const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
__name: "NetworkError",
setup(__props) {
common_store_useWeAppAuthStore.useWeAppAuthStore();
const query = common_vendor.ref();
common_vendor.onLoad((options) => {
query.value = options;
});
function refreshPage() {
const pages = getCurrentPages();
const currentPage = pages[pages.length - 1];
console.log("currentPage", currentPage);
const path = currentPage.$page.fullPath;
if (currentPage.$page.options) {
const options = currentPage.$page.options;
const fullPath = `${path}?${Object.keys(options).map((key) => `${key}=${encodeURIComponent(options[key])}`).join("&")}`;
common_vendor.index.reLaunch({
url: fullPath
});
console.log(fullPath);
} else {
common_vendor.index.reLaunch({
url: path
});
}
}
return (_ctx, _cache) => {
return {
a: common_vendor.o(refreshPage),
b: common_vendor.p({
type: "warning",
text: "点击重试"
})
};
};
}
});
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-c150de06"], ["__file", "/Users/zsq/Sources/github/2025property-pay/pay-employee/src/common/components/cc-root-view/NetworkError.vue"]]);
wx.createComponent(Component);

View File

@ -0,0 +1,6 @@
{
"component": true,
"usingComponents": {
"up-button": "../../../node-modules/uview-plus/components/u-button/u-button"
}
}

View File

@ -0,0 +1 @@
<view class="errpr_page data-v-c150de06"><view class="des data-v-c150de06">网络可能发生错误</view><up-button wx:if="{{b}}" class="data-v-c150de06" bindclick="{{a}}" u-i="c150de06-0" bind:__l="__l" u-p="{{b}}"></up-button></view>

View File

@ -0,0 +1,7 @@
.errpr_page.data-v-c150de06 {
padding: 0 40rpx;
text-align: center;
}
.errpr_page .des.data-v-c150de06 {
padding: 40rpx 0;
}

View File

@ -0,0 +1,42 @@
"use strict";
const common_vendor = require("../../vendor.js");
require("../../libraries/request.js");
const common_store_useWeAppAuthStore = require("../../store/useWeAppAuthStore.js");
const common_libraries_userUserLogin = require("../../libraries/userUserLogin.js");
require("../../../gen/Apis.js");
require("../../libraries/apiLoading.js");
if (!Math) {
(Loading + NetworkError)();
}
const Loading = () => "./Loading.js";
const NetworkError = () => "./NetworkError.js";
const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
__name: "cc-root-view",
setup(__props) {
const auth = common_store_useWeAppAuthStore.useWeAppAuthStore();
common_vendor.onLoad(async () => {
var _a;
console.log("cc-root-view onLoad 1", auth == null ? void 0 : auth.loading, auth == null ? void 0 : auth.hasError);
await ((_a = common_vendor.getCurrentInstance()) == null ? void 0 : _a.appContext.config.globalProperties.$onLaunched);
console.log("cc-root-view onLoad 2");
});
common_vendor.onShow(async () => {
var _a;
await ((_a = common_vendor.getCurrentInstance()) == null ? void 0 : _a.appContext.config.globalProperties.$onLaunched);
if (!common_libraries_userUserLogin.useUser.getLoginStatus()) {
common_vendor.index.redirectTo({
url: "/pages/login"
});
}
});
return (_ctx, _cache) => {
return common_vendor.e({
a: common_vendor.unref(auth).loading
}, common_vendor.unref(auth).loading ? {} : common_vendor.unref(auth).hasError ? {} : {}, {
b: common_vendor.unref(auth).hasError
});
};
}
});
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__file", "/Users/zsq/Sources/github/2025property-pay/pay-employee/src/common/components/cc-root-view/cc-root-view.vue"]]);
wx.createComponent(Component);

View File

@ -0,0 +1,7 @@
{
"component": true,
"usingComponents": {
"loading": "./Loading",
"network-error": "./NetworkError"
}
}

View File

@ -0,0 +1 @@
<view class="container mx-auto min-h-screen bg-gray-100"><loading wx:if="{{a}}" u-i="3655afeb-0" bind:__l="__l"/><network-error wx:elif="{{b}}" u-i="3655afeb-1" bind:__l="__l"/><view wx:else><slot></slot></view></view>

3
dist/dev/mp-weixin/common/index.js vendored Normal file
View File

@ -0,0 +1,3 @@
"use strict";
require("./libraries/request.js");
require("./store/useWeAppAuthStore.js");

View File

@ -0,0 +1,11 @@
"use strict";
const common_vendor = require("../vendor.js");
async function getApiLoading(Apis, data) {
common_vendor.index.showLoading({ title: "加载中...", mask: true });
let res = await Apis(data);
common_vendor.index.hideLoading();
if (res.success) {
return res;
}
}
exports.getApiLoading = getApiLoading;

View File

@ -0,0 +1,13 @@
"use strict";
const common_vendor = require("../vendor.js");
common_vendor.dayjs.locale("zh-cn");
common_vendor.dayjs.extend(common_vendor.relativeTime);
function getDay(num) {
if (num) {
const yesterday = common_vendor.dayjs().subtract(num, "day");
console.log(yesterday.format("YYYY-MM-DD"));
return yesterday.format("YYYY-MM-DD");
}
return common_vendor.dayjs().format("YYYY-MM-DD");
}
exports.getDay = getDay;

View File

@ -0,0 +1,50 @@
"use strict";
const common_vendor = require("../vendor.js");
const common_store_useWeAppAuthStore = require("../store/useWeAppAuthStore.js");
const http = new common_vendor.Request();
http.setConfig((config) => {
config.baseURL = "http://10.39.13.80:8003/api/";
config.header = {
...config.header
};
return config;
});
http.interceptors.request.use(
(config) => {
config.header = {
...config.header,
Authorization: "Bearer " + common_vendor.index.getStorageSync("ACCESS_TOKEN_CUSTOMER")
};
return config;
},
(config) => {
return Promise.reject(config);
}
);
http.interceptors.response.use(
(response) => {
const data = response.data;
common_vendor.index.hideLoading();
if (data.success !== true) {
if (data.errorCode === 10001) {
const auth = common_store_useWeAppAuthStore.useWeAppAuthStore();
auth.loading = false;
common_vendor.index.showToast({ title: data.errorMessage, icon: "none" });
} else {
common_vendor.index.showToast({ title: data.errorMessage, icon: "none" });
}
return Promise.reject(response.data);
}
return response.data;
},
(response) => {
console.log("error", response);
const auth = common_store_useWeAppAuthStore.useWeAppAuthStore();
auth.loading = false;
return Promise.reject(response);
}
);
function request(url, data) {
return http.post(url, data.data);
}
exports.request = request;

View File

@ -0,0 +1,39 @@
"use strict";
require("../vendor.js");
const common_libraries_updateMenu = require("./updateMenu.js");
function setTabBarData(idx, type) {
const pages = getCurrentPages();
const currentPage = pages[pages.length - 1];
if (currentPage) {
const tabBar = currentPage.getTabBar ? currentPage.getTabBar() : null;
if (tabBar) {
if (idx === 3) {
if (type === "boss") {
tabBar.setData({
selected: 3,
list: common_libraries_updateMenu.Merchant
});
}
if (type === "investor") {
tabBar.setData({
selected: 3,
list: common_libraries_updateMenu.Investor
});
}
if (type === "agent") {
tabBar.setData({
selected: 3,
list: common_libraries_updateMenu.Agent
});
}
return;
}
tabBar.setData({
selected: idx
});
} else {
console.error("当前页面没有TabBar");
}
}
}
exports.setTabBarData = setTabBarData;

View File

@ -0,0 +1,22 @@
"use strict";
const common_vendor = require("../vendor.js");
function CheckUpdate() {
const updateManager = common_vendor.index.getUpdateManager();
updateManager.onCheckForUpdate(function(res) {
console.log(res.hasUpdate);
});
updateManager.onUpdateReady(function() {
common_vendor.index.showModal({
title: "更新提示",
content: "新版本已经准备好,是否重启应用?",
success: function(res) {
if (res.confirm) {
updateManager.applyUpdate();
}
}
});
});
updateManager.onUpdateFailed(function() {
});
}
exports.CheckUpdate = CheckUpdate;

View File

@ -0,0 +1,85 @@
"use strict";
const Merchant = [
//商户
{
pagePath: "/pages/MERCHANT/index/index",
text: "首页",
iconPath: "/static/tabbar/home.png",
selectedIconPath: "/static/tabbar/homeAct.png"
},
{
pagePath: "/pages/MERCHANT/pay/index",
text: "支付",
iconPath: "/static/tabbar/pay.png",
selectedIconPath: "/static/tabbar/payAct.png"
},
{
pagePath: "/pages/MERCHANT/loans/index",
text: "支出",
iconPath: "/static/tabbar/expenses.png",
selectedIconPath: "/static/tabbar/expensesAct.png"
},
{
pagePath: "/pages/Me/index",
text: "我的",
iconPath: "/static/tabbar/me.png",
selectedIconPath: "/static/tabbar/meAct.png"
}
];
const Investor = [
//投资方
{
pagePath: "/pages/INVESTOR/index/index",
text: "首页",
iconPath: "/static/tabbar/home.png",
selectedIconPath: "/static/tabbar/homeAct.png"
},
{
pagePath: "/pages/INVESTOR/loans/index",
text: "分期",
iconPath: "/static/tabbar/expenses.png",
selectedIconPath: "/static/tabbar/expensesAct.png"
},
{
pagePath: "/pages/INVESTOR/stages_det/index",
text: "明细",
iconPath: "/static/tabbar/pay.png",
selectedIconPath: "/static/tabbar/payAct.png"
},
{
pagePath: "/pages/Me/index",
text: "我的",
iconPath: "/static/tabbar/me.png",
selectedIconPath: "/static/tabbar/meAct.png"
}
];
const Agent = [
//代理商
{
pagePath: "/pages/AGENT/index/index",
text: "首页",
iconPath: "/static/tabbar/home.png",
selectedIconPath: "/static/tabbar/homeAct.png"
},
{
pagePath: "/pages/AGENT/pay/index",
text: "支付",
iconPath: "/static/tabbar/pay.png",
selectedIconPath: "/static/tabbar/payAct.png"
},
{
pagePath: "/pages/AGENT/loans/index",
text: "支出",
iconPath: "/static/tabbar/expenses.png",
selectedIconPath: "/static/tabbar/expensesAct.png"
},
{
pagePath: "/pages/Me/index",
text: "我的",
iconPath: "/static/tabbar/me.png",
selectedIconPath: "/static/tabbar/meAct.png"
}
];
exports.Agent = Agent;
exports.Investor = Investor;
exports.Merchant = Merchant;

View File

@ -0,0 +1,39 @@
"use strict";
const common_vendor = require("../vendor.js");
require("./request.js");
const common_store_useWeAppAuthStore = require("../store/useWeAppAuthStore.js");
const auth = common_store_useWeAppAuthStore.useWeAppAuthStore();
const useUser = {
onBindPhone() {
var _a;
console.log("auth?.userInfo:", auth == null ? void 0 : auth.data);
if (!((_a = auth == null ? void 0 : auth.data) == null ? void 0 : _a.user)) {
common_vendor.index.showModal({
title: "登录",
content: "请先登录体验更多功能!",
success: function(res) {
if (res.confirm) {
common_vendor.index.navigateTo({
url: "/pages/login"
});
console.log("用户点击确定");
} else if (res.cancel) {
console.log("用户点击取消");
}
}
});
return false;
} else {
return true;
}
},
getLoginStatus() {
var _a;
if (!((_a = auth == null ? void 0 : auth.data) == null ? void 0 : _a.user)) {
return false;
} else {
return true;
}
}
};
exports.useUser = useUser;

View File

@ -0,0 +1,43 @@
"use strict";
const common_vendor = require("../vendor.js");
const gen_Apis = require("../../gen/Apis.js");
const common_libraries_apiLoading = require("../libraries/apiLoading.js");
const useWeAppAuthStore = common_vendor.defineStore("we_app_auth", () => {
const loading = common_vendor.ref(true);
const hasError = common_vendor.ref(false);
const data = common_vendor.ref({
user: { id: 0, username: "" }
});
function login(app) {
common_vendor.index.login({
provider: "weixin",
//使用微信登录
success: function(loginRes) {
console.log(loginRes.code);
return false;
}
});
}
function me() {
common_libraries_apiLoading.getApiLoading(gen_Apis.Apis.Login.Auth.Me, {}).then((res) => {
data.value.user = res.data.user;
console.log("me", res.data);
loading.value = false;
hasError.value = false;
});
}
const handleUserLogin = async (from_data) => {
common_libraries_apiLoading.getApiLoading(gen_Apis.Apis.Login.Auth.BindPhoneNumber, from_data).then((res) => {
me();
});
};
return {
loading,
hasError,
data,
login,
me,
handleUserLogin
};
});
exports.useWeAppAuthStore = useWeAppAuthStore;

12798
dist/dev/mp-weixin/common/vendor.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1,31 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
__name: "hs-button",
props: ["type", "label", "size", "openType", "buttonStyle"],
emits: ["click", "onGetPhoneNumber"],
setup(__props, { emit }) {
const props = __props;
const handleClick = () => {
emit("click");
};
const handleGetPhoneNumber = (e) => {
var _a;
if (((_a = e == null ? void 0 : e.detail) == null ? void 0 : _a.errMsg) === "getPhoneNumber:ok") {
emit("onGetPhoneNumber", e);
}
};
return (_ctx, _cache) => {
return {
a: common_vendor.t((props == null ? void 0 : props.label) || "我是按钮"),
b: common_vendor.s(props.buttonStyle),
c: (props == null ? void 0 : props.openType) || "",
d: common_vendor.n(`nchl_button ${props == null ? void 0 : props.type}_button ${(props == null ? void 0 : props.size) || "sm"}_size`),
e: common_vendor.o(handleClick),
f: common_vendor.o(handleGetPhoneNumber)
};
};
}
});
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-abb95bf8"], ["__file", "/Users/zsq/Sources/github/2025property-pay/pay-employee/src/components/hs-button/hs-button.vue"]]);
wx.createComponent(Component);

View File

@ -0,0 +1,4 @@
{
"component": true,
"usingComponents": {}
}

View File

@ -0,0 +1 @@
<button style="{{b}}" open-type="{{c}}" class="{{['data-v-abb95bf8', d]}}" bindtap="{{e}}" bindgetphonenumber="{{f}}">{{a}}</button>

View File

@ -0,0 +1,44 @@
button.data-v-abb95bf8::after {
border: none;
}
.page_title.data-v-abb95bf8 {
font-weight: 600;
font-size: 28rpx;
}
.nchl_button.data-v-abb95bf8 {
padding: 0 23rpx;
border-radius: 100rpx;
font-weight: 400;
font-size: 26rpx;
background-color: #3da605;
text-align: center;
color: #fff;
}
.primary_button.data-v-abb95bf8 {
background: #3da605;
}
.default_button.data-v-abb95bf8 {
background: #fff;
color: #000;
border: 1rpx solid #eee;
}
.display_button.data-v-abb95bf8 {
background: #c3c3c3;
color: #fff;
}
.delete_button.data-v-abb95bf8 {
background: #d43030;
color: #fff;
}
.sm_size.data-v-abb95bf8 {
height: 60rpx;
line-height: 60rpx;
}
.md_size.data-v-abb95bf8 {
height: 88rpx;
line-height: 88rpx;
}
.lg_size.data-v-abb95bf8 {
height: 100rpx;
line-height: 100rpx;
}

View File

@ -0,0 +1,30 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
__name: "hs-card",
props: ["title", "backgroundUrl", "styles", "borderHead"],
setup(__props) {
const props = __props;
const slots = common_vendor.useSlots();
const handleGetRelationNodes = () => {
let show = slots.default;
return show;
};
return (_ctx, _cache) => {
return common_vendor.e({
a: props == null ? void 0 : props.title
}, (props == null ? void 0 : props.title) ? {
b: common_vendor.t(props == null ? void 0 : props.title),
c: (props == null ? void 0 : props.borderHead) ? "1rpx solid #eee" : ""
} : {}, {
d: handleGetRelationNodes()
}, handleGetRelationNodes() ? {} : {}, {
e: props.backgroundUrl ? `url(${props.backgroundUrl || ""})` : "#fff",
f: common_vendor.s(__props.styles),
g: common_vendor.o(($event) => _ctx.$emit("click"))
});
};
}
});
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__file", "/Users/zsq/Sources/github/2025property-pay/pay-employee/src/components/hs-card/hs-card.vue"]]);
wx.createComponent(Component);

View File

@ -0,0 +1,4 @@
{
"component": true,
"usingComponents": {}
}

View File

@ -0,0 +1 @@
<view style="{{'background:' + e + ';' + ('background-size:' + '100% 100%') + ';' + f}}" class="card_content" bindtap="{{g}}"><view wx:if="{{a}}" class="card_header" style="{{'border-bottom:' + c}}"><view class="title">{{b}}</view><view class="right_value"><slot name="right_value"></slot></view></view><view wx:if="{{d}}" class="card_body"><slot></slot></view></view>

View File

@ -0,0 +1,22 @@
.card_content {
padding: 0 30rpx;
margin: 30rpx;
border-radius: 20rpx;
}
.card_header {
padding: 30rpx 0;
display: flex;
align-items: center;
justify-content: space-between;
}
.card_header .title {
flex: 1;
font-weight: 450;
font-size: 30rpx;
}
.card_header .right_value {
padding: 2rpx 12rpx;
align-content: center;
font-size: 27rpx;
color: #000;
}

View File

@ -0,0 +1,31 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
__name: "hs-custom-title",
props: ["title", "objStyle"],
setup(__props) {
const props = __props;
const titleValue = common_vendor.ref("标题");
const capsuleRect = common_vendor.ref({});
common_vendor.watch(
() => props.title,
(newVal) => {
titleValue.value = newVal;
console.log(newVal, "title");
}
);
common_vendor.onMounted(() => {
titleValue.value = props.title;
capsuleRect.value = common_vendor.index.getMenuButtonBoundingClientRect();
console.log(capsuleRect.value, "capsuleRect");
});
return (_ctx, _cache) => {
return {
a: common_vendor.t(titleValue.value || "标题"),
b: common_vendor.s(`padding-top:${capsuleRect.value.top}px;height:${capsuleRect.value.height}px;line-height:${capsuleRect.value.height}px;${props == null ? void 0 : props.objStyle}`)
};
};
}
});
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-4e15f08c"], ["__file", "/Users/zsq/Sources/github/2025property-pay/pay-employee/src/components/hs-custom-title/hs-custom-title.vue"]]);
wx.createComponent(Component);

View File

@ -0,0 +1,4 @@
{
"component": true,
"usingComponents": {}
}

View File

@ -0,0 +1 @@
<view class="custom-title data-v-4e15f08c" style="{{b}}">{{a}}</view>

View File

@ -0,0 +1,6 @@
.custom-title.data-v-4e15f08c {
text-align: center;
font-size: 32rpx;
color: #fff;
font-weight: bold;
}

View File

@ -0,0 +1,65 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const common_libraries_day = require("../../common/libraries/day.js");
if (!Array) {
const _easycom_uni_icons2 = common_vendor.resolveComponent("uni-icons");
_easycom_uni_icons2();
}
const _easycom_uni_icons = () => "../../uni_modules/uni-icons/components/uni-icons/uni-icons.js";
if (!Math) {
_easycom_uni_icons();
}
const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
__name: "hs-day-picker",
props: [
"Enums",
"title",
"pickerIndex",
"value",
"borderTop",
"required",
"valueModel",
"icon",
"iconSize"
],
emits: ["change", "update:valueModel"],
setup(__props, { emit }) {
const props = __props;
const selectValue = common_vendor.ref("");
const onChange = (e) => {
var _a, _b, _c;
selectValue.value = (_a = e == null ? void 0 : e.detail) == null ? void 0 : _a.value;
emit("update:valueModel", (_b = e == null ? void 0 : e.detail) == null ? void 0 : _b.value);
emit("change", (_c = e == null ? void 0 : e.detail) == null ? void 0 : _c.value);
};
common_vendor.watch(
() => props == null ? void 0 : props.valueModel,
(val) => {
selectValue.value = val;
}
);
common_vendor.onMounted(() => {
if (props == null ? void 0 : props.valueModel) {
selectValue.value = props == null ? void 0 : props.valueModel;
} else {
selectValue.value = common_libraries_day.getDay();
}
});
return (_ctx, _cache) => {
return common_vendor.e({
a: common_vendor.t(selectValue.value),
b: props == null ? void 0 : props.icon
}, (props == null ? void 0 : props.icon) ? {
c: common_vendor.p({
type: props == null ? void 0 : props.icon,
size: (props == null ? void 0 : props.iconSize) || 19,
color: "#555"
})
} : {}, {
d: common_vendor.o(onChange)
});
};
}
});
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-7a35584e"], ["__file", "/Users/zsq/Sources/github/2025property-pay/pay-employee/src/components/hs-day-picker/hs-day-picker.vue"]]);
wx.createComponent(Component);

View File

@ -0,0 +1,6 @@
{
"component": true,
"usingComponents": {
"uni-icons": "../../uni_modules/uni-icons/components/uni-icons/uni-icons"
}
}

View File

@ -0,0 +1 @@
<picker class="data-v-7a35584e" mode="date" bindchange="{{d}}"><view class="nchl_day_picker data-v-7a35584e"><text class="data-v-7a35584e">{{a}}</text><uni-icons wx:if="{{b}}" class="data-v-7a35584e" u-i="7a35584e-0" bind:__l="__l" u-p="{{c}}"></uni-icons></view></picker>

View File

@ -0,0 +1,9 @@
.nchl_day_picker.data-v-7a35584e {
color: #333;
font-size: 28rpx;
display: flex;
align-items: center;
}
.nchl_day_picker text.data-v-7a35584e {
padding-right: 10rpx;
}

View File

@ -0,0 +1,93 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const components_hsInput_reducer = require("./reducer.js");
if (!Array) {
const _easycom_uni_icons2 = common_vendor.resolveComponent("uni-icons");
_easycom_uni_icons2();
}
const _easycom_uni_icons = () => "../../uni_modules/uni-icons/components/uni-icons/uni-icons.js";
if (!Math) {
_easycom_uni_icons();
}
const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
__name: "hs-input",
props: components_hsInput_reducer.wlInputProps,
emits: [
"update:valueModel",
"input",
"blur",
"bindconfirm",
"onClose"
],
setup(__props, { emit }) {
const props = __props;
const valueModel = common_vendor.ref("");
common_vendor.watch(
() => props.valueModel,
(val) => {
valueModel.value = val;
handleChange(val);
}
);
common_vendor.onMounted(() => {
valueModel.value = props.valueModel;
handleChange(props.valueModel);
});
const onChange = (e) => {
const target = e.target;
let value = target.value;
handleChange(value);
};
const handleChange = (value) => {
emit("update:valueModel", value);
emit("input", value);
};
const onBlur = () => {
emit("blur", props.valueModel);
};
const onConfirm = (e) => {
const target = e.target;
let value = target.value;
emit("bindconfirm", value);
};
const emptyInput = () => {
valueModel.value = "";
onChange({ target: { value: "" } });
};
return (_ctx, _cache) => {
return common_vendor.e({
a: common_vendor.n(props.classInputName),
b: common_vendor.o([($event) => valueModel.value = $event.detail.value, onChange]),
c: props.placeholderStyle,
d: (props == null ? void 0 : props.width) || "300rpx",
e: props == null ? void 0 : props.textAlign,
f: common_vendor.o(onChange),
g: (props == null ? void 0 : props.placeholder) || "请输入",
h: (props == null ? void 0 : props.maxLength) || 255,
i: (props == null ? void 0 : props.type) || "text",
j: common_vendor.o(onBlur),
k: common_vendor.o(onConfirm),
l: props == null ? void 0 : props.disabled,
m: props == null ? void 0 : props.confirmType,
n: (props == null ? void 0 : props.password) || false,
o: valueModel.value,
p: valueModel.value.length
}, valueModel.value.length ? {
q: common_vendor.o(emptyInput),
r: common_vendor.p({
type: "closeempty",
color: "#999999",
size: "12"
})
} : {}, {
s: _ctx.suffix
}, _ctx.suffix ? {
t: common_vendor.t(_ctx.suffix)
} : {}, {
v: common_vendor.n(props.className)
});
};
}
});
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__file", "/Users/zsq/Sources/github/2025property-pay/pay-employee/src/components/hs-input/hs-input.vue"]]);
wx.createComponent(Component);

View File

@ -0,0 +1,6 @@
{
"component": true,
"usingComponents": {
"uni-icons": "../../uni_modules/uni-icons/components/uni-icons/uni-icons"
}
}

View File

@ -0,0 +1 @@
<view class="{{['input_content', v]}}"><block wx:if="{{r0}}"><input class="{{['uni-input', a]}}" bindinput="{{b}}" placeholder-style="{{c}}" style="{{'width:' + d + ';' + ('text-align:' + e)}}" bindchange="{{f}}" placeholder="{{g}}" maxlength="{{h}}" type="{{i}}" bindblur="{{j}}" bindconfirm="{{k}}" disabled="{{l}}" confirm-type="{{m}}" password="{{n}}" value="{{o}}"/></block><view wx:if="{{p}}" class="close"><uni-icons wx:if="{{r}}" bindclick="{{q}}" u-i="3eb21455-0" bind:__l="__l" u-p="{{r}}"/></view><view wx:if="{{s}}" class="suffix">{{t}}</view></view>

View File

@ -0,0 +1,19 @@
.input_content {
display: flex;
align-items: center;
justify-content: space-between;
}
.input_content .uni-input {
flex: 1;
height: 70rpx;
}
.suffix {
color: #333333;
font-size: 28rpx;
margin-left: 20rpx;
}
.close {
height: 70rpx;
line-height: 70rpx;
padding: 0 10rpx;
}

View File

@ -0,0 +1,74 @@
"use strict";
const defInputProps = {
valueModel: "",
placeholder: "请输入内容",
width: "100%",
suffix: "",
maxLength: 255,
type: "text",
className: "",
placeholderStyle: "color: #ccc;font-size:25rpx;",
classInputName: "",
textAlign: "left",
confirmType: "done",
hasClose: false
};
const wlInputProps = {
valueModel: {
type: String,
default: defInputProps.valueModel
},
placeholder: {
type: String,
default: defInputProps.placeholder
},
width: {
type: String,
default: defInputProps.width
},
suffix: {
type: String,
default: defInputProps.suffix
},
maxLength: {
type: Number,
default: defInputProps.maxLength
},
type: {
type: String,
default: defInputProps.type
},
className: {
type: String,
default: defInputProps.className
},
placeholderStyle: {
type: String,
default: defInputProps.placeholderStyle
},
classInputName: {
type: String,
default: defInputProps.classInputName
},
password: {
type: Boolean,
default: false
},
textAlign: {
type: String,
default: defInputProps.textAlign
},
confirmType: {
type: String,
default: defInputProps.confirmType
},
disabled: {
type: Boolean,
default: false
},
hasClose: {
type: Boolean,
default: defInputProps.hasClose
}
};
exports.wlInputProps = wlInputProps;

View File

@ -0,0 +1,31 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const _sfc_main = {};
if (!Array) {
const _easycom_uni_icons2 = common_vendor.resolveComponent("uni-icons");
const _easycom_hs_button2 = common_vendor.resolveComponent("hs-button");
(_easycom_uni_icons2 + _easycom_hs_button2)();
}
const _easycom_uni_icons = () => "../../uni_modules/uni-icons/components/uni-icons/uni-icons.js";
const _easycom_hs_button = () => "../hs-button/hs-button.js";
if (!Math) {
(_easycom_uni_icons + _easycom_hs_button)();
}
function _sfc_render(_ctx, _cache) {
return {
a: common_vendor.p({
type: "phone",
size: "13",
color: "#3da605"
}),
b: common_vendor.p({
label: "删除",
type: "delete"
}),
c: common_vendor.p({
label: "编辑"
})
};
}
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-88a741e2"], ["__file", "/Users/zsq/Sources/github/2025property-pay/pay-employee/src/components/hs-order-items/hs-order-items.vue"]]);
wx.createComponent(Component);

View File

@ -0,0 +1,7 @@
{
"component": true,
"usingComponents": {
"uni-icons": "../../uni_modules/uni-icons/components/uni-icons/uni-icons",
"hs-button": "../hs-button/hs-button"
}
}

View File

@ -0,0 +1 @@
<view class="order_items data-v-88a741e2"><view class="header_no data-v-88a741e2">no.312312312321321</view><view class="user_info data-v-88a741e2"><view class="user_name data-v-88a741e2"> 黄先生 <text class="data-v-88a741e2">一人会有限公司</text></view><view class="prices data-v-88a741e2"> ¥122.32 </view></view><view class="parameters_body data-v-88a741e2"><view class="items data-v-88a741e2"> 塑料类-<text class="data-v-88a741e2">饮料瓶</text></view><view class="items data-v-88a741e2"> 计件:<text class="data-v-88a741e2">32件</text></view></view><view class="item_footer data-v-88a741e2"><view class="phone_btn data-v-88a741e2"><uni-icons wx:if="{{a}}" class="data-v-88a741e2" u-i="88a741e2-0" bind:__l="__l" u-p="{{a}}"></uni-icons> 打电话 </view><view class="group_btn data-v-88a741e2"><hs-button wx:if="{{b}}" class="data-v-88a741e2" u-i="88a741e2-1" bind:__l="__l" u-p="{{b}}"/><hs-button wx:if="{{c}}" class="data-v-88a741e2" u-i="88a741e2-2" bind:__l="__l" u-p="{{c}}"/></view></view></view>

View File

@ -0,0 +1,61 @@
.order_items.data-v-88a741e2 {
background-color: #fff;
padding: 30rpx;
border-radius: 10rpx;
margin: 30rpx;
position: relative;
box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.15);
}
.order_items .header_no.data-v-88a741e2 {
color: #666;
font-size: 27rpx;
}
.order_items .user_info.data-v-88a741e2 {
display: flex;
align-items: center;
justify-content: space-between;
padding: 15rpx 0;
}
.order_items .user_info .user_name.data-v-88a741e2 {
font-size: 27rpx;
font-weight: 600;
}
.order_items .user_info .user_name text.data-v-88a741e2 {
padding-left: 30rpx;
color: #999;
font-weight: 400;
}
.order_items .user_info .prices.data-v-88a741e2 {
font-size: 26rpx;
}
.order_items .parameters_body.data-v-88a741e2 {
display: flex;
align-items: center;
flex-wrap: wrap;
font-size: 27rpx;
color: #333;
}
.order_items .parameters_body .items.data-v-88a741e2 {
width: 50%;
}
.order_items .item_footer.data-v-88a741e2 {
display: flex;
align-items: center;
justify-content: space-between;
padding-top: 25rpx;
border-top: 1rpx solid #f8f8f8;
margin-top: 25rpx;
}
.order_items .item_footer .phone_btn.data-v-88a741e2 {
display: flex;
align-items: center;
color: #3da605;
font-size: 27rpx;
}
.order_items .item_footer .group_btn.data-v-88a741e2 {
display: flex;
align-items: center;
}
.order_items .item_footer .group_btn hs-button.data-v-88a741e2:last-child {
margin-left: 30rpx;
}

View File

@ -0,0 +1,92 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
if (!Array) {
const _easycom_u_checkbox2 = common_vendor.resolveComponent("u-checkbox");
const _easycom_u_checkbox_group2 = common_vendor.resolveComponent("u-checkbox-group");
(_easycom_u_checkbox2 + _easycom_u_checkbox_group2)();
}
const _easycom_u_checkbox = () => "../../node-modules/uview-plus/components/u-checkbox/u-checkbox.js";
const _easycom_u_checkbox_group = () => "../../node-modules/uview-plus/components/u-checkbox-group/u-checkbox-group.js";
if (!Math) {
(_easycom_u_checkbox + _easycom_u_checkbox_group)();
}
const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
__name: "hs-private-policy",
props: {
isAgree: {
type: Boolean,
default: false
},
isDisabled: {
type: Boolean,
default: false
},
policyName: {
type: String,
default: "隐私政策名称"
},
activeColor: {
type: String,
default: "#3b65a9"
}
},
emits: ["update:isAgree", "clickPolicy", "clickCheckbox"],
setup(__props, { emit }) {
const props = __props;
const isAgree = common_vendor.ref([]);
if (props.isAgree) {
isAgree.value = ["isAgree"];
} else {
isAgree.value = [];
}
common_vendor.watch(
() => props == null ? void 0 : props.isAgree,
() => {
if (isAgree.value) {
isAgree.value = ["isAgree"];
} else {
isAgree.value = [];
}
}
);
const onPolicy = () => {
emit("clickPolicy");
};
const handleAgreePrivatePolicy = () => {
var _a;
if (props.isDisabled) {
emit("clickCheckbox");
isAgree.value = [];
emit("update:isAgree", false);
return;
}
let checkbox = false;
if ((_a = isAgree.value) == null ? void 0 : _a.length) {
isAgree.value = [];
checkbox = false;
} else {
isAgree.value = ["isAgree"];
checkbox = true;
}
emit("update:isAgree", checkbox);
};
return (_ctx, _cache) => {
return {
a: common_vendor.p({
shape: "circle",
activeColor: props == null ? void 0 : props.activeColor,
name: "isAgree"
}),
b: common_vendor.o(handleAgreePrivatePolicy),
c: common_vendor.p({
modelValue: isAgree.value
}),
d: common_vendor.o(handleAgreePrivatePolicy),
e: common_vendor.t(props.policyName),
f: common_vendor.o(onPolicy)
};
};
}
});
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-48e3a8c0"], ["__file", "/Users/zsq/Sources/github/2025property-pay/pay-employee/src/components/hs-private-policy/hs-private-policy.vue"]]);
wx.createComponent(Component);

View File

@ -0,0 +1,7 @@
{
"component": true,
"usingComponents": {
"u-checkbox": "../../node-modules/uview-plus/components/u-checkbox/u-checkbox",
"u-checkbox-group": "../../node-modules/uview-plus/components/u-checkbox-group/u-checkbox-group"
}
}

View File

@ -0,0 +1 @@
<view class="privatePolicy data-v-48e3a8c0"><view class="scal-box data-v-48e3a8c0" bindtap="{{d}}"><u-checkbox-group wx:if="{{c}}" class="data-v-48e3a8c0" u-s="{{['d']}}" bindchange="{{b}}" u-i="48e3a8c0-0" bind:__l="__l" u-p="{{c}}"><u-checkbox wx:if="{{a}}" class="data-v-48e3a8c0" u-i="48e3a8c0-1,48e3a8c0-0" bind:__l="__l" u-p="{{a}}"></u-checkbox></u-checkbox-group><view class="t-l data-v-48e3a8c0">我已阅读并同意</view></view><view class="text data-v-48e3a8c0"><view class="t-r data-v-48e3a8c0" catchtap="{{f}}">{{e}}</view></view></view>

View File

@ -0,0 +1,18 @@
.privatePolicy.data-v-48e3a8c0 {
display: flex;
align-items: center;
justify-content: center;
}
.privatePolicy .scal-box.data-v-48e3a8c0 {
transform: scale(0.9);
display: flex;
align-items: center;
}
.privatePolicy .text.data-v-48e3a8c0 {
display: flex;
align-items: center;
font-size: 26rpx;
}
.privatePolicy .text .t-r.data-v-48e3a8c0 {
color: #3b65a9;
}

43
dist/dev/mp-weixin/gen/Apis.js vendored Normal file
View File

@ -0,0 +1,43 @@
"use strict";
const common_libraries_request = require("../common/libraries/request.js");
require("../common/store/useWeAppAuthStore.js");
const Apis = {
Login: {
Auth: {
Login(data) {
return common_libraries_request.request("employee/login/auth/login", { data });
},
Logout() {
return common_libraries_request.request("employee/login/auth/logout", {});
},
Me() {
return common_libraries_request.request("employee/login/auth/me", {});
},
BindPhoneNumber(data) {
return common_libraries_request.request("employee/login/auth/bind_phone_number", { data });
},
GetAccessToken(data) {
return common_libraries_request.request("employee/login/auth/get_access_token", { data });
},
WorkLogin(data) {
return common_libraries_request.request("employee/login/auth/work_login", { data });
},
BindWork(data) {
return common_libraries_request.request("employee/login/auth/bind_work", { data });
},
GetWorkAccessToken(data) {
return common_libraries_request.request("employee/login/auth/get_work_access_token", { data });
},
PreUpload(data) {
return common_libraries_request.request("employee/login/auth/pre_upload", { data });
},
DoUpload(data) {
return common_libraries_request.request("employee/login/auth/do_upload", { data });
},
ImLogin() {
return common_libraries_request.request("employee/login/auth/im_login", {});
}
}
}
};
exports.Apis = Apis;

View File

@ -0,0 +1,200 @@
"use strict";
const common_vendor = require("../../../../common/vendor.js");
const _sfc_main = {
name: "u-button",
mixins: [common_vendor.mpMixin, common_vendor.mixin, common_vendor.buttonMixin, common_vendor.openType, common_vendor.props$4],
data() {
return {};
},
computed: {
// 生成bem风格的类名
bemClass() {
if (!this.color) {
return this.bem(
"button",
["type", "shape", "size"],
["disabled", "plain", "hairline"]
);
} else {
return this.bem(
"button",
["shape", "size"],
["disabled", "plain", "hairline"]
);
}
},
loadingColor() {
if (this.plain) {
return this.color ? this.color : common_vendor.color[`u-${this.type}`];
}
if (this.type === "info") {
return "#c9c9c9";
}
return "rgb(200, 200, 200)";
},
iconColorCom() {
if (this.iconColor)
return this.iconColor;
if (this.plain) {
return this.color ? this.color : this.type;
} else {
return this.type === "info" ? "#000000" : "#ffffff";
}
},
baseColor() {
let style = {};
if (this.color) {
style.color = this.plain ? this.color : "white";
if (!this.plain) {
style["background-color"] = this.color;
}
if (this.color.indexOf("gradient") !== -1) {
style.borderTopWidth = 0;
style.borderRightWidth = 0;
style.borderBottomWidth = 0;
style.borderLeftWidth = 0;
if (!this.plain) {
style.backgroundImage = this.color;
}
} else {
style.borderColor = this.color;
style.borderWidth = "1px";
style.borderStyle = "solid";
}
}
return style;
},
// nvue版本按钮的字体不会继承父组件的颜色需要对每一个text组件进行单独的设置
nvueTextStyle() {
let style = {};
if (this.type === "info") {
style.color = "#323233";
}
if (this.color) {
style.color = this.plain ? this.color : "white";
}
style.fontSize = this.textSize + "px";
return style;
},
// 字体大小
textSize() {
let fontSize = 14, { size } = this;
if (size === "large")
fontSize = 16;
if (size === "normal")
fontSize = 14;
if (size === "small")
fontSize = 12;
if (size === "mini")
fontSize = 10;
return fontSize;
}
},
emits: [
"click",
"getphonenumber",
"getuserinfo",
"error",
"opensetting",
"launchapp",
"agreeprivacyauthorization"
],
methods: {
addStyle: common_vendor.addStyle,
clickHandler(e) {
if (!this.disabled && !this.loading) {
common_vendor.throttle(() => {
this.$emit("click", e);
}, this.throttleTime);
}
this.stop && this.preventEvent(e);
},
// 下面为对接uniapp官方按钮开放能力事件回调的对接
getphonenumber(res) {
this.$emit("getphonenumber", res);
},
getuserinfo(res) {
this.$emit("getuserinfo", res);
},
error(res) {
this.$emit("error", res);
},
opensetting(res) {
this.$emit("opensetting", res);
},
launchapp(res) {
this.$emit("launchapp", res);
},
agreeprivacyauthorization(res) {
this.$emit("agreeprivacyauthorization", res);
}
}
};
if (!Array) {
const _easycom_u_loading_icon2 = common_vendor.resolveComponent("u-loading-icon");
const _easycom_u_icon2 = common_vendor.resolveComponent("u-icon");
(_easycom_u_loading_icon2 + _easycom_u_icon2)();
}
const _easycom_u_loading_icon = () => "../u-loading-icon/u-loading-icon.js";
const _easycom_u_icon = () => "../u-icon/u-icon.js";
if (!Math) {
(_easycom_u_loading_icon + _easycom_u_icon)();
}
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return common_vendor.e({
a: _ctx.loading
}, _ctx.loading ? {
b: common_vendor.p({
mode: _ctx.loadingMode,
size: _ctx.loadingSize * 1.15,
color: $options.loadingColor
}),
c: common_vendor.t(_ctx.loadingText || _ctx.text),
d: common_vendor.s({
fontSize: $options.textSize + "px"
})
} : common_vendor.e({
e: _ctx.icon
}, _ctx.icon ? {
f: common_vendor.p({
name: _ctx.icon,
color: $options.iconColorCom,
size: $options.textSize * 1.35,
customStyle: {
marginRight: "2px"
}
})
} : {}, {
g: common_vendor.t(_ctx.text),
h: common_vendor.s({
fontSize: $options.textSize + "px"
})
}), {
i: Number(_ctx.hoverStartTime),
j: Number(_ctx.hoverStayTime),
k: _ctx.formType,
l: _ctx.openType,
m: _ctx.appParameter,
n: _ctx.hoverStopPropagation,
o: _ctx.sendMessageTitle,
p: _ctx.sendMessagePath,
q: _ctx.lang,
r: _ctx.dataName,
s: _ctx.sessionFrom,
t: _ctx.sendMessageImg,
v: _ctx.showMessageCard,
w: common_vendor.o((...args) => $options.getphonenumber && $options.getphonenumber(...args)),
x: common_vendor.o((...args) => $options.getuserinfo && $options.getuserinfo(...args)),
y: common_vendor.o((...args) => $options.error && $options.error(...args)),
z: common_vendor.o((...args) => $options.opensetting && $options.opensetting(...args)),
A: common_vendor.o((...args) => $options.launchapp && $options.launchapp(...args)),
B: common_vendor.o((...args) => $options.agreeprivacyauthorization && $options.agreeprivacyauthorization(...args)),
C: !_ctx.disabled && !_ctx.loading ? "u-button--active" : "",
D: common_vendor.s($options.baseColor),
E: common_vendor.s($options.addStyle(_ctx.customStyle)),
F: common_vendor.o((...args) => $options.clickHandler && $options.clickHandler(...args)),
G: common_vendor.n($options.bemClass)
});
}
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-461e713c"], ["__file", "/Users/zsq/Sources/github/2025property-pay/pay-employee/node_modules/uview-plus/components/u-button/u-button.vue"]]);
wx.createComponent(Component);

View File

@ -0,0 +1,7 @@
{
"component": true,
"usingComponents": {
"u-loading-icon": "../u-loading-icon/u-loading-icon",
"u-icon": "../u-icon/u-icon"
}
}

View File

@ -0,0 +1 @@
<button hover-start-time="{{i}}" hover-stay-time="{{j}}" form-type="{{k}}" open-type="{{l}}" app-parameter="{{m}}" hover-stop-propagation="{{n}}" send-message-title="{{o}}" send-message-path="{{p}}" lang="{{q}}" data-name="{{r}}" session-from="{{s}}" send-message-img="{{t}}" show-message-card="{{v}}" bindgetphonenumber="{{w}}" bindgetuserinfo="{{x}}" binderror="{{y}}" bindopensetting="{{z}}" bindlaunchapp="{{A}}" bindagreeprivacyauthorization="{{B}}" hover-class="{{C}}" style="{{D + ';' + E}}" bindtap="{{F}}" class="{{['u-button', 'u-reset-button', 'data-v-461e713c', G]}}"><block wx:if="{{a}}"><u-loading-icon wx:if="{{b}}" class="data-v-461e713c" u-i="461e713c-0" bind:__l="__l" u-p="{{b}}"></u-loading-icon><text class="u-button__loading-text data-v-461e713c" style="{{d}}">{{c}}</text></block><block wx:else><u-icon wx:if="{{e}}" class="data-v-461e713c" u-i="461e713c-1" bind:__l="__l" u-p="{{f}}"></u-icon><block wx:if="{{$slots.d}}"><slot></slot></block><block wx:else><text class="u-button__text data-v-461e713c" style="{{h}}">{{g}}</text></block></block></button>

View File

@ -0,0 +1,200 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
.u-empty.data-v-461e713c,
.u-empty__wrap.data-v-461e713c,
.u-tabs.data-v-461e713c,
.u-tabs__wrapper.data-v-461e713c,
.u-tabs__wrapper__scroll-view-wrapper.data-v-461e713c,
.u-tabs__wrapper__scroll-view.data-v-461e713c,
.u-tabs__wrapper__nav.data-v-461e713c,
.u-tabs__wrapper__nav__line.data-v-461e713c,
.up-empty.data-v-461e713c,
.up-empty__wrap.data-v-461e713c,
.up-tabs.data-v-461e713c,
.up-tabs__wrapper.data-v-461e713c,
.up-tabs__wrapper__scroll-view-wrapper.data-v-461e713c,
.up-tabs__wrapper__scroll-view.data-v-461e713c,
.up-tabs__wrapper__nav.data-v-461e713c,
.up-tabs__wrapper__nav__line.data-v-461e713c {
display: flex;
flex-direction: column;
flex-shrink: 0;
flex-grow: 0;
flex-basis: auto;
align-items: stretch;
align-content: flex-start;
}
.u-button.data-v-461e713c {
width: 100%;
white-space: nowrap;
}
.u-button__text.data-v-461e713c {
white-space: nowrap;
line-height: 1;
}
.u-button.data-v-461e713c:before {
position: absolute;
top: 50%;
left: 50%;
width: 100%;
height: 100%;
border: inherit;
border-radius: inherit;
transform: translate(-50%, -50%);
opacity: 0;
content: " ";
background-color: #000;
border-color: #000;
}
.u-button--active.data-v-461e713c:before {
opacity: 0.15;
}
.u-button__icon + .u-button__text.data-v-461e713c:not(:empty), .u-button__loading-text.data-v-461e713c {
margin-left: 4px;
}
.u-button--plain.u-button--primary.data-v-461e713c {
color: #3c9cff;
}
.u-button--plain.u-button--info.data-v-461e713c {
color: #909399;
}
.u-button--plain.u-button--success.data-v-461e713c {
color: #5ac725;
}
.u-button--plain.u-button--error.data-v-461e713c {
color: #f56c6c;
}
.u-button--plain.u-button--warning.data-v-461e713c {
color: #f9ae3d;
}
.u-button.data-v-461e713c {
height: 40px;
position: relative;
align-items: center;
justify-content: center;
display: flex;
flex-direction: row;
box-sizing: border-box;
flex-direction: row;
}
.u-button__text.data-v-461e713c {
font-size: 15px;
}
.u-button__loading-text.data-v-461e713c {
font-size: 15px;
margin-left: 4px;
}
.u-button--large.data-v-461e713c {
width: 100%;
height: 50px;
padding: 0 15px;
}
.u-button--normal.data-v-461e713c {
padding: 0 12px;
font-size: 14px;
}
.u-button--small.data-v-461e713c {
min-width: 60px;
height: 30px;
padding: 0px 8px;
font-size: 12px;
}
.u-button--mini.data-v-461e713c {
height: 22px;
font-size: 10px;
min-width: 50px;
padding: 0px 8px;
}
.u-button--disabled.data-v-461e713c {
opacity: 0.5;
}
.u-button--info.data-v-461e713c {
color: #323233;
background-color: #fff;
border-color: #ebedf0;
border-width: 1px;
border-style: solid;
}
.u-button--success.data-v-461e713c {
color: #fff;
background-color: #5ac725;
border-color: #5ac725;
border-width: 1px;
border-style: solid;
}
.u-button--primary.data-v-461e713c {
color: #fff;
background-color: #3c9cff;
border-color: #3c9cff;
border-width: 1px;
border-style: solid;
}
.u-button--error.data-v-461e713c {
color: #fff;
background-color: #f56c6c;
border-color: #f56c6c;
border-width: 1px;
border-style: solid;
}
.u-button--warning.data-v-461e713c {
color: #fff;
background-color: #f9ae3d;
border-color: #f9ae3d;
border-width: 1px;
border-style: solid;
}
.u-button--block.data-v-461e713c {
display: flex;
flex-direction: row;
width: 100%;
}
.u-button--circle.data-v-461e713c {
border-top-right-radius: 100px;
border-top-left-radius: 100px;
border-bottom-left-radius: 100px;
border-bottom-right-radius: 100px;
}
.u-button--square.data-v-461e713c {
border-bottom-left-radius: 3px;
border-bottom-right-radius: 3px;
border-top-left-radius: 3px;
border-top-right-radius: 3px;
}
.u-button__icon.data-v-461e713c {
min-width: 1em;
line-height: inherit !important;
vertical-align: top;
}
.u-button--plain.data-v-461e713c {
background-color: #fff;
}
.u-button--hairline.data-v-461e713c {
border-width: 0.5px !important;
}

View File

@ -0,0 +1,68 @@
"use strict";
const common_vendor = require("../../../../common/vendor.js");
const _sfc_main = {
name: "u-checkbox-group",
mixins: [common_vendor.mpMixin, common_vendor.mixin, common_vendor.props$1],
computed: {
// 这里computed的变量都是子组件u-checkbox需要用到的由于头条小程序的兼容性差异子组件无法实时监听父组件参数的变化
// 所以需要手动通知子组件这里返回一个parentData变量供watch监听在其中去通知每一个子组件重新从父组件(u-checkbox-group)
// 拉取父组件新的变化后的参数
parentData() {
return [
this.modelValue,
this.disabled,
this.inactiveColor,
this.activeColor,
this.size,
this.labelDisabled,
this.shape,
this.iconSize,
this.borderBottom,
this.placement
];
},
bemClass() {
return this.bem("checkbox-group", ["placement"]);
}
},
watch: {
// 当父组件需要子组件需要共享的参数发生了变化,手动通知子组件
parentData: {
handler() {
if (this.children.length) {
this.children.map((child) => {
typeof child.init === "function" && child.init();
});
}
},
deep: true
}
},
data() {
return {};
},
created() {
this.children = [];
},
emits: ["update:modelValue", "change"],
methods: {
// 将其他的checkbox设置为未选中的状态
unCheckedOther(childInstance) {
const values = [];
this.children.map((child) => {
if (child.isChecked) {
values.push(child.name);
}
});
this.$emit("change", values);
this.$emit("update:modelValue", values);
}
}
};
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return {
a: common_vendor.n($options.bemClass)
};
}
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-504cd728"], ["__file", "/Users/zsq/Sources/github/2025property-pay/pay-employee/node_modules/uview-plus/components/u-checkbox-group/u-checkbox-group.vue"]]);
wx.createComponent(Component);

View File

@ -0,0 +1,4 @@
{
"component": true,
"usingComponents": {}
}

View File

@ -0,0 +1 @@
<view class="{{['u-checkbox-group', 'data-v-504cd728', a]}}"><slot></slot></view>

View File

@ -0,0 +1,59 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
.u-empty.data-v-504cd728,
.u-empty__wrap.data-v-504cd728,
.u-tabs.data-v-504cd728,
.u-tabs__wrapper.data-v-504cd728,
.u-tabs__wrapper__scroll-view-wrapper.data-v-504cd728,
.u-tabs__wrapper__scroll-view.data-v-504cd728,
.u-tabs__wrapper__nav.data-v-504cd728,
.u-tabs__wrapper__nav__line.data-v-504cd728,
.up-empty.data-v-504cd728,
.up-empty__wrap.data-v-504cd728,
.up-tabs.data-v-504cd728,
.up-tabs__wrapper.data-v-504cd728,
.up-tabs__wrapper__scroll-view-wrapper.data-v-504cd728,
.up-tabs__wrapper__scroll-view.data-v-504cd728,
.up-tabs__wrapper__nav.data-v-504cd728,
.up-tabs__wrapper__nav__line.data-v-504cd728 {
display: flex;
flex-direction: column;
flex-shrink: 0;
flex-grow: 0;
flex-basis: auto;
align-items: stretch;
align-content: flex-start;
}
.u-checkbox-group--row.data-v-504cd728 {
display: flex;
flex-flow: row wrap;
}
.u-checkbox-group--column.data-v-504cd728 {
display: flex;
flex-direction: column;
}

View File

@ -0,0 +1,225 @@
"use strict";
const common_vendor = require("../../../../common/vendor.js");
const _sfc_main = {
name: "u-checkbox",
mixins: [common_vendor.mpMixin, common_vendor.mixin, common_vendor.props],
data() {
return {
isChecked: false,
// 父组件的默认值因为头条小程序不支持在computed中使用this.parent.shape的形式
// 故只能使用如此方法
parentData: {
iconSize: 12,
labelDisabled: null,
disabled: null,
shape: "square",
activeColor: null,
inactiveColor: null,
size: 18,
modelValue: null,
iconColor: null,
placement: "row",
borderBottom: false,
iconPlacement: "left"
}
};
},
computed: {
// 是否禁用如果父组件u-radios-group禁用的话将会忽略子组件的配置
elDisabled() {
return this.disabled !== "" ? this.disabled : this.parentData.disabled !== null ? this.parentData.disabled : false;
},
// 是否禁用label点击
elLabelDisabled() {
return this.labelDisabled !== "" ? this.labelDisabled : this.parentData.labelDisabled !== null ? this.parentData.labelDisabled : false;
},
// 组件尺寸对应size的值默认值为21px
elSize() {
return this.size ? this.size : this.parentData.size ? this.parentData.size : 21;
},
// 组件的勾选图标的尺寸默认12px
elIconSize() {
return this.iconSize ? this.iconSize : this.parentData.iconSize ? this.parentData.iconSize : 12;
},
// 组件选中激活时的颜色
elActiveColor() {
return this.activeColor ? this.activeColor : this.parentData.activeColor ? this.parentData.activeColor : "#2979ff";
},
// 组件选未中激活时的颜色
elInactiveColor() {
return this.inactiveColor ? this.inactiveColor : this.parentData.inactiveColor ? this.parentData.inactiveColor : "#c8c9cc";
},
// label的颜色
elLabelColor() {
return this.labelColor ? this.labelColor : this.parentData.labelColor ? this.parentData.labelColor : "#606266";
},
// 组件的形状
elShape() {
return this.shape ? this.shape : this.parentData.shape ? this.parentData.shape : "circle";
},
// label大小
elLabelSize() {
return common_vendor.addUnit(this.labelSize ? this.labelSize : this.parentData.labelSize ? this.parentData.labelSize : "15");
},
elIconColor() {
const iconColor = this.iconColor ? this.iconColor : this.parentData.iconColor ? this.parentData.iconColor : "#ffffff";
if (this.elDisabled) {
return this.isChecked ? this.elInactiveColor : "transparent";
} else {
return this.isChecked ? iconColor : "transparent";
}
},
iconClasses() {
let classes = [];
classes.push("u-checkbox__icon-wrap--" + this.elShape);
if (this.elDisabled) {
classes.push("u-checkbox__icon-wrap--disabled");
}
if (this.isChecked && this.elDisabled) {
classes.push("u-checkbox__icon-wrap--disabled--checked");
}
return classes;
},
iconWrapStyle() {
const style = {};
style.backgroundColor = this.isChecked && !this.elDisabled ? this.elActiveColor : "#ffffff";
style.borderColor = this.isChecked && !this.elDisabled ? this.elActiveColor : this.elInactiveColor;
style.width = common_vendor.addUnit(this.elSize);
style.height = common_vendor.addUnit(this.elSize);
if (!this.usedAlone) {
if (this.parentData.iconPlacement === "right") {
style.marginRight = 0;
}
}
return style;
},
checkboxStyle() {
const style = {};
if (!this.usedAlone) {
if (this.parentData.borderBottom && this.parentData.placement === "row") {
common_vendor.error("检测到您将borderBottom设置为true需要同时将u-checkbox-group的placement设置为column才有效");
}
if (this.parentData.borderBottom && this.parentData.placement === "column") {
style.paddingBottom = "8px";
}
}
return common_vendor.deepMerge(style, common_vendor.addStyle(this.customStyle));
}
},
mounted() {
this.init();
},
emits: ["change", "update:checked"],
methods: {
init() {
if (!this.usedAlone) {
this.updateParentData();
if (!this.parent) {
common_vendor.error("u-checkbox必须搭配u-checkbox-group组件使用");
}
const value = this.parentData.modelValue;
if (this.checked) {
this.isChecked = true;
} else if (!this.usedAlone && common_vendor.test.array(value)) {
this.isChecked = value.some((item) => {
return item === this.name;
});
}
} else {
if (this.checked) {
this.isChecked = true;
}
}
},
updateParentData() {
this.getParentData("u-checkbox-group");
},
// 横向两端排列时,点击组件即可触发选中事件
wrapperClickHandler(e) {
if (!this.usedAlone) {
this.parentData.iconPlacement === "right" && this.iconClickHandler(e);
} else {
this.iconClickHandler(e);
}
},
// 点击图标
iconClickHandler(e) {
this.preventEvent(e);
if (!this.elDisabled) {
this.setRadioCheckedStatus();
}
},
// 点击label
labelClickHandler(e) {
this.preventEvent(e);
if (!this.elLabelDisabled && !this.elDisabled) {
this.setRadioCheckedStatus();
}
},
emitEvent() {
this.$emit("change", this.isChecked);
if (this.usedAlone) {
this.$emit("update:checked", this.isChecked);
}
this.$nextTick(() => {
common_vendor.formValidate(this, "change");
});
},
// 改变组件选中状态
// 这里的改变的依据是更改本组件的checked值为true同时通过父组件遍历所有u-checkbox实例
// 将本组件外的其他u-checkbox的checked都设置为false(都被取消选中状态),因而只剩下一个为选中状态
setRadioCheckedStatus() {
this.isChecked = !this.isChecked;
this.emitEvent();
if (!this.usedAlone) {
typeof this.parent.unCheckedOther === "function" && this.parent.unCheckedOther(this);
}
}
},
watch: {
checked(newValue, oldValue) {
if (newValue !== this.isChecked) {
this.isChecked = newValue;
}
}
}
};
if (!Array) {
const _easycom_u_icon2 = common_vendor.resolveComponent("u-icon");
_easycom_u_icon2();
}
const _easycom_u_icon = () => "../u-icon/u-icon.js";
if (!Math) {
_easycom_u_icon();
}
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return {
a: common_vendor.p({
name: "checkbox-mark",
size: $options.elIconSize,
color: $options.elIconColor
}),
b: common_vendor.r("icon", {
elIconSize: $options.elIconSize,
elIconColor: $options.elIconColor
}),
c: common_vendor.o((...args) => $options.iconClickHandler && $options.iconClickHandler(...args)),
d: common_vendor.n($options.iconClasses),
e: common_vendor.s($options.iconWrapStyle),
f: common_vendor.t(_ctx.label),
g: $options.elDisabled ? $options.elInactiveColor : $options.elLabelColor,
h: $options.elLabelSize,
i: $options.elLabelSize,
j: common_vendor.r("label", {
label: _ctx.label,
elDisabled: $options.elDisabled
}),
k: common_vendor.o((...args) => $options.labelClickHandler && $options.labelClickHandler(...args)),
l: common_vendor.s($options.checkboxStyle),
m: common_vendor.o((...args) => $options.wrapperClickHandler && $options.wrapperClickHandler(...args)),
n: common_vendor.n(`u-checkbox-label--${$data.parentData.iconPlacement}`),
o: common_vendor.n($data.parentData.borderBottom && $data.parentData.placement === "column" && "u-border-bottom")
};
}
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-abd63d8e"], ["__file", "/Users/zsq/Sources/github/2025property-pay/pay-employee/node_modules/uview-plus/components/u-checkbox/u-checkbox.vue"]]);
wx.createComponent(Component);

View File

@ -0,0 +1,6 @@
{
"component": true,
"usingComponents": {
"u-icon": "../u-icon/u-icon"
}
}

View File

@ -0,0 +1 @@
<view style="{{l}}" catchtap="{{m}}" class="{{['u-checkbox', 'cursor-pointer', 'data-v-abd63d8e', n, o]}}"><view catchtap="{{c}}" class="{{['u-checkbox__icon-wrap', 'cursor-pointer', 'data-v-abd63d8e', d]}}" style="{{e}}"><block wx:if="{{$slots.icon}}"><slot name="icon"></slot></block><block wx:else><u-icon wx:if="{{a}}" class="u-checkbox__icon-wrap__icon data-v-abd63d8e" u-i="abd63d8e-0" bind:__l="__l" u-p="{{a}}"/></block></view><view class="u-checkbox__label-wrap cursor-pointer data-v-abd63d8e" catchtap="{{k}}"><block wx:if="{{$slots.label}}"><slot name="label"></slot></block><block wx:else><text class="data-v-abd63d8e" style="{{'color:' + g + ';' + ('font-size:' + h) + ';' + ('line-height:' + i)}}">{{f}}</text></block></view></view>

View File

@ -0,0 +1,113 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
.u-empty.data-v-abd63d8e,
.u-empty__wrap.data-v-abd63d8e,
.u-tabs.data-v-abd63d8e,
.u-tabs__wrapper.data-v-abd63d8e,
.u-tabs__wrapper__scroll-view-wrapper.data-v-abd63d8e,
.u-tabs__wrapper__scroll-view.data-v-abd63d8e,
.u-tabs__wrapper__nav.data-v-abd63d8e,
.u-tabs__wrapper__nav__line.data-v-abd63d8e,
.up-empty.data-v-abd63d8e,
.up-empty__wrap.data-v-abd63d8e,
.up-tabs.data-v-abd63d8e,
.up-tabs__wrapper.data-v-abd63d8e,
.up-tabs__wrapper__scroll-view-wrapper.data-v-abd63d8e,
.up-tabs__wrapper__scroll-view.data-v-abd63d8e,
.up-tabs__wrapper__nav.data-v-abd63d8e,
.up-tabs__wrapper__nav__line.data-v-abd63d8e {
display: flex;
flex-direction: column;
flex-shrink: 0;
flex-grow: 0;
flex-basis: auto;
align-items: stretch;
align-content: flex-start;
}
.u-checkbox.data-v-abd63d8e {
display: flex;
flex-direction: row;
overflow: hidden;
flex-direction: row;
align-items: center;
margin-bottom: 5px;
margin-top: 5px;
}
.u-checkbox-label--left.data-v-abd63d8e {
flex-direction: row;
}
.u-checkbox-label--right.data-v-abd63d8e {
flex-direction: row-reverse;
justify-content: space-between;
}
.u-checkbox__icon-wrap.data-v-abd63d8e {
box-sizing: border-box;
transition-property: border-color, background-color, color;
transition-duration: 0.2s;
color: #606266;
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
color: transparent;
text-align: center;
margin-right: 6px;
font-size: 6px;
border-width: 1px;
border-color: #c8c9cc;
border-style: solid;
}
.u-checkbox__icon-wrap--circle.data-v-abd63d8e {
border-radius: 100%;
}
.u-checkbox__icon-wrap--square.data-v-abd63d8e {
border-radius: 3px;
}
.u-checkbox__icon-wrap--checked.data-v-abd63d8e {
color: #fff;
background-color: red;
border-color: #2979ff;
}
.u-checkbox__icon-wrap--disabled.data-v-abd63d8e {
background-color: #ebedf0 !important;
}
.u-checkbox__icon-wrap--disabled--checked.data-v-abd63d8e {
color: #c8c9cc !important;
}
.u-checkbox__label.data-v-abd63d8e {
word-wrap: break-word;
margin-left: 5px;
margin-right: 12px;
color: #606266;
font-size: 15px;
}
.u-checkbox__label--disabled.data-v-abd63d8e {
color: #c8c9cc;
}

View File

@ -0,0 +1,92 @@
"use strict";
const common_vendor = require("../../../../common/vendor.js");
const _sfc_main = {
name: "u-icon",
data() {
return {};
},
emits: ["click"],
mixins: [common_vendor.mpMixin, common_vendor.mixin, common_vendor.props$2],
computed: {
uClasses() {
let classes = [];
classes.push(this.customPrefix + "-" + this.name);
if (this.customPrefix == "uicon") {
classes.push("u-iconfont");
} else {
classes.push(this.customPrefix);
}
if (this.color && common_vendor.config.type.includes(this.color))
classes.push("u-icon__icon--" + this.color);
return classes;
},
iconStyle() {
let style = {};
style = {
fontSize: common_vendor.addUnit(this.size),
lineHeight: common_vendor.addUnit(this.size),
fontWeight: this.bold ? "bold" : "normal",
// 某些特殊情况需要设置一个到顶部的距离,才能更好的垂直居中
top: common_vendor.addUnit(this.top)
};
if (this.color && !common_vendor.config.type.includes(this.color))
style.color = this.color;
return style;
},
// 判断传入的name属性是否图片路径只要带有"/"均认为是图片形式
isImg() {
return this.name.indexOf("/") !== -1;
},
imgStyle() {
let style = {};
style.width = this.width ? common_vendor.addUnit(this.width) : common_vendor.addUnit(this.size);
style.height = this.height ? common_vendor.addUnit(this.height) : common_vendor.addUnit(this.size);
return style;
},
// 通过图标名,查找对应的图标
icon() {
if (this.customPrefix !== "uicon")
return "";
return common_vendor.icons["uicon-" + this.name] || this.name;
}
},
methods: {
addStyle: common_vendor.addStyle,
addUnit: common_vendor.addUnit,
clickHandler(e) {
this.$emit("click", this.index, e);
this.stop && this.preventEvent(e);
}
}
};
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return common_vendor.e({
a: $options.isImg
}, $options.isImg ? {
b: _ctx.name,
c: _ctx.imgMode,
d: common_vendor.s($options.imgStyle),
e: common_vendor.s($options.addStyle(_ctx.customStyle))
} : {
f: common_vendor.t($options.icon),
g: common_vendor.n($options.uClasses),
h: common_vendor.s($options.iconStyle),
i: common_vendor.s($options.addStyle(_ctx.customStyle)),
j: _ctx.hoverClass
}, {
k: _ctx.label !== ""
}, _ctx.label !== "" ? {
l: common_vendor.t(_ctx.label),
m: _ctx.labelColor,
n: $options.addUnit(_ctx.labelSize),
o: _ctx.labelPos == "right" ? $options.addUnit(_ctx.space) : 0,
p: _ctx.labelPos == "bottom" ? $options.addUnit(_ctx.space) : 0,
q: _ctx.labelPos == "left" ? $options.addUnit(_ctx.space) : 0,
r: _ctx.labelPos == "top" ? $options.addUnit(_ctx.space) : 0
} : {}, {
s: common_vendor.o((...args) => $options.clickHandler && $options.clickHandler(...args)),
t: common_vendor.n("u-icon--" + _ctx.labelPos)
});
}
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-1c933a9a"], ["__file", "/Users/zsq/Sources/github/2025property-pay/pay-employee/node_modules/uview-plus/components/u-icon/u-icon.vue"]]);
wx.createComponent(Component);

View File

@ -0,0 +1,4 @@
{
"component": true,
"usingComponents": {}
}

View File

@ -0,0 +1 @@
<view bindtap="{{s}}" class="{{['u-icon', 'data-v-1c933a9a', t]}}"><image wx:if="{{a}}" class="u-icon__img data-v-1c933a9a" src="{{b}}" mode="{{c}}" style="{{d + ';' + e}}"></image><text wx:else class="{{['u-icon__icon', 'data-v-1c933a9a', g]}}" style="{{h + ';' + i}}" hover-class="{{j}}">{{f}}</text><text wx:if="{{k}}" class="u-icon__label data-v-1c933a9a" style="{{'color:' + m + ';' + ('font-size:' + n) + ';' + ('margin-left:' + o) + ';' + ('margin-top:' + p) + ';' + ('margin-right:' + q) + ';' + ('margin-bottom:' + r)}}">{{l}}</text></view>

View File

@ -0,0 +1,104 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
.u-empty.data-v-1c933a9a,
.u-empty__wrap.data-v-1c933a9a,
.u-tabs.data-v-1c933a9a,
.u-tabs__wrapper.data-v-1c933a9a,
.u-tabs__wrapper__scroll-view-wrapper.data-v-1c933a9a,
.u-tabs__wrapper__scroll-view.data-v-1c933a9a,
.u-tabs__wrapper__nav.data-v-1c933a9a,
.u-tabs__wrapper__nav__line.data-v-1c933a9a,
.up-empty.data-v-1c933a9a,
.up-empty__wrap.data-v-1c933a9a,
.up-tabs.data-v-1c933a9a,
.up-tabs__wrapper.data-v-1c933a9a,
.up-tabs__wrapper__scroll-view-wrapper.data-v-1c933a9a,
.up-tabs__wrapper__scroll-view.data-v-1c933a9a,
.up-tabs__wrapper__nav.data-v-1c933a9a,
.up-tabs__wrapper__nav__line.data-v-1c933a9a {
display: flex;
flex-direction: column;
flex-shrink: 0;
flex-grow: 0;
flex-basis: auto;
align-items: stretch;
align-content: flex-start;
}
@font-face {
font-family: "uicon-iconfont";
src: url("https://at.alicdn.com/t/font_2225171_8kdcwk4po24.ttf") format("truetype");
}
.u-icon.data-v-1c933a9a {
display: flex;
align-items: center;
}
.u-icon--left.data-v-1c933a9a {
flex-direction: row-reverse;
align-items: center;
}
.u-icon--right.data-v-1c933a9a {
flex-direction: row;
align-items: center;
}
.u-icon--top.data-v-1c933a9a {
flex-direction: column-reverse;
justify-content: center;
}
.u-icon--bottom.data-v-1c933a9a {
flex-direction: column;
justify-content: center;
}
.u-icon__icon.data-v-1c933a9a {
font-family: uicon-iconfont;
position: relative;
display: flex;
flex-direction: row;
align-items: center;
}
.u-icon__icon--primary.data-v-1c933a9a {
color: #3c9cff;
}
.u-icon__icon--success.data-v-1c933a9a {
color: #5ac725;
}
.u-icon__icon--error.data-v-1c933a9a {
color: #f56c6c;
}
.u-icon__icon--warning.data-v-1c933a9a {
color: #f9ae3d;
}
.u-icon__icon--info.data-v-1c933a9a {
color: #909399;
}
.u-icon__img.data-v-1c933a9a {
height: auto;
will-change: transform;
}
.u-icon__label.data-v-1c933a9a {
line-height: 1;
}

View File

@ -0,0 +1,100 @@
"use strict";
const common_vendor = require("../../../../common/vendor.js");
const _sfc_main = {
name: "u-loading-icon",
mixins: [common_vendor.mpMixin, common_vendor.mixin, common_vendor.props$3],
data() {
return {
// Array.form可以通过一个伪数组对象创建指定长度的数组
// https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array/from
array12: Array.from({
length: 12
}),
// 这里需要设置默认值为360否则在安卓nvue上会延迟一个duration周期后才执行
// 在iOS nvue上则会一开始默认执行两个周期的动画
aniAngel: 360,
// 动画旋转角度
webviewHide: false,
// 监听webview的状态如果隐藏了页面则停止动画以免性能消耗
loading: false
// 是否运行中针对nvue使用
};
},
computed: {
// 当为circle类型时给其另外三边设置一个更轻一些的颜色
// 之所以需要这么做的原因是比如父组件传了color为红色那么需要另外的三个边为浅红色
// 而不能是固定的某一个其他颜色(因为这个固定的颜色可能浅蓝,导致效果没有那么细腻良好)
otherBorderColor() {
const lightColor = common_vendor.colorGradient(this.color, "#ffffff", 100)[80];
if (this.mode === "circle") {
return this.inactiveColor ? this.inactiveColor : lightColor;
} else {
return "transparent";
}
}
},
watch: {
show(n) {
}
},
mounted() {
this.init();
},
methods: {
addUnit: common_vendor.addUnit,
addStyle: common_vendor.addStyle,
init() {
setTimeout(() => {
}, 20);
},
// 监听webview的显示与隐藏
addEventListenerToWebview() {
const pages = getCurrentPages();
const page = pages[pages.length - 1];
const currentWebview = page.$getAppWebview();
currentWebview.addEventListener("hide", () => {
this.webviewHide = true;
});
currentWebview.addEventListener("show", () => {
this.webviewHide = false;
});
}
}
};
function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
return common_vendor.e({
a: _ctx.show
}, _ctx.show ? common_vendor.e({
b: !$data.webviewHide
}, !$data.webviewHide ? common_vendor.e({
c: _ctx.mode === "spinner"
}, _ctx.mode === "spinner" ? {
d: common_vendor.f($data.array12, (item, index, i0) => {
return {
a: index
};
})
} : {}, {
e: common_vendor.n(`u-loading-icon__spinner--${_ctx.mode}`),
f: _ctx.color,
g: $options.addUnit(_ctx.size),
h: $options.addUnit(_ctx.size),
i: _ctx.color,
j: $options.otherBorderColor,
k: $options.otherBorderColor,
l: $options.otherBorderColor,
m: `${_ctx.duration}ms`,
n: _ctx.mode === "semicircle" || _ctx.mode === "circle" ? _ctx.timingFunction : ""
}) : {}, {
o: _ctx.text
}, _ctx.text ? {
p: common_vendor.t(_ctx.text),
q: $options.addUnit(_ctx.textSize),
r: _ctx.textColor
} : {}, {
s: common_vendor.s($options.addStyle(_ctx.customStyle)),
t: common_vendor.n(_ctx.vertical && "u-loading-icon--vertical")
}) : {});
}
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-00752c6d"], ["__file", "/Users/zsq/Sources/github/2025property-pay/pay-employee/node_modules/uview-plus/components/u-loading-icon/u-loading-icon.vue"]]);
wx.createComponent(Component);

View File

@ -0,0 +1,4 @@
{
"component": true,
"usingComponents": {}
}

View File

@ -0,0 +1 @@
<view wx:if="{{a}}" style="{{s}}" class="{{['u-loading-icon', 'data-v-00752c6d', t]}}"><view wx:if="{{b}}" class="{{['u-loading-icon__spinner', 'data-v-00752c6d', e]}}" ref="ani" style="{{'color:' + f + ';' + ('width:' + g) + ';' + ('height:' + h) + ';' + ('border-top-color:' + i) + ';' + ('border-bottom-color:' + j) + ';' + ('border-left-color:' + k) + ';' + ('border-right-color:' + l) + ';' + ('animation-duration:' + m) + ';' + ('animation-timing-function:' + n)}}"><block wx:if="{{c}}"><view wx:for="{{d}}" wx:for-item="item" wx:key="a" class="u-loading-icon__dot data-v-00752c6d"></view></block></view><text wx:if="{{o}}" class="u-loading-icon__text data-v-00752c6d" style="{{'font-size:' + q + ';' + ('color:' + r)}}">{{p}}</text></view>

View File

@ -0,0 +1,181 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
.u-empty.data-v-00752c6d,
.u-empty__wrap.data-v-00752c6d,
.u-tabs.data-v-00752c6d,
.u-tabs__wrapper.data-v-00752c6d,
.u-tabs__wrapper__scroll-view-wrapper.data-v-00752c6d,
.u-tabs__wrapper__scroll-view.data-v-00752c6d,
.u-tabs__wrapper__nav.data-v-00752c6d,
.u-tabs__wrapper__nav__line.data-v-00752c6d,
.up-empty.data-v-00752c6d,
.up-empty__wrap.data-v-00752c6d,
.up-tabs.data-v-00752c6d,
.up-tabs__wrapper.data-v-00752c6d,
.up-tabs__wrapper__scroll-view-wrapper.data-v-00752c6d,
.up-tabs__wrapper__scroll-view.data-v-00752c6d,
.up-tabs__wrapper__nav.data-v-00752c6d,
.up-tabs__wrapper__nav__line.data-v-00752c6d {
display: flex;
flex-direction: column;
flex-shrink: 0;
flex-grow: 0;
flex-basis: auto;
align-items: stretch;
align-content: flex-start;
}
.u-loading-icon.data-v-00752c6d {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
color: #c8c9cc;
}
.u-loading-icon__text.data-v-00752c6d {
margin-left: 4px;
color: #606266;
font-size: 14px;
line-height: 20px;
}
.u-loading-icon__spinner.data-v-00752c6d {
width: 30px;
height: 30px;
position: relative;
box-sizing: border-box;
max-width: 100%;
max-height: 100%;
animation: u-rotate-00752c6d 1s linear infinite;
}
.u-loading-icon__spinner--semicircle.data-v-00752c6d {
border-width: 2px;
border-color: transparent;
border-top-right-radius: 100px;
border-top-left-radius: 100px;
border-bottom-left-radius: 100px;
border-bottom-right-radius: 100px;
border-style: solid;
}
.u-loading-icon__spinner--circle.data-v-00752c6d {
border-top-right-radius: 100px;
border-top-left-radius: 100px;
border-bottom-left-radius: 100px;
border-bottom-right-radius: 100px;
border-width: 2px;
border-top-color: #e5e5e5;
border-right-color: #e5e5e5;
border-bottom-color: #e5e5e5;
border-left-color: #e5e5e5;
border-style: solid;
}
.u-loading-icon--vertical.data-v-00752c6d {
flex-direction: column;
}
.data-v-00752c6d:host {
font-size: 0px;
line-height: 1;
}
.u-loading-icon__spinner--spinner.data-v-00752c6d {
animation-timing-function: steps(12);
}
.u-loading-icon__text.data-v-00752c6d:empty {
display: none;
}
.u-loading-icon--vertical .u-loading-icon__text.data-v-00752c6d {
margin: 6px 0 0;
color: #606266;
}
.u-loading-icon__dot.data-v-00752c6d {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}
.u-loading-icon__dot.data-v-00752c6d:before {
display: block;
width: 2px;
height: 25%;
margin: 0 auto;
background-color: currentColor;
border-radius: 40%;
content: " ";
}
.u-loading-icon__dot.data-v-00752c6d:nth-of-type(1) {
transform: rotate(30deg);
opacity: 1;
}
.u-loading-icon__dot.data-v-00752c6d:nth-of-type(2) {
transform: rotate(60deg);
opacity: 0.9375;
}
.u-loading-icon__dot.data-v-00752c6d:nth-of-type(3) {
transform: rotate(90deg);
opacity: 0.875;
}
.u-loading-icon__dot.data-v-00752c6d:nth-of-type(4) {
transform: rotate(120deg);
opacity: 0.8125;
}
.u-loading-icon__dot.data-v-00752c6d:nth-of-type(5) {
transform: rotate(150deg);
opacity: 0.75;
}
.u-loading-icon__dot.data-v-00752c6d:nth-of-type(6) {
transform: rotate(180deg);
opacity: 0.6875;
}
.u-loading-icon__dot.data-v-00752c6d:nth-of-type(7) {
transform: rotate(210deg);
opacity: 0.625;
}
.u-loading-icon__dot.data-v-00752c6d:nth-of-type(8) {
transform: rotate(240deg);
opacity: 0.5625;
}
.u-loading-icon__dot.data-v-00752c6d:nth-of-type(9) {
transform: rotate(270deg);
opacity: 0.5;
}
.u-loading-icon__dot.data-v-00752c6d:nth-of-type(10) {
transform: rotate(300deg);
opacity: 0.4375;
}
.u-loading-icon__dot.data-v-00752c6d:nth-of-type(11) {
transform: rotate(330deg);
opacity: 0.375;
}
.u-loading-icon__dot.data-v-00752c6d:nth-of-type(12) {
transform: rotate(360deg);
opacity: 0.3125;
}
@keyframes u-rotate-00752c6d {
0% {
transform: rotate(0deg);
}
to {
transform: rotate(1turn);
}
}

View File

@ -0,0 +1,42 @@
"use strict";
const common_vendor = require("../../../common/vendor.js");
const common_libraries_day = require("../../../common/libraries/day.js");
const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
__name: "daySelect",
props: ["day"],
emits: ["update:valueModel"],
setup(__props, { emit }) {
const props = __props;
const handleSelect = (day) => {
emit("update:valueModel", day);
};
const listDay = common_vendor.ref([
{
label: "今天",
value: common_libraries_day.getDay()
},
{
label: "昨天",
value: common_libraries_day.getDay(1)
},
{
label: "前天",
value: common_libraries_day.getDay(2)
}
]);
return (_ctx, _cache) => {
return {
a: common_vendor.f(listDay.value, (i, index, i0) => {
return {
a: common_vendor.t(i == null ? void 0 : i.label),
b: index,
c: common_vendor.n(`day_items ${(i == null ? void 0 : i.value) === props.day ? "active" : ""}`),
d: common_vendor.o(($event) => handleSelect(i == null ? void 0 : i.value), index)
};
})
};
};
}
});
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-b04b217e"], ["__file", "/Users/zsq/Sources/github/2025property-pay/pay-employee/src/pages/index/components/daySelect.vue"]]);
wx.createComponent(Component);

View File

@ -0,0 +1,4 @@
{
"component": true,
"usingComponents": {}
}

View File

@ -0,0 +1 @@
<view class="day_select data-v-b04b217e"><view wx:for="{{a}}" wx:for-item="i" wx:key="b" class="{{['data-v-b04b217e', i.c]}}" bindtap="{{i.d}}">{{i.a}}</view></view>

View File

@ -0,0 +1,21 @@
.day_select.data-v-b04b217e {
display: flex;
align-items: center;
width: 340rpx;
height: 55rpx;
line-height: 55rpx;
border: 1px solid #44ba04;
border-radius: 100rpx;
font-size: 27rpx;
color: #44ba04;
overflow: hidden;
}
.day_select .day_items.data-v-b04b217e {
flex: 1;
text-align: center;
border-radius: 100rpx;
}
.day_select .active.data-v-b04b217e {
background-color: #44ba04;
color: #fff;
}

View File

@ -0,0 +1,41 @@
"use strict";
const common_vendor = require("../../../common/vendor.js");
const pages_index_model = require("../model.js");
require("../method.js");
require("../../../common/libraries/day.js");
require("../../../common/libraries/request.js");
require("../../../common/store/useWeAppAuthStore.js");
require("../../../gen/Apis.js");
require("../../../common/libraries/apiLoading.js");
if (!Array) {
const _easycom_hs_day_picker2 = common_vendor.resolveComponent("hs-day-picker");
const _easycom_hs_card2 = common_vendor.resolveComponent("hs-card");
(_easycom_hs_day_picker2 + _easycom_hs_card2)();
}
const _easycom_hs_day_picker = () => "../../../components/hs-day-picker/hs-day-picker.js";
const _easycom_hs_card = () => "../../../components/hs-card/hs-card.js";
if (!Math) {
(MyDaySelect + _easycom_hs_day_picker + _easycom_hs_card)();
}
const MyDaySelect = () => "./daySelect.js";
const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
__name: "showData",
setup(__props) {
return (_ctx, _cache) => {
return {
a: common_vendor.o(($event) => common_vendor.unref(pages_index_model.useModel).formData.day = $event),
b: common_vendor.p({
day: common_vendor.unref(pages_index_model.useModel).formData.day,
valueModel: common_vendor.unref(pages_index_model.useModel).formData.day
}),
c: common_vendor.o(($event) => common_vendor.unref(pages_index_model.useModel).formData.day = $event),
d: common_vendor.p({
icon: "calendar",
valueModel: common_vendor.unref(pages_index_model.useModel).formData.day
})
};
};
}
});
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-a9a28d4d"], ["__file", "/Users/zsq/Sources/github/2025property-pay/pay-employee/src/pages/index/components/showData.vue"]]);
wx.createComponent(Component);

View File

@ -0,0 +1,8 @@
{
"component": true,
"usingComponents": {
"hs-day-picker": "../../../components/hs-day-picker/hs-day-picker",
"hs-card": "../../../components/hs-card/hs-card",
"my-day-select": "./daySelect"
}
}

View File

@ -0,0 +1 @@
<hs-card class="data-v-a9a28d4d" u-s="{{['d']}}" u-i="a9a28d4d-0" bind:__l="__l"><view class="data-v-a9a28d4d"><view class="data_header data-v-a9a28d4d"><my-day-select wx:if="{{b}}" class="data-v-a9a28d4d" u-i="a9a28d4d-1,a9a28d4d-0" bind:__l="__l" bindupdateValueModel="{{a}}" u-p="{{b}}"/><hs-day-picker wx:if="{{d}}" class="data-v-a9a28d4d" u-i="a9a28d4d-2,a9a28d4d-0" bind:__l="__l" bindupdateValueModel="{{c}}" u-p="{{d}}"/></view><view class="data_total_price data-v-a9a28d4d"><view class="data_title data-v-a9a28d4d">交易金额(元)</view><view class="prices data-v-a9a28d4d"><text class="data-v-a9a28d4d">¥</text>0.00 </view></view><view class="data_item_list data-v-a9a28d4d"><view class="data_item data-v-a9a28d4d"><view class="data_label data-v-a9a28d4d">订单数(笔)</view><view class="data_value data-v-a9a28d4d">321</view></view><view class="data_item data-v-a9a28d4d"><view class="data_label data-v-a9a28d4d">总重量(Kg)</view><view class="data_value data-v-a9a28d4d">321</view></view><view class="data_item data-v-a9a28d4d"><view class="data_label data-v-a9a28d4d">总计件</view><view class="data_value data-v-a9a28d4d">321</view></view></view></view></hs-card>

View File

@ -0,0 +1,44 @@
.data_header.data-v-a9a28d4d {
display: flex;
align-items: center;
justify-content: space-between;
padding: 30rpx 0 40rpx 0;
}
.data_total_price.data-v-a9a28d4d {
text-align: center;
padding: 10rpx 0 30rpx 0;
}
.data_total_price .data_title.data-v-a9a28d4d {
color: #999;
font-size: 25rpx;
padding-bottom: 8rpx;
font-weight: 500;
}
.data_total_price .prices.data-v-a9a28d4d {
color: #f00;
font-size: 40rpx;
font-weight: bold;
}
.data_total_price .prices text.data-v-a9a28d4d {
font-size: 25rpx;
}
.data_item_list.data-v-a9a28d4d {
display: flex;
align-items: center;
flex-wrap: wrap;
padding-bottom: 40rpx;
}
.data_item_list .data_item.data-v-a9a28d4d {
width: 33.333%;
padding: 20rpx 0 0 0;
text-align: center;
}
.data_item_list .data_item .data_label.data-v-a9a28d4d {
font-size: 22rpx;
color: #999;
padding-bottom: 8rpx;
}
.data_item_list .data_item .data_value.data-v-a9a28d4d {
font-weight: 600;
font-size: 35rpx;
}

View File

@ -0,0 +1,22 @@
"use strict";
const common_vendor = require("../../../common/vendor.js");
const _sfc_main = {};
if (!Array) {
const _easycom_uni_icons2 = common_vendor.resolveComponent("uni-icons");
_easycom_uni_icons2();
}
const _easycom_uni_icons = () => "../../../uni_modules/uni-icons/components/uni-icons/uni-icons.js";
if (!Math) {
_easycom_uni_icons();
}
function _sfc_render(_ctx, _cache) {
return {
a: common_vendor.p({
type: "plus",
size: "24",
color: "#3da605"
})
};
}
const Component = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["render", _sfc_render], ["__scopeId", "data-v-ac65dc11"], ["__file", "/Users/zsq/Sources/github/2025property-pay/pay-employee/src/pages/index/components/useInfo.vue"]]);
wx.createComponent(Component);

View File

@ -0,0 +1,6 @@
{
"component": true,
"usingComponents": {
"uni-icons": "../../../uni_modules/uni-icons/components/uni-icons/uni-icons"
}
}

View File

@ -0,0 +1 @@
<view class="user_info data-v-ac65dc11"><view class="avatar_info data-v-ac65dc11"></view><view class="user_info_content data-v-ac65dc11"><view class="user_name data-v-ac65dc11"> 黄师傅007 <text class="data-v-ac65dc11">187****0092</text></view><view class="data-v-ac65dc11"> 员工 </view></view><view class="add_btn data-v-ac65dc11"><uni-icons wx:if="{{a}}" class="data-v-ac65dc11" u-i="ac65dc11-0" bind:__l="__l" u-p="{{a}}"></uni-icons></view></view>

View File

@ -0,0 +1,32 @@
.user_info.data-v-ac65dc11 {
display: flex;
align-items: center;
padding: 0 30rpx 20rpx 30rpx;
}
.user_info .avatar_info.data-v-ac65dc11 {
width: 140rpx;
height: 140rpx;
border-radius: 40rpx;
background: rgba(229, 229, 229, 0.34);
}
.user_info .user_info_content.data-v-ac65dc11 {
flex: 1;
padding: 0 0 0 30rpx;
color: #fff;
font-size: 27rpx;
}
.user_info .user_info_content .user_name.data-v-ac65dc11 {
display: flex;
align-items: center;
font-size: 32rpx;
padding-bottom: 10rpx;
}
.user_info .user_info_content text.data-v-ac65dc11 {
padding-left: 40rpx;
font-size: 27rpx;
}
.user_info .add_btn.data-v-ac65dc11 {
padding: 10rpx;
background-color: #fff;
border-radius: 15rpx;
}

67
dist/dev/mp-weixin/pages/index/index.js vendored Normal file
View File

@ -0,0 +1,67 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const common_libraries_setTabBar = require("../../common/libraries/setTabBar.js");
require("./model.js");
require("./method.js");
require("../../common/libraries/request.js");
const common_store_useWeAppAuthStore = require("../../common/store/useWeAppAuthStore.js");
require("../../common/libraries/userUserLogin.js");
require("../../common/libraries/updateMenu.js");
require("../../common/libraries/day.js");
require("../../gen/Apis.js");
require("../../common/libraries/apiLoading.js");
if (!Array) {
const _easycom_hs_custom_title2 = common_vendor.resolveComponent("hs-custom-title");
const _easycom_uni_icons2 = common_vendor.resolveComponent("uni-icons");
const _easycom_hs_order_items2 = common_vendor.resolveComponent("hs-order-items");
const _easycom_cc_root_view2 = common_vendor.resolveComponent("cc-root-view");
(_easycom_hs_custom_title2 + _easycom_uni_icons2 + _easycom_hs_order_items2 + _easycom_cc_root_view2)();
}
const _easycom_hs_custom_title = () => "../../components/hs-custom-title/hs-custom-title.js";
const _easycom_uni_icons = () => "../../uni_modules/uni-icons/components/uni-icons/uni-icons.js";
const _easycom_hs_order_items = () => "../../components/hs-order-items/hs-order-items.js";
const _easycom_cc_root_view = () => "../../common/components/cc-root-view/cc-root-view.js";
if (!Math) {
(_easycom_hs_custom_title + MyUserInfo + MyShowData + _easycom_uni_icons + _easycom_hs_order_items + _easycom_cc_root_view)();
}
const MyShowData = () => "./components/showData.js";
const MyUserInfo = () => "./components/useInfo.js";
const _sfc_defineComponent = /* @__PURE__ */ common_vendor.defineComponent({
__name: "index",
setup(__props) {
getApp();
common_store_useWeAppAuthStore.useWeAppAuthStore();
common_vendor.onShow(async () => {
var _a;
common_libraries_setTabBar.setTabBarData(0);
await ((_a = common_vendor.getCurrentInstance()) == null ? void 0 : _a.appContext.config.globalProperties.$onLaunched);
});
common_vendor.onShareAppMessage(() => {
return {
title: "废品回收助手",
path: "/pages/index/index"
};
});
common_vendor.onShareTimeline(() => {
return {
title: "废品回收助手",
path: "/pages/index/index"
};
});
return (_ctx, _cache) => {
return {
a: common_vendor.p({
title: "废品回收助手"
}),
b: common_vendor.p({
type: "right",
size: "13",
color: "#3da605"
})
};
};
}
});
_sfc_defineComponent.__runtimeHooks = 6;
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_defineComponent, [["__file", "/Users/zsq/Sources/github/2025property-pay/pay-employee/src/pages/index/index.vue"]]);
wx.createPage(MiniProgramPage);

View File

@ -0,0 +1,12 @@
{
"navigationBarTitleText": "首页",
"navigationStyle": "custom",
"usingComponents": {
"hs-custom-title": "../../components/hs-custom-title/hs-custom-title",
"uni-icons": "../../uni_modules/uni-icons/components/uni-icons/uni-icons",
"hs-order-items": "../../components/hs-order-items/hs-order-items",
"cc-root-view": "../../common/components/cc-root-view/cc-root-view",
"my-show-data": "./components/showData",
"my-user-info": "./components/useInfo"
}
}

View File

@ -0,0 +1 @@
<cc-root-view u-s="{{['d']}}" u-i="76f3138a-0" bind:__l="__l"><view class="HomePage"><hs-custom-title wx:if="{{a}}" u-i="76f3138a-1,76f3138a-0" bind:__l="__l" u-p="{{a}}"/><my-user-info u-i="76f3138a-2,76f3138a-0" bind:__l="__l"/><my-show-data u-i="76f3138a-3,76f3138a-0" bind:__l="__l"/><view class="OrderTitle"> 最近订单 <view class="more_btn"> 更多<uni-icons wx:if="{{b}}" u-i="76f3138a-4,76f3138a-0" bind:__l="__l" u-p="{{b}}"></uni-icons></view></view><hs-order-items u-i="76f3138a-5,76f3138a-0" bind:__l="__l"/></view></cc-root-view>

View File

@ -0,0 +1,23 @@
page {
background-color: #f8f8f8;
}
.HomePage {
background: linear-gradient(180deg, #44ba04 0%, #44ba04 300rpx, #f8f8f8 650rpx);
padding-bottom: 190rpx;
}
.OrderTitle {
display: flex;
padding: 0 30rpx;
align-items: center;
justify-content: space-between;
color: #333;
font-weight: 600;
}
.OrderTitle .more_btn {
color: #3da605;
font-size: 27rpx;
font-weight: 400;
}
.footer_group_btn {
padding: 30rpx;
}

View File

@ -0,0 +1,6 @@
"use strict";
require("../../common/vendor.js");
require("../../common/libraries/request.js");
const common_store_useWeAppAuthStore = require("../../common/store/useWeAppAuthStore.js");
require("./model.js");
common_store_useWeAppAuthStore.useWeAppAuthStore();

View File

@ -0,0 +1,8 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
const common_libraries_day = require("../../common/libraries/day.js");
const useModel = {
formData: common_vendor.reactive({ day: common_libraries_day.getDay() }),
data: common_vendor.ref()
};
exports.useModel = useModel;

31
dist/dev/mp-weixin/pages/loading.js vendored Normal file
View File

@ -0,0 +1,31 @@
"use strict";
const common_vendor = require("../common/vendor.js");
require("../common/libraries/request.js");
require("../common/store/useWeAppAuthStore.js");
const common_libraries_userUserLogin = require("../common/libraries/userUserLogin.js");
require("../gen/Apis.js");
require("../common/libraries/apiLoading.js");
const _sfc_main = /* @__PURE__ */ common_vendor.defineComponent({
__name: "loading",
setup(__props) {
common_vendor.onShow(async () => {
var _a;
common_vendor.index.showLoading({
title: "加载中...",
mask: true
});
await ((_a = common_vendor.getCurrentInstance()) == null ? void 0 : _a.appContext.config.globalProperties.$onLaunched);
common_vendor.index.hideLoading();
if (common_libraries_userUserLogin.useUser.getLoginStatus()) {
common_vendor.index.switchTab({
url: "/pages/index/index"
});
}
});
return (_ctx, _cache) => {
return {};
};
}
});
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__file", "/Users/zsq/Sources/github/2025property-pay/pay-employee/src/pages/loading.vue"]]);
wx.createPage(MiniProgramPage);

4
dist/dev/mp-weixin/pages/loading.json vendored Normal file
View File

@ -0,0 +1,4 @@
{
"navigationBarTitleText": "加载中...",
"usingComponents": {}
}

0
dist/dev/mp-weixin/pages/loading.wxml vendored Normal file
View File

Some files were not shown because too many files have changed in this diff Show More