first commit

This commit is contained in:
2025-12-29 14:59:44 +08:00
commit 10c3fbb0d7
5315 changed files with 795443 additions and 0 deletions

View File

@@ -0,0 +1,136 @@
"use strict";
const common_vendor = require("../../common/vendor.js");
if (!Array) {
const _easycom_u_popup2 = common_vendor.resolveComponent("u-popup");
const _easycom_u_datetime_picker2 = common_vendor.resolveComponent("u-datetime-picker");
(_easycom_u_popup2 + _easycom_u_datetime_picker2)();
}
const _easycom_u_popup = () => "../../uni_modules/uview-plus/components/u-popup/u-popup.js";
const _easycom_u_datetime_picker = () => "../../uni_modules/uview-plus/components/u-datetime-picker/u-datetime-picker.js";
if (!Math) {
(_easycom_u_popup + _easycom_u_datetime_picker)();
}
const _sfc_main = {
__name: "Idphotomanagement",
setup(__props) {
const hasData = common_vendor.ref(false);
const showAddPopup = common_vendor.ref(false);
const showDatePicker = common_vendor.ref(false);
const showDeptPopup = common_vendor.ref(false);
const deptList = common_vendor.ref([
"湘西自治州和谐网络科技有限公司",
"湘西自治州和谐云大数据科技有限公司",
"湘西网络有限公司"
]);
const selectedDept = common_vendor.ref("");
const formData = common_vendor.reactive({
dept: "",
type: "",
idType: "",
number: "",
startDate: "",
expireDate: "",
image: ""
});
const confirmDept = () => {
if (selectedDept.value) {
formData.dept = selectedDept.value;
}
showDeptPopup.value = false;
};
const chooseImage = () => {
common_vendor.index.chooseImage({
count: 1,
sizeType: ["compressed"],
sourceType: ["album", "camera"],
success: (res) => {
formData.image = res.tempFilePaths[0];
}
});
};
const onDateConfirm = (e) => {
const date = new Date(e.value);
const year = date.getFullYear();
const month = String(date.getMonth() + 1).padStart(2, "0");
const day = String(date.getDate()).padStart(2, "0");
formData.expireDate = `${year}-${month}-${day}`;
showDatePicker.value = false;
};
const handleSubmit = () => {
if (!formData.dept) {
common_vendor.index.showToast({ title: "请选择部门", icon: "none" });
return;
}
console.log("提交数据:", formData);
common_vendor.index.showToast({ title: "新增成功", icon: "success" });
showAddPopup.value = false;
formData.dept = "";
formData.type = "";
formData.number = "";
formData.startDate = "";
formData.expireDate = "";
formData.image = "";
selectedDept.value = "";
};
return (_ctx, _cache) => {
return common_vendor.e({
a: !hasData.value
}, !hasData.value ? {} : {}, {
b: common_vendor.o(($event) => showAddPopup.value = true),
c: common_vendor.o(($event) => showAddPopup.value = false),
d: common_vendor.t(formData.dept || "请选择部门"),
e: common_vendor.n(formData.dept ? "" : "text-gray"),
f: common_vendor.o(($event) => showDeptPopup.value = true),
g: formData.idType,
h: common_vendor.o(($event) => formData.idType = $event.detail.value),
i: formData.number,
j: common_vendor.o(($event) => formData.number = $event.detail.value),
k: common_vendor.t(formData.expireDate || "请选择开始时间"),
l: common_vendor.n(formData.expireDate ? "" : "text-gray"),
m: common_vendor.o(($event) => showDatePicker.value = true),
n: common_vendor.t(formData.expireDate || "请选择结束时间"),
o: common_vendor.n(formData.expireDate ? "" : "text-gray"),
p: common_vendor.o(($event) => showDatePicker.value = true),
q: !formData.image
}, !formData.image ? {} : {
r: formData.image
}, {
s: common_vendor.o(chooseImage),
t: common_vendor.o(($event) => showAddPopup.value = false),
v: common_vendor.o(handleSubmit),
w: common_vendor.o(($event) => showAddPopup.value = false),
x: common_vendor.p({
show: showAddPopup.value,
mode: "center",
round: "20"
}),
y: common_vendor.o(onDateConfirm),
z: common_vendor.o(($event) => showDatePicker.value = false),
A: common_vendor.p({
show: showDatePicker.value,
mode: "date"
}),
B: common_vendor.o(($event) => showDeptPopup.value = false),
C: common_vendor.f(deptList.value, (item, index, i0) => {
return common_vendor.e({
a: selectedDept.value === item
}, selectedDept.value === item ? {} : {}, {
b: selectedDept.value === item ? 1 : "",
c: common_vendor.t(item),
d: index,
e: common_vendor.o(($event) => selectedDept.value = item, index)
});
}),
D: common_vendor.o(confirmDept),
E: common_vendor.o(($event) => showDeptPopup.value = false),
F: common_vendor.p({
show: showDeptPopup.value,
mode: "center",
round: "20"
})
});
};
}
};
const MiniProgramPage = /* @__PURE__ */ common_vendor._export_sfc(_sfc_main, [["__scopeId", "data-v-1ad9c724"]]);
wx.createPage(MiniProgramPage);

View File

@@ -0,0 +1,7 @@
{
"navigationBarTitleText": "证件照管理",
"usingComponents": {
"u-popup": "../../uni_modules/uview-plus/components/u-popup/u-popup",
"u-datetime-picker": "../../uni_modules/uview-plus/components/u-datetime-picker/u-datetime-picker"
}
}

View File

@@ -0,0 +1 @@
<view class="{{['page', 'padding', 'data-v-1ad9c724', virtualHostClass]}}" style="{{virtualHostStyle}}"><view wx:if="{{a}}" class="text-gray text-center data-v-1ad9c724">暂无证件照记录</view><button class="cuIcon-add bg-blue round margin-top-xl data-v-1ad9c724" bindtap="{{b}}">新增</button><u-popup wx:if="{{x}}" class="data-v-1ad9c724" virtualHostClass="data-v-1ad9c724" u-s="{{['d']}}" bindclose="{{w}}" u-i="1ad9c724-0" bind:__l="__l" u-p="{{x}}"><view class="popup-content data-v-1ad9c724"><view class="popup-header data-v-1ad9c724"><view class="popup-title text-bold data-v-1ad9c724">新增证照</view><view class="popup-close data-v-1ad9c724" bindtap="{{c}}">×</view></view><view class="popup-body data-v-1ad9c724"><view class="form-item data-v-1ad9c724"><view class="form-label data-v-1ad9c724">部门<text class="text-red data-v-1ad9c724">*</text></view><view class="form-input form-select data-v-1ad9c724" bindtap="{{f}}"><text class="{{['data-v-1ad9c724', e]}}">{{d}}</text></view></view><view class="form-item data-v-1ad9c724"><view class="form-label data-v-1ad9c724">证件类型</view><input class="form-input data-v-1ad9c724" placeholder="请输入证件类型" value="{{g}}" bindinput="{{h}}"/></view><view class="form-item data-v-1ad9c724"><view class="form-label data-v-1ad9c724">证件编号</view><input class="form-input data-v-1ad9c724" placeholder="请输入证件编号" value="{{i}}" bindinput="{{j}}"/></view><view class="form-item data-v-1ad9c724"><view class="form-label data-v-1ad9c724">开始日期</view><view class="form-input form-select data-v-1ad9c724" bindtap="{{m}}"><text class="{{['data-v-1ad9c724', l]}}">{{k}}</text></view></view><view class="form-item data-v-1ad9c724"><view class="form-label data-v-1ad9c724">结束日期</view><view class="form-input form-select data-v-1ad9c724" bindtap="{{p}}"><text class="{{['data-v-1ad9c724', o]}}">{{n}}</text></view></view><view class="form-item data-v-1ad9c724"><view class="form-label data-v-1ad9c724">封面图片</view><view class="upload-box data-v-1ad9c724" bindtap="{{s}}"><view wx:if="{{q}}" class="upload-add data-v-1ad9c724"><text class="upload-icon data-v-1ad9c724">+</text><text class="upload-text data-v-1ad9c724">上传照片</text></view><image wx:else src="{{r}}" mode="aspectFill" class="upload-img data-v-1ad9c724"></image></view></view></view><view class="popup-footer data-v-1ad9c724"><button class="btn-cancel data-v-1ad9c724" bindtap="{{t}}">取消</button><button class="btn-confirm bg-blue data-v-1ad9c724" bindtap="{{v}}">确定</button></view></view></u-popup><u-datetime-picker wx:if="{{A}}" class="data-v-1ad9c724" virtualHostClass="data-v-1ad9c724" bindconfirm="{{y}}" bindcancel="{{z}}" u-i="1ad9c724-1" bind:__l="__l" u-p="{{A}}"></u-datetime-picker><u-popup wx:if="{{F}}" class="data-v-1ad9c724" virtualHostClass="data-v-1ad9c724" u-s="{{['d']}}" bindclose="{{E}}" u-i="1ad9c724-2" bind:__l="__l" u-p="{{F}}"><view class="dept-popup data-v-1ad9c724"><view class="popup-header data-v-1ad9c724"><view class="popup-title text-bold data-v-1ad9c724">选择部门</view><view class="popup-close data-v-1ad9c724" bindtap="{{B}}">×</view></view><view class="dept-list data-v-1ad9c724"><view wx:for="{{C}}" wx:for-item="item" wx:key="d" class="dept-item data-v-1ad9c724" bindtap="{{item.e}}"><view class="{{['dept-checkbox', 'data-v-1ad9c724', item.b && 'dept-checkbox-active']}}"><text wx:if="{{item.a}}" class="data-v-1ad9c724">✓</text></view><text class="dept-name data-v-1ad9c724">{{item.c}}</text></view></view><button class="btn-dept-confirm bg-blue data-v-1ad9c724" bindtap="{{D}}">确定</button></view></u-popup></view>

View File

@@ -0,0 +1,176 @@
/**
* 这里是uni-app内置的常用样式变量
*
* uni-app 官方扩展插件及插件市场https://ext.dcloud.net.cn上很多三方插件均使用了这些样式变量
* 如果你是插件开发者建议你使用scss预处理并在插件代码中直接使用这些变量无需 import 这个文件方便用户通过搭积木的方式开发整体风格一致的App
*
*/
/**
* 如果你是App开发者插件使用者你可以通过修改这些变量来定制自己的插件主题实现自定义主题功能
*
* 如果你的项目同样使用了scss预处理你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
*/
/* uni.scss */
/* 颜色变量 */
/* 行为相关颜色 */
/* 文字基本颜色 */
/* 背景颜色 */
/* 边框颜色 */
/* 尺寸变量 */
/* 文字尺寸 */
/* 图片尺寸 */
/* Border Radius */
/* 水平间距 */
/* 垂直间距 */
/* 透明度 */
/* 文章场景相关 */
.page.data-v-1ad9c724 {
min-height: 100vh;
background: #EBF2FC;
}
.popup-content.data-v-1ad9c724 {
width: 600rpx;
background: #fff;
border-radius: 20rpx;
padding: 30rpx;
}
.popup-header.data-v-1ad9c724 {
display: flex;
justify-content: space-between;
align-items: center;
margin-bottom: 30rpx;
}
.popup-title.data-v-1ad9c724 {
font-size: 34rpx;
color: #333;
}
.popup-close.data-v-1ad9c724 {
font-size: 48rpx;
color: #999;
line-height: 1;
}
.popup-body.data-v-1ad9c724 {
max-height: 700rpx;
overflow-y: auto;
}
.form-item.data-v-1ad9c724 {
margin-bottom: 24rpx;
}
.form-label.data-v-1ad9c724 {
font-size: 28rpx;
color: #333;
margin-bottom: 12rpx;
}
.form-input.data-v-1ad9c724 {
width: 100%;
height: 80rpx;
border: 2rpx solid #E5E5E5;
border-radius: 12rpx;
padding: 0 24rpx;
font-size: 28rpx;
box-sizing: border-box;
}
.form-select.data-v-1ad9c724 {
display: flex;
align-items: center;
line-height: 80rpx;
}
.upload-box.data-v-1ad9c724 {
width: 200rpx;
height: 200rpx;
border: 2rpx dashed #ccc;
border-radius: 12rpx;
display: flex;
align-items: center;
justify-content: center;
}
.upload-add.data-v-1ad9c724 {
display: flex;
flex-direction: column;
align-items: center;
}
.upload-icon.data-v-1ad9c724 {
font-size: 60rpx;
color: #999;
}
.upload-text.data-v-1ad9c724 {
font-size: 24rpx;
color: #999;
margin-top: 8rpx;
}
.upload-img.data-v-1ad9c724 {
width: 100%;
height: 100%;
border-radius: 12rpx;
}
.popup-footer.data-v-1ad9c724 {
display: flex;
justify-content: center;
gap: 30rpx;
margin-top: 40rpx;
}
.btn-cancel.data-v-1ad9c724 {
flex: 1;
height: 80rpx;
line-height: 80rpx;
border: 2rpx solid #E5E5E5;
border-radius: 40rpx;
background: #fff;
color: #333;
font-size: 30rpx;
}
.btn-confirm.data-v-1ad9c724 {
flex: 1;
height: 80rpx;
line-height: 80rpx;
border-radius: 40rpx;
color: #fff;
font-size: 30rpx;
}
.dept-popup.data-v-1ad9c724 {
width: 600rpx;
background: #fff;
border-radius: 20rpx;
padding: 30rpx;
}
.dept-list.data-v-1ad9c724 {
max-height: 400rpx;
overflow-y: auto;
margin-bottom: 30rpx;
}
.dept-item.data-v-1ad9c724 {
display: flex;
align-items: center;
padding: 24rpx;
border: 2rpx solid #E5E5E5;
border-radius: 12rpx;
margin-bottom: 16rpx;
}
.dept-checkbox.data-v-1ad9c724 {
width: 36rpx;
height: 36rpx;
border: 2rpx solid #ccc;
border-radius: 6rpx;
margin-right: 20rpx;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
}
.dept-checkbox-active.data-v-1ad9c724 {
background: #2667E9;
border-color: #2667E9;
color: #fff;
}
.dept-name.data-v-1ad9c724 {
font-size: 28rpx;
color: #333;
}
.btn-dept-confirm.data-v-1ad9c724 {
width: 100%;
height: 80rpx;
line-height: 80rpx;
border-radius: 40rpx;
color: #fff;
font-size: 30rpx;
}