From 1e857671cbc8332f95ce19b2ec5db204ad5bcd58 Mon Sep 17 00:00:00 2001 From: yangzhq68909 <993367776@qq.com> Date: Mon, 14 Oct 2024 15:22:41 +0800 Subject: [PATCH] =?UTF-8?q?=E4=B8=8A=E4=BC=A0=E9=99=84=E4=BB=B6=E5=8F=8A?= =?UTF-8?q?=E5=9B=9E=E6=98=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bpm/leaveApplication/index.vue | 38 +- pages/leave/application.vue | 115 +- pages/useredit/useredit.vue | 15 +- unpackage/dist/dev/app-plus/app-service.js | 7315 ++++++++++------- unpackage/dist/dev/app-plus/app.css | 276 + .../dev/app-plus/pages/leave/application.css | 294 +- 6 files changed, 4992 insertions(+), 3061 deletions(-) diff --git a/bpm/leaveApplication/index.vue b/bpm/leaveApplication/index.vue index 8271a3a..28b9626 100644 --- a/bpm/leaveApplication/index.vue +++ b/bpm/leaveApplication/index.vue @@ -44,7 +44,7 @@ 请假天数: - {{info.qjdays}} + {{info.days}} @@ -64,6 +64,12 @@ {{info.reason}} + + + 附件: + + + @@ -106,13 +112,26 @@ watch, onMounted } from 'vue' + import { + imgUrl + } from '@/utils/index.js'; const props = defineProps({ dataId: { type: String, default: '' }, }) - + const imageValue = ref([]) + const imageStyles = { + width: 64, + height: 64, + border: { + color: "#dce7e1", + width: 2, + style: 'dashed', + radius: '2px' + } + } const info = ref({}) // 申请信息 const qjQueryById = () => { @@ -121,10 +140,23 @@ }).then((res) => { if (res.success) { info.value = res.result.records[0] + + // 构造 imageValue 数组 + imageValue.value = info.value.path.split(',').map(path => { + const name = path.split('/').pop(); // 获取文件名 + const extname = name.split('.').pop(); // 获取文件扩展名并转换为大写 + return { + name, + extname, + url: imgUrl(path) + }; + }); + console.log('---',imageValue.value) } }) - } + } + /**审批步骤*/ const extActFlowData = () => { extActFlowDataApi({ diff --git a/pages/leave/application.vue b/pages/leave/application.vue index 7103f4e..0f6e77b 100644 --- a/pages/leave/application.vue +++ b/pages/leave/application.vue @@ -68,17 +68,22 @@ 请假地点: - + + + + + 请假事由: + + + + + + 上传附件: + + - - - 请假事由: - - - + 提交 @@ -146,11 +151,41 @@ const address = ref('') /**请假事由*/ const reason = ref('') - + /**附件路径*/ + const path = ref([]) + const baseUrl = import.meta.env.VITE_REQUEST_BASE_URL + '/jeecg-boot/sys/common/upload/' + const imageStyles = { + width: 64, + height: 64, + border: { + color: "#dce7e1", + width: 2, + style: 'dashed', + radius: '2px' + } + } onLoad(() => { loadData() }) + const select = (e) => { + const tempFilePaths = e.tempFilePaths + for (let i = 0; i < e.tempFilePaths.length; i++) { + let photoPath = '职工请假/' + store.userinfo.orgCode + '/' + store.userinfo.realname + uni.uploadFile({ + url: baseUrl, + filePath: e.tempFilePaths[i], + name: 'file', + formData: { + appPath: photoPath + }, + success: (res) => { + path.value.push(JSON.parse(res.data).message) + } + }); + } + } + const qjAdd = () => { if (!phone.value.trim()) return proxy.$toast('请输入联系方式') if (!type.value) return proxy.$toast('请选择请假类型') @@ -172,7 +207,8 @@ examineleader: typeArr.value[typeIndex.value].username, address: address.value, reason: reason.value, - zwcj: zwcj.value, + zwmc: zwcj.value, + path: path.value.toString() }).then((res) => { if (res.success) { startMutilProcess(res.message) @@ -181,6 +217,7 @@ } }) } + const startMutilProcess = (id) => { startMutilProcessApi({ flowCode: "dev_cxc_qxj", @@ -300,60 +337,4 @@ color: #333333; } } - - .reason { - background-color: #fff; - margin-top: 20rpx; - - height: 290rpx; - padding: 30rpx; - - .title { - font-size: 28rpx; - color: #333333; - - } - - textarea { - width: 100%; - margin-top: 20rpx; - } - } - - - // .progress_box { - // background-color: #fff; - // margin-top: 20rpx; - // padding: 30rpx; - - // .title { - // font-size: 28rpx; - // color: #333333; - // } - - // .avatar { - // width: 78rpx; - // height: 78rpx; - // border-radius: 38rpx; - // background-color: #333333; - // margin-top: 30rpx; - // } - - // text { - // font-size: 24rpx; - // color: #333333; - // margin-top: 10rpx; - // } - - // .line { - // width: 91rpx; - // height: 17rpx; - // margin: 0 40rpx; - // } - // } - - .lines { - height: 20rpx; - background-color: #F8F8F8; - } \ No newline at end of file diff --git a/pages/useredit/useredit.vue b/pages/useredit/useredit.vue index fd636a8..6807193 100644 --- a/pages/useredit/useredit.vue +++ b/pages/useredit/useredit.vue @@ -54,7 +54,7 @@ import { useStore } from '@/store'; - const baseUrl = import.meta.env.VITE_REQUEST_BASE_URL + '/jeecg-boot' + const baseUrl = import.meta.env.VITE_REQUEST_BASE_URL + '/jeecg-boot/sys/common/upload' const store = useStore() const jump = (url) => { @@ -65,23 +65,23 @@ }) } const chooseAvatar = () => { - uni.chooseImage({ count: 1, success: (chooseImageRes) => { const tempFilePaths = chooseImageRes.tempFilePaths; + const photoPath = '用户头像/' + store.userinfo.realname uni.uploadFile({ - url: baseUrl + '/sys/common/upload', //仅为示例,非真实的接口地址 + url: baseUrl, //仅为示例,非真实的接口地址 filePath: tempFilePaths[0], name: 'file', - header: { - "X-Access-Token": store.token + formData: { + appPath: photoPath }, - success: (uploadFileRes) => { + success: (res) => { uni.showLoading({ title: '上传中...' }) - form.avatar = JSON.parse(uploadFileRes.data).message + form.avatar = JSON.parse(res.data).message userEditApi({ avatar: form.avatar, id: store.userinfo.id @@ -134,7 +134,6 @@ frontColor: "#ffffff", backgroundColor: '#bebebe' }) - }) diff --git a/unpackage/dist/dev/app-plus/app-service.js b/unpackage/dist/dev/app-plus/app-service.js index 6021b59..aa73af6 100644 --- a/unpackage/dist/dev/app-plus/app-service.js +++ b/unpackage/dist/dev/app-plus/app-service.js @@ -1754,7 +1754,7 @@ This will fail in production.`); } return target; }; - const _sfc_main$N = { + const _sfc_main$Q = { __name: "login", setup(__props) { const store = useStore(); @@ -1895,7 +1895,7 @@ This will fail in production.`); }; } }; - const PagesLoginLogin = /* @__PURE__ */ _export_sfc(_sfc_main$N, [["__scopeId", "data-v-e4e4508d"], ["__file", "D:/projects/cxc-szcx-uniapp/pages/login/login.vue"]]); + const PagesLoginLogin = /* @__PURE__ */ _export_sfc(_sfc_main$Q, [["__scopeId", "data-v-e4e4508d"], ["__file", "D:/projects/cxc-szcx-uniapp/pages/login/login.vue"]]); const fontData = [ { "font_class": "arrow-down", @@ -2546,7 +2546,7 @@ This will fail in production.`); const reg = /^[0-9]*$/g; return typeof val === "number" || reg.test(val) ? val + "px" : val; }; - const _sfc_main$M = { + const _sfc_main$P = { name: "UniIcons", emits: ["click"], props: { @@ -2600,7 +2600,7 @@ This will fail in production.`); } } }; - function _sfc_render$b(_ctx, _cache, $props, $setup, $data, $options) { + function _sfc_render$e(_ctx, _cache, $props, $setup, $data, $options) { return vue.openBlock(), vue.createElementBlock( "text", { @@ -2615,7 +2615,7 @@ This will fail in production.`); /* CLASS, STYLE */ ); } - const __easycom_1$1 = /* @__PURE__ */ _export_sfc(_sfc_main$M, [["render", _sfc_render$b], ["__scopeId", "data-v-d31e1c47"], ["__file", "D:/projects/cxc-szcx-uniapp/uni_modules/uni-icons/components/uni-icons/uni-icons.vue"]]); + const __easycom_1$1 = /* @__PURE__ */ _export_sfc(_sfc_main$P, [["render", _sfc_render$e], ["__scopeId", "data-v-d31e1c47"], ["__file", "D:/projects/cxc-szcx-uniapp/uni_modules/uni-icons/components/uni-icons/uni-icons.vue"]]); let Calendar$1 = class Calendar { constructor({ selected, @@ -2971,7 +2971,7 @@ This will fail in production.`); } return value; } - const _sfc_main$L = { + const _sfc_main$O = { props: { weeks: { type: Object, @@ -3005,7 +3005,7 @@ This will fail in production.`); } } }; - function _sfc_render$a(_ctx, _cache, $props, $setup, $data, $options) { + function _sfc_render$d(_ctx, _cache, $props, $setup, $data, $options) { return vue.openBlock(), vue.createElementBlock( "view", { @@ -3061,7 +3061,7 @@ This will fail in production.`); /* CLASS, NEED_HYDRATION */ ); } - const calendarItem = /* @__PURE__ */ _export_sfc(_sfc_main$L, [["render", _sfc_render$a], ["__scopeId", "data-v-3c762a01"], ["__file", "D:/projects/cxc-szcx-uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar-item.vue"]]); + const calendarItem = /* @__PURE__ */ _export_sfc(_sfc_main$O, [["render", _sfc_render$d], ["__scopeId", "data-v-3c762a01"], ["__file", "D:/projects/cxc-szcx-uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar-item.vue"]]); const isObject = (val) => val !== null && typeof val === "object"; const defaultDelimiters = ["{", "}"]; class BaseFormatter { @@ -3420,7 +3420,7 @@ This will fail in production.`); const { t: t$3 } = initVueI18n(i18nMessages); - const _sfc_main$K = { + const _sfc_main$N = { name: "UniDatetimePicker", data() { return { @@ -4024,7 +4024,7 @@ This will fail in production.`); } } }; - function _sfc_render$9(_ctx, _cache, $props, $setup, $data, $options) { + function _sfc_render$c(_ctx, _cache, $props, $setup, $data, $options) { return vue.openBlock(), vue.createElementBlock("view", { class: "uni-datetime-picker" }, [ vue.createElementVNode("view", { onClick: _cache[0] || (_cache[0] = (...args) => $options.initTimePicker && $options.initTimePicker(...args)) @@ -4301,11 +4301,11 @@ This will fail in production.`); )) : vue.createCommentVNode("v-if", true) ]); } - const TimePicker = /* @__PURE__ */ _export_sfc(_sfc_main$K, [["render", _sfc_render$9], ["__scopeId", "data-v-1d532b70"], ["__file", "D:/projects/cxc-szcx-uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/time-picker.vue"]]); + const TimePicker = /* @__PURE__ */ _export_sfc(_sfc_main$N, [["render", _sfc_render$c], ["__scopeId", "data-v-1d532b70"], ["__file", "D:/projects/cxc-szcx-uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/time-picker.vue"]]); const { t: t$2 } = initVueI18n(i18nMessages); - const _sfc_main$J = { + const _sfc_main$M = { components: { calendarItem, timePicker: TimePicker @@ -4786,7 +4786,7 @@ This will fail in production.`); } } }; - function _sfc_render$8(_ctx, _cache, $props, $setup, $data, $options) { + function _sfc_render$b(_ctx, _cache, $props, $setup, $data, $options) { const _component_calendar_item = vue.resolveComponent("calendar-item"); const _component_time_picker = vue.resolveComponent("time-picker"); const _component_uni_icons = resolveEasycom(vue.resolveDynamicComponent("uni-icons"), __easycom_1$1); @@ -5070,8 +5070,8 @@ This will fail in production.`); /* NEED_HYDRATION */ ); } - const Calendar = /* @__PURE__ */ _export_sfc(_sfc_main$J, [["render", _sfc_render$8], ["__scopeId", "data-v-1d379219"], ["__file", "D:/projects/cxc-szcx-uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar.vue"]]); - const _sfc_main$I = { + const Calendar = /* @__PURE__ */ _export_sfc(_sfc_main$M, [["render", _sfc_render$b], ["__scopeId", "data-v-1d379219"], ["__file", "D:/projects/cxc-szcx-uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/calendar.vue"]]); + const _sfc_main$L = { name: "UniDatetimePicker", options: { virtualHost: true @@ -5727,7 +5727,7 @@ This will fail in production.`); } } }; - function _sfc_render$7(_ctx, _cache, $props, $setup, $data, $options) { + function _sfc_render$a(_ctx, _cache, $props, $setup, $data, $options) { const _component_uni_icons = resolveEasycom(vue.resolveDynamicComponent("uni-icons"), __easycom_1$1); const _component_time_picker = vue.resolveComponent("time-picker"); const _component_Calendar = vue.resolveComponent("Calendar"); @@ -6071,8 +6071,8 @@ This will fail in production.`); }, null, 8, ["date", "defTime", "start-date", "end-date", "selectableTimes", "startPlaceholder", "endPlaceholder", "default-value", "pleStatus", "range", "hasTime", "hideSecond", "onConfirm", "onMaskClose", "onChange"])) : vue.createCommentVNode("v-if", true) ]); } - const __easycom_0$3 = /* @__PURE__ */ _export_sfc(_sfc_main$I, [["render", _sfc_render$7], ["__scopeId", "data-v-9802168a"], ["__file", "D:/projects/cxc-szcx-uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/uni-datetime-picker.vue"]]); - const _sfc_main$H = { + const __easycom_0$4 = /* @__PURE__ */ _export_sfc(_sfc_main$L, [["render", _sfc_render$a], ["__scopeId", "data-v-9802168a"], ["__file", "D:/projects/cxc-szcx-uniapp/uni_modules/uni-datetime-picker/components/uni-datetime-picker/uni-datetime-picker.vue"]]); + const _sfc_main$K = { name: "UniDrawer", components: {}, emits: ["change"], @@ -6144,7 +6144,7 @@ This will fail in production.`); } } }; - function _sfc_render$6(_ctx, _cache, $props, $setup, $data, $options) { + function _sfc_render$9(_ctx, _cache, $props, $setup, $data, $options) { return $data.visibleSync ? (vue.openBlock(), vue.createElementBlock( "view", { @@ -6180,7 +6180,7 @@ This will fail in production.`); /* CLASS, NEED_HYDRATION */ )) : vue.createCommentVNode("v-if", true); } - const __easycom_2$1 = /* @__PURE__ */ _export_sfc(_sfc_main$H, [["render", _sfc_render$6], ["__scopeId", "data-v-f7c32d22"], ["__file", "D:/projects/cxc-szcx-uniapp/uni_modules/uni-drawer/components/uni-drawer/uni-drawer.vue"]]); + const __easycom_2$1 = /* @__PURE__ */ _export_sfc(_sfc_main$K, [["render", _sfc_render$9], ["__scopeId", "data-v-f7c32d22"], ["__file", "D:/projects/cxc-szcx-uniapp/uni_modules/uni-drawer/components/uni-drawer/uni-drawer.vue"]]); function taskListApi(config) { return https({ url: "/act/task/list", @@ -6400,7 +6400,7 @@ This will fail in production.`); data: config }); } - const _sfc_main$G = { + const _sfc_main$J = { __name: "customNav", setup(__props) { vue.useCssVars((_ctx) => ({ @@ -6419,7 +6419,7 @@ This will fail in production.`); }; } }; - const customNav = /* @__PURE__ */ _export_sfc(_sfc_main$G, [["__scopeId", "data-v-420daeb5"], ["__file", "D:/projects/cxc-szcx-uniapp/bpm/customNav.vue"]]); + const customNav = /* @__PURE__ */ _export_sfc(_sfc_main$J, [["__scopeId", "data-v-420daeb5"], ["__file", "D:/projects/cxc-szcx-uniapp/bpm/customNav.vue"]]); const baseurl = "http://10.75.166.174:8080/jeecg-boot/sys/common/static/"; const toast = (title, icon, duration) => { uni.showToast({ @@ -6637,7 +6637,7 @@ This will fail in production.`); const imgUrl = (url) => { return baseurl + `/${url}`; }; - const _sfc_main$F = { + const _sfc_main$I = { __name: "index", setup(__props) { vue.useCssVars((_ctx) => ({ @@ -6826,7 +6826,7 @@ This will fail in production.`); getlist(); }); return (_ctx, _cache) => { - const _component_uni_datetime_picker = resolveEasycom(vue.resolveDynamicComponent("uni-datetime-picker"), __easycom_0$3); + const _component_uni_datetime_picker = resolveEasycom(vue.resolveDynamicComponent("uni-datetime-picker"), __easycom_0$4); const _component_uni_icons = resolveEasycom(vue.resolveDynamicComponent("uni-icons"), __easycom_1$1); const _component_uni_drawer = resolveEasycom(vue.resolveDynamicComponent("uni-drawer"), __easycom_2$1); return vue.openBlock(), vue.createElementBlock( @@ -7147,8 +7147,8 @@ This will fail in production.`); }; } }; - const PagesTabIndex = /* @__PURE__ */ _export_sfc(_sfc_main$F, [["__scopeId", "data-v-ae0729d5"], ["__file", "D:/projects/cxc-szcx-uniapp/pages/tab/index.vue"]]); - const _sfc_main$E = { + const PagesTabIndex = /* @__PURE__ */ _export_sfc(_sfc_main$I, [["__scopeId", "data-v-ae0729d5"], ["__file", "D:/projects/cxc-szcx-uniapp/pages/tab/index.vue"]]); + const _sfc_main$H = { __name: "office", setup(__props) { vue.useCssVars((_ctx) => ({ @@ -7275,8 +7275,8 @@ This will fail in production.`); }; } }; - const PagesTabOffice = /* @__PURE__ */ _export_sfc(_sfc_main$E, [["__scopeId", "data-v-305a3c9f"], ["__file", "D:/projects/cxc-szcx-uniapp/pages/tab/office.vue"]]); - const _sfc_main$D = { + const PagesTabOffice = /* @__PURE__ */ _export_sfc(_sfc_main$H, [["__scopeId", "data-v-305a3c9f"], ["__file", "D:/projects/cxc-szcx-uniapp/pages/tab/office.vue"]]); + const _sfc_main$G = { __name: "dataCom", props: { title: { @@ -7386,8 +7386,8 @@ This will fail in production.`); }; } }; - const dataCom = /* @__PURE__ */ _export_sfc(_sfc_main$D, [["__scopeId", "data-v-92a54120"], ["__file", "D:/projects/cxc-szcx-uniapp/bpm/dataCom.vue"]]); - const _sfc_main$C = { + const dataCom = /* @__PURE__ */ _export_sfc(_sfc_main$G, [["__scopeId", "data-v-92a54120"], ["__file", "D:/projects/cxc-szcx-uniapp/bpm/dataCom.vue"]]); + const _sfc_main$F = { __name: "product", setup(__props) { vue.useCssVars((_ctx) => ({ @@ -7546,7 +7546,7 @@ This will fail in production.`); }; } }; - const PagesTabProduct = /* @__PURE__ */ _export_sfc(_sfc_main$C, [["__scopeId", "data-v-6ccf0546"], ["__file", "D:/projects/cxc-szcx-uniapp/pages/tab/product.vue"]]); + const PagesTabProduct = /* @__PURE__ */ _export_sfc(_sfc_main$F, [["__scopeId", "data-v-6ccf0546"], ["__file", "D:/projects/cxc-szcx-uniapp/pages/tab/product.vue"]]); const { registerUTSInterface, initUTSProxyClass, initUTSProxyFunction, initUTSPackageName, initUTSIndexClassName, initUTSClassName } = uni; const name = "wuwxStepCounter"; const moduleName = "计步器(兼容Android和iOS)"; @@ -7556,7 +7556,7 @@ This will fail in production.`); const pkg = /* @__PURE__ */ initUTSPackageName(name, is_uni_modules); const cls = /* @__PURE__ */ initUTSIndexClassName(name, is_uni_modules); const startStepCountingUpdates = /* @__PURE__ */ initUTSProxyFunction(false, { moduleName, moduleType, errMsg, main: true, package: pkg, class: cls, name: "startStepCountingUpdatesByJs", params: [{ "name": "options", "type": "UTSSDKModulesWuwxStepCounterStartStepCountingUpdatesOptionsJSONObject" }], return: "" }); - const _sfc_main$B = { + const _sfc_main$E = { __name: "my", setup(__props) { const store = useStore(); @@ -7841,8 +7841,8 @@ This will fail in production.`); }; } }; - const PagesTabMy = /* @__PURE__ */ _export_sfc(_sfc_main$B, [["__scopeId", "data-v-2086c871"], ["__file", "D:/projects/cxc-szcx-uniapp/pages/tab/my.vue"]]); - const _sfc_main$A = { + const PagesTabMy = /* @__PURE__ */ _export_sfc(_sfc_main$E, [["__scopeId", "data-v-2086c871"], ["__file", "D:/projects/cxc-szcx-uniapp/pages/tab/my.vue"]]); + const _sfc_main$D = { __name: "tasklistCom", props: { taskArr: { @@ -7953,8 +7953,8 @@ This will fail in production.`); }; } }; - const tasklistCom = /* @__PURE__ */ _export_sfc(_sfc_main$A, [["__scopeId", "data-v-a83f61d7"], ["__file", "D:/projects/cxc-szcx-uniapp/bpm/tasklistCom.vue"]]); - const _sfc_main$z = { + const tasklistCom = /* @__PURE__ */ _export_sfc(_sfc_main$D, [["__scopeId", "data-v-a83f61d7"], ["__file", "D:/projects/cxc-szcx-uniapp/bpm/tasklistCom.vue"]]); + const _sfc_main$C = { __name: "index", setup(__props) { const store = useStore(); @@ -8077,7 +8077,7 @@ This will fail in production.`); }; } }; - const PagesTaskIndex = /* @__PURE__ */ _export_sfc(_sfc_main$z, [["__scopeId", "data-v-3dabfb60"], ["__file", "D:/projects/cxc-szcx-uniapp/pages/task/index.vue"]]); + const PagesTaskIndex = /* @__PURE__ */ _export_sfc(_sfc_main$C, [["__scopeId", "data-v-3dabfb60"], ["__file", "D:/projects/cxc-szcx-uniapp/pages/task/index.vue"]]); class MPAnimation { constructor(options, _this) { this.options = options; @@ -8190,7 +8190,7 @@ This will fail in production.`); clearTimeout(_this.timer); return new MPAnimation(option, _this); } - const _sfc_main$y = { + const _sfc_main$B = { name: "uniTransition", emits: ["click", "change"], props: { @@ -8441,7 +8441,7 @@ This will fail in production.`); } } }; - function _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) { + function _sfc_render$8(_ctx, _cache, $props, $setup, $data, $options) { return vue.withDirectives((vue.openBlock(), vue.createElementBlock("view", { ref: "ani", animation: $data.animationData, @@ -8454,8 +8454,8 @@ This will fail in production.`); [vue.vShow, $data.isShow] ]); } - const __easycom_0$2 = /* @__PURE__ */ _export_sfc(_sfc_main$y, [["render", _sfc_render$5], ["__file", "D:/projects/cxc-szcx-uniapp/uni_modules/uni-transition/components/uni-transition/uni-transition.vue"]]); - const _sfc_main$x = { + const __easycom_0$3 = /* @__PURE__ */ _export_sfc(_sfc_main$B, [["render", _sfc_render$8], ["__file", "D:/projects/cxc-szcx-uniapp/uni_modules/uni-transition/components/uni-transition/uni-transition.vue"]]); + const _sfc_main$A = { name: "uniPopup", components: {}, emits: ["change", "maskClick"], @@ -8805,8 +8805,8 @@ This will fail in production.`); } } }; - function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) { - const _component_uni_transition = resolveEasycom(vue.resolveDynamicComponent("uni-transition"), __easycom_0$2); + function _sfc_render$7(_ctx, _cache, $props, $setup, $data, $options) { + const _component_uni_transition = resolveEasycom(vue.resolveDynamicComponent("uni-transition"), __easycom_0$3); return $data.showPopup ? (vue.openBlock(), vue.createElementBlock( "view", { @@ -8865,8 +8865,8 @@ This will fail in production.`); /* CLASS */ )) : vue.createCommentVNode("v-if", true); } - const __easycom_2 = /* @__PURE__ */ _export_sfc(_sfc_main$x, [["render", _sfc_render$4], ["__scopeId", "data-v-4dd3c44b"], ["__file", "D:/projects/cxc-szcx-uniapp/uni_modules/uni-popup/components/uni-popup/uni-popup.vue"]]); - const _sfc_main$w = { + const __easycom_2 = /* @__PURE__ */ _export_sfc(_sfc_main$A, [["render", _sfc_render$7], ["__scopeId", "data-v-4dd3c44b"], ["__file", "D:/projects/cxc-szcx-uniapp/uni_modules/uni-popup/components/uni-popup/uni-popup.vue"]]); + const _sfc_main$z = { __name: "handle", setup(__props) { const store = useStore(); @@ -9154,8 +9154,8 @@ This will fail in production.`); }; } }; - const PagesTaskHandle = /* @__PURE__ */ _export_sfc(_sfc_main$w, [["__scopeId", "data-v-aeec6874"], ["__file", "D:/projects/cxc-szcx-uniapp/pages/task/handle.vue"]]); - const _sfc_main$v = { + const PagesTaskHandle = /* @__PURE__ */ _export_sfc(_sfc_main$z, [["__scopeId", "data-v-aeec6874"], ["__file", "D:/projects/cxc-szcx-uniapp/pages/task/handle.vue"]]); + const _sfc_main$y = { __name: "message_list", setup(__props) { const store = useStore(); @@ -9224,8 +9224,8 @@ This will fail in production.`); }; } }; - const PagesTalkMessage_list = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["__scopeId", "data-v-e2a9a302"], ["__file", "D:/projects/cxc-szcx-uniapp/pages/talk/message_list.vue"]]); - const _sfc_main$u = { + const PagesTalkMessage_list = /* @__PURE__ */ _export_sfc(_sfc_main$y, [["__scopeId", "data-v-e2a9a302"], ["__file", "D:/projects/cxc-szcx-uniapp/pages/talk/message_list.vue"]]); + const _sfc_main$x = { __name: "conversation", setup(__props) { const store = useStore(); @@ -9300,8 +9300,8 @@ This will fail in production.`); }; } }; - const PagesTalkConversation = /* @__PURE__ */ _export_sfc(_sfc_main$u, [["__scopeId", "data-v-696a96aa"], ["__file", "D:/projects/cxc-szcx-uniapp/pages/talk/conversation.vue"]]); - const _sfc_main$t = { + const PagesTalkConversation = /* @__PURE__ */ _export_sfc(_sfc_main$x, [["__scopeId", "data-v-696a96aa"], ["__file", "D:/projects/cxc-szcx-uniapp/pages/talk/conversation.vue"]]); + const _sfc_main$w = { __name: "system", setup(__props) { const store = useStore(); @@ -9343,8 +9343,8 @@ This will fail in production.`); }; } }; - const PagesTalkSystem = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-5621beca"], ["__file", "D:/projects/cxc-szcx-uniapp/pages/talk/system.vue"]]); - const _sfc_main$s = { + const PagesTalkSystem = /* @__PURE__ */ _export_sfc(_sfc_main$w, [["__scopeId", "data-v-5621beca"], ["__file", "D:/projects/cxc-szcx-uniapp/pages/talk/system.vue"]]); + const _sfc_main$v = { __name: "index", setup(__props) { vue.useCssVars((_ctx) => ({ @@ -9591,8 +9591,8 @@ This will fail in production.`); }; } }; - const PagesDocumentIndex = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-ae7a950b"], ["__file", "D:/projects/cxc-szcx-uniapp/pages/document/index.vue"]]); - const _sfc_main$r = { + const PagesDocumentIndex = /* @__PURE__ */ _export_sfc(_sfc_main$v, [["__scopeId", "data-v-ae7a950b"], ["__file", "D:/projects/cxc-szcx-uniapp/pages/document/index.vue"]]); + const _sfc_main$u = { __name: "detail", setup(__props) { const store = useStore(); @@ -9660,8 +9660,8 @@ This will fail in production.`); }; } }; - const PagesDocumentDetail = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-2c024c80"], ["__file", "D:/projects/cxc-szcx-uniapp/pages/document/detail.vue"]]); - const _sfc_main$q = { + const PagesDocumentDetail = /* @__PURE__ */ _export_sfc(_sfc_main$u, [["__scopeId", "data-v-2c024c80"], ["__file", "D:/projects/cxc-szcx-uniapp/pages/document/detail.vue"]]); + const _sfc_main$t = { __name: "index", setup(__props) { const store = useStore(); @@ -9782,8 +9782,8 @@ This will fail in production.`); }; } }; - const PagesMeetingIndex = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["__scopeId", "data-v-f3707b27"], ["__file", "D:/projects/cxc-szcx-uniapp/pages/meeting/index.vue"]]); - const _sfc_main$p = { + const PagesMeetingIndex = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-f3707b27"], ["__file", "D:/projects/cxc-szcx-uniapp/pages/meeting/index.vue"]]); + const _sfc_main$s = { __name: "detail", setup(__props) { const store = useStore(); @@ -9874,2909 +9874,7 @@ This will fail in production.`); }; } }; - const PagesMeetingDetail = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["__scopeId", "data-v-ee2c785f"], ["__file", "D:/projects/cxc-szcx-uniapp/pages/meeting/detail.vue"]]); - function qjAddApi(config) { - return https({ - url: "/CxcQxj/cxcQxj/add", - method: "post", - data: config - }); - } - function queryZwmcAndExaApi(username) { - return https({ - url: "/CxcQxj/cxcQxj/queryZwmcByUsername", - method: "get", - data: { - username - } - }); - } - function qjQueryByIdApi(config) { - return https({ - url: "/CxcQxj/cxcQxj/queryById", - method: "get", - data: config - }); - } - function queryDepByCode(code) { - return https({ - url: "/sys/sysDepart/queryDepNameByDepCode", - method: "get", - data: { - code - } - }); - } - function obj2strClass(obj) { - let classess = ""; - for (let key in obj) { - const val = obj[key]; - if (val) { - classess += `${key} `; - } - } - return classess; - } - function obj2strStyle(obj) { - let style = ""; - for (let key in obj) { - const val = obj[key]; - style += `${key}:${val};`; - } - return style; - } - const _sfc_main$o = { - name: "uni-easyinput", - emits: [ - "click", - "iconClick", - "update:modelValue", - "input", - "focus", - "blur", - "confirm", - "clear", - "eyes", - "change", - "keyboardheightchange" - ], - model: { - prop: "modelValue", - event: "update:modelValue" - }, - options: { - virtualHost: true - }, - inject: { - form: { - from: "uniForm", - default: null - }, - formItem: { - from: "uniFormItem", - default: null - } - }, - props: { - name: String, - value: [Number, String], - modelValue: [Number, String], - type: { - type: String, - default: "text" - }, - clearable: { - type: Boolean, - default: true - }, - autoHeight: { - type: Boolean, - default: false - }, - placeholder: { - type: String, - default: " " - }, - placeholderStyle: String, - focus: { - type: Boolean, - default: false - }, - disabled: { - type: Boolean, - default: false - }, - maxlength: { - type: [Number, String], - default: 140 - }, - confirmType: { - type: String, - default: "done" - }, - clearSize: { - type: [Number, String], - default: 24 - }, - inputBorder: { - type: Boolean, - default: true - }, - prefixIcon: { - type: String, - default: "" - }, - suffixIcon: { - type: String, - default: "" - }, - trim: { - type: [Boolean, String], - default: false - }, - cursorSpacing: { - type: Number, - default: 0 - }, - passwordIcon: { - type: Boolean, - default: true - }, - adjustPosition: { - type: Boolean, - default: true - }, - primaryColor: { - type: String, - default: "#2979ff" - }, - styles: { - type: Object, - default() { - return { - color: "#333", - backgroundColor: "#fff", - disableColor: "#F7F6F6", - borderColor: "#e5e5e5" - }; - } - }, - errorMessage: { - type: [String, Boolean], - default: "" - } - }, - data() { - return { - focused: false, - val: "", - showMsg: "", - border: false, - isFirstBorder: false, - showClearIcon: false, - showPassword: false, - focusShow: false, - localMsg: "", - isEnter: false - // 用于判断当前是否是使用回车操作 - }; - }, - computed: { - // 输入框内是否有值 - isVal() { - const val = this.val; - if (val || val === 0) { - return true; - } - return false; - }, - msg() { - return this.localMsg || this.errorMessage; - }, - // 因为uniapp的input组件的maxlength组件必须要数值,这里转为数值,用户可以传入字符串数值 - inputMaxlength() { - return Number(this.maxlength); - }, - // 处理外层样式的style - boxStyle() { - return `color:${this.inputBorder && this.msg ? "#e43d33" : this.styles.color};`; - }, - // input 内容的类和样式处理 - inputContentClass() { - return obj2strClass({ - "is-input-border": this.inputBorder, - "is-input-error-border": this.inputBorder && this.msg, - "is-textarea": this.type === "textarea", - "is-disabled": this.disabled, - "is-focused": this.focusShow - }); - }, - inputContentStyle() { - const focusColor = this.focusShow ? this.primaryColor : this.styles.borderColor; - const borderColor = this.inputBorder && this.msg ? "#dd524d" : focusColor; - return obj2strStyle({ - "border-color": borderColor || "#e5e5e5", - "background-color": this.disabled ? this.styles.disableColor : this.styles.backgroundColor - }); - }, - // input右侧样式 - inputStyle() { - const paddingRight = this.type === "password" || this.clearable || this.prefixIcon ? "" : "10px"; - return obj2strStyle({ - "padding-right": paddingRight, - "padding-left": this.prefixIcon ? "" : "10px" - }); - } - }, - watch: { - value(newVal) { - if (newVal === null) { - this.val = ""; - return; - } - this.val = newVal; - }, - modelValue(newVal) { - if (newVal === null) { - this.val = ""; - return; - } - this.val = newVal; - }, - focus(newVal) { - this.$nextTick(() => { - this.focused = this.focus; - this.focusShow = this.focus; - }); - } - }, - created() { - this.init(); - if (this.form && this.formItem) { - this.$watch("formItem.errMsg", (newVal) => { - this.localMsg = newVal; - }); - } - }, - mounted() { - this.$nextTick(() => { - this.focused = this.focus; - this.focusShow = this.focus; - }); - }, - methods: { - /** - * 初始化变量值 - */ - init() { - if (this.value || this.value === 0) { - this.val = this.value; - } else if (this.modelValue || this.modelValue === 0 || this.modelValue === "") { - this.val = this.modelValue; - } else { - this.val = ""; - } - }, - /** - * 点击图标时触发 - * @param {Object} type - */ - onClickIcon(type) { - this.$emit("iconClick", type); - }, - /** - * 显示隐藏内容,密码框时生效 - */ - onEyes() { - this.showPassword = !this.showPassword; - this.$emit("eyes", this.showPassword); - }, - /** - * 输入时触发 - * @param {Object} event - */ - onInput(event) { - let value = event.detail.value; - if (this.trim) { - if (typeof this.trim === "boolean" && this.trim) { - value = this.trimStr(value); - } - if (typeof this.trim === "string") { - value = this.trimStr(value, this.trim); - } - } - if (this.errMsg) - this.errMsg = ""; - this.val = value; - this.$emit("input", value); - this.$emit("update:modelValue", value); - }, - /** - * 外部调用方法 - * 获取焦点时触发 - * @param {Object} event - */ - onFocus() { - this.$nextTick(() => { - this.focused = true; - }); - this.$emit("focus", null); - }, - _Focus(event) { - this.focusShow = true; - this.$emit("focus", event); - }, - /** - * 外部调用方法 - * 失去焦点时触发 - * @param {Object} event - */ - onBlur() { - this.focused = false; - this.$emit("blur", null); - }, - _Blur(event) { - event.detail.value; - this.focusShow = false; - this.$emit("blur", event); - if (this.isEnter === false) { - this.$emit("change", this.val); - } - if (this.form && this.formItem) { - const { validateTrigger } = this.form; - if (validateTrigger === "blur") { - this.formItem.onFieldChange(); - } - } - }, - /** - * 按下键盘的发送键 - * @param {Object} e - */ - onConfirm(e2) { - this.$emit("confirm", this.val); - this.isEnter = true; - this.$emit("change", this.val); - this.$nextTick(() => { - this.isEnter = false; - }); - }, - /** - * 清理内容 - * @param {Object} event - */ - onClear(event) { - this.val = ""; - this.$emit("input", ""); - this.$emit("update:modelValue", ""); - this.$emit("clear"); - }, - /** - * 键盘高度发生变化的时候触发此事件 - * 兼容性:微信小程序2.7.0+、App 3.1.0+ - * @param {Object} event - */ - onkeyboardheightchange(event) { - this.$emit("keyboardheightchange", event); - }, - /** - * 去除空格 - */ - trimStr(str, pos = "both") { - if (pos === "both") { - return str.trim(); - } else if (pos === "left") { - return str.trimLeft(); - } else if (pos === "right") { - return str.trimRight(); - } else if (pos === "start") { - return str.trimStart(); - } else if (pos === "end") { - return str.trimEnd(); - } else if (pos === "all") { - return str.replace(/\s+/g, ""); - } else if (pos === "none") { - return str; - } - return str; - } - } - }; - function _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) { - const _component_uni_icons = resolveEasycom(vue.resolveDynamicComponent("uni-icons"), __easycom_1$1); - return vue.openBlock(), vue.createElementBlock( - "view", - { - class: vue.normalizeClass(["uni-easyinput", { "uni-easyinput-error": $options.msg }]), - style: vue.normalizeStyle($options.boxStyle) - }, - [ - vue.createElementVNode( - "view", - { - class: vue.normalizeClass(["uni-easyinput__content", $options.inputContentClass]), - style: vue.normalizeStyle($options.inputContentStyle) - }, - [ - $props.prefixIcon ? (vue.openBlock(), vue.createBlock(_component_uni_icons, { - key: 0, - class: "content-clear-icon", - type: $props.prefixIcon, - color: "#c0c4cc", - onClick: _cache[0] || (_cache[0] = ($event) => $options.onClickIcon("prefix")), - size: "22" - }, null, 8, ["type"])) : vue.createCommentVNode("v-if", true), - vue.renderSlot(_ctx.$slots, "left", {}, void 0, true), - $props.type === "textarea" ? (vue.openBlock(), vue.createElementBlock("textarea", { - key: 1, - class: vue.normalizeClass(["uni-easyinput__content-textarea", { "input-padding": $props.inputBorder }]), - name: $props.name, - value: $data.val, - placeholder: $props.placeholder, - placeholderStyle: $props.placeholderStyle, - disabled: $props.disabled, - "placeholder-class": "uni-easyinput__placeholder-class", - maxlength: $options.inputMaxlength, - focus: $data.focused, - autoHeight: $props.autoHeight, - "cursor-spacing": $props.cursorSpacing, - "adjust-position": $props.adjustPosition, - onInput: _cache[1] || (_cache[1] = (...args) => $options.onInput && $options.onInput(...args)), - onBlur: _cache[2] || (_cache[2] = (...args) => $options._Blur && $options._Blur(...args)), - onFocus: _cache[3] || (_cache[3] = (...args) => $options._Focus && $options._Focus(...args)), - onConfirm: _cache[4] || (_cache[4] = (...args) => $options.onConfirm && $options.onConfirm(...args)), - onKeyboardheightchange: _cache[5] || (_cache[5] = (...args) => $options.onkeyboardheightchange && $options.onkeyboardheightchange(...args)) - }, null, 42, ["name", "value", "placeholder", "placeholderStyle", "disabled", "maxlength", "focus", "autoHeight", "cursor-spacing", "adjust-position"])) : (vue.openBlock(), vue.createElementBlock("input", { - key: 2, - type: $props.type === "password" ? "text" : $props.type, - class: "uni-easyinput__content-input", - style: vue.normalizeStyle($options.inputStyle), - name: $props.name, - value: $data.val, - password: !$data.showPassword && $props.type === "password", - placeholder: $props.placeholder, - placeholderStyle: $props.placeholderStyle, - "placeholder-class": "uni-easyinput__placeholder-class", - disabled: $props.disabled, - maxlength: $options.inputMaxlength, - focus: $data.focused, - confirmType: $props.confirmType, - "cursor-spacing": $props.cursorSpacing, - "adjust-position": $props.adjustPosition, - onFocus: _cache[6] || (_cache[6] = (...args) => $options._Focus && $options._Focus(...args)), - onBlur: _cache[7] || (_cache[7] = (...args) => $options._Blur && $options._Blur(...args)), - onInput: _cache[8] || (_cache[8] = (...args) => $options.onInput && $options.onInput(...args)), - onConfirm: _cache[9] || (_cache[9] = (...args) => $options.onConfirm && $options.onConfirm(...args)), - onKeyboardheightchange: _cache[10] || (_cache[10] = (...args) => $options.onkeyboardheightchange && $options.onkeyboardheightchange(...args)) - }, null, 44, ["type", "name", "value", "password", "placeholder", "placeholderStyle", "disabled", "maxlength", "focus", "confirmType", "cursor-spacing", "adjust-position"])), - $props.type === "password" && $props.passwordIcon ? (vue.openBlock(), vue.createElementBlock( - vue.Fragment, - { key: 3 }, - [ - vue.createCommentVNode(" 开启密码时显示小眼睛 "), - $options.isVal ? (vue.openBlock(), vue.createBlock(_component_uni_icons, { - key: 0, - class: vue.normalizeClass(["content-clear-icon", { "is-textarea-icon": $props.type === "textarea" }]), - type: $data.showPassword ? "eye-slash-filled" : "eye-filled", - size: 22, - color: $data.focusShow ? $props.primaryColor : "#c0c4cc", - onClick: $options.onEyes - }, null, 8, ["class", "type", "color", "onClick"])) : vue.createCommentVNode("v-if", true) - ], - 64 - /* STABLE_FRAGMENT */ - )) : vue.createCommentVNode("v-if", true), - $props.suffixIcon ? (vue.openBlock(), vue.createElementBlock( - vue.Fragment, - { key: 4 }, - [ - $props.suffixIcon ? (vue.openBlock(), vue.createBlock(_component_uni_icons, { - key: 0, - class: "content-clear-icon", - type: $props.suffixIcon, - color: "#c0c4cc", - onClick: _cache[11] || (_cache[11] = ($event) => $options.onClickIcon("suffix")), - size: "22" - }, null, 8, ["type"])) : vue.createCommentVNode("v-if", true) - ], - 64 - /* STABLE_FRAGMENT */ - )) : (vue.openBlock(), vue.createElementBlock( - vue.Fragment, - { key: 5 }, - [ - $props.clearable && $options.isVal && !$props.disabled && $props.type !== "textarea" ? (vue.openBlock(), vue.createBlock(_component_uni_icons, { - key: 0, - class: vue.normalizeClass(["content-clear-icon", { "is-textarea-icon": $props.type === "textarea" }]), - type: "clear", - size: $props.clearSize, - color: $options.msg ? "#dd524d" : $data.focusShow ? $props.primaryColor : "#c0c4cc", - onClick: $options.onClear - }, null, 8, ["class", "size", "color", "onClick"])) : vue.createCommentVNode("v-if", true) - ], - 64 - /* STABLE_FRAGMENT */ - )), - vue.renderSlot(_ctx.$slots, "right", {}, void 0, true) - ], - 6 - /* CLASS, STYLE */ - ) - ], - 6 - /* CLASS, STYLE */ - ); - } - const __easycom_1 = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["render", _sfc_render$3], ["__scopeId", "data-v-09fd5285"], ["__file", "D:/projects/cxc-szcx-uniapp/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.vue"]]); - function isString(data) { - return typeof data === "string"; - } - function paging(data, PAGENUM = 50) { - if (!Array.isArray(data) || !data.length) - return data; - const pages2 = []; - data.forEach((item, index) => { - const i2 = Math.floor(index / PAGENUM); - if (!pages2[i2]) { - pages2[i2] = []; - } - pages2[i2].push(item); - }); - return pages2; - } - const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({ - __name: "data-select-item", - props: { - node: { - type: Object, - default: () => ({}) - }, - choseParent: { - type: Boolean, - default: true - }, - dataLabel: { - type: String, - default: "name" - }, - dataValue: { - type: String, - default: "value" - }, - dataChildren: { - type: String, - default: "children" - }, - border: { - type: Boolean, - default: false - }, - linkage: { - type: Boolean, - default: false - }, - lazyLoadChildren: { - type: Boolean, - default: false - }, - level: { - type: Number, - default: 0 - } - }, - setup(__props) { - const { nodeClick, nameClick, loadNode, initData, addNode } = vue.inject("nodeFn"); - const props = __props; - const listData = vue.ref([]); - const clearTimerList = vue.ref([]); - const loadingArr = vue.ref([]); - vue.watchEffect(() => { - if (props.node.showChildren && props.node[props.dataChildren] && props.node[props.dataChildren].length) { - resetClearTimerList(); - renderTree(props.node[props.dataChildren]); - } - }); - function resetClearTimerList() { - const list = [...clearTimerList.value]; - clearTimerList.value = []; - list.forEach((fn) => fn()); - } - function renderTree(arr) { - const pagingArr = paging(arr); - listData.value = (pagingArr == null ? void 0 : pagingArr[0]) || []; - lazyRenderList(pagingArr, 1); - } - function lazyRenderList(arr, startIndex) { - for (let i2 = startIndex; i2 < arr.length; i2++) { - let timer = null; - timer = setTimeout(() => { - listData.value.push(...arr[i2]); - }, i2 * 500); - clearTimerList.push(() => clearTimeout(timer)); - } - } - function handleNameClick(node) { - var _a; - if (!node.visible) - return; - if (!((_a = node[props.dataChildren]) == null ? void 0 : _a.length) && props.lazyLoadChildren) { - loadingArr.value.push(node[props.dataValue].toString()); - loadNode(node).then((res) => { - addNode(node, initData(res, node.visible)); - }).finally(() => { - loadingArr.value = []; - }); - } else { - nameClick(node); - } - } - return (_ctx, _cache) => { - const _component_uni_icons = resolveEasycom(vue.resolveDynamicComponent("uni-icons"), __easycom_1$1); - return vue.openBlock(), vue.createElementBlock( - "view", - { - class: vue.normalizeClass(["customthree-tree-select-content", { - border: __props.border && __props.node[__props.dataChildren] && __props.node[__props.dataChildren].length && __props.node.showChildren - }]), - style: vue.normalizeStyle({ marginLeft: `${__props.level ? 14 : 0}px` }) - }, - [ - __props.node.visible ? (vue.openBlock(), vue.createElementBlock("view", { - key: 0, - class: "custom-tree-select-item" - }, [ - vue.createElementVNode("view", { class: "item-content" }, [ - vue.createElementVNode("view", { - class: "left", - onClick: _cache[0] || (_cache[0] = vue.withModifiers(($event) => handleNameClick(__props.node), ["stop"])) - }, [ - vue.createElementVNode("view", { class: "icon-group" }, [ - __props.node[__props.dataChildren] && __props.node[__props.dataChildren].length ? (vue.openBlock(), vue.createElementBlock( - "view", - { - key: 0, - class: vue.normalizeClass(["right-icon", { active: __props.node.showChildren }]) - }, - [ - vue.createVNode(_component_uni_icons, { - type: "right", - size: "14", - color: "#333" - }) - ], - 2 - /* CLASS */ - )) : (vue.openBlock(), vue.createElementBlock("view", { - key: 1, - class: "smallcircle-filled" - }, [ - vue.createVNode(_component_uni_icons, { - class: "smallcircle-filled-icon", - type: "smallcircle-filled", - size: "10", - color: "#333" - }) - ])) - ]), - loadingArr.value.includes(__props.node[props.dataValue].toString()) ? (vue.openBlock(), vue.createElementBlock("view", { - key: 0, - class: "loading-icon-box" - }, [ - vue.createVNode(_component_uni_icons, { - class: "loading-icon", - type: "spinner-cycle", - size: "14", - color: "#333" - }) - ])) : vue.createCommentVNode("v-if", true), - vue.createElementVNode( - "view", - { - class: "name", - style: vue.normalizeStyle(__props.node.disabled ? "color: #999" : "") - }, - [ - vue.createElementVNode( - "text", - null, - vue.toDisplayString(__props.node[__props.dataLabel]), - 1 - /* TEXT */ - ) - ], - 4 - /* STYLE */ - ) - ]), - __props.choseParent || !__props.choseParent && !__props.node[__props.dataChildren] || !__props.choseParent && __props.node[__props.dataChildren] && !__props.node[__props.dataChildren].length ? (vue.openBlock(), vue.createElementBlock( - "view", - { - key: 0, - class: vue.normalizeClass(["check-box", { disabled: __props.node.disabled }]), - onClick: _cache[1] || (_cache[1] = vue.withModifiers(($event) => !__props.node.disabled && vue.unref(nodeClick)(__props.node), ["stop"])) - }, - [ - !__props.node.checked && __props.node.partChecked && __props.linkage ? (vue.openBlock(), vue.createElementBlock("view", { - key: 0, - class: "part-checked" - })) : vue.createCommentVNode("v-if", true), - __props.node.checked ? (vue.openBlock(), vue.createBlock(_component_uni_icons, { - key: 1, - type: "checkmarkempty", - size: "18", - color: __props.node.disabled ? "#333" : "#007aff" - }, null, 8, ["color"])) : vue.createCommentVNode("v-if", true) - ], - 2 - /* CLASS */ - )) : vue.createCommentVNode("v-if", true) - ]) - ])) : vue.createCommentVNode("v-if", true), - __props.node.showChildren && __props.node[__props.dataChildren] && __props.node[__props.dataChildren].length ? (vue.openBlock(), vue.createElementBlock("view", { key: 1 }, [ - (vue.openBlock(true), vue.createElementBlock( - vue.Fragment, - null, - vue.renderList(listData.value, (item) => { - return vue.openBlock(), vue.createBlock(dataSelectItem, { - key: item[__props.dataValue], - node: item, - dataLabel: __props.dataLabel, - dataValue: __props.dataValue, - dataChildren: __props.dataChildren, - choseParent: __props.choseParent, - lazyLoadChildren: __props.lazyLoadChildren, - border: __props.border, - linkage: __props.linkage, - level: __props.level + 1 - }, null, 8, ["node", "dataLabel", "dataValue", "dataChildren", "choseParent", "lazyLoadChildren", "border", "linkage", "level"]); - }), - 128 - /* KEYED_FRAGMENT */ - )) - ])) : vue.createCommentVNode("v-if", true) - ], - 6 - /* CLASS, STYLE */ - ); - }; - } - }); - const dataSelectItem = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-3a65eef7"], ["__file", "D:/projects/cxc-szcx-uniapp/components/treeSelect/data-select-item.vue"]]); - const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({ - __name: "treeSelect", - props: { - canSelectAll: { - type: Boolean, - default: false - }, - safeArea: { - type: Boolean, - default: true - }, - search: { - type: Boolean, - default: false - }, - clearResetSearch: { - type: Boolean, - default: false - }, - animation: { - type: Boolean, - default: true - }, - "is-mask-click": { - type: Boolean, - default: true - }, - "mask-background-color": { - type: String, - default: "rgba(0,0,0,0.4)" - }, - "background-color": { - type: String, - default: "none" - }, - "safe-area": { - type: Boolean, - default: true - }, - choseParent: { - type: Boolean, - default: false - }, - placeholder: { - type: String, - default: "请选择" - }, - confirmText: { - type: String, - default: "确认" - }, - confirmTextColor: { - type: String, - default: "#007aff" - }, - dataSource: { - type: Array, - default: () => [] - }, - dataLabel: { - type: String, - default: "name" - }, - dataValue: { - type: String, - default: "id" - }, - dataChildren: { - type: String, - default: "children" - }, - linkage: { - type: Boolean, - default: false - }, - removeLinkage: { - type: Boolean, - default: true - }, - clearable: { - type: Boolean, - default: false - }, - mutiple: { - type: Boolean, - default: false - }, - disabled: { - type: Boolean, - default: false - }, - deleteSource: { - type: Boolean, - default: false - }, - showChildren: { - type: Boolean, - default: false - }, - border: { - type: Boolean, - default: false - }, - lazyLoadChildren: { - type: Boolean, - default: false - }, - load: { - type: Function, - default: function() { - } - }, - modelValue: { - type: [Array, String], - default: () => [] - } - }, - emits: ["update:modelValue", "change", "maskClick", "select-change", "removeSelect"], - setup(__props, { emit: __emit }) { - const props = __props; - const emits = __emit; - const contentHeight = vue.ref("500px"); - const treeData = vue.ref([]); - const filterTreeData = vue.ref([]); - const clearTimerList = vue.ref([]); - const selectedListBaseinfo = vue.ref([]); - const showPopup = vue.ref(false); - const isSelectedAll = vue.ref(false); - const scrollTop = vue.ref(0); - const searchStr = vue.ref(""); - const popup = vue.ref(null); - const partCheckedSet = /* @__PURE__ */ new Set(); - vue.provide("nodeFn", { - nodeClick: handleNodeClick, - nameClick: handleHideChildren, - loadNode: props.load, - initData, - addNode - }); - const selectList = vue.computed(() => { - const newVal = props.modelValue === null ? "" : props.modelValue; - return isString(newVal) ? newVal.length ? newVal.split(",") : [] : newVal.map((item) => item.toString()); - }); - vue.onMounted(() => { - getContentHeight(uni.getSystemInfoSync()); - }); - function getContentHeight({ screenHeight }) { - contentHeight.value = `${Math.floor(screenHeight * 0.7)}px`; - } - vue.watch( - () => props.dataSource, - (newVal) => { - if (newVal) { - treeData.value = initData(newVal); - if (showPopup.value) { - resetClearTimerList(); - renderTree(treeData.value); - } - } - }, - { immediate: true, deep: true } - ); - vue.watch( - () => props.modelValue, - (newVal) => { - const ids = newVal ? Array.isArray(newVal) ? newVal : newVal.split(",") : []; - changeStatus(treeData.value, ids, true); - filterTreeData.value.length && changeStatus(filterTreeData.value, ids); - }, - { immediate: true } - ); - function goTop() { - scrollTop.val = 10; - vue.nextTick(() => { - scrollTop.value = 0; - }); - } - function handleSearch(isClear = false) { - resetClearTimerList(); - if (isClear) { - if (props.clearResetSearch) { - renderTree(treeData.value); - } - } else { - renderTree(searchValue(searchStr.value, treeData.value)); - } - goTop(); - uni.hideKeyboard(); - } - function searchValue(str, arr) { - const res = []; - arr.forEach((item) => { - var _a, _b; - if (item.visible) { - if (item[props.dataLabel].toString().toLowerCase().indexOf(str.toLowerCase()) > -1) { - res.push(item); - } else { - if ((_a = item[props.dataChildren]) == null ? void 0 : _a.length) { - const data = searchValue(str, item[props.dataChildren]); - if (data == null ? void 0 : data.length) { - if (str && !item.showChildren && ((_b = item[props.dataChildren]) == null ? void 0 : _b.length)) { - item.showChildren = true; - } - res.push({ - ...item, - [props.dataChildren]: data - }); - } - } - } - } - }); - return res; - } - async function open2() { - if (props.disabled) - return; - showPopup.value = true; - popup.value.open(); - renderTree(treeData.value); - } - function close() { - popup.value.close(); - } - function change(data) { - if (!data.show) { - resetClearTimerList(); - searchStr.value = ""; - showPopup.value = false; - } - emits("change", data); - } - function maskClick() { - emits("maskClick"); - } - function initData(arr, parentVisible) { - var _a; - if (!Array.isArray(arr)) - return []; - const res = []; - for (let i2 = 0; i2 < arr.length; i2++) { - const obj = { - [props.dataLabel]: arr[i2][props.dataLabel], - [props.dataValue]: arr[i2][props.dataValue] - }; - obj.checked = selectList.value.includes(arr[i2][props.dataValue].toString()); - obj.disabled = Boolean(arr[i2].disabled); - obj.partChecked = Boolean(arr[i2].partChecked === void 0 ? false : arr[i2].partChecked); - obj.partChecked && obj.partCheckedSet.add(obj[props.dataValue]); - !obj.partChecked && (isSelectedAll.value = false); - const parentVisibleState = parentVisible === void 0 ? true : parentVisible; - const curVisibleState = arr[i2].visible === void 0 ? true : Boolean(arr[i2].visible); - if (parentVisibleState === curVisibleState) { - obj.visible = parentVisibleState; - } else if (!parentVisibleState || !curVisibleState) { - obj.visible = false; - } else { - obj.visible = true; - } - obj.showChildren = "showChildren" in arr[i2] && arr[i2].showChildren != void 0 ? arr[i2].showChildren : props.showChildren; - if (arr[i2].visible && !arr[i2].disabled && !arr[i2].checked) { - isSelectedAll.value = false; - } - if ((_a = arr[i2][props.dataChildren]) == null ? void 0 : _a.length) { - obj[props.dataChildren] = initData(arr[i2][props.dataChildren], obj.visible); - } - res.push(obj); - } - return res; - } - function addNode(node, children) { - getReflectNode(node, treeData.value)[props.dataChildren] = children; - handleHideChildren(node); - } - function resetClearTimerList() { - const list = [...clearTimerList.value]; - clearTimerList.value = []; - list.forEach((fn) => fn()); - } - function renderTree(arr) { - const pagingArr = paging(arr); - filterTreeData.value = (pagingArr == null ? void 0 : pagingArr[0]) || []; - lazyRenderList(pagingArr, 1); - } - function lazyRenderList(arr, startIndex) { - for (let i2 = startIndex; i2 < arr.length; i2++) { - let timer = null; - timer = setTimeout(() => { - filterTreeData.value.push(...arr[i2]); - }, i2 * 500); - clearTimerList.push(() => clearTimeout(timer)); - } - } - function changeStatus(list, ids, needEmit = false) { - var _a; - const arr = [...list]; - let flag = true; - needEmit && (selectedListBaseinfo.value = []); - while (arr.length) { - const item = arr.shift(); - if (ids.includes(item[props.dataValue].toString())) { - item.checked = true; - item.partChecked = false; - partCheckedSet.delete(item[props.dataValue]); - needEmit && selectedListBaseinfo.value.push(item); - } else { - item.checked = false; - if (item.visible && !item.disabled) { - flag = false; - } - if (partCheckedSet.has(item[props.dataValue])) { - item.partChecked = true; - } else { - item.partChecked = false; - } - } - if ((_a = item[props.dataChildren]) == null ? void 0 : _a.length) { - arr.push(...item[props.dataChildren]); - } - } - isSelectedAll.value = flag; - needEmit && emits("select-change", [...selectedListBaseinfo.value]); - } - function removeSelectedItem(node) { - isSelectedAll.value = false; - if (props.linkage) { - handleNodeClick(node, false); - emits("removeSelect", node); - } else { - const emitData = selectList.value.filter((item) => item !== node[props.dataValue].toString()); - emits("removeSelect", node); - emits("update:modelValue", isString(props.modelValue) ? emitData.join(",") : emitData); - } - } - function getReflectNode(node, arr) { - var _a; - const array = [...arr]; - while (array.length) { - const item = array.shift(); - if (item[props.dataValue] === node[props.dataValue]) { - return item; - } - if ((_a = item[props.dataChildren]) == null ? void 0 : _a.length) { - array.push(...item[props.dataChildren]); - } - } - return {}; - } - function getChildren(node) { - var _a; - if (!((_a = node[props.dataChildren]) == null ? void 0 : _a.length)) - return []; - const res = node[props.dataChildren].reduce((pre, val) => { - if (val.visible) { - return [...pre, val]; - } - return pre; - }, []); - for (let i2 = 0; i2 < node[props.dataChildren].length; i2++) { - res.push(...getChildren(node[props.dataChildren][i2])); - } - return res; - } - function getParentNode(target, arr) { - var _a; - let res = []; - for (let i2 = 0; i2 < arr.length; i2++) { - if (arr[i2][props.dataValue] === target[props.dataValue]) { - return true; - } - if ((_a = arr[i2][props.dataChildren]) == null ? void 0 : _a.length) { - const childRes = getParentNode(target, arr[i2][props.dataChildren]); - if (typeof childRes === "boolean" && childRes) { - res = [arr[i2]]; - } else if (Array.isArray(childRes) && childRes.length) { - res = [...childRes, arr[i2]]; - } - } - } - return res; - } - function handleNodeClick(data, status) { - const node = getReflectNode(data, treeData.value); - node.checked = typeof status === "boolean" ? status : !node.checked; - node.partChecked = false; - partCheckedSet.delete(node[props.dataValue]); - if (!props.mutiple) { - let emitData = []; - if (node.checked) { - emitData = [node[props.dataValue].toString()]; - } - emits("update:modelValue", isString(props.modelValue) ? emitData.join(",") : emitData); - } else { - if (!props.linkage) { - let emitData = null; - if (node.checked) { - emitData = Array.from(/* @__PURE__ */ new Set([...selectList.value, node[props.dataValue].toString()])); - } else { - emitData = selectList.value.filter((id) => id !== node[props.dataValue].toString()); - } - emits("update:modelValue", isString(props.modelValue) ? emitData.join(",") : emitData); - } else { - let emitData = [...selectList.value]; - const parentNodes = getParentNode(node, treeData.value); - const childrenVal = getChildren(node).filter((item) => !item.disabled); - if (node.checked) { - emitData = Array.from(/* @__PURE__ */ new Set([...emitData, node[props.dataValue].toString()])); - if (childrenVal.length) { - emitData = Array.from( - /* @__PURE__ */ new Set([...emitData, ...childrenVal.map((item) => item[props.dataValue].toString())]) - ); - childrenVal.forEach((childNode) => { - childNode.partChecked = false; - partCheckedSet.delete(childNode[props.dataValue]); - }); - } - if (parentNodes.length) { - let flag = false; - while (parentNodes.length) { - const item = parentNodes.shift(); - if (!item.disabled) { - if (flag) { - item.partChecked = true; - partCheckedSet.add(item[props.dataValue]); - } else { - const allChecked = item[props.dataChildren].filter((node2) => node2.visible && !node2.disabled).every((node2) => node2.checked); - if (allChecked) { - item.checked = true; - item.partChecked = false; - partCheckedSet.delete(item[props.dataValue]); - emitData = Array.from(/* @__PURE__ */ new Set([...emitData, item[props.dataValue].toString()])); - } else { - item.partChecked = true; - partCheckedSet.add(item[props.dataValue]); - flag = true; - } - } - } - } - } - } else { - emitData = emitData.filter((id) => id !== node[props.dataValue].toString()); - if (childrenVal.length) { - childrenVal.forEach((childNode) => { - emitData = emitData.filter((id) => id !== childNode[props.dataValue].toString()); - }); - } - if (parentNodes.length) { - parentNodes.forEach((parentNode) => { - if (emitData.includes(parentNode[props.dataValue].toString())) { - parentNode.checked = false; - } - emitData = emitData.filter((id) => id !== parentNode[props.dataValue].toString()); - const hasChecked = parentNode[props.dataChildren].filter((node2) => node2.visible && !node2.disabled).some((node2) => node2.checked || node2.partChecked); - parentNode.partChecked = hasChecked; - if (hasChecked) { - partCheckedSet.add(parentNode[props.dataValue]); - } else { - partCheckedSet.delete(parentNode[props.dataValue]); - } - }); - } - } - emits("update:modelValue", isString(props.modelValue) ? emitData.join(",") : emitData); - } - } - } - function handleHideChildren(node) { - const status = !node.showChildren; - getReflectNode(node, treeData.value).showChildren = status; - getReflectNode(node, filterTreeData.value).showChildren = status; - } - function handleSelectAll() { - isSelectedAll.value = !isSelectedAll.value; - if (isSelectedAll.value) { - if (!props.mutiple) { - uni.showToast({ - title: "单选模式下不能全选", - icon: "none", - duration: 1e3 - }); - return; - } - let emitData = []; - treeData.value.forEach((item) => { - var _a; - if (item.visible || item.disabled && item.checked) { - emitData = Array.from(/* @__PURE__ */ new Set([...emitData, item[props.dataValue].toString()])); - if ((_a = item[props.dataChildren]) == null ? void 0 : _a.length) { - emitData = Array.from( - /* @__PURE__ */ new Set([ - ...emitData, - ...getChildren(item).filter((item2) => !item2.disabled || item2.disabled && item2.checked).map((item2) => item2[props.dataValue].toString()) - ]) - ); - } - } - }); - emits("update:modelValue", isString(props.modelValue) ? emitData.join(",") : emitData); - } else { - clearSelectList(); - } - } - function clearSelectList() { - if (props.disabled) - return; - partCheckedSet.clear(); - const emitData = []; - selectedListBaseinfo.value.forEach((node) => { - if (node.visible && node.checked && node.disabled) { - emitData.push(node[props.dataValue]); - } - }); - emits("update:modelValue", isString(props.modelValue) ? emitData.join(",") : emitData); - } - return (_ctx, _cache) => { - const _component_uni_icons = resolveEasycom(vue.resolveDynamicComponent("uni-icons"), __easycom_1$1); - const _component_uni_easyinput = resolveEasycom(vue.resolveDynamicComponent("uni-easyinput"), __easycom_1); - const _component_uni_popup = resolveEasycom(vue.resolveDynamicComponent("uni-popup"), __easycom_2); - return vue.openBlock(), vue.createElementBlock( - vue.Fragment, - null, - [ - vue.createElementVNode( - "view", - { - class: vue.normalizeClass(["select-list", { disabled: __props.disabled }, { active: selectList.value.length }]), - onClick: open2 - }, - [ - vue.createElementVNode("view", { class: "left" }, [ - selectList.value.length ? (vue.openBlock(), vue.createElementBlock("view", { - key: 0, - class: "select-items" - }, [ - (vue.openBlock(true), vue.createElementBlock( - vue.Fragment, - null, - vue.renderList(selectedListBaseinfo.value, (item) => { - return vue.openBlock(), vue.createElementBlock("view", { - class: "select-item", - key: item[__props.dataValue] - }, [ - vue.createElementVNode("view", { class: "name" }, [ - vue.createElementVNode( - "text", - null, - vue.toDisplayString(item[__props.dataLabel]), - 1 - /* TEXT */ - ) - ]), - !__props.disabled && !item.disabled && __props.deleteSource ? (vue.openBlock(), vue.createElementBlock("view", { - key: 0, - class: "close", - onClick: vue.withModifiers(($event) => removeSelectedItem(item), ["stop"]) - }, [ - vue.createVNode(_component_uni_icons, { - type: "closeempty", - size: "16", - color: "#999" - }) - ], 8, ["onClick"])) : vue.createCommentVNode("v-if", true) - ]); - }), - 128 - /* KEYED_FRAGMENT */ - )) - ])) : (vue.openBlock(), vue.createElementBlock("view", { - key: 1, - class: "no-data" - }, [ - vue.createElementVNode( - "text", - null, - vue.toDisplayString(__props.placeholder), - 1 - /* TEXT */ - ) - ])) - ]), - vue.createElementVNode("view", null, [ - !selectList.value.length || !__props.clearable ? (vue.openBlock(), vue.createBlock(_component_uni_icons, { - key: 0, - type: "bottom", - color: "#333333" - })) : vue.createCommentVNode("v-if", true), - vue.createElementVNode("view", { - onClick: _cache[0] || (_cache[0] = vue.withModifiers(() => { - }, ["stop"])) - }, [ - selectList.value.length && __props.clearable ? (vue.openBlock(), vue.createBlock(_component_uni_icons, { - key: 0, - type: "clear", - size: "24", - color: "#c0c4cc", - onClick: clearSelectList - })) : vue.createCommentVNode("v-if", true) - ]) - ]) - ], - 2 - /* CLASS */ - ), - vue.createVNode(_component_uni_popup, { - ref_key: "popup", - ref: popup, - animation: __props.animation, - "is-mask-click": _ctx.isMaskClick, - "mask-background-color": _ctx.maskBackgroundColor, - "background-color": _ctx.backgroundColor, - "safe-area": __props.safeArea, - type: "bottom", - onChange: change, - onMaskClick: maskClick - }, { - default: vue.withCtx(() => [ - vue.createElementVNode( - "view", - { - class: "popup-content", - style: vue.normalizeStyle({ height: contentHeight.value }) - }, - [ - vue.createElementVNode("view", { class: "title" }, [ - __props.mutiple && __props.canSelectAll ? (vue.openBlock(), vue.createElementBlock("view", { - key: 0, - class: "left", - onClick: handleSelectAll - }, [ - vue.createElementVNode( - "text", - null, - vue.toDisplayString(isSelectedAll.value ? "取消全选" : "全选"), - 1 - /* TEXT */ - ) - ])) : vue.createCommentVNode("v-if", true), - vue.createElementVNode("view", { class: "center" }, [ - vue.createElementVNode( - "text", - null, - vue.toDisplayString(__props.placeholder), - 1 - /* TEXT */ - ) - ]), - vue.createElementVNode( - "view", - { - class: "right", - style: vue.normalizeStyle({ color: __props.confirmTextColor }), - onClick: close - }, - [ - vue.createElementVNode( - "text", - null, - vue.toDisplayString(__props.confirmText), - 1 - /* TEXT */ - ) - ], - 4 - /* STYLE */ - ) - ]), - __props.search ? (vue.openBlock(), vue.createElementBlock("view", { - key: 0, - class: "search-box" - }, [ - vue.createVNode(_component_uni_easyinput, { - maxlength: -1, - prefixIcon: "search", - placeholder: "搜索", - modelValue: searchStr.value, - "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => searchStr.value = $event), - "confirm-type": "search", - onConfirm: _cache[2] || (_cache[2] = ($event) => handleSearch(false)), - onClear: _cache[3] || (_cache[3] = ($event) => handleSearch(true)) - }, null, 8, ["modelValue"]), - vue.createElementVNode("button", { - type: "primary", - size: "mini", - class: "search-btn", - onClick: _cache[4] || (_cache[4] = ($event) => handleSearch(false)) - }, "搜索") - ])) : vue.createCommentVNode("v-if", true), - treeData.value.length ? (vue.openBlock(), vue.createElementBlock("view", { - key: 1, - class: "select-content" - }, [ - vue.createElementVNode("scroll-view", { - class: "scroll-view-box", - "scroll-top": scrollTop.value, - "scroll-y": "true", - onTouchmove: _cache[5] || (_cache[5] = vue.withModifiers(() => { - }, ["stop"])) - }, [ - !filterTreeData.value.length ? (vue.openBlock(), vue.createElementBlock("view", { - key: 0, - class: "no-data center" - }, [ - vue.createElementVNode("text", null, "暂无数据") - ])) : vue.createCommentVNode("v-if", true), - (vue.openBlock(true), vue.createElementBlock( - vue.Fragment, - null, - vue.renderList(filterTreeData.value, (item) => { - return vue.openBlock(), vue.createBlock(dataSelectItem, { - key: item[__props.dataValue], - node: item, - dataLabel: __props.dataLabel, - dataValue: __props.dataValue, - dataChildren: __props.dataChildren, - choseParent: __props.choseParent, - border: __props.border, - linkage: __props.linkage, - lazyLoadChildren: __props.lazyLoadChildren - }, null, 8, ["node", "dataLabel", "dataValue", "dataChildren", "choseParent", "border", "linkage", "lazyLoadChildren"]); - }), - 128 - /* KEYED_FRAGMENT */ - )), - vue.createElementVNode("view", { class: "sentry" }) - ], 40, ["scroll-top"]) - ])) : (vue.openBlock(), vue.createElementBlock("view", { - key: 2, - class: "no-data center" - }, [ - vue.createElementVNode("text", null, "暂无数据") - ])) - ], - 4 - /* STYLE */ - ) - ]), - _: 1 - /* STABLE */ - }, 8, ["animation", "is-mask-click", "mask-background-color", "background-color", "safe-area"]) - ], - 64 - /* STABLE_FRAGMENT */ - ); - }; - } - }); - const treeSelect = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-0328d33e"], ["__file", "D:/projects/cxc-szcx-uniapp/components/treeSelect/treeSelect.vue"]]); - const _sfc_main$l = { - __name: "application", - setup(__props) { - const store = useStore(); - const { - proxy - } = vue.getCurrentInstance(); - const realname = vue.ref(store.userinfo.realname); - const depart = vue.ref(""); - const phone = vue.ref(store.userinfo.phone); - const type = vue.ref(""); - const dataSource = vue.ref([]); - const beginTime = vue.ref(""); - const chooseStart = (e2) => { - beginTime.value = e2.detail.value; - }; - const endTime = vue.ref(""); - const chooseEnd = (e2) => { - endTime.value = e2.detail.value; - }; - const typeArr = vue.ref([]); - const typeIndex = vue.ref(null); - const ifShow = vue.ref(true); - const zwcj = vue.ref(""); - const address = vue.ref(""); - const reason = vue.ref(""); - onLoad(() => { - loadData(); - }); - const qjAdd = () => { - if (!phone.value.trim()) - return proxy.$toast("请输入联系方式"); - if (!type.value) - return proxy.$toast("请选择请假类型"); - if (!beginTime.value) - return proxy.$toast("请选择开始时间"); - if (!endTime.value) - return proxy.$toast("请选择结束时间"); - if (ifShow.value) { - if (typeIndex.value == null) { - return proxy.$toast("请选择审批领导"); - } - } - if (!address.value.trim()) - return proxy.$toast("请输入请假地点"); - if (!reason.value.trim()) - return proxy.$toast("请输入请假事由"); - qjAddApi({ - username: store.userinfo.username, - phone: phone.value, - type: type.value, - begintime: beginTime.value, - endtime: endTime.value, - examineleader: typeArr.value[typeIndex.value].username, - address: address.value, - reason: reason.value, - zwcj: zwcj.value - }).then((res) => { - if (res.success) { - startMutilProcess(res.message); - } else { - proxy.$toast(res.message); - } - }); - }; - const startMutilProcess = (id) => { - startMutilProcessApi({ - flowCode: "dev_cxc_qxj", - id, - formUrl: "modules/qxj/modules/CxcQxjBpmModel", - formUrlMobile: "leaveApplication" - //对应main.js里全局注册createApp()里的 app.component('leaveApplication',index) - }).then((res) => { - if (res.success) { - proxy.$toast(res.message); - setTimeout(() => { - uni.navigateBack(); - }, 2e3); - } - }).catch((err) => { - formatAppLog("log", "at pages/leave/application.vue:198", err); - }); - }; - const loadData = () => { - getCategoryItemsApi("1838487445813645313").then((res) => { - if (res.success) { - dataSource.value = res.result; - } - }); - queryDepByCode(store.userinfo.orgCode).then((res) => { - if (res.success) { - depart.value = res.result; - } - }); - queryZwmcAndExaApi(store.userinfo.username).then((res) => { - if (res.success) { - typeArr.value = res.result.list; - zwcj.value = res.result.zwmc; - if (zwcj.value == "单位专家" || zwcj.value == "正职" || zwcj.value == "高级主管") { - ifShow.value = false; - } - } else { - proxy.$toast(res.message); - } - }); - }; - const bindType = (e2) => { - typeIndex.value = e2.detail.value; - }; - return (_ctx, _cache) => { - const _component_uni_icons = resolveEasycom(vue.resolveDynamicComponent("uni-icons"), __easycom_1$1); - return vue.openBlock(), vue.createElementBlock( - "view", - { - class: vue.normalizeClass({ "gray": vue.unref(store).isgray == 1 }) - }, - [ - vue.createElementVNode("view", { class: "form" }, [ - vue.createElementVNode("view", { class: "f-row aic jcb input_box" }, [ - vue.createElementVNode("view", { class: "title" }, " 职工姓名: "), - vue.withDirectives(vue.createElementVNode( - "input", - { - "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => realname.value = $event), - disabled: "" - }, - null, - 512 - /* NEED_PATCH */ - ), [ - [vue.vModelText, realname.value] - ]) - ]), - vue.createElementVNode("view", { class: "f-row aic jcb input_box" }, [ - vue.createElementVNode("view", { class: "title" }, " 工作单位: "), - vue.withDirectives(vue.createElementVNode( - "input", - { - "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => depart.value = $event), - disabled: "" - }, - null, - 512 - /* NEED_PATCH */ - ), [ - [vue.vModelText, depart.value] - ]) - ]), - vue.createElementVNode("view", { class: "f-row aic jcb input_box" }, [ - vue.createElementVNode("view", { class: "title" }, " 联系方式: "), - vue.withDirectives(vue.createElementVNode( - "input", - { - "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => phone.value = $event) - }, - null, - 512 - /* NEED_PATCH */ - ), [ - [vue.vModelText, phone.value] - ]) - ]), - vue.createElementVNode("view", { class: "f-row aic jcb input_box" }, [ - vue.createElementVNode("view", { class: "title" }, " 请假类型: "), - vue.createVNode(treeSelect, { - dataSource: dataSource.value, - modelValue: type.value, - "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => type.value = $event), - dataValue: "name" - }, null, 8, ["dataSource", "modelValue"]) - ]), - vue.createElementVNode("picker", { - mode: "date", - fields: "day", - onChange: chooseStart, - value: beginTime.value - }, [ - vue.createElementVNode("view", { class: "f-row aic jcb box" }, [ - vue.createElementVNode("view", { class: "title" }, " 开始时间: "), - vue.createElementVNode("view", { class: "f-row aic" }, [ - vue.createElementVNode( - "view", - { - class: vue.normalizeClass([{ "choose": !beginTime.value }, { "choosed": beginTime.value }]) - }, - vue.toDisplayString(beginTime.value ? beginTime.value : "请选择"), - 3 - /* TEXT, CLASS */ - ), - vue.createVNode(_component_uni_icons, { - type: "bottom", - color: "#333333" - }) - ]) - ]) - ], 40, ["value"]), - vue.createElementVNode("picker", { - mode: "date", - fields: "day", - onChange: chooseEnd, - value: endTime.value - }, [ - vue.createElementVNode("view", { class: "f-row aic jcb box" }, [ - vue.createElementVNode("view", { class: "title" }, " 截止时间: "), - vue.createElementVNode("view", { class: "f-row aic" }, [ - vue.createElementVNode( - "view", - { - class: vue.normalizeClass([{ "choose": !endTime.value }, { "choosed": endTime.value }]) - }, - vue.toDisplayString(endTime.value ? endTime.value : "请选择"), - 3 - /* TEXT, CLASS */ - ), - vue.createVNode(_component_uni_icons, { - type: "bottom", - color: "#333333" - }) - ]) - ]) - ], 40, ["value"]), - ifShow.value ? (vue.openBlock(), vue.createElementBlock("picker", { - key: 0, - onChange: bindType, - value: typeIndex.value, - range: typeArr.value, - "range-key": "realname" - }, [ - vue.createElementVNode("view", { class: "f-row aic jcb box" }, [ - vue.createElementVNode("view", { class: "title" }, " 审批领导: "), - vue.createElementVNode("view", { class: "f-row aic" }, [ - vue.createElementVNode( - "view", - { - class: vue.normalizeClass([{ "choose": typeIndex.value == null }, { "choosed": typeIndex.value != null }]) - }, - vue.toDisplayString(typeIndex.value != null ? typeArr.value[typeIndex.value].realname : "请选择"), - 3 - /* TEXT, CLASS */ - ), - vue.createVNode(_component_uni_icons, { - type: "bottom", - color: "#333333" - }) - ]) - ]) - ], 40, ["value", "range"])) : vue.createCommentVNode("v-if", true), - vue.createElementVNode("view", { class: "f-row aic jcb input_box" }, [ - vue.createElementVNode("view", { class: "title" }, " 请假地点: "), - vue.withDirectives(vue.createElementVNode( - "input", - { - "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => address.value = $event), - type: "text", - placeholder: "请输入", - "placeholder-style": "font-size: 28rpx;color: #999999;" - }, - null, - 512 - /* NEED_PATCH */ - ), [ - [vue.vModelText, address.value] - ]) - ]) - ]), - vue.createElementVNode("view", { class: "reason f-col" }, [ - vue.createElementVNode("view", { class: "title" }, " 请假事由: "), - vue.withDirectives(vue.createElementVNode( - "textarea", - { - "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => reason.value = $event), - placeholder: "请输入请假事由", - "placeholder-style": "font-size: 28rpx;color: #999999;", - cols: "30", - rows: "10" - }, - null, - 512 - /* NEED_PATCH */ - ), [ - [vue.vModelText, reason.value] - ]) - ]), - vue.createElementVNode("view", { class: "btn f-col aic" }, [ - vue.createElementVNode("view", { onClick: qjAdd }, " 提交 ") - ]) - ], - 2 - /* CLASS */ - ); - }; - } - }; - const PagesLeaveApplication = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-f12ae642"], ["__file", "D:/projects/cxc-szcx-uniapp/pages/leave/application.vue"]]); - const _sfc_main$k = { - __name: "index", - setup(__props) { - const store = useStore(); - const back = () => { - uni.navigateBack(); - }; - return (_ctx, _cache) => { - const _component_uni_icons = resolveEasycom(vue.resolveDynamicComponent("uni-icons"), __easycom_1$1); - return vue.openBlock(), vue.createElementBlock( - "view", - { - class: vue.normalizeClass(["content", { "gray": vue.unref(store).isgray == 1 }]) - }, - [ - vue.createVNode(customNav, null, { - default: vue.withCtx(() => [ - vue.createElementVNode("view", { class: "nav_box f-row aic" }, [ - vue.createElementVNode("view", { - class: "back", - onClick: back - }, [ - vue.createVNode(_component_uni_icons, { - type: "left", - size: "20", - color: "#fff" - }) - ]), - vue.createElementVNode("view", { class: "avatar" }, [ - vue.createElementVNode("image", { - src: vue.unref(store).userinfo.avatar, - mode: "" - }, null, 8, ["src"]) - ]), - vue.createElementVNode("view", { class: "f-col" }, [ - vue.createElementVNode( - "view", - { class: "name" }, - vue.toDisplayString(vue.unref(store).userinfo.realname), - 1 - /* TEXT */ - ), - vue.createElementVNode( - "view", - { class: "position" }, - vue.toDisplayString(vue.unref(store).role), - 1 - /* TEXT */ - ) - ]) - ]) - ]), - _: 1 - /* STABLE */ - }), - vue.createElementVNode("view", { class: "time_box f-row aic jcb" }, [ - vue.createElementVNode("view", { class: "box" }, [ - vue.createElementVNode("view", { class: "time f-row aic" }, [ - vue.createElementVNode("view", { class: "" }, " 上班 9:30 "), - vue.createElementVNode("image", { - src: "/static/checkin/chenggong.png", - mode: "" - }) - ]), - vue.createElementVNode("view", { class: "text" }, " 重庆市渝北区上弯路 ") - ]), - vue.createElementVNode("view", { class: "box" }, [ - vue.createElementVNode("view", { class: "time f-row aic" }, [ - vue.createElementVNode("view", { class: "" }, " 下班 16:30 "), - vue.createElementVNode("image", { - src: "/static/checkin/shibai.png", - mode: "" - }) - ]), - vue.createElementVNode("view", { class: "text" }, " 打卡已超时 ") - ]) - ]), - vue.createElementVNode("view", { class: "checkin" }, [ - vue.createElementVNode("view", { class: "f-col aic" }, [ - vue.createElementVNode("view", { class: "status f-col aic" }, [ - vue.createCommentVNode(' \r\n \r\n '), - vue.createElementVNode("image", { - src: "/static/checkin/position4.png", - mode: "" - }), - vue.createElementVNode("text", null, "打卡失败") - ]), - vue.createElementVNode("view", { - class: vue.normalizeClass(["circle", "f-col", "aic", "out", "check", "success", "fail"]) - }, [ - vue.createElementVNode("view", { class: "title" }, " 上班打卡 "), - vue.createElementVNode("view", { class: "time" }, " 9:00 "), - vue.createElementVNode("view", { class: "ontime" }, " 已超时 ") - ]) - ]) - ]) - ], - 2 - /* CLASS */ - ); - }; - } - }; - const PagesCheckinIndex = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-1410bd6b"], ["__file", "D:/projects/cxc-szcx-uniapp/pages/checkin/index.vue"]]); - const _sfc_main$j = { - __name: "useredit", - setup(__props) { - const baseUrl2 = "http://10.75.166.174:8080/jeecg-boot"; - const store = useStore(); - const chooseAvatar = () => { - uni.chooseImage({ - count: 1, - success: (chooseImageRes) => { - const tempFilePaths = chooseImageRes.tempFilePaths; - uni.uploadFile({ - url: baseUrl2 + "/sys/common/upload", - //仅为示例,非真实的接口地址 - filePath: tempFilePaths[0], - name: "file", - header: { - "X-Access-Token": store.token - }, - success: (uploadFileRes) => { - uni.showLoading({ - title: "上传中..." - }); - form.avatar = JSON.parse(uploadFileRes.data).message; - userEditApi({ - avatar: form.avatar, - id: store.userinfo.id - }).then((res) => { - if (res) { - uni.showToast({ - title: res, - icon: "success", - duration: 2e3 - }); - } - }).catch((err) => { - formatAppLog("log", "at pages/useredit/useredit.vue:97", err); - }); - }, - fail(err) { - formatAppLog("log", "at pages/useredit/useredit.vue:101", "图片上传出错", err); - } - }); - } - }); - }; - const form = vue.reactive({ - avatar: "", - realname: "", - phone: "" - }); - const loginout = () => { - uni.showModal({ - title: "退出登录", - content: "您确认要退出登录吗?", - success(res) { - if (res.confirm) { - uni.removeStorageSync("token"); - uni.removeStorageSync("user"); - uni.removeStorageSync("role"); - uni.removeStorageSync("logintime"); - uni.reLaunch({ - url: "/pages/login/login" - }); - } - } - }); - }; - onLoad(() => { - uni.setNavigationBarColor({ - frontColor: "#ffffff", - backgroundColor: "#bebebe" - }); - }); - return (_ctx, _cache) => { - const _component_uni_icons = resolveEasycom(vue.resolveDynamicComponent("uni-icons"), __easycom_1$1); - return vue.openBlock(), vue.createElementBlock( - vue.Fragment, - null, - [ - vue.createElementVNode( - "view", - { - class: vue.normalizeClass(["content", { "gray": vue.unref(store).isgray == 1 }]) - }, - [ - vue.createElementVNode("view", { class: "box" }, [ - vue.createElementVNode("view", null, "头像"), - vue.createElementVNode("view", { style: { "display": "flex", "align-items": "center" } }, [ - vue.createElementVNode("button", { - class: "head-btn", - onClick: chooseAvatar - }, [ - !form.avatar ? (vue.openBlock(), vue.createElementBlock("image", { - key: 0, - class: "head-img", - src: vue.unref(imgUrl)(vue.unref(store).userinfo.avatar), - mode: "" - }, null, 8, ["src"])) : (vue.openBlock(), vue.createElementBlock("image", { - key: 1, - class: "head-img", - src: vue.unref(imgUrl)(form.avatar) - }, null, 8, ["src"])) - ]), - vue.createVNode(_component_uni_icons, { - type: "right", - size: "24" - }) - ]) - ]), - vue.createElementVNode("view", { - class: "box", - style: { "padding-top": "30rpx", "padding-bottom": "30rpx" } - }, [ - vue.createElementVNode("view", null, "姓名"), - vue.withDirectives(vue.createElementVNode( - "input", - { - disabled: "", - style: { "text-align": "right" }, - type: "nickname", - "placeholder-style": "font-size: 32rpx;color: #999999;", - "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(store).userinfo.realname = $event), - placeholder: "请输入姓名" - }, - null, - 512 - /* NEED_PATCH */ - ), [ - [vue.vModelText, vue.unref(store).userinfo.realname] - ]) - ]), - vue.createElementVNode("view", { - class: "box", - style: { "padding-top": "30rpx", "padding-bottom": "30rpx" } - }, [ - vue.createElementVNode("view", null, "手机号"), - vue.withDirectives(vue.createElementVNode( - "input", - { - disabled: "", - style: { "text-align": "right" }, - type: "nickname", - "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(store).userinfo.phone = $event), - placeholder: "请输入手机号", - "placeholder-style": "font-size: 32rpx;color: #999999;" - }, - null, - 512 - /* NEED_PATCH */ - ), [ - [vue.vModelText, vue.unref(store).userinfo.phone] - ]) - ]), - vue.createElementVNode("view", { - class: "box", - style: { "padding-top": "30rpx", "padding-bottom": "30rpx" } - }, [ - vue.createElementVNode("view", null, "劳动合同号"), - vue.withDirectives(vue.createElementVNode( - "input", - { - style: { "text-align": "right" }, - type: "nickname", - disabled: "", - "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(store).userinfo.workNo = $event), - placeholder: "请输入劳动合同号", - "placeholder-style": "font-size: 32rpx;color: #999999;" - }, - null, - 512 - /* NEED_PATCH */ - ), [ - [vue.vModelText, vue.unref(store).userinfo.workNo] - ]) - ]) - ], - 2 - /* CLASS */ - ), - vue.createElementVNode("view", { class: "line" }), - vue.createElementVNode("view", { - class: "btn", - onClick: loginout - }, " 退出登录 ") - ], - 64 - /* STABLE_FRAGMENT */ - ); - }; - } - }; - const PagesUsereditUseredit = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-503dd57f"], ["__file", "D:/projects/cxc-szcx-uniapp/pages/useredit/useredit.vue"]]); - const _sfc_main$i = { - __name: "address", - setup(__props) { - const store = useStore(); - const jump = (url) => { - beforeJump(url, () => { - uni.navigateTo({ - url - }); - }); - }; - return (_ctx, _cache) => { - return vue.openBlock(), vue.createElementBlock( - "view", - { - class: vue.normalizeClass(["content", { "gray": vue.unref(store).isgray == 1 }]) - }, - [ - vue.createElementVNode("view", { class: "list" }, [ - (vue.openBlock(), vue.createElementBlock( - vue.Fragment, - null, - vue.renderList(2, (item, i2) => { - return vue.createElementVNode("view", { - class: "item", - key: i2 - }, [ - vue.createElementVNode("view", { class: "province f-row aic" }, [ - vue.createElementVNode("view", { class: "" }, " 浙江省,杭州市 "), - vue.createElementVNode("image", { - src: "/static/my/default.png", - mode: "" - }) - ]), - vue.createElementVNode("view", { class: "address f-row jcb" }, [ - vue.createElementVNode("view", { class: "" }, " 重庆 重庆市 渝北区 龙溪街道花卉园东路黄金 宝高级住宅小区 "), - vue.createElementVNode("image", { - src: "/static/my/edit.png", - mode: "" - }) - ]), - vue.createElementVNode("view", { class: "set f-row aic jcb" }, [ - vue.createElementVNode("view", { class: "f-row aic" }, [ - vue.createCommentVNode(' '), - vue.createElementVNode("image", { - src: "/static/login/nocheck.png", - mode: "" - }), - vue.createTextVNode(" 设为默认地址 ") - ]), - vue.createElementVNode("view", { class: "" }, " 删除 ") - ]) - ]); - }), - 64 - /* STABLE_FRAGMENT */ - )) - ]), - vue.createElementVNode("view", { class: "btn f-col aic" }, [ - vue.createElementVNode("view", { - class: "", - onClick: _cache[0] || (_cache[0] = ($event) => jump("/pages/useredit/add_address")) - }, " +添加收货地址 ") - ]) - ], - 2 - /* CLASS */ - ); - }; - } - }; - const PagesUsereditAddress = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-4bd9b73b"], ["__file", "D:/projects/cxc-szcx-uniapp/pages/useredit/address.vue"]]); - const _sfc_main$h = { - __name: "add_address", - setup(__props) { - const store = useStore(); - return (_ctx, _cache) => { - return vue.openBlock(), vue.createElementBlock( - "view", - { - class: vue.normalizeClass(["content", { "gray": vue.unref(store).isgray == 1 }]) - }, - [ - vue.createElementVNode("view", { class: "area f-row jcb" }, [ - vue.createElementVNode("view", { class: "title topic" }, " 所在地区 "), - vue.createElementVNode("input", { - type: "text", - placeholder: "省、市、区、街道" - }) - ]), - vue.createElementVNode("view", { class: "area f-row jcb" }, [ - vue.createElementVNode("view", { class: "title topic" }, " 详细地址 "), - vue.createElementVNode("textarea", { placeholder: "小区楼栋/乡村名称" }) - ]), - vue.createElementVNode("view", { class: "area f-row jcb" }, [ - vue.createElementVNode("view", { class: "title" }, " 设为默认地址 "), - vue.createElementVNode("image", { - src: "/static/login/checked.png", - mode: "" - }), - vue.createCommentVNode(' ') - ]), - vue.createElementVNode("view", { class: "btn f-col aic" }, [ - vue.createElementVNode("view", { class: "" }, " 保存 ") - ]) - ], - 2 - /* CLASS */ - ); - }; - } - }; - const PagesUsereditAdd_address = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-f1271877"], ["__file", "D:/projects/cxc-szcx-uniapp/pages/useredit/add_address.vue"]]); - const _sfc_main$g = { - __name: "addressbook", - setup(__props) { - const store = useStore(); - return (_ctx, _cache) => { - return vue.openBlock(), vue.createElementBlock( - "view", - { - class: vue.normalizeClass({ "gray": vue.unref(store).isgray == 1 }) - }, - [ - vue.createElementVNode("view", { class: "list" }, [ - (vue.openBlock(), vue.createElementBlock( - vue.Fragment, - null, - vue.renderList(4, (item, i2) => { - return vue.createElementVNode("view", { - class: "item f-row aic jcb", - key: i2 - }, [ - vue.createElementVNode("view", { class: "user f-row aic" }, [ - vue.createElementVNode("image", { - src: "", - mode: "" - }), - vue.createElementVNode("view", { class: "name_job" }, [ - vue.createElementVNode("view", { class: "name" }, " 我是晴天 "), - vue.createElementVNode("view", { class: "job" }, " 销售部-销售总监 ") - ]) - ]), - vue.createElementVNode("view", { class: "btn" }, " 电话联系 ") - ]); - }), - 64 - /* STABLE_FRAGMENT */ - )) - ]) - ], - 2 - /* CLASS */ - ); - }; - } - }; - const PagesUsereditAddressbook = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-c0e791d9"], ["__file", "D:/projects/cxc-szcx-uniapp/pages/useredit/addressbook.vue"]]); - const _sfc_main$f = { - __name: "extendCom", - props: { - title: { - type: String, - default: "" - }, - img: { - type: String, - default: "" - }, - list: { - type: Array, - default: function() { - return []; - } - }, - // selfArrquery: { - // type: Array, - // default: function() { - // return [] - // } - // }, - total: { - type: Number, - default: 0 - } - }, - setup(__props) { - vue.useCssVars((_ctx) => ({ - "e40cd242-moreHeight": moreHeight.value - })); - const props = __props; - const open2 = vue.ref(false); - const moreHeight = vue.ref(null); - const CurrentInstance = vue.getCurrentInstance(); - vue.watch(() => props.list, () => { - vue.nextTick(() => { - uni.createSelectorQuery().in(CurrentInstance.proxy).select(".item_box").boundingClientRect((data) => { - moreHeight.value = (data == null ? void 0 : data.height) + "px"; - formatAppLog("log", "at bpm/extendCom.vue:82", "moreHeight", moreHeight.value); - }).exec(); - }); - }, { - immediate: true - }); - const tolist = (title) => { - let id = null; - beforeJump("/pages/task/index", () => { - if (props.title == "待办事项") { - id = 0; - } - if (props.title == "已办事项") { - id = 2; - } - if (props.title == "本人发起") { - return uni.navigateTo({ - url: `/pages/task/self?title=${title}` - }); - } - uni.navigateTo({ - url: `/pages/task/index?id=${id}&title=${title}` - }); - }); - }; - return (_ctx, _cache) => { - return vue.openBlock(), vue.createElementBlock("view", { class: "content" }, [ - vue.createElementVNode("view", { class: "todo f-col aic" }, [ - vue.createElementVNode("view", { class: "f-col aic" }, [ - vue.createElementVNode("view", { - class: "title_box f-row aic jcb", - onClick: _cache[0] || (_cache[0] = ($event) => tolist("")) - }, [ - vue.createElementVNode("view", { class: "title f-row aic" }, [ - vue.createElementVNode("image", { - src: `/static/my/${__props.img}.png`, - mode: "" - }, null, 8, ["src"]), - vue.createTextVNode( - " " + vue.toDisplayString(__props.title), - 1 - /* TEXT */ - ) - ]), - vue.createElementVNode( - "view", - { class: "num" }, - vue.toDisplayString(__props.total), - 1 - /* TEXT */ - ) - ]), - __props.list.length ? (vue.openBlock(), vue.createElementBlock("view", { - key: 0, - class: "list" - }, [ - vue.createElementVNode( - "view", - { - class: vue.normalizeClass(["box", { "close": __props.list.length > 5 && open2.value }]) - }, - [ - vue.createElementVNode("view", { class: "item_box" }, [ - (vue.openBlock(true), vue.createElementBlock( - vue.Fragment, - null, - vue.renderList(__props.list, (item, i2) => { - return vue.openBlock(), vue.createElementBlock("view", { - onClick: ($event) => tolist(item.title), - class: "item f-row aic", - key: i2 - }, [ - vue.createElementVNode( - "view", - { class: "" }, - vue.toDisplayString(item.title), - 1 - /* TEXT */ - ), - vue.createElementVNode( - "text", - null, - vue.toDisplayString(item.num), - 1 - /* TEXT */ - ) - ], 8, ["onClick"]); - }), - 128 - /* KEYED_FRAGMENT */ - )) - ]) - ], - 2 - /* CLASS */ - ), - vue.withDirectives(vue.createElementVNode( - "view", - { - class: "more", - onClick: _cache[1] || (_cache[1] = ($event) => open2.value = !open2.value) - }, - vue.toDisplayString(!open2.value ? "显示更多" : "收起"), - 513 - /* TEXT, NEED_PATCH */ - ), [ - [vue.vShow, __props.list.length > 5] - ]) - ])) : vue.createCommentVNode("v-if", true) - ]) - ]) - ]); - }; - } - }; - const extendCom = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-e40cd242"], ["__file", "D:/projects/cxc-szcx-uniapp/bpm/extendCom.vue"]]); - const _sfc_main$e = { - __name: "todotask", - setup(__props) { - const store = useStore(); - onLoad(() => { - taskList(); - taskHistoryList(); - myApplyProcessList(); - }); - const todoArr = vue.ref([]); - const todoTotal = vue.ref(0); - const taskList = () => { - taskListApi({ - pageNo: 1, - pageSize: 4, - _t: (/* @__PURE__ */ new Date()).getTime() - }).then((res) => { - var _a, _b, _c, _d; - if (res == null ? void 0 : res.success) { - if (((_a = res == null ? void 0 : res.result) == null ? void 0 : _a.total) > 4) { - taskListApi({ - pageNo: 1, - pageSize: (_b = res == null ? void 0 : res.result) == null ? void 0 : _b.total, - _t: (/* @__PURE__ */ new Date()).getTime() - }).then((res1) => { - var _a2, _b2; - if (res1 == null ? void 0 : res1.success) { - todoArr.value = [...todoArr.value, ...handleData((_a2 = res1 == null ? void 0 : res1.result) == null ? void 0 : _a2.records)]; - todoTotal.value = (_b2 = res1 == null ? void 0 : res1.result) == null ? void 0 : _b2.total; - } - }).catch((err) => { - formatAppLog("log", "at pages/task/todotask.vue:53", "err", err); - }); - } else { - todoArr.value = [...todoArr.value, ...handleData((_c = res == null ? void 0 : res.result) == null ? void 0 : _c.records)]; - todoTotal.value = (_d = res == null ? void 0 : res.result) == null ? void 0 : _d.total; - } - } - }).catch((err) => { - formatAppLog("log", "at pages/task/todotask.vue:62", err); - }); - }; - const doneArr = vue.ref([]); - const doneTotal = vue.ref(0); - const taskHistoryList = () => { - taskHistoryListApi({ - pageNo: 1, - pageSize: 4, - _t: (/* @__PURE__ */ new Date()).getTime() - }).then((res) => { - if (res.success) { - if (res.result.total > 4) { - taskHistoryListApi({ - pageNo: 1, - pageSize: res.result.total, - _t: (/* @__PURE__ */ new Date()).getTime() - }).then((res1) => { - if (res1.success) { - doneArr.value = [...doneArr.value, ...handleData(res1.result.records)]; - doneTotal.value = res1.result.total; - } - }).catch((err) => { - formatAppLog("log", "at pages/task/todotask.vue:87", err); - }); - } else { - doneArr.value = [...doneArr.value, ...handleData(res.result.records)]; - doneTotal.value = res.result.total; - } - } - }).catch((err) => { - formatAppLog("log", "at pages/task/todotask.vue:96", err); - }); - }; - const selfArr = vue.ref([]); - const selfTotal = vue.ref(0); - vue.ref([]); - const myApplyProcessList = () => { - myApplyProcessListApi({ - pageNo: 1, - pageSize: 4, - _t: (/* @__PURE__ */ new Date()).getTime() - }).then((res) => { - if (res.success) { - if (res.result.total > 4) { - myApplyProcessListApi({ - pageNo: 1, - pageSize: res.result.total, - _t: (/* @__PURE__ */ new Date()).getTime() - }).then((res1) => { - if (res1.success) { - selfArr.value = [...selfArr.value, ...handleData(res1.result.records)]; - selfTotal.value = res1.result.total; - } - }).catch((err) => { - formatAppLog("log", "at pages/task/todotask.vue:122", err); - }); - } else { - selfArr.value = [...selfArr.value, ...handleData(res.result.records)]; - selfTotal.value = res.result.total; - } - } - }).catch((err) => { - formatAppLog("log", "at pages/task/todotask.vue:132", err); - }); - }; - const handleData = (titlearr) => { - let titleArr = titlearr.length ? titlearr.map((item) => item.processDefinitionName || item.prcocessDefinitionName) : []; - let res = titleArr.reduce((obj, title) => { - if (title in obj) { - obj[title]++; - } else { - obj[title] = 1; - } - return obj; - }, {}); - return Object.entries(res).map(([k, v2]) => ({ - title: k, - num: v2 - })); - }; - return (_ctx, _cache) => { - return vue.openBlock(), vue.createElementBlock( - "view", - { - class: vue.normalizeClass(["content", { "gray": vue.unref(store).isgray == 1 }]) - }, - [ - vue.createVNode(extendCom, { - title: "待办事项", - img: "todo", - list: todoArr.value, - total: todoTotal.value - }, null, 8, ["list", "total"]), - vue.createVNode(extendCom, { - title: "已办事项", - img: "done", - list: doneArr.value, - total: doneTotal.value - }, null, 8, ["list", "total"]), - vue.createVNode(extendCom, { - title: "本人发起", - img: "self", - list: selfArr.value, - total: selfTotal.value - }, null, 8, ["list", "total"]) - ], - 2 - /* CLASS */ - ); - }; - } - }; - const PagesTaskTodotask = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__file", "D:/projects/cxc-szcx-uniapp/pages/task/todotask.vue"]]); - const _sfc_main$d = { - __name: "safeCom", - setup(__props) { - const jump = (url) => { - beforeJump(url, () => { - uni.navigateTo({ - url - }); - }); - }; - return (_ctx, _cache) => { - return vue.openBlock(), vue.createElementBlock("view", { class: "list f-row aic jcb" }, [ - (vue.openBlock(), vue.createElementBlock( - vue.Fragment, - null, - vue.renderList(20, (item, i2) => { - return vue.createElementVNode("view", { - class: "item", - key: i2, - onClick: _cache[0] || (_cache[0] = ($event) => jump("/pages/safe/detail")) - }, [ - vue.createElementVNode("view", { class: "" }, [ - vue.createElementVNode("image", { - src: "", - mode: "" - }) - ]), - vue.createElementVNode("view", { class: "text" }, " 五月天“突然好想你”线上演唱会精彩回放 ") - ]); - }), - 64 - /* STABLE_FRAGMENT */ - )) - ]); - }; - } - }; - const safeCom = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-982fcf41"], ["__file", "D:/projects/cxc-szcx-uniapp/bpm/safeCom.vue"]]); - const _sfc_main$c = { - __name: "manage", - setup(__props) { - const store = useStore(); - const showicon = vue.ref(true); - const searchKey = vue.ref(""); - return (_ctx, _cache) => { - const _component_uni_icons = resolveEasycom(vue.resolveDynamicComponent("uni-icons"), __easycom_1$1); - return vue.openBlock(), vue.createElementBlock( - "view", - { - class: vue.normalizeClass(["content", { "gray": vue.unref(store).isgray == 1 }]) - }, - [ - vue.createVNode(customNav, null, { - default: vue.withCtx(() => [ - vue.createElementVNode("view", { class: "nav_box f-row aic jcb" }, [ - vue.createElementVNode("view", { - class: "back f-row aic", - onClick: _cache[0] || (_cache[0] = (...args) => _ctx.back && _ctx.back(...args)) - }, [ - vue.createVNode(_component_uni_icons, { - type: "left", - size: "20", - color: "#fff" - }) - ]), - vue.createElementVNode("view", { class: "search f-row aic" }, [ - vue.withDirectives(vue.createElementVNode( - "input", - { - type: "text", - "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => searchKey.value = $event), - onConfirm: _cache[2] || (_cache[2] = (...args) => _ctx.search && _ctx.search(...args)), - onBlur: _cache[3] || (_cache[3] = ($event) => showicon.value = !searchKey.value), - onFocus: _cache[4] || (_cache[4] = ($event) => showicon.value = false) - }, - null, - 544 - /* NEED_HYDRATION, NEED_PATCH */ - ), [ - [vue.vModelText, searchKey.value] - ]), - showicon.value ? (vue.openBlock(), vue.createElementBlock("view", { - key: 0, - class: "f-row aic" - }, [ - vue.createElementVNode("image", { - src: "/static/search.png", - mode: "" - }), - vue.createElementVNode("text", null, "搜索") - ])) : vue.createCommentVNode("v-if", true) - ]) - ]) - ]), - _: 1 - /* STABLE */ - }), - vue.createElementVNode("view", { class: "" }, [ - vue.createVNode(safeCom) - ]) - ], - 2 - /* CLASS */ - ); - }; - } - }; - const PagesSafeManage = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-dc2f4615"], ["__file", "D:/projects/cxc-szcx-uniapp/pages/safe/manage.vue"]]); - const _sfc_main$b = { - __name: "index", - setup(__props) { - const store = useStore(); - const shishiArr = vue.ref([]); - const productArr = vue.ref([]); - onLoad((options) => { - shishiArr.value = JSON.parse(options.shishi); - productArr.value = JSON.parse(options.product); - }); - return (_ctx, _cache) => { - return vue.openBlock(), vue.createElementBlock( - "view", - { - class: vue.normalizeClass(["f-col", "aic", { "gray": vue.unref(store).isgray == 1 }]) - }, - [ - vue.createVNode(dataCom, { - title: "实时输差", - list: shishiArr.value - }, null, 8, ["list"]), - vue.createVNode(dataCom, { - title: "偏远计量点", - list: shishiArr.value - }, null, 8, ["list"]), - vue.createVNode(dataCom, { - title: "生产实时数据", - list: productArr.value - }, null, 8, ["list"]) - ], - 2 - /* CLASS */ - ); - }; - } - }; - const PagesProductIndex = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__file", "D:/projects/cxc-szcx-uniapp/pages/product/index.vue"]]); - const en = { - "uni-load-more.contentdown": "Pull up to show more", - "uni-load-more.contentrefresh": "loading...", - "uni-load-more.contentnomore": "No more data" - }; - const zhHans = { - "uni-load-more.contentdown": "上拉显示更多", - "uni-load-more.contentrefresh": "正在加载...", - "uni-load-more.contentnomore": "没有更多数据了" - }; - const zhHant = { - "uni-load-more.contentdown": "上拉顯示更多", - "uni-load-more.contentrefresh": "正在加載...", - "uni-load-more.contentnomore": "沒有更多數據了" - }; - const messages = { - en, - "zh-Hans": zhHans, - "zh-Hant": zhHant - }; - let platform; - setTimeout(() => { - platform = uni.getSystemInfoSync().platform; - }, 16); - const { - t: t$1 - } = initVueI18n(messages); - const _sfc_main$a = { - name: "UniLoadMore", - emits: ["clickLoadMore"], - props: { - status: { - // 上拉的状态:more-loading前;loading-loading中;noMore-没有更多了 - type: String, - default: "more" - }, - showIcon: { - type: Boolean, - default: true - }, - iconType: { - type: String, - default: "auto" - }, - iconSize: { - type: Number, - default: 24 - }, - color: { - type: String, - default: "#777777" - }, - contentText: { - type: Object, - default() { - return { - contentdown: "", - contentrefresh: "", - contentnomore: "" - }; - } - }, - showText: { - type: Boolean, - default: true - } - }, - data() { - return { - webviewHide: false, - platform, - imgBase64: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QzlBMzU3OTlEOUM0MTFFOUI0NTZDNERBQURBQzI4RkUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QzlBMzU3OUFEOUM0MTFFOUI0NTZDNERBQURBQzI4RkUiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDOUEzNTc5N0Q5QzQxMUU5QjQ1NkM0REFBREFDMjhGRSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDOUEzNTc5OEQ5QzQxMUU5QjQ1NkM0REFBREFDMjhGRSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pt+ALSwAAA6CSURBVHja1FsLkFZV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" - }; - }, - computed: { - iconSnowWidth() { - return (Math.floor(this.iconSize / 24) || 1) * 2; - }, - contentdownText() { - return this.contentText.contentdown || t$1("uni-load-more.contentdown"); - }, - contentrefreshText() { - return this.contentText.contentrefresh || t$1("uni-load-more.contentrefresh"); - }, - contentnomoreText() { - return this.contentText.contentnomore || t$1("uni-load-more.contentnomore"); - } - }, - mounted() { - var pages2 = getCurrentPages(); - var page = pages2[pages2.length - 1]; - var currentWebview = page.$getAppWebview(); - currentWebview.addEventListener("hide", () => { - this.webviewHide = true; - }); - currentWebview.addEventListener("show", () => { - this.webviewHide = false; - }); - }, - methods: { - onClick() { - this.$emit("clickLoadMore", { - detail: { - status: this.status - } - }); - } - } - }; - function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) { - return vue.openBlock(), vue.createElementBlock("view", { - class: "uni-load-more", - onClick: _cache[0] || (_cache[0] = (...args) => $options.onClick && $options.onClick(...args)) - }, [ - !$data.webviewHide && ($props.iconType === "circle" || $props.iconType === "auto" && $data.platform === "android") && $props.status === "loading" && $props.showIcon ? (vue.openBlock(), vue.createElementBlock( - "view", - { - key: 0, - style: vue.normalizeStyle({ width: $props.iconSize + "px", height: $props.iconSize + "px" }), - class: "uni-load-more__img uni-load-more__img--android-MP" - }, - [ - vue.createElementVNode( - "view", - { - class: "uni-load-more__img-icon", - style: vue.normalizeStyle({ borderTopColor: $props.color, borderTopWidth: $props.iconSize / 12 }) - }, - null, - 4 - /* STYLE */ - ), - vue.createElementVNode( - "view", - { - class: "uni-load-more__img-icon", - style: vue.normalizeStyle({ borderTopColor: $props.color, borderTopWidth: $props.iconSize / 12 }) - }, - null, - 4 - /* STYLE */ - ), - vue.createElementVNode( - "view", - { - class: "uni-load-more__img-icon", - style: vue.normalizeStyle({ borderTopColor: $props.color, borderTopWidth: $props.iconSize / 12 }) - }, - null, - 4 - /* STYLE */ - ) - ], - 4 - /* STYLE */ - )) : !$data.webviewHide && $props.status === "loading" && $props.showIcon ? (vue.openBlock(), vue.createElementBlock( - "view", - { - key: 1, - style: vue.normalizeStyle({ width: $props.iconSize + "px", height: $props.iconSize + "px" }), - class: "uni-load-more__img uni-load-more__img--ios-H5" - }, - [ - vue.createElementVNode("image", { - src: $data.imgBase64, - mode: "widthFix" - }, null, 8, ["src"]) - ], - 4 - /* STYLE */ - )) : vue.createCommentVNode("v-if", true), - $props.showText ? (vue.openBlock(), vue.createElementBlock( - "text", - { - key: 2, - class: "uni-load-more__text", - style: vue.normalizeStyle({ color: $props.color }) - }, - vue.toDisplayString($props.status === "more" ? $options.contentdownText : $props.status === "loading" ? $options.contentrefreshText : $options.contentnomoreText), - 5 - /* TEXT, STYLE */ - )) : vue.createCommentVNode("v-if", true) - ]); - } - const __easycom_0$1 = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["render", _sfc_render$2], ["__scopeId", "data-v-9245e42c"], ["__file", "D:/projects/cxc-szcx-uniapp/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.vue"]]); + const PagesMeetingDetail = /* @__PURE__ */ _export_sfc(_sfc_main$s, [["__scopeId", "data-v-ee2c785f"], ["__file", "D:/projects/cxc-szcx-uniapp/pages/meeting/detail.vue"]]); const pages = [ { path: "pages/login/login", @@ -13028,7 +10126,7 @@ This will fail in production.`); uniIdRouter }; var define_process_env_UNI_SECURE_NETWORK_CONFIG_default = []; - function t(e2) { + function t$1(e2) { return e2 && e2.__esModule && Object.prototype.hasOwnProperty.call(e2, "default") ? e2.default : e2; } function n(e2, t2, n2) { @@ -15309,7 +12407,7 @@ ${i3} }(t3), t3); }; }; - }), xs = t(Cs); + }), xs = t$1(Cs); const Os = "manual"; function Es(e2) { return { props: { localdata: { type: Array, default: () => [] }, options: { type: [Object, Array], default: () => ({}) }, spaceInfo: { type: Object, default: () => ({}) }, collection: { type: [String, Array], default: "" }, action: { type: String, default: "" }, field: { type: String, default: "" }, orderby: { type: String, default: "" }, where: { type: [String, Object], default: "" }, pageData: { type: String, default: "add" }, pageCurrent: { type: Number, default: 1 }, pageSize: { type: Number, default: 20 }, getcount: { type: [Boolean, String], default: false }, gettree: { type: [Boolean, String], default: false }, gettreepath: { type: [Boolean, String], default: false }, startwith: { type: String, default: "" }, limitlevel: { type: Number, default: 10 }, groupby: { type: String, default: "" }, groupField: { type: String, default: "" }, distinct: { type: [Boolean, String], default: false }, foreignKey: { type: String, default: "" }, loadtime: { type: String, default: "auto" }, manual: { type: Boolean, default: false } }, data: () => ({ mixinDatacomLoading: false, mixinDatacomHasMore: false, mixinDatacomResData: [], mixinDatacomErrorMessage: "", mixinDatacomPage: {}, mixinDatacomError: null }), created() { @@ -15716,6 +12814,4263 @@ ${i3} } }), bs(Bs), Bs.addInterceptor = N, Bs.removeInterceptor = D, Bs.interceptObject = F; })(); var Ws = Bs; + const ERR_MSG_OK = "chooseAndUploadFile:ok"; + const ERR_MSG_FAIL = "chooseAndUploadFile:fail"; + function chooseImage(opts) { + const { + count, + sizeType = ["original", "compressed"], + sourceType, + extension + } = opts; + return new Promise((resolve, reject) => { + uni.chooseImage({ + count, + sizeType, + sourceType, + extension, + success(res) { + resolve(normalizeChooseAndUploadFileRes(res, "image")); + }, + fail(res) { + reject({ + errMsg: res.errMsg.replace("chooseImage:fail", ERR_MSG_FAIL) + }); + } + }); + }); + } + function chooseVideo(opts) { + const { + count, + camera, + compressed, + maxDuration, + sourceType, + extension + } = opts; + return new Promise((resolve, reject) => { + uni.chooseVideo({ + camera, + compressed, + maxDuration, + sourceType, + extension, + success(res) { + const { + tempFilePath, + duration, + size, + height, + width + } = res; + resolve(normalizeChooseAndUploadFileRes({ + errMsg: "chooseVideo:ok", + tempFilePaths: [tempFilePath], + tempFiles: [{ + name: res.tempFile && res.tempFile.name || "", + path: tempFilePath, + size, + type: res.tempFile && res.tempFile.type || "", + width, + height, + duration, + fileType: "video", + cloudPath: "" + }] + }, "video")); + }, + fail(res) { + reject({ + errMsg: res.errMsg.replace("chooseVideo:fail", ERR_MSG_FAIL) + }); + } + }); + }); + } + function chooseAll(opts) { + const { + count, + extension + } = opts; + return new Promise((resolve, reject) => { + let chooseFile = uni.chooseFile; + if (typeof wx !== "undefined" && typeof wx.chooseMessageFile === "function") { + chooseFile = wx.chooseMessageFile; + } + if (typeof chooseFile !== "function") { + return reject({ + errMsg: ERR_MSG_FAIL + " 请指定 type 类型,该平台仅支持选择 image 或 video。" + }); + } + chooseFile({ + type: "all", + count, + extension, + success(res) { + resolve(normalizeChooseAndUploadFileRes(res)); + }, + fail(res) { + reject({ + errMsg: res.errMsg.replace("chooseFile:fail", ERR_MSG_FAIL) + }); + } + }); + }); + } + function normalizeChooseAndUploadFileRes(res, fileType) { + res.tempFiles.forEach((item, index) => { + if (!item.name) { + item.name = item.path.substring(item.path.lastIndexOf("/") + 1); + } + if (fileType) { + item.fileType = fileType; + } + item.cloudPath = Date.now() + "_" + index + item.name.substring(item.name.lastIndexOf(".")); + }); + if (!res.tempFilePaths) { + res.tempFilePaths = res.tempFiles.map((file) => file.path); + } + return res; + } + function uploadCloudFiles(files, max = 5, onUploadProgress) { + files = JSON.parse(JSON.stringify(files)); + const len = files.length; + let count = 0; + let self2 = this; + return new Promise((resolve) => { + while (count < max) { + next(); + } + function next() { + let cur = count++; + if (cur >= len) { + !files.find((item) => !item.url && !item.errMsg) && resolve(files); + return; + } + const fileItem = files[cur]; + const index = self2.files.findIndex((v2) => v2.uuid === fileItem.uuid); + fileItem.url = ""; + delete fileItem.errMsg; + Ws.uploadFile({ + filePath: fileItem.path, + cloudPath: fileItem.cloudPath, + fileType: fileItem.fileType, + onUploadProgress: (res) => { + res.index = index; + onUploadProgress && onUploadProgress(res); + } + }).then((res) => { + fileItem.url = res.fileID; + fileItem.index = index; + if (cur < len) { + next(); + } + }).catch((res) => { + fileItem.errMsg = res.errMsg || res.message; + fileItem.index = index; + if (cur < len) { + next(); + } + }); + } + }); + } + function uploadFiles(choosePromise, { + onChooseFile, + onUploadProgress + }) { + return choosePromise.then((res) => { + if (onChooseFile) { + const customChooseRes = onChooseFile(res); + if (typeof customChooseRes !== "undefined") { + return Promise.resolve(customChooseRes).then((chooseRes) => typeof chooseRes === "undefined" ? res : chooseRes); + } + } + return res; + }).then((res) => { + if (res === false) { + return { + errMsg: ERR_MSG_OK, + tempFilePaths: [], + tempFiles: [] + }; + } + return res; + }); + } + function chooseAndUploadFile(opts = { + type: "all" + }) { + if (opts.type === "image") { + return uploadFiles(chooseImage(opts), opts); + } else if (opts.type === "video") { + return uploadFiles(chooseVideo(opts), opts); + } + return uploadFiles(chooseAll(opts), opts); + } + const get_file_ext = (name2) => { + const last_len = name2.lastIndexOf("."); + const len = name2.length; + return { + name: name2.substring(0, last_len), + ext: name2.substring(last_len + 1, len) + }; + }; + const get_extname = (fileExtname) => { + if (!Array.isArray(fileExtname)) { + let extname = fileExtname.replace(/(\[|\])/g, ""); + return extname.split(","); + } else { + return fileExtname; + } + }; + const get_files_and_is_max = (res, _extname) => { + let filePaths = []; + let files = []; + if (!_extname || _extname.length === 0) { + return { + filePaths, + files + }; + } + res.tempFiles.forEach((v2) => { + let fileFullName = get_file_ext(v2.name); + const extname = fileFullName.ext.toLowerCase(); + if (_extname.indexOf(extname) !== -1) { + files.push(v2); + filePaths.push(v2.path); + } + }); + if (files.length !== res.tempFiles.length) { + uni.showToast({ + title: `当前选择了${res.tempFiles.length}个文件 ,${res.tempFiles.length - files.length} 个文件格式不正确`, + icon: "none", + duration: 5e3 + }); + } + return { + filePaths, + files + }; + }; + const get_file_info = (filepath) => { + return new Promise((resolve, reject) => { + uni.getImageInfo({ + src: filepath, + success(res) { + resolve(res); + }, + fail(err) { + reject(err); + } + }); + }); + }; + const get_file_data = async (files, type = "image") => { + let fileFullName = get_file_ext(files.name); + const extname = fileFullName.ext.toLowerCase(); + let filedata = { + name: files.name, + uuid: files.uuid, + extname: extname || "", + cloudPath: files.cloudPath, + fileType: files.fileType, + thumbTempFilePath: files.thumbTempFilePath, + url: files.path || files.path, + size: files.size, + //单位是字节 + image: {}, + path: files.path, + video: {} + }; + if (type === "image") { + const imageinfo = await get_file_info(files.path); + delete filedata.video; + filedata.image.width = imageinfo.width; + filedata.image.height = imageinfo.height; + filedata.image.location = imageinfo.path; + } else { + delete filedata.image; + } + return filedata; + }; + const _sfc_main$r = { + name: "uploadImage", + emits: ["uploadFiles", "choose", "delFile"], + props: { + filesList: { + type: Array, + default() { + return []; + } + }, + disabled: { + type: Boolean, + default: false + }, + disablePreview: { + type: Boolean, + default: false + }, + limit: { + type: [Number, String], + default: 9 + }, + imageStyles: { + type: Object, + default() { + return { + width: "auto", + height: "auto", + border: {} + }; + } + }, + delIcon: { + type: Boolean, + default: true + }, + readonly: { + type: Boolean, + default: false + } + }, + computed: { + styles() { + let styles = { + width: "auto", + height: "auto", + border: {} + }; + return Object.assign(styles, this.imageStyles); + }, + boxStyle() { + const { + width = "auto", + height = "auto" + } = this.styles; + let obj = {}; + if (height === "auto") { + if (width !== "auto") { + obj.height = this.value2px(width); + obj["padding-top"] = 0; + } else { + obj.height = 0; + } + } else { + obj.height = this.value2px(height); + obj["padding-top"] = 0; + } + if (width === "auto") { + if (height !== "auto") { + obj.width = this.value2px(height); + } else { + obj.width = "33.3%"; + } + } else { + obj.width = this.value2px(width); + } + let classles = ""; + for (let i2 in obj) { + classles += `${i2}:${obj[i2]};`; + } + return classles; + }, + borderStyle() { + let { + border + } = this.styles; + let obj = {}; + const widthDefaultValue = 1; + const radiusDefaultValue = 3; + if (typeof border === "boolean") { + obj.border = border ? "1px #eee solid" : "none"; + } else { + let width = border && border.width || widthDefaultValue; + width = this.value2px(width); + let radius = border && border.radius || radiusDefaultValue; + radius = this.value2px(radius); + obj = { + "border-width": width, + "border-style": border && border.style || "solid", + "border-color": border && border.color || "#eee", + "border-radius": radius + }; + } + let classles = ""; + for (let i2 in obj) { + classles += `${i2}:${obj[i2]};`; + } + return classles; + } + }, + methods: { + uploadFiles(item, index) { + this.$emit("uploadFiles", item); + }, + choose() { + this.$emit("choose"); + }, + delFile(index) { + this.$emit("delFile", index); + }, + prviewImage(img, index) { + let urls = []; + if (Number(this.limit) === 1 && this.disablePreview && !this.disabled) { + this.$emit("choose"); + } + if (this.disablePreview) + return; + this.filesList.forEach((i2) => { + urls.push(i2.url); + }); + uni.previewImage({ + urls, + current: index + }); + }, + value2px(value) { + if (typeof value === "number") { + value += "px"; + } else { + if (value.indexOf("%") === -1) { + value = value.indexOf("px") !== -1 ? value : value + "px"; + } + } + return value; + } + } + }; + function _sfc_render$6(_ctx, _cache, $props, $setup, $data, $options) { + return vue.openBlock(), vue.createElementBlock("view", { class: "uni-file-picker__container" }, [ + (vue.openBlock(true), vue.createElementBlock( + vue.Fragment, + null, + vue.renderList($props.filesList, (item, index) => { + return vue.openBlock(), vue.createElementBlock( + "view", + { + class: "file-picker__box", + key: index, + style: vue.normalizeStyle($options.boxStyle) + }, + [ + vue.createElementVNode( + "view", + { + class: "file-picker__box-content", + style: vue.normalizeStyle($options.borderStyle) + }, + [ + vue.createElementVNode("image", { + class: "file-image", + src: item.url, + mode: "aspectFill", + onClick: vue.withModifiers(($event) => $options.prviewImage(item, index), ["stop"]) + }, null, 8, ["src", "onClick"]), + $props.delIcon && !$props.readonly ? (vue.openBlock(), vue.createElementBlock("view", { + key: 0, + class: "icon-del-box", + onClick: vue.withModifiers(($event) => $options.delFile(index), ["stop"]) + }, [ + vue.createElementVNode("view", { class: "icon-del" }), + vue.createElementVNode("view", { class: "icon-del rotate" }) + ], 8, ["onClick"])) : vue.createCommentVNode("v-if", true), + item.progress && item.progress !== 100 || item.progress === 0 ? (vue.openBlock(), vue.createElementBlock("view", { + key: 1, + class: "file-picker__progress" + }, [ + vue.createElementVNode("progress", { + class: "file-picker__progress-item", + percent: item.progress === -1 ? 0 : item.progress, + "stroke-width": "4", + backgroundColor: item.errMsg ? "#ff5a5f" : "#EBEBEB" + }, null, 8, ["percent", "backgroundColor"]) + ])) : vue.createCommentVNode("v-if", true), + item.errMsg ? (vue.openBlock(), vue.createElementBlock("view", { + key: 2, + class: "file-picker__mask", + onClick: vue.withModifiers(($event) => $options.uploadFiles(item, index), ["stop"]) + }, " 点击重试 ", 8, ["onClick"])) : vue.createCommentVNode("v-if", true) + ], + 4 + /* STYLE */ + ) + ], + 4 + /* STYLE */ + ); + }), + 128 + /* KEYED_FRAGMENT */ + )), + $props.filesList.length < $props.limit && !$props.readonly ? (vue.openBlock(), vue.createElementBlock( + "view", + { + key: 0, + class: "file-picker__box", + style: vue.normalizeStyle($options.boxStyle) + }, + [ + vue.createElementVNode( + "view", + { + class: "file-picker__box-content is-add", + style: vue.normalizeStyle($options.borderStyle), + onClick: _cache[0] || (_cache[0] = (...args) => $options.choose && $options.choose(...args)) + }, + [ + vue.renderSlot(_ctx.$slots, "default", {}, () => [ + vue.createElementVNode("view", { class: "icon-add" }), + vue.createElementVNode("view", { class: "icon-add rotate" }) + ], true) + ], + 4 + /* STYLE */ + ) + ], + 4 + /* STYLE */ + )) : vue.createCommentVNode("v-if", true) + ]); + } + const uploadImage = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["render", _sfc_render$6], ["__scopeId", "data-v-bdfc07e0"], ["__file", "D:/projects/cxc-szcx-uniapp/uni_modules/uni-file-picker/components/uni-file-picker/upload-image.vue"]]); + const _sfc_main$q = { + name: "uploadFile", + emits: ["uploadFiles", "choose", "delFile"], + props: { + filesList: { + type: Array, + default() { + return []; + } + }, + delIcon: { + type: Boolean, + default: true + }, + limit: { + type: [Number, String], + default: 9 + }, + showType: { + type: String, + default: "" + }, + listStyles: { + type: Object, + default() { + return { + // 是否显示边框 + border: true, + // 是否显示分隔线 + dividline: true, + // 线条样式 + borderStyle: {} + }; + } + }, + readonly: { + type: Boolean, + default: false + } + }, + computed: { + list() { + let files = []; + this.filesList.forEach((v2) => { + files.push(v2); + }); + return files; + }, + styles() { + let styles = { + border: true, + dividline: true, + "border-style": {} + }; + return Object.assign(styles, this.listStyles); + }, + borderStyle() { + let { + borderStyle, + border + } = this.styles; + let obj = {}; + if (!border) { + obj.border = "none"; + } else { + let width = borderStyle && borderStyle.width || 1; + width = this.value2px(width); + let radius = borderStyle && borderStyle.radius || 5; + radius = this.value2px(radius); + obj = { + "border-width": width, + "border-style": borderStyle && borderStyle.style || "solid", + "border-color": borderStyle && borderStyle.color || "#eee", + "border-radius": radius + }; + } + let classles = ""; + for (let i2 in obj) { + classles += `${i2}:${obj[i2]};`; + } + return classles; + }, + borderLineStyle() { + let obj = {}; + let { + borderStyle + } = this.styles; + if (borderStyle && borderStyle.color) { + obj["border-color"] = borderStyle.color; + } + if (borderStyle && borderStyle.width) { + let width = borderStyle && borderStyle.width || 1; + let style = borderStyle && borderStyle.style || 0; + if (typeof width === "number") { + width += "px"; + } else { + width = width.indexOf("px") ? width : width + "px"; + } + obj["border-width"] = width; + if (typeof style === "number") { + style += "px"; + } else { + style = style.indexOf("px") ? style : style + "px"; + } + obj["border-top-style"] = style; + } + let classles = ""; + for (let i2 in obj) { + classles += `${i2}:${obj[i2]};`; + } + return classles; + } + }, + methods: { + uploadFiles(item, index) { + this.$emit("uploadFiles", { + item, + index + }); + }, + choose() { + this.$emit("choose"); + }, + delFile(index) { + this.$emit("delFile", index); + }, + value2px(value) { + if (typeof value === "number") { + value += "px"; + } else { + value = value.indexOf("px") !== -1 ? value : value + "px"; + } + return value; + } + } + }; + function _sfc_render$5(_ctx, _cache, $props, $setup, $data, $options) { + return vue.openBlock(), vue.createElementBlock("view", { class: "uni-file-picker__files" }, [ + !$props.readonly ? (vue.openBlock(), vue.createElementBlock("view", { + key: 0, + class: "files-button", + onClick: _cache[0] || (_cache[0] = (...args) => $options.choose && $options.choose(...args)) + }, [ + vue.renderSlot(_ctx.$slots, "default", {}, void 0, true) + ])) : vue.createCommentVNode("v-if", true), + vue.createCommentVNode(` :class="{'is-text-box':showType === 'list'}" `), + $options.list.length > 0 ? (vue.openBlock(), vue.createElementBlock( + "view", + { + key: 1, + class: "uni-file-picker__lists is-text-box", + style: vue.normalizeStyle($options.borderStyle) + }, + [ + vue.createCommentVNode(" ,'is-list-card':showType === 'list-card' "), + (vue.openBlock(true), vue.createElementBlock( + vue.Fragment, + null, + vue.renderList($options.list, (item, index) => { + return vue.openBlock(), vue.createElementBlock( + "view", + { + class: vue.normalizeClass(["uni-file-picker__lists-box", { + "files-border": index !== 0 && $options.styles.dividline + }]), + key: index, + style: vue.normalizeStyle(index !== 0 && $options.styles.dividline && $options.borderLineStyle) + }, + [ + vue.createElementVNode("view", { class: "uni-file-picker__item" }, [ + vue.createCommentVNode(` :class="{'is-text-image':showType === 'list'}" `), + vue.createCommentVNode(' \r\n \r\n '), + vue.createElementVNode( + "view", + { class: "files__name" }, + vue.toDisplayString(item.name), + 1 + /* TEXT */ + ), + $props.delIcon && !$props.readonly ? (vue.openBlock(), vue.createElementBlock("view", { + key: 0, + class: "icon-del-box icon-files", + onClick: ($event) => $options.delFile(index) + }, [ + vue.createElementVNode("view", { class: "icon-del icon-files" }), + vue.createElementVNode("view", { class: "icon-del rotate" }) + ], 8, ["onClick"])) : vue.createCommentVNode("v-if", true) + ]), + item.progress && item.progress !== 100 || item.progress === 0 ? (vue.openBlock(), vue.createElementBlock("view", { + key: 0, + class: "file-picker__progress" + }, [ + vue.createElementVNode("progress", { + class: "file-picker__progress-item", + percent: item.progress === -1 ? 0 : item.progress, + "stroke-width": "4", + backgroundColor: item.errMsg ? "#ff5a5f" : "#EBEBEB" + }, null, 8, ["percent", "backgroundColor"]) + ])) : vue.createCommentVNode("v-if", true), + item.status === "error" ? (vue.openBlock(), vue.createElementBlock("view", { + key: 1, + class: "file-picker__mask", + onClick: vue.withModifiers(($event) => $options.uploadFiles(item, index), ["stop"]) + }, " 点击重试 ", 8, ["onClick"])) : vue.createCommentVNode("v-if", true) + ], + 6 + /* CLASS, STYLE */ + ); + }), + 128 + /* KEYED_FRAGMENT */ + )) + ], + 4 + /* STYLE */ + )) : vue.createCommentVNode("v-if", true) + ]); + } + const uploadFile = /* @__PURE__ */ _export_sfc(_sfc_main$q, [["render", _sfc_render$5], ["__scopeId", "data-v-a54939c6"], ["__file", "D:/projects/cxc-szcx-uniapp/uni_modules/uni-file-picker/components/uni-file-picker/upload-file.vue"]]); + const _sfc_main$p = { + name: "uniFilePicker", + components: { + uploadImage, + uploadFile + }, + options: { + virtualHost: true + }, + emits: ["select", "success", "fail", "progress", "delete", "update:modelValue", "input"], + props: { + modelValue: { + type: [Array, Object], + default() { + return []; + } + }, + value: { + type: [Array, Object], + default() { + return []; + } + }, + disabled: { + type: Boolean, + default: false + }, + disablePreview: { + type: Boolean, + default: false + }, + delIcon: { + type: Boolean, + default: true + }, + // 自动上传 + autoUpload: { + type: Boolean, + default: true + }, + // 最大选择个数 ,h5只能限制单选或是多选 + limit: { + type: [Number, String], + default: 9 + }, + // 列表样式 grid | list | list-card + mode: { + type: String, + default: "grid" + }, + // 选择文件类型 image/video/all + fileMediatype: { + type: String, + default: "image" + }, + // 文件类型筛选 + fileExtname: { + type: [Array, String], + default() { + return []; + } + }, + title: { + type: String, + default: "" + }, + listStyles: { + type: Object, + default() { + return { + // 是否显示边框 + border: true, + // 是否显示分隔线 + dividline: true, + // 线条样式 + borderStyle: {} + }; + } + }, + imageStyles: { + type: Object, + default() { + return { + width: "auto", + height: "auto" + }; + } + }, + readonly: { + type: Boolean, + default: false + }, + returnType: { + type: String, + default: "array" + }, + sizeType: { + type: Array, + default() { + return ["original", "compressed"]; + } + }, + sourceType: { + type: Array, + default() { + return ["album", "camera"]; + } + }, + provider: { + type: String, + default: "" + // 默认上传到 unicloud 内置存储 extStorage 扩展存储 + } + }, + data() { + return { + files: [], + localValue: [] + }; + }, + watch: { + value: { + handler(newVal, oldVal) { + this.setValue(newVal, oldVal); + }, + immediate: true + }, + modelValue: { + handler(newVal, oldVal) { + this.setValue(newVal, oldVal); + }, + immediate: true + } + }, + computed: { + filesList() { + let files = []; + this.files.forEach((v2) => { + files.push(v2); + }); + return files; + }, + showType() { + if (this.fileMediatype === "image") { + return this.mode; + } + return "list"; + }, + limitLength() { + if (this.returnType === "object") { + return 1; + } + if (!this.limit) { + return 1; + } + if (this.limit >= 9) { + return 9; + } + return this.limit; + } + }, + created() { + if (!(Ws.config && Ws.config.provider)) { + this.noSpace = true; + Ws.chooseAndUploadFile = chooseAndUploadFile; + } + this.form = this.getForm("uniForms"); + this.formItem = this.getForm("uniFormsItem"); + if (this.form && this.formItem) { + if (this.formItem.name) { + this.rename = this.formItem.name; + this.form.inputChildrens.push(this); + } + } + }, + methods: { + /** + * 公开用户使用,清空文件 + * @param {Object} index + */ + clearFiles(index) { + if (index !== 0 && !index) { + this.files = []; + this.$nextTick(() => { + this.setEmit(); + }); + } else { + this.files.splice(index, 1); + } + this.$nextTick(() => { + this.setEmit(); + }); + }, + /** + * 公开用户使用,继续上传 + */ + upload() { + let files = []; + this.files.forEach((v2, index) => { + if (v2.status === "ready" || v2.status === "error") { + files.push(Object.assign({}, v2)); + } + }); + return this.uploadFiles(files); + }, + async setValue(newVal, oldVal) { + const newData = async (v2) => { + const reg = /cloud:\/\/([\w.]+\/?)\S*/; + let url = ""; + if (v2.fileID) { + url = v2.fileID; + } else { + url = v2.url; + } + if (reg.test(url)) { + v2.fileID = url; + v2.url = await this.getTempFileURL(url); + } + if (v2.url) + v2.path = v2.url; + return v2; + }; + if (this.returnType === "object") { + if (newVal) { + await newData(newVal); + } else { + newVal = {}; + } + } else { + if (!newVal) + newVal = []; + for (let i2 = 0; i2 < newVal.length; i2++) { + let v2 = newVal[i2]; + await newData(v2); + } + } + this.localValue = newVal; + if (this.form && this.formItem && !this.is_reset) { + this.is_reset = false; + this.formItem.setValue(this.localValue); + } + let filesData = Object.keys(newVal).length > 0 ? newVal : []; + this.files = [].concat(filesData); + }, + /** + * 选择文件 + */ + choose() { + if (this.disabled) + return; + if (this.files.length >= Number(this.limitLength) && this.showType !== "grid" && this.returnType === "array") { + uni.showToast({ + title: `您最多选择 ${this.limitLength} 个文件`, + icon: "none" + }); + return; + } + this.chooseFiles(); + }, + /** + * 选择文件并上传 + */ + chooseFiles() { + const _extname = get_extname(this.fileExtname); + Ws.chooseAndUploadFile({ + type: this.fileMediatype, + compressed: false, + sizeType: this.sizeType, + sourceType: this.sourceType, + // TODO 如果为空,video 有问题 + extension: _extname.length > 0 ? _extname : void 0, + count: this.limitLength - this.files.length, + //默认9 + onChooseFile: this.chooseFileCallback, + onUploadProgress: (progressEvent) => { + this.setProgress(progressEvent, progressEvent.index); + } + }).then((result) => { + this.setSuccessAndError(result.tempFiles); + }).catch((err) => { + formatAppLog("log", "at uni_modules/uni-file-picker/components/uni-file-picker/uni-file-picker.vue:364", "选择失败", err); + }); + }, + /** + * 选择文件回调 + * @param {Object} res + */ + async chooseFileCallback(res) { + const _extname = get_extname(this.fileExtname); + const is_one = Number(this.limitLength) === 1 && this.disablePreview && !this.disabled || this.returnType === "object"; + if (is_one) { + this.files = []; + } + let { + filePaths, + files + } = get_files_and_is_max(res, _extname); + if (!(_extname && _extname.length > 0)) { + filePaths = res.tempFilePaths; + files = res.tempFiles; + } + let currentData = []; + for (let i2 = 0; i2 < files.length; i2++) { + if (this.limitLength - this.files.length <= 0) + break; + files[i2].uuid = Date.now(); + let filedata = await get_file_data(files[i2], this.fileMediatype); + filedata.progress = 0; + filedata.status = "ready"; + this.files.push(filedata); + currentData.push({ + ...filedata, + file: files[i2] + }); + } + this.$emit("select", { + tempFiles: currentData, + tempFilePaths: filePaths + }); + res.tempFiles = files; + if (!this.autoUpload || this.noSpace) { + res.tempFiles = []; + } + res.tempFiles.forEach((fileItem, index) => { + this.provider && (fileItem.provider = this.provider); + const fileNameSplit = fileItem.name.split("."); + const ext = fileNameSplit.pop(); + const fileName = fileNameSplit.join(".").replace(/[\s\/\?<>\\:\*\|":]/g, "_"); + fileItem.cloudPath = fileName + "_" + Date.now() + "_" + index + "." + ext; + }); + }, + /** + * 批传 + * @param {Object} e + */ + uploadFiles(files) { + files = [].concat(files); + return uploadCloudFiles.call(this, files, 5, (res) => { + this.setProgress(res, res.index, true); + }).then((result) => { + this.setSuccessAndError(result); + return result; + }).catch((err) => { + formatAppLog("log", "at uni_modules/uni-file-picker/components/uni-file-picker/uni-file-picker.vue:437", err); + }); + }, + /** + * 成功或失败 + */ + async setSuccessAndError(res, fn) { + let successData = []; + let errorData = []; + let tempFilePath = []; + let errorTempFilePath = []; + for (let i2 = 0; i2 < res.length; i2++) { + const item = res[i2]; + const index = item.uuid ? this.files.findIndex((p2) => p2.uuid === item.uuid) : item.index; + if (index === -1 || !this.files) + break; + if (item.errMsg === "request:fail") { + this.files[index].url = item.path; + this.files[index].status = "error"; + this.files[index].errMsg = item.errMsg; + errorData.push(this.files[index]); + errorTempFilePath.push(this.files[index].url); + } else { + this.files[index].errMsg = ""; + this.files[index].fileID = item.url; + const reg = /cloud:\/\/([\w.]+\/?)\S*/; + if (reg.test(item.url)) { + this.files[index].url = await this.getTempFileURL(item.url); + } else { + this.files[index].url = item.url; + } + this.files[index].status = "success"; + this.files[index].progress += 1; + successData.push(this.files[index]); + tempFilePath.push(this.files[index].fileID); + } + } + if (successData.length > 0) { + this.setEmit(); + this.$emit("success", { + tempFiles: this.backObject(successData), + tempFilePaths: tempFilePath + }); + } + if (errorData.length > 0) { + this.$emit("fail", { + tempFiles: this.backObject(errorData), + tempFilePaths: errorTempFilePath + }); + } + }, + /** + * 获取进度 + * @param {Object} progressEvent + * @param {Object} index + * @param {Object} type + */ + setProgress(progressEvent, index, type) { + this.files.length; + const percentCompleted = Math.round(progressEvent.loaded * 100 / progressEvent.total); + let idx = index; + if (!type) { + idx = this.files.findIndex((p2) => p2.uuid === progressEvent.tempFile.uuid); + } + if (idx === -1 || !this.files[idx]) + return; + this.files[idx].progress = percentCompleted - 1; + this.$emit("progress", { + index: idx, + progress: parseInt(percentCompleted), + tempFile: this.files[idx] + }); + }, + /** + * 删除文件 + * @param {Object} index + */ + delFile(index) { + this.$emit("delete", { + index, + tempFile: this.files[index], + tempFilePath: this.files[index].url + }); + this.files.splice(index, 1); + this.$nextTick(() => { + this.setEmit(); + }); + }, + /** + * 获取文件名和后缀 + * @param {Object} name + */ + getFileExt(name2) { + const last_len = name2.lastIndexOf("."); + const len = name2.length; + return { + name: name2.substring(0, last_len), + ext: name2.substring(last_len + 1, len) + }; + }, + /** + * 处理返回事件 + */ + setEmit() { + let data = []; + if (this.returnType === "object") { + data = this.backObject(this.files)[0]; + this.localValue = data ? data : null; + } else { + data = this.backObject(this.files); + if (!this.localValue) { + this.localValue = []; + } + this.localValue = [...data]; + } + this.$emit("update:modelValue", this.localValue); + }, + /** + * 处理返回参数 + * @param {Object} files + */ + backObject(files) { + let newFilesData = []; + files.forEach((v2) => { + newFilesData.push({ + extname: v2.extname, + fileType: v2.fileType, + image: v2.image, + name: v2.name, + path: v2.path, + size: v2.size, + fileID: v2.fileID, + url: v2.url, + // 修改删除一个文件后不能再上传的bug, #694 + uuid: v2.uuid, + status: v2.status, + cloudPath: v2.cloudPath + }); + }); + return newFilesData; + }, + async getTempFileURL(fileList) { + fileList = { + fileList: [].concat(fileList) + }; + const urls = await Ws.getTempFileURL(fileList); + return urls.fileList[0].tempFileURL || ""; + }, + /** + * 获取父元素实例 + */ + getForm(name2 = "uniForms") { + let parent = this.$parent; + let parentName = parent.$options.name; + while (parentName !== name2) { + parent = parent.$parent; + if (!parent) + return false; + parentName = parent.$options.name; + } + return parent; + } + } + }; + function _sfc_render$4(_ctx, _cache, $props, $setup, $data, $options) { + const _component_upload_image = vue.resolveComponent("upload-image"); + const _component_upload_file = vue.resolveComponent("upload-file"); + return vue.openBlock(), vue.createElementBlock("view", { class: "uni-file-picker" }, [ + $props.title ? (vue.openBlock(), vue.createElementBlock("view", { + key: 0, + class: "uni-file-picker__header" + }, [ + vue.createElementVNode( + "text", + { class: "file-title" }, + vue.toDisplayString($props.title), + 1 + /* TEXT */ + ), + vue.createElementVNode( + "text", + { class: "file-count" }, + vue.toDisplayString($options.filesList.length) + "/" + vue.toDisplayString($options.limitLength), + 1 + /* TEXT */ + ) + ])) : vue.createCommentVNode("v-if", true), + $props.fileMediatype === "image" && $options.showType === "grid" ? (vue.openBlock(), vue.createBlock(_component_upload_image, { + key: 1, + readonly: $props.readonly, + "image-styles": $props.imageStyles, + "files-list": $options.filesList, + limit: $options.limitLength, + disablePreview: $props.disablePreview, + delIcon: $props.delIcon, + onUploadFiles: $options.uploadFiles, + onChoose: $options.choose, + onDelFile: $options.delFile + }, { + default: vue.withCtx(() => [ + vue.renderSlot(_ctx.$slots, "default", {}, () => [ + vue.createElementVNode("view", { class: "is-add" }, [ + vue.createElementVNode("view", { class: "icon-add" }), + vue.createElementVNode("view", { class: "icon-add rotate" }) + ]) + ], true) + ]), + _: 3 + /* FORWARDED */ + }, 8, ["readonly", "image-styles", "files-list", "limit", "disablePreview", "delIcon", "onUploadFiles", "onChoose", "onDelFile"])) : vue.createCommentVNode("v-if", true), + $props.fileMediatype !== "image" || $options.showType !== "grid" ? (vue.openBlock(), vue.createBlock(_component_upload_file, { + key: 2, + readonly: $props.readonly, + "list-styles": $props.listStyles, + "files-list": $options.filesList, + showType: $options.showType, + delIcon: $props.delIcon, + onUploadFiles: $options.uploadFiles, + onChoose: $options.choose, + onDelFile: $options.delFile + }, { + default: vue.withCtx(() => [ + vue.renderSlot(_ctx.$slots, "default", {}, () => [ + vue.createElementVNode("button", { + type: "primary", + size: "mini" + }, "选择文件") + ], true) + ]), + _: 3 + /* FORWARDED */ + }, 8, ["readonly", "list-styles", "files-list", "showType", "delIcon", "onUploadFiles", "onChoose", "onDelFile"])) : vue.createCommentVNode("v-if", true) + ]); + } + const __easycom_0$2 = /* @__PURE__ */ _export_sfc(_sfc_main$p, [["render", _sfc_render$4], ["__scopeId", "data-v-6223573f"], ["__file", "D:/projects/cxc-szcx-uniapp/uni_modules/uni-file-picker/components/uni-file-picker/uni-file-picker.vue"]]); + function qjAddApi(config) { + return https({ + url: "/CxcQxj/cxcQxj/add", + method: "post", + data: config + }); + } + function queryZwmcAndExaApi(username) { + return https({ + url: "/CxcQxj/cxcQxj/queryZwmcByUsername", + method: "get", + data: { + username + } + }); + } + function qjQueryByIdApi(config) { + return https({ + url: "/CxcQxj/cxcQxj/queryById", + method: "get", + data: config + }); + } + function queryDepByCode(code) { + return https({ + url: "/sys/sysDepart/queryDepNameByDepCode", + method: "get", + data: { + code + } + }); + } + function obj2strClass(obj) { + let classess = ""; + for (let key in obj) { + const val = obj[key]; + if (val) { + classess += `${key} `; + } + } + return classess; + } + function obj2strStyle(obj) { + let style = ""; + for (let key in obj) { + const val = obj[key]; + style += `${key}:${val};`; + } + return style; + } + const _sfc_main$o = { + name: "uni-easyinput", + emits: [ + "click", + "iconClick", + "update:modelValue", + "input", + "focus", + "blur", + "confirm", + "clear", + "eyes", + "change", + "keyboardheightchange" + ], + model: { + prop: "modelValue", + event: "update:modelValue" + }, + options: { + virtualHost: true + }, + inject: { + form: { + from: "uniForm", + default: null + }, + formItem: { + from: "uniFormItem", + default: null + } + }, + props: { + name: String, + value: [Number, String], + modelValue: [Number, String], + type: { + type: String, + default: "text" + }, + clearable: { + type: Boolean, + default: true + }, + autoHeight: { + type: Boolean, + default: false + }, + placeholder: { + type: String, + default: " " + }, + placeholderStyle: String, + focus: { + type: Boolean, + default: false + }, + disabled: { + type: Boolean, + default: false + }, + maxlength: { + type: [Number, String], + default: 140 + }, + confirmType: { + type: String, + default: "done" + }, + clearSize: { + type: [Number, String], + default: 24 + }, + inputBorder: { + type: Boolean, + default: true + }, + prefixIcon: { + type: String, + default: "" + }, + suffixIcon: { + type: String, + default: "" + }, + trim: { + type: [Boolean, String], + default: false + }, + cursorSpacing: { + type: Number, + default: 0 + }, + passwordIcon: { + type: Boolean, + default: true + }, + adjustPosition: { + type: Boolean, + default: true + }, + primaryColor: { + type: String, + default: "#2979ff" + }, + styles: { + type: Object, + default() { + return { + color: "#333", + backgroundColor: "#fff", + disableColor: "#F7F6F6", + borderColor: "#e5e5e5" + }; + } + }, + errorMessage: { + type: [String, Boolean], + default: "" + } + }, + data() { + return { + focused: false, + val: "", + showMsg: "", + border: false, + isFirstBorder: false, + showClearIcon: false, + showPassword: false, + focusShow: false, + localMsg: "", + isEnter: false + // 用于判断当前是否是使用回车操作 + }; + }, + computed: { + // 输入框内是否有值 + isVal() { + const val = this.val; + if (val || val === 0) { + return true; + } + return false; + }, + msg() { + return this.localMsg || this.errorMessage; + }, + // 因为uniapp的input组件的maxlength组件必须要数值,这里转为数值,用户可以传入字符串数值 + inputMaxlength() { + return Number(this.maxlength); + }, + // 处理外层样式的style + boxStyle() { + return `color:${this.inputBorder && this.msg ? "#e43d33" : this.styles.color};`; + }, + // input 内容的类和样式处理 + inputContentClass() { + return obj2strClass({ + "is-input-border": this.inputBorder, + "is-input-error-border": this.inputBorder && this.msg, + "is-textarea": this.type === "textarea", + "is-disabled": this.disabled, + "is-focused": this.focusShow + }); + }, + inputContentStyle() { + const focusColor = this.focusShow ? this.primaryColor : this.styles.borderColor; + const borderColor = this.inputBorder && this.msg ? "#dd524d" : focusColor; + return obj2strStyle({ + "border-color": borderColor || "#e5e5e5", + "background-color": this.disabled ? this.styles.disableColor : this.styles.backgroundColor + }); + }, + // input右侧样式 + inputStyle() { + const paddingRight = this.type === "password" || this.clearable || this.prefixIcon ? "" : "10px"; + return obj2strStyle({ + "padding-right": paddingRight, + "padding-left": this.prefixIcon ? "" : "10px" + }); + } + }, + watch: { + value(newVal) { + if (newVal === null) { + this.val = ""; + return; + } + this.val = newVal; + }, + modelValue(newVal) { + if (newVal === null) { + this.val = ""; + return; + } + this.val = newVal; + }, + focus(newVal) { + this.$nextTick(() => { + this.focused = this.focus; + this.focusShow = this.focus; + }); + } + }, + created() { + this.init(); + if (this.form && this.formItem) { + this.$watch("formItem.errMsg", (newVal) => { + this.localMsg = newVal; + }); + } + }, + mounted() { + this.$nextTick(() => { + this.focused = this.focus; + this.focusShow = this.focus; + }); + }, + methods: { + /** + * 初始化变量值 + */ + init() { + if (this.value || this.value === 0) { + this.val = this.value; + } else if (this.modelValue || this.modelValue === 0 || this.modelValue === "") { + this.val = this.modelValue; + } else { + this.val = ""; + } + }, + /** + * 点击图标时触发 + * @param {Object} type + */ + onClickIcon(type) { + this.$emit("iconClick", type); + }, + /** + * 显示隐藏内容,密码框时生效 + */ + onEyes() { + this.showPassword = !this.showPassword; + this.$emit("eyes", this.showPassword); + }, + /** + * 输入时触发 + * @param {Object} event + */ + onInput(event) { + let value = event.detail.value; + if (this.trim) { + if (typeof this.trim === "boolean" && this.trim) { + value = this.trimStr(value); + } + if (typeof this.trim === "string") { + value = this.trimStr(value, this.trim); + } + } + if (this.errMsg) + this.errMsg = ""; + this.val = value; + this.$emit("input", value); + this.$emit("update:modelValue", value); + }, + /** + * 外部调用方法 + * 获取焦点时触发 + * @param {Object} event + */ + onFocus() { + this.$nextTick(() => { + this.focused = true; + }); + this.$emit("focus", null); + }, + _Focus(event) { + this.focusShow = true; + this.$emit("focus", event); + }, + /** + * 外部调用方法 + * 失去焦点时触发 + * @param {Object} event + */ + onBlur() { + this.focused = false; + this.$emit("blur", null); + }, + _Blur(event) { + event.detail.value; + this.focusShow = false; + this.$emit("blur", event); + if (this.isEnter === false) { + this.$emit("change", this.val); + } + if (this.form && this.formItem) { + const { validateTrigger } = this.form; + if (validateTrigger === "blur") { + this.formItem.onFieldChange(); + } + } + }, + /** + * 按下键盘的发送键 + * @param {Object} e + */ + onConfirm(e2) { + this.$emit("confirm", this.val); + this.isEnter = true; + this.$emit("change", this.val); + this.$nextTick(() => { + this.isEnter = false; + }); + }, + /** + * 清理内容 + * @param {Object} event + */ + onClear(event) { + this.val = ""; + this.$emit("input", ""); + this.$emit("update:modelValue", ""); + this.$emit("clear"); + }, + /** + * 键盘高度发生变化的时候触发此事件 + * 兼容性:微信小程序2.7.0+、App 3.1.0+ + * @param {Object} event + */ + onkeyboardheightchange(event) { + this.$emit("keyboardheightchange", event); + }, + /** + * 去除空格 + */ + trimStr(str, pos = "both") { + if (pos === "both") { + return str.trim(); + } else if (pos === "left") { + return str.trimLeft(); + } else if (pos === "right") { + return str.trimRight(); + } else if (pos === "start") { + return str.trimStart(); + } else if (pos === "end") { + return str.trimEnd(); + } else if (pos === "all") { + return str.replace(/\s+/g, ""); + } else if (pos === "none") { + return str; + } + return str; + } + } + }; + function _sfc_render$3(_ctx, _cache, $props, $setup, $data, $options) { + const _component_uni_icons = resolveEasycom(vue.resolveDynamicComponent("uni-icons"), __easycom_1$1); + return vue.openBlock(), vue.createElementBlock( + "view", + { + class: vue.normalizeClass(["uni-easyinput", { "uni-easyinput-error": $options.msg }]), + style: vue.normalizeStyle($options.boxStyle) + }, + [ + vue.createElementVNode( + "view", + { + class: vue.normalizeClass(["uni-easyinput__content", $options.inputContentClass]), + style: vue.normalizeStyle($options.inputContentStyle) + }, + [ + $props.prefixIcon ? (vue.openBlock(), vue.createBlock(_component_uni_icons, { + key: 0, + class: "content-clear-icon", + type: $props.prefixIcon, + color: "#c0c4cc", + onClick: _cache[0] || (_cache[0] = ($event) => $options.onClickIcon("prefix")), + size: "22" + }, null, 8, ["type"])) : vue.createCommentVNode("v-if", true), + vue.renderSlot(_ctx.$slots, "left", {}, void 0, true), + $props.type === "textarea" ? (vue.openBlock(), vue.createElementBlock("textarea", { + key: 1, + class: vue.normalizeClass(["uni-easyinput__content-textarea", { "input-padding": $props.inputBorder }]), + name: $props.name, + value: $data.val, + placeholder: $props.placeholder, + placeholderStyle: $props.placeholderStyle, + disabled: $props.disabled, + "placeholder-class": "uni-easyinput__placeholder-class", + maxlength: $options.inputMaxlength, + focus: $data.focused, + autoHeight: $props.autoHeight, + "cursor-spacing": $props.cursorSpacing, + "adjust-position": $props.adjustPosition, + onInput: _cache[1] || (_cache[1] = (...args) => $options.onInput && $options.onInput(...args)), + onBlur: _cache[2] || (_cache[2] = (...args) => $options._Blur && $options._Blur(...args)), + onFocus: _cache[3] || (_cache[3] = (...args) => $options._Focus && $options._Focus(...args)), + onConfirm: _cache[4] || (_cache[4] = (...args) => $options.onConfirm && $options.onConfirm(...args)), + onKeyboardheightchange: _cache[5] || (_cache[5] = (...args) => $options.onkeyboardheightchange && $options.onkeyboardheightchange(...args)) + }, null, 42, ["name", "value", "placeholder", "placeholderStyle", "disabled", "maxlength", "focus", "autoHeight", "cursor-spacing", "adjust-position"])) : (vue.openBlock(), vue.createElementBlock("input", { + key: 2, + type: $props.type === "password" ? "text" : $props.type, + class: "uni-easyinput__content-input", + style: vue.normalizeStyle($options.inputStyle), + name: $props.name, + value: $data.val, + password: !$data.showPassword && $props.type === "password", + placeholder: $props.placeholder, + placeholderStyle: $props.placeholderStyle, + "placeholder-class": "uni-easyinput__placeholder-class", + disabled: $props.disabled, + maxlength: $options.inputMaxlength, + focus: $data.focused, + confirmType: $props.confirmType, + "cursor-spacing": $props.cursorSpacing, + "adjust-position": $props.adjustPosition, + onFocus: _cache[6] || (_cache[6] = (...args) => $options._Focus && $options._Focus(...args)), + onBlur: _cache[7] || (_cache[7] = (...args) => $options._Blur && $options._Blur(...args)), + onInput: _cache[8] || (_cache[8] = (...args) => $options.onInput && $options.onInput(...args)), + onConfirm: _cache[9] || (_cache[9] = (...args) => $options.onConfirm && $options.onConfirm(...args)), + onKeyboardheightchange: _cache[10] || (_cache[10] = (...args) => $options.onkeyboardheightchange && $options.onkeyboardheightchange(...args)) + }, null, 44, ["type", "name", "value", "password", "placeholder", "placeholderStyle", "disabled", "maxlength", "focus", "confirmType", "cursor-spacing", "adjust-position"])), + $props.type === "password" && $props.passwordIcon ? (vue.openBlock(), vue.createElementBlock( + vue.Fragment, + { key: 3 }, + [ + vue.createCommentVNode(" 开启密码时显示小眼睛 "), + $options.isVal ? (vue.openBlock(), vue.createBlock(_component_uni_icons, { + key: 0, + class: vue.normalizeClass(["content-clear-icon", { "is-textarea-icon": $props.type === "textarea" }]), + type: $data.showPassword ? "eye-slash-filled" : "eye-filled", + size: 22, + color: $data.focusShow ? $props.primaryColor : "#c0c4cc", + onClick: $options.onEyes + }, null, 8, ["class", "type", "color", "onClick"])) : vue.createCommentVNode("v-if", true) + ], + 64 + /* STABLE_FRAGMENT */ + )) : vue.createCommentVNode("v-if", true), + $props.suffixIcon ? (vue.openBlock(), vue.createElementBlock( + vue.Fragment, + { key: 4 }, + [ + $props.suffixIcon ? (vue.openBlock(), vue.createBlock(_component_uni_icons, { + key: 0, + class: "content-clear-icon", + type: $props.suffixIcon, + color: "#c0c4cc", + onClick: _cache[11] || (_cache[11] = ($event) => $options.onClickIcon("suffix")), + size: "22" + }, null, 8, ["type"])) : vue.createCommentVNode("v-if", true) + ], + 64 + /* STABLE_FRAGMENT */ + )) : (vue.openBlock(), vue.createElementBlock( + vue.Fragment, + { key: 5 }, + [ + $props.clearable && $options.isVal && !$props.disabled && $props.type !== "textarea" ? (vue.openBlock(), vue.createBlock(_component_uni_icons, { + key: 0, + class: vue.normalizeClass(["content-clear-icon", { "is-textarea-icon": $props.type === "textarea" }]), + type: "clear", + size: $props.clearSize, + color: $options.msg ? "#dd524d" : $data.focusShow ? $props.primaryColor : "#c0c4cc", + onClick: $options.onClear + }, null, 8, ["class", "size", "color", "onClick"])) : vue.createCommentVNode("v-if", true) + ], + 64 + /* STABLE_FRAGMENT */ + )), + vue.renderSlot(_ctx.$slots, "right", {}, void 0, true) + ], + 6 + /* CLASS, STYLE */ + ) + ], + 6 + /* CLASS, STYLE */ + ); + } + const __easycom_1 = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["render", _sfc_render$3], ["__scopeId", "data-v-09fd5285"], ["__file", "D:/projects/cxc-szcx-uniapp/uni_modules/uni-easyinput/components/uni-easyinput/uni-easyinput.vue"]]); + function isString(data) { + return typeof data === "string"; + } + function paging(data, PAGENUM = 50) { + if (!Array.isArray(data) || !data.length) + return data; + const pages2 = []; + data.forEach((item, index) => { + const i2 = Math.floor(index / PAGENUM); + if (!pages2[i2]) { + pages2[i2] = []; + } + pages2[i2].push(item); + }); + return pages2; + } + const _sfc_main$n = /* @__PURE__ */ vue.defineComponent({ + __name: "data-select-item", + props: { + node: { + type: Object, + default: () => ({}) + }, + choseParent: { + type: Boolean, + default: true + }, + dataLabel: { + type: String, + default: "name" + }, + dataValue: { + type: String, + default: "value" + }, + dataChildren: { + type: String, + default: "children" + }, + border: { + type: Boolean, + default: false + }, + linkage: { + type: Boolean, + default: false + }, + lazyLoadChildren: { + type: Boolean, + default: false + }, + level: { + type: Number, + default: 0 + } + }, + setup(__props) { + const { nodeClick, nameClick, loadNode, initData, addNode } = vue.inject("nodeFn"); + const props = __props; + const listData = vue.ref([]); + const clearTimerList = vue.ref([]); + const loadingArr = vue.ref([]); + vue.watchEffect(() => { + if (props.node.showChildren && props.node[props.dataChildren] && props.node[props.dataChildren].length) { + resetClearTimerList(); + renderTree(props.node[props.dataChildren]); + } + }); + function resetClearTimerList() { + const list = [...clearTimerList.value]; + clearTimerList.value = []; + list.forEach((fn) => fn()); + } + function renderTree(arr) { + const pagingArr = paging(arr); + listData.value = (pagingArr == null ? void 0 : pagingArr[0]) || []; + lazyRenderList(pagingArr, 1); + } + function lazyRenderList(arr, startIndex) { + for (let i2 = startIndex; i2 < arr.length; i2++) { + let timer = null; + timer = setTimeout(() => { + listData.value.push(...arr[i2]); + }, i2 * 500); + clearTimerList.push(() => clearTimeout(timer)); + } + } + function handleNameClick(node) { + var _a; + if (!node.visible) + return; + if (!((_a = node[props.dataChildren]) == null ? void 0 : _a.length) && props.lazyLoadChildren) { + loadingArr.value.push(node[props.dataValue].toString()); + loadNode(node).then((res) => { + addNode(node, initData(res, node.visible)); + }).finally(() => { + loadingArr.value = []; + }); + } else { + nameClick(node); + } + } + return (_ctx, _cache) => { + const _component_uni_icons = resolveEasycom(vue.resolveDynamicComponent("uni-icons"), __easycom_1$1); + return vue.openBlock(), vue.createElementBlock( + "view", + { + class: vue.normalizeClass(["customthree-tree-select-content", { + border: __props.border && __props.node[__props.dataChildren] && __props.node[__props.dataChildren].length && __props.node.showChildren + }]), + style: vue.normalizeStyle({ marginLeft: `${__props.level ? 14 : 0}px` }) + }, + [ + __props.node.visible ? (vue.openBlock(), vue.createElementBlock("view", { + key: 0, + class: "custom-tree-select-item" + }, [ + vue.createElementVNode("view", { class: "item-content" }, [ + vue.createElementVNode("view", { + class: "left", + onClick: _cache[0] || (_cache[0] = vue.withModifiers(($event) => handleNameClick(__props.node), ["stop"])) + }, [ + vue.createElementVNode("view", { class: "icon-group" }, [ + __props.node[__props.dataChildren] && __props.node[__props.dataChildren].length ? (vue.openBlock(), vue.createElementBlock( + "view", + { + key: 0, + class: vue.normalizeClass(["right-icon", { active: __props.node.showChildren }]) + }, + [ + vue.createVNode(_component_uni_icons, { + type: "right", + size: "14", + color: "#333" + }) + ], + 2 + /* CLASS */ + )) : (vue.openBlock(), vue.createElementBlock("view", { + key: 1, + class: "smallcircle-filled" + }, [ + vue.createVNode(_component_uni_icons, { + class: "smallcircle-filled-icon", + type: "smallcircle-filled", + size: "10", + color: "#333" + }) + ])) + ]), + loadingArr.value.includes(__props.node[props.dataValue].toString()) ? (vue.openBlock(), vue.createElementBlock("view", { + key: 0, + class: "loading-icon-box" + }, [ + vue.createVNode(_component_uni_icons, { + class: "loading-icon", + type: "spinner-cycle", + size: "14", + color: "#333" + }) + ])) : vue.createCommentVNode("v-if", true), + vue.createElementVNode( + "view", + { + class: "name", + style: vue.normalizeStyle(__props.node.disabled ? "color: #999" : "") + }, + [ + vue.createElementVNode( + "text", + null, + vue.toDisplayString(__props.node[__props.dataLabel]), + 1 + /* TEXT */ + ) + ], + 4 + /* STYLE */ + ) + ]), + __props.choseParent || !__props.choseParent && !__props.node[__props.dataChildren] || !__props.choseParent && __props.node[__props.dataChildren] && !__props.node[__props.dataChildren].length ? (vue.openBlock(), vue.createElementBlock( + "view", + { + key: 0, + class: vue.normalizeClass(["check-box", { disabled: __props.node.disabled }]), + onClick: _cache[1] || (_cache[1] = vue.withModifiers(($event) => !__props.node.disabled && vue.unref(nodeClick)(__props.node), ["stop"])) + }, + [ + !__props.node.checked && __props.node.partChecked && __props.linkage ? (vue.openBlock(), vue.createElementBlock("view", { + key: 0, + class: "part-checked" + })) : vue.createCommentVNode("v-if", true), + __props.node.checked ? (vue.openBlock(), vue.createBlock(_component_uni_icons, { + key: 1, + type: "checkmarkempty", + size: "18", + color: __props.node.disabled ? "#333" : "#007aff" + }, null, 8, ["color"])) : vue.createCommentVNode("v-if", true) + ], + 2 + /* CLASS */ + )) : vue.createCommentVNode("v-if", true) + ]) + ])) : vue.createCommentVNode("v-if", true), + __props.node.showChildren && __props.node[__props.dataChildren] && __props.node[__props.dataChildren].length ? (vue.openBlock(), vue.createElementBlock("view", { key: 1 }, [ + (vue.openBlock(true), vue.createElementBlock( + vue.Fragment, + null, + vue.renderList(listData.value, (item) => { + return vue.openBlock(), vue.createBlock(dataSelectItem, { + key: item[__props.dataValue], + node: item, + dataLabel: __props.dataLabel, + dataValue: __props.dataValue, + dataChildren: __props.dataChildren, + choseParent: __props.choseParent, + lazyLoadChildren: __props.lazyLoadChildren, + border: __props.border, + linkage: __props.linkage, + level: __props.level + 1 + }, null, 8, ["node", "dataLabel", "dataValue", "dataChildren", "choseParent", "lazyLoadChildren", "border", "linkage", "level"]); + }), + 128 + /* KEYED_FRAGMENT */ + )) + ])) : vue.createCommentVNode("v-if", true) + ], + 6 + /* CLASS, STYLE */ + ); + }; + } + }); + const dataSelectItem = /* @__PURE__ */ _export_sfc(_sfc_main$n, [["__scopeId", "data-v-3a65eef7"], ["__file", "D:/projects/cxc-szcx-uniapp/components/treeSelect/data-select-item.vue"]]); + const _sfc_main$m = /* @__PURE__ */ vue.defineComponent({ + __name: "treeSelect", + props: { + canSelectAll: { + type: Boolean, + default: false + }, + safeArea: { + type: Boolean, + default: true + }, + search: { + type: Boolean, + default: false + }, + clearResetSearch: { + type: Boolean, + default: false + }, + animation: { + type: Boolean, + default: true + }, + "is-mask-click": { + type: Boolean, + default: true + }, + "mask-background-color": { + type: String, + default: "rgba(0,0,0,0.4)" + }, + "background-color": { + type: String, + default: "none" + }, + "safe-area": { + type: Boolean, + default: true + }, + choseParent: { + type: Boolean, + default: false + }, + placeholder: { + type: String, + default: "请选择" + }, + confirmText: { + type: String, + default: "确认" + }, + confirmTextColor: { + type: String, + default: "#007aff" + }, + dataSource: { + type: Array, + default: () => [] + }, + dataLabel: { + type: String, + default: "name" + }, + dataValue: { + type: String, + default: "id" + }, + dataChildren: { + type: String, + default: "children" + }, + linkage: { + type: Boolean, + default: false + }, + removeLinkage: { + type: Boolean, + default: true + }, + clearable: { + type: Boolean, + default: false + }, + mutiple: { + type: Boolean, + default: false + }, + disabled: { + type: Boolean, + default: false + }, + deleteSource: { + type: Boolean, + default: false + }, + showChildren: { + type: Boolean, + default: false + }, + border: { + type: Boolean, + default: false + }, + lazyLoadChildren: { + type: Boolean, + default: false + }, + load: { + type: Function, + default: function() { + } + }, + modelValue: { + type: [Array, String], + default: () => [] + } + }, + emits: ["update:modelValue", "change", "maskClick", "select-change", "removeSelect"], + setup(__props, { emit: __emit }) { + const props = __props; + const emits = __emit; + const contentHeight = vue.ref("500px"); + const treeData = vue.ref([]); + const filterTreeData = vue.ref([]); + const clearTimerList = vue.ref([]); + const selectedListBaseinfo = vue.ref([]); + const showPopup = vue.ref(false); + const isSelectedAll = vue.ref(false); + const scrollTop = vue.ref(0); + const searchStr = vue.ref(""); + const popup = vue.ref(null); + const partCheckedSet = /* @__PURE__ */ new Set(); + vue.provide("nodeFn", { + nodeClick: handleNodeClick, + nameClick: handleHideChildren, + loadNode: props.load, + initData, + addNode + }); + const selectList = vue.computed(() => { + const newVal = props.modelValue === null ? "" : props.modelValue; + return isString(newVal) ? newVal.length ? newVal.split(",") : [] : newVal.map((item) => item.toString()); + }); + vue.onMounted(() => { + getContentHeight(uni.getSystemInfoSync()); + }); + function getContentHeight({ screenHeight }) { + contentHeight.value = `${Math.floor(screenHeight * 0.7)}px`; + } + vue.watch( + () => props.dataSource, + (newVal) => { + if (newVal) { + treeData.value = initData(newVal); + if (showPopup.value) { + resetClearTimerList(); + renderTree(treeData.value); + } + } + }, + { immediate: true, deep: true } + ); + vue.watch( + () => props.modelValue, + (newVal) => { + const ids = newVal ? Array.isArray(newVal) ? newVal : newVal.split(",") : []; + changeStatus(treeData.value, ids, true); + filterTreeData.value.length && changeStatus(filterTreeData.value, ids); + }, + { immediate: true } + ); + function goTop() { + scrollTop.val = 10; + vue.nextTick(() => { + scrollTop.value = 0; + }); + } + function handleSearch(isClear = false) { + resetClearTimerList(); + if (isClear) { + if (props.clearResetSearch) { + renderTree(treeData.value); + } + } else { + renderTree(searchValue(searchStr.value, treeData.value)); + } + goTop(); + uni.hideKeyboard(); + } + function searchValue(str, arr) { + const res = []; + arr.forEach((item) => { + var _a, _b; + if (item.visible) { + if (item[props.dataLabel].toString().toLowerCase().indexOf(str.toLowerCase()) > -1) { + res.push(item); + } else { + if ((_a = item[props.dataChildren]) == null ? void 0 : _a.length) { + const data = searchValue(str, item[props.dataChildren]); + if (data == null ? void 0 : data.length) { + if (str && !item.showChildren && ((_b = item[props.dataChildren]) == null ? void 0 : _b.length)) { + item.showChildren = true; + } + res.push({ + ...item, + [props.dataChildren]: data + }); + } + } + } + } + }); + return res; + } + async function open2() { + if (props.disabled) + return; + showPopup.value = true; + popup.value.open(); + renderTree(treeData.value); + } + function close() { + popup.value.close(); + } + function change(data) { + if (!data.show) { + resetClearTimerList(); + searchStr.value = ""; + showPopup.value = false; + } + emits("change", data); + } + function maskClick() { + emits("maskClick"); + } + function initData(arr, parentVisible) { + var _a; + if (!Array.isArray(arr)) + return []; + const res = []; + for (let i2 = 0; i2 < arr.length; i2++) { + const obj = { + [props.dataLabel]: arr[i2][props.dataLabel], + [props.dataValue]: arr[i2][props.dataValue] + }; + obj.checked = selectList.value.includes(arr[i2][props.dataValue].toString()); + obj.disabled = Boolean(arr[i2].disabled); + obj.partChecked = Boolean(arr[i2].partChecked === void 0 ? false : arr[i2].partChecked); + obj.partChecked && obj.partCheckedSet.add(obj[props.dataValue]); + !obj.partChecked && (isSelectedAll.value = false); + const parentVisibleState = parentVisible === void 0 ? true : parentVisible; + const curVisibleState = arr[i2].visible === void 0 ? true : Boolean(arr[i2].visible); + if (parentVisibleState === curVisibleState) { + obj.visible = parentVisibleState; + } else if (!parentVisibleState || !curVisibleState) { + obj.visible = false; + } else { + obj.visible = true; + } + obj.showChildren = "showChildren" in arr[i2] && arr[i2].showChildren != void 0 ? arr[i2].showChildren : props.showChildren; + if (arr[i2].visible && !arr[i2].disabled && !arr[i2].checked) { + isSelectedAll.value = false; + } + if ((_a = arr[i2][props.dataChildren]) == null ? void 0 : _a.length) { + obj[props.dataChildren] = initData(arr[i2][props.dataChildren], obj.visible); + } + res.push(obj); + } + return res; + } + function addNode(node, children) { + getReflectNode(node, treeData.value)[props.dataChildren] = children; + handleHideChildren(node); + } + function resetClearTimerList() { + const list = [...clearTimerList.value]; + clearTimerList.value = []; + list.forEach((fn) => fn()); + } + function renderTree(arr) { + const pagingArr = paging(arr); + filterTreeData.value = (pagingArr == null ? void 0 : pagingArr[0]) || []; + lazyRenderList(pagingArr, 1); + } + function lazyRenderList(arr, startIndex) { + for (let i2 = startIndex; i2 < arr.length; i2++) { + let timer = null; + timer = setTimeout(() => { + filterTreeData.value.push(...arr[i2]); + }, i2 * 500); + clearTimerList.push(() => clearTimeout(timer)); + } + } + function changeStatus(list, ids, needEmit = false) { + var _a; + const arr = [...list]; + let flag = true; + needEmit && (selectedListBaseinfo.value = []); + while (arr.length) { + const item = arr.shift(); + if (ids.includes(item[props.dataValue].toString())) { + item.checked = true; + item.partChecked = false; + partCheckedSet.delete(item[props.dataValue]); + needEmit && selectedListBaseinfo.value.push(item); + } else { + item.checked = false; + if (item.visible && !item.disabled) { + flag = false; + } + if (partCheckedSet.has(item[props.dataValue])) { + item.partChecked = true; + } else { + item.partChecked = false; + } + } + if ((_a = item[props.dataChildren]) == null ? void 0 : _a.length) { + arr.push(...item[props.dataChildren]); + } + } + isSelectedAll.value = flag; + needEmit && emits("select-change", [...selectedListBaseinfo.value]); + } + function removeSelectedItem(node) { + isSelectedAll.value = false; + if (props.linkage) { + handleNodeClick(node, false); + emits("removeSelect", node); + } else { + const emitData = selectList.value.filter((item) => item !== node[props.dataValue].toString()); + emits("removeSelect", node); + emits("update:modelValue", isString(props.modelValue) ? emitData.join(",") : emitData); + } + } + function getReflectNode(node, arr) { + var _a; + const array = [...arr]; + while (array.length) { + const item = array.shift(); + if (item[props.dataValue] === node[props.dataValue]) { + return item; + } + if ((_a = item[props.dataChildren]) == null ? void 0 : _a.length) { + array.push(...item[props.dataChildren]); + } + } + return {}; + } + function getChildren(node) { + var _a; + if (!((_a = node[props.dataChildren]) == null ? void 0 : _a.length)) + return []; + const res = node[props.dataChildren].reduce((pre, val) => { + if (val.visible) { + return [...pre, val]; + } + return pre; + }, []); + for (let i2 = 0; i2 < node[props.dataChildren].length; i2++) { + res.push(...getChildren(node[props.dataChildren][i2])); + } + return res; + } + function getParentNode(target, arr) { + var _a; + let res = []; + for (let i2 = 0; i2 < arr.length; i2++) { + if (arr[i2][props.dataValue] === target[props.dataValue]) { + return true; + } + if ((_a = arr[i2][props.dataChildren]) == null ? void 0 : _a.length) { + const childRes = getParentNode(target, arr[i2][props.dataChildren]); + if (typeof childRes === "boolean" && childRes) { + res = [arr[i2]]; + } else if (Array.isArray(childRes) && childRes.length) { + res = [...childRes, arr[i2]]; + } + } + } + return res; + } + function handleNodeClick(data, status) { + const node = getReflectNode(data, treeData.value); + node.checked = typeof status === "boolean" ? status : !node.checked; + node.partChecked = false; + partCheckedSet.delete(node[props.dataValue]); + if (!props.mutiple) { + let emitData = []; + if (node.checked) { + emitData = [node[props.dataValue].toString()]; + } + emits("update:modelValue", isString(props.modelValue) ? emitData.join(",") : emitData); + } else { + if (!props.linkage) { + let emitData = null; + if (node.checked) { + emitData = Array.from(/* @__PURE__ */ new Set([...selectList.value, node[props.dataValue].toString()])); + } else { + emitData = selectList.value.filter((id) => id !== node[props.dataValue].toString()); + } + emits("update:modelValue", isString(props.modelValue) ? emitData.join(",") : emitData); + } else { + let emitData = [...selectList.value]; + const parentNodes = getParentNode(node, treeData.value); + const childrenVal = getChildren(node).filter((item) => !item.disabled); + if (node.checked) { + emitData = Array.from(/* @__PURE__ */ new Set([...emitData, node[props.dataValue].toString()])); + if (childrenVal.length) { + emitData = Array.from( + /* @__PURE__ */ new Set([...emitData, ...childrenVal.map((item) => item[props.dataValue].toString())]) + ); + childrenVal.forEach((childNode) => { + childNode.partChecked = false; + partCheckedSet.delete(childNode[props.dataValue]); + }); + } + if (parentNodes.length) { + let flag = false; + while (parentNodes.length) { + const item = parentNodes.shift(); + if (!item.disabled) { + if (flag) { + item.partChecked = true; + partCheckedSet.add(item[props.dataValue]); + } else { + const allChecked = item[props.dataChildren].filter((node2) => node2.visible && !node2.disabled).every((node2) => node2.checked); + if (allChecked) { + item.checked = true; + item.partChecked = false; + partCheckedSet.delete(item[props.dataValue]); + emitData = Array.from(/* @__PURE__ */ new Set([...emitData, item[props.dataValue].toString()])); + } else { + item.partChecked = true; + partCheckedSet.add(item[props.dataValue]); + flag = true; + } + } + } + } + } + } else { + emitData = emitData.filter((id) => id !== node[props.dataValue].toString()); + if (childrenVal.length) { + childrenVal.forEach((childNode) => { + emitData = emitData.filter((id) => id !== childNode[props.dataValue].toString()); + }); + } + if (parentNodes.length) { + parentNodes.forEach((parentNode) => { + if (emitData.includes(parentNode[props.dataValue].toString())) { + parentNode.checked = false; + } + emitData = emitData.filter((id) => id !== parentNode[props.dataValue].toString()); + const hasChecked = parentNode[props.dataChildren].filter((node2) => node2.visible && !node2.disabled).some((node2) => node2.checked || node2.partChecked); + parentNode.partChecked = hasChecked; + if (hasChecked) { + partCheckedSet.add(parentNode[props.dataValue]); + } else { + partCheckedSet.delete(parentNode[props.dataValue]); + } + }); + } + } + emits("update:modelValue", isString(props.modelValue) ? emitData.join(",") : emitData); + } + } + } + function handleHideChildren(node) { + const status = !node.showChildren; + getReflectNode(node, treeData.value).showChildren = status; + getReflectNode(node, filterTreeData.value).showChildren = status; + } + function handleSelectAll() { + isSelectedAll.value = !isSelectedAll.value; + if (isSelectedAll.value) { + if (!props.mutiple) { + uni.showToast({ + title: "单选模式下不能全选", + icon: "none", + duration: 1e3 + }); + return; + } + let emitData = []; + treeData.value.forEach((item) => { + var _a; + if (item.visible || item.disabled && item.checked) { + emitData = Array.from(/* @__PURE__ */ new Set([...emitData, item[props.dataValue].toString()])); + if ((_a = item[props.dataChildren]) == null ? void 0 : _a.length) { + emitData = Array.from( + /* @__PURE__ */ new Set([ + ...emitData, + ...getChildren(item).filter((item2) => !item2.disabled || item2.disabled && item2.checked).map((item2) => item2[props.dataValue].toString()) + ]) + ); + } + } + }); + emits("update:modelValue", isString(props.modelValue) ? emitData.join(",") : emitData); + } else { + clearSelectList(); + } + } + function clearSelectList() { + if (props.disabled) + return; + partCheckedSet.clear(); + const emitData = []; + selectedListBaseinfo.value.forEach((node) => { + if (node.visible && node.checked && node.disabled) { + emitData.push(node[props.dataValue]); + } + }); + emits("update:modelValue", isString(props.modelValue) ? emitData.join(",") : emitData); + } + return (_ctx, _cache) => { + const _component_uni_icons = resolveEasycom(vue.resolveDynamicComponent("uni-icons"), __easycom_1$1); + const _component_uni_easyinput = resolveEasycom(vue.resolveDynamicComponent("uni-easyinput"), __easycom_1); + const _component_uni_popup = resolveEasycom(vue.resolveDynamicComponent("uni-popup"), __easycom_2); + return vue.openBlock(), vue.createElementBlock( + vue.Fragment, + null, + [ + vue.createElementVNode( + "view", + { + class: vue.normalizeClass(["select-list", { disabled: __props.disabled }, { active: selectList.value.length }]), + onClick: open2 + }, + [ + vue.createElementVNode("view", { class: "left" }, [ + selectList.value.length ? (vue.openBlock(), vue.createElementBlock("view", { + key: 0, + class: "select-items" + }, [ + (vue.openBlock(true), vue.createElementBlock( + vue.Fragment, + null, + vue.renderList(selectedListBaseinfo.value, (item) => { + return vue.openBlock(), vue.createElementBlock("view", { + class: "select-item", + key: item[__props.dataValue] + }, [ + vue.createElementVNode("view", { class: "name" }, [ + vue.createElementVNode( + "text", + null, + vue.toDisplayString(item[__props.dataLabel]), + 1 + /* TEXT */ + ) + ]), + !__props.disabled && !item.disabled && __props.deleteSource ? (vue.openBlock(), vue.createElementBlock("view", { + key: 0, + class: "close", + onClick: vue.withModifiers(($event) => removeSelectedItem(item), ["stop"]) + }, [ + vue.createVNode(_component_uni_icons, { + type: "closeempty", + size: "16", + color: "#999" + }) + ], 8, ["onClick"])) : vue.createCommentVNode("v-if", true) + ]); + }), + 128 + /* KEYED_FRAGMENT */ + )) + ])) : (vue.openBlock(), vue.createElementBlock("view", { + key: 1, + class: "no-data" + }, [ + vue.createElementVNode( + "text", + null, + vue.toDisplayString(__props.placeholder), + 1 + /* TEXT */ + ) + ])) + ]), + vue.createElementVNode("view", null, [ + !selectList.value.length || !__props.clearable ? (vue.openBlock(), vue.createBlock(_component_uni_icons, { + key: 0, + type: "bottom", + color: "#333333" + })) : vue.createCommentVNode("v-if", true), + vue.createElementVNode("view", { + onClick: _cache[0] || (_cache[0] = vue.withModifiers(() => { + }, ["stop"])) + }, [ + selectList.value.length && __props.clearable ? (vue.openBlock(), vue.createBlock(_component_uni_icons, { + key: 0, + type: "clear", + size: "24", + color: "#c0c4cc", + onClick: clearSelectList + })) : vue.createCommentVNode("v-if", true) + ]) + ]) + ], + 2 + /* CLASS */ + ), + vue.createVNode(_component_uni_popup, { + ref_key: "popup", + ref: popup, + animation: __props.animation, + "is-mask-click": _ctx.isMaskClick, + "mask-background-color": _ctx.maskBackgroundColor, + "background-color": _ctx.backgroundColor, + "safe-area": __props.safeArea, + type: "bottom", + onChange: change, + onMaskClick: maskClick + }, { + default: vue.withCtx(() => [ + vue.createElementVNode( + "view", + { + class: "popup-content", + style: vue.normalizeStyle({ height: contentHeight.value }) + }, + [ + vue.createElementVNode("view", { class: "title" }, [ + __props.mutiple && __props.canSelectAll ? (vue.openBlock(), vue.createElementBlock("view", { + key: 0, + class: "left", + onClick: handleSelectAll + }, [ + vue.createElementVNode( + "text", + null, + vue.toDisplayString(isSelectedAll.value ? "取消全选" : "全选"), + 1 + /* TEXT */ + ) + ])) : vue.createCommentVNode("v-if", true), + vue.createElementVNode("view", { class: "center" }, [ + vue.createElementVNode( + "text", + null, + vue.toDisplayString(__props.placeholder), + 1 + /* TEXT */ + ) + ]), + vue.createElementVNode( + "view", + { + class: "right", + style: vue.normalizeStyle({ color: __props.confirmTextColor }), + onClick: close + }, + [ + vue.createElementVNode( + "text", + null, + vue.toDisplayString(__props.confirmText), + 1 + /* TEXT */ + ) + ], + 4 + /* STYLE */ + ) + ]), + __props.search ? (vue.openBlock(), vue.createElementBlock("view", { + key: 0, + class: "search-box" + }, [ + vue.createVNode(_component_uni_easyinput, { + maxlength: -1, + prefixIcon: "search", + placeholder: "搜索", + modelValue: searchStr.value, + "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => searchStr.value = $event), + "confirm-type": "search", + onConfirm: _cache[2] || (_cache[2] = ($event) => handleSearch(false)), + onClear: _cache[3] || (_cache[3] = ($event) => handleSearch(true)) + }, null, 8, ["modelValue"]), + vue.createElementVNode("button", { + type: "primary", + size: "mini", + class: "search-btn", + onClick: _cache[4] || (_cache[4] = ($event) => handleSearch(false)) + }, "搜索") + ])) : vue.createCommentVNode("v-if", true), + treeData.value.length ? (vue.openBlock(), vue.createElementBlock("view", { + key: 1, + class: "select-content" + }, [ + vue.createElementVNode("scroll-view", { + class: "scroll-view-box", + "scroll-top": scrollTop.value, + "scroll-y": "true", + onTouchmove: _cache[5] || (_cache[5] = vue.withModifiers(() => { + }, ["stop"])) + }, [ + !filterTreeData.value.length ? (vue.openBlock(), vue.createElementBlock("view", { + key: 0, + class: "no-data center" + }, [ + vue.createElementVNode("text", null, "暂无数据") + ])) : vue.createCommentVNode("v-if", true), + (vue.openBlock(true), vue.createElementBlock( + vue.Fragment, + null, + vue.renderList(filterTreeData.value, (item) => { + return vue.openBlock(), vue.createBlock(dataSelectItem, { + key: item[__props.dataValue], + node: item, + dataLabel: __props.dataLabel, + dataValue: __props.dataValue, + dataChildren: __props.dataChildren, + choseParent: __props.choseParent, + border: __props.border, + linkage: __props.linkage, + lazyLoadChildren: __props.lazyLoadChildren + }, null, 8, ["node", "dataLabel", "dataValue", "dataChildren", "choseParent", "border", "linkage", "lazyLoadChildren"]); + }), + 128 + /* KEYED_FRAGMENT */ + )), + vue.createElementVNode("view", { class: "sentry" }) + ], 40, ["scroll-top"]) + ])) : (vue.openBlock(), vue.createElementBlock("view", { + key: 2, + class: "no-data center" + }, [ + vue.createElementVNode("text", null, "暂无数据") + ])) + ], + 4 + /* STYLE */ + ) + ]), + _: 1 + /* STABLE */ + }, 8, ["animation", "is-mask-click", "mask-background-color", "background-color", "safe-area"]) + ], + 64 + /* STABLE_FRAGMENT */ + ); + }; + } + }); + const treeSelect = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-0328d33e"], ["__file", "D:/projects/cxc-szcx-uniapp/components/treeSelect/treeSelect.vue"]]); + const _sfc_main$l = { + __name: "application", + setup(__props) { + const store = useStore(); + const { + proxy + } = vue.getCurrentInstance(); + const realname = vue.ref(store.userinfo.realname); + const depart = vue.ref(""); + const phone = vue.ref(store.userinfo.phone); + const type = vue.ref(""); + const dataSource = vue.ref([]); + const beginTime = vue.ref(""); + const chooseStart = (e2) => { + beginTime.value = e2.detail.value; + }; + const endTime = vue.ref(""); + const chooseEnd = (e2) => { + endTime.value = e2.detail.value; + }; + const typeArr = vue.ref([]); + const typeIndex = vue.ref(null); + const ifShow = vue.ref(true); + const zwcj = vue.ref(""); + const address = vue.ref(""); + const reason = vue.ref(""); + const path = vue.ref([]); + const baseUrl2 = "http://10.75.166.174:8080/jeecg-boot/sys/common/upload/"; + const imageStyles = { + width: 64, + height: 64, + border: { + color: "#dce7e1", + width: 2, + style: "dashed", + radius: "2px" + } + }; + onLoad(() => { + loadData(); + }); + const select = (e2) => { + e2.tempFilePaths; + for (let i2 = 0; i2 < e2.tempFilePaths.length; i2++) { + let photoPath = "职工请假/" + store.userinfo.orgCode + "/" + store.userinfo.realname; + uni.uploadFile({ + url: baseUrl2, + filePath: e2.tempFilePaths[i2], + name: "file", + formData: { + appPath: photoPath + }, + success: (res) => { + path.value.push(JSON.parse(res.data).message); + } + }); + } + }; + const qjAdd = () => { + if (!phone.value.trim()) + return proxy.$toast("请输入联系方式"); + if (!type.value) + return proxy.$toast("请选择请假类型"); + if (!beginTime.value) + return proxy.$toast("请选择开始时间"); + if (!endTime.value) + return proxy.$toast("请选择结束时间"); + if (ifShow.value) { + if (typeIndex.value == null) { + return proxy.$toast("请选择审批领导"); + } + } + if (!address.value.trim()) + return proxy.$toast("请输入请假地点"); + if (!reason.value.trim()) + return proxy.$toast("请输入请假事由"); + qjAddApi({ + username: store.userinfo.username, + phone: phone.value, + type: type.value, + begintime: beginTime.value, + endtime: endTime.value, + examineleader: typeArr.value[typeIndex.value].username, + address: address.value, + reason: reason.value, + zwmc: zwcj.value, + path: path.value.toString() + }).then((res) => { + if (res.success) { + startMutilProcess(res.message); + } else { + proxy.$toast(res.message); + } + }); + }; + const startMutilProcess = (id) => { + startMutilProcessApi({ + flowCode: "dev_cxc_qxj", + id, + formUrl: "modules/qxj/modules/CxcQxjBpmModel", + formUrlMobile: "leaveApplication" + //对应main.js里全局注册createApp()里的 app.component('leaveApplication',index) + }).then((res) => { + if (res.success) { + proxy.$toast(res.message); + setTimeout(() => { + uni.navigateBack(); + }, 2e3); + } + }).catch((err) => { + formatAppLog("log", "at pages/leave/application.vue:235", err); + }); + }; + const loadData = () => { + getCategoryItemsApi("1838487445813645313").then((res) => { + if (res.success) { + dataSource.value = res.result; + } + }); + queryDepByCode(store.userinfo.orgCode).then((res) => { + if (res.success) { + depart.value = res.result; + } + }); + queryZwmcAndExaApi(store.userinfo.username).then((res) => { + if (res.success) { + typeArr.value = res.result.list; + zwcj.value = res.result.zwmc; + if (zwcj.value == "单位专家" || zwcj.value == "正职" || zwcj.value == "高级主管") { + ifShow.value = false; + } + } else { + proxy.$toast(res.message); + } + }); + }; + const bindType = (e2) => { + typeIndex.value = e2.detail.value; + }; + return (_ctx, _cache) => { + const _component_uni_icons = resolveEasycom(vue.resolveDynamicComponent("uni-icons"), __easycom_1$1); + const _component_uni_file_picker = resolveEasycom(vue.resolveDynamicComponent("uni-file-picker"), __easycom_0$2); + return vue.openBlock(), vue.createElementBlock( + "view", + { + class: vue.normalizeClass({ "gray": vue.unref(store).isgray == 1 }) + }, + [ + vue.createElementVNode("view", { class: "form" }, [ + vue.createElementVNode("view", { class: "f-row aic jcb input_box" }, [ + vue.createElementVNode("view", { class: "title" }, " 职工姓名: "), + vue.withDirectives(vue.createElementVNode( + "input", + { + "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => realname.value = $event), + disabled: "" + }, + null, + 512 + /* NEED_PATCH */ + ), [ + [vue.vModelText, realname.value] + ]) + ]), + vue.createElementVNode("view", { class: "f-row aic jcb input_box" }, [ + vue.createElementVNode("view", { class: "title" }, " 工作单位: "), + vue.withDirectives(vue.createElementVNode( + "input", + { + "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => depart.value = $event), + disabled: "" + }, + null, + 512 + /* NEED_PATCH */ + ), [ + [vue.vModelText, depart.value] + ]) + ]), + vue.createElementVNode("view", { class: "f-row aic jcb input_box" }, [ + vue.createElementVNode("view", { class: "title" }, " 联系方式: "), + vue.withDirectives(vue.createElementVNode( + "input", + { + "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => phone.value = $event) + }, + null, + 512 + /* NEED_PATCH */ + ), [ + [vue.vModelText, phone.value] + ]) + ]), + vue.createElementVNode("view", { class: "f-row aic jcb input_box" }, [ + vue.createElementVNode("view", { class: "title" }, " 请假类型: "), + vue.createVNode(treeSelect, { + dataSource: dataSource.value, + modelValue: type.value, + "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => type.value = $event), + dataValue: "name" + }, null, 8, ["dataSource", "modelValue"]) + ]), + vue.createElementVNode("picker", { + mode: "date", + fields: "day", + onChange: chooseStart, + value: beginTime.value + }, [ + vue.createElementVNode("view", { class: "f-row aic jcb box" }, [ + vue.createElementVNode("view", { class: "title" }, " 开始时间: "), + vue.createElementVNode("view", { class: "f-row aic" }, [ + vue.createElementVNode( + "view", + { + class: vue.normalizeClass([{ "choose": !beginTime.value }, { "choosed": beginTime.value }]) + }, + vue.toDisplayString(beginTime.value ? beginTime.value : "请选择"), + 3 + /* TEXT, CLASS */ + ), + vue.createVNode(_component_uni_icons, { + type: "bottom", + color: "#333333" + }) + ]) + ]) + ], 40, ["value"]), + vue.createElementVNode("picker", { + mode: "date", + fields: "day", + onChange: chooseEnd, + value: endTime.value + }, [ + vue.createElementVNode("view", { class: "f-row aic jcb box" }, [ + vue.createElementVNode("view", { class: "title" }, " 截止时间: "), + vue.createElementVNode("view", { class: "f-row aic" }, [ + vue.createElementVNode( + "view", + { + class: vue.normalizeClass([{ "choose": !endTime.value }, { "choosed": endTime.value }]) + }, + vue.toDisplayString(endTime.value ? endTime.value : "请选择"), + 3 + /* TEXT, CLASS */ + ), + vue.createVNode(_component_uni_icons, { + type: "bottom", + color: "#333333" + }) + ]) + ]) + ], 40, ["value"]), + ifShow.value ? (vue.openBlock(), vue.createElementBlock("picker", { + key: 0, + onChange: bindType, + value: typeIndex.value, + range: typeArr.value, + "range-key": "realname" + }, [ + vue.createElementVNode("view", { class: "f-row aic jcb box" }, [ + vue.createElementVNode("view", { class: "title" }, " 审批领导: "), + vue.createElementVNode("view", { class: "f-row aic" }, [ + vue.createElementVNode( + "view", + { + class: vue.normalizeClass([{ "choose": typeIndex.value == null }, { "choosed": typeIndex.value != null }]) + }, + vue.toDisplayString(typeIndex.value != null ? typeArr.value[typeIndex.value].realname : "请选择"), + 3 + /* TEXT, CLASS */ + ), + vue.createVNode(_component_uni_icons, { + type: "bottom", + color: "#333333" + }) + ]) + ]) + ], 40, ["value", "range"])) : vue.createCommentVNode("v-if", true), + vue.createElementVNode("view", { class: "f-row aic jcb input_box" }, [ + vue.createElementVNode("view", { class: "title" }, " 请假地点: "), + vue.withDirectives(vue.createElementVNode( + "input", + { + "onUpdate:modelValue": _cache[4] || (_cache[4] = ($event) => address.value = $event), + placeholder: "请输入", + "nplaceholder-style": "font-size: 28rpx;color: #999999;" + }, + null, + 512 + /* NEED_PATCH */ + ), [ + [vue.vModelText, address.value] + ]) + ]), + vue.createElementVNode("view", { class: "f-row aic jcb input_box" }, [ + vue.createElementVNode("view", { class: "title" }, " 请假事由: "), + vue.withDirectives(vue.createElementVNode( + "input", + { + "onUpdate:modelValue": _cache[5] || (_cache[5] = ($event) => reason.value = $event), + placeholder: "请输入", + "placeholder-style": "font-size: 28rpx;color: #999999;" + }, + null, + 512 + /* NEED_PATCH */ + ), [ + [vue.vModelText, reason.value] + ]) + ]), + vue.createElementVNode("view", { class: "f-row aic jcb input_box" }, [ + vue.createElementVNode("view", { class: "title" }, " 上传附件: "), + vue.createVNode(_component_uni_file_picker, { + onSelect: select, + "image-styles": imageStyles + }) + ]) + ]), + vue.createElementVNode("view", { class: "btn f-col aic" }, [ + vue.createElementVNode("view", { onClick: qjAdd }, " 提交 ") + ]) + ], + 2 + /* CLASS */ + ); + }; + } + }; + const PagesLeaveApplication = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-f12ae642"], ["__file", "D:/projects/cxc-szcx-uniapp/pages/leave/application.vue"]]); + const _sfc_main$k = { + __name: "index", + setup(__props) { + const store = useStore(); + const back = () => { + uni.navigateBack(); + }; + return (_ctx, _cache) => { + const _component_uni_icons = resolveEasycom(vue.resolveDynamicComponent("uni-icons"), __easycom_1$1); + return vue.openBlock(), vue.createElementBlock( + "view", + { + class: vue.normalizeClass(["content", { "gray": vue.unref(store).isgray == 1 }]) + }, + [ + vue.createVNode(customNav, null, { + default: vue.withCtx(() => [ + vue.createElementVNode("view", { class: "nav_box f-row aic" }, [ + vue.createElementVNode("view", { + class: "back", + onClick: back + }, [ + vue.createVNode(_component_uni_icons, { + type: "left", + size: "20", + color: "#fff" + }) + ]), + vue.createElementVNode("view", { class: "avatar" }, [ + vue.createElementVNode("image", { + src: vue.unref(store).userinfo.avatar, + mode: "" + }, null, 8, ["src"]) + ]), + vue.createElementVNode("view", { class: "f-col" }, [ + vue.createElementVNode( + "view", + { class: "name" }, + vue.toDisplayString(vue.unref(store).userinfo.realname), + 1 + /* TEXT */ + ), + vue.createElementVNode( + "view", + { class: "position" }, + vue.toDisplayString(vue.unref(store).role), + 1 + /* TEXT */ + ) + ]) + ]) + ]), + _: 1 + /* STABLE */ + }), + vue.createElementVNode("view", { class: "time_box f-row aic jcb" }, [ + vue.createElementVNode("view", { class: "box" }, [ + vue.createElementVNode("view", { class: "time f-row aic" }, [ + vue.createElementVNode("view", { class: "" }, " 上班 9:30 "), + vue.createElementVNode("image", { + src: "/static/checkin/chenggong.png", + mode: "" + }) + ]), + vue.createElementVNode("view", { class: "text" }, " 重庆市渝北区上弯路 ") + ]), + vue.createElementVNode("view", { class: "box" }, [ + vue.createElementVNode("view", { class: "time f-row aic" }, [ + vue.createElementVNode("view", { class: "" }, " 下班 16:30 "), + vue.createElementVNode("image", { + src: "/static/checkin/shibai.png", + mode: "" + }) + ]), + vue.createElementVNode("view", { class: "text" }, " 打卡已超时 ") + ]) + ]), + vue.createElementVNode("view", { class: "checkin" }, [ + vue.createElementVNode("view", { class: "f-col aic" }, [ + vue.createElementVNode("view", { class: "status f-col aic" }, [ + vue.createCommentVNode(' \r\n \r\n '), + vue.createElementVNode("image", { + src: "/static/checkin/position4.png", + mode: "" + }), + vue.createElementVNode("text", null, "打卡失败") + ]), + vue.createElementVNode("view", { + class: vue.normalizeClass(["circle", "f-col", "aic", "out", "check", "success", "fail"]) + }, [ + vue.createElementVNode("view", { class: "title" }, " 上班打卡 "), + vue.createElementVNode("view", { class: "time" }, " 9:00 "), + vue.createElementVNode("view", { class: "ontime" }, " 已超时 ") + ]) + ]) + ]) + ], + 2 + /* CLASS */ + ); + }; + } + }; + const PagesCheckinIndex = /* @__PURE__ */ _export_sfc(_sfc_main$k, [["__scopeId", "data-v-1410bd6b"], ["__file", "D:/projects/cxc-szcx-uniapp/pages/checkin/index.vue"]]); + const _sfc_main$j = { + __name: "useredit", + setup(__props) { + const baseUrl2 = "http://10.75.166.174:8080/jeecg-boot/sys/common/upload"; + const store = useStore(); + const chooseAvatar = () => { + uni.chooseImage({ + count: 1, + success: (chooseImageRes) => { + const tempFilePaths = chooseImageRes.tempFilePaths; + const photoPath = "用户头像/" + store.userinfo.realname; + uni.uploadFile({ + url: baseUrl2, + //仅为示例,非真实的接口地址 + filePath: tempFilePaths[0], + name: "file", + formData: { + appPath: photoPath + }, + success: (res) => { + uni.showLoading({ + title: "上传中..." + }); + form.avatar = JSON.parse(res.data).message; + userEditApi({ + avatar: form.avatar, + id: store.userinfo.id + }).then((res2) => { + if (res2) { + uni.showToast({ + title: res2, + icon: "success", + duration: 2e3 + }); + } + }).catch((err) => { + formatAppLog("log", "at pages/useredit/useredit.vue:97", err); + }); + }, + fail(err) { + formatAppLog("log", "at pages/useredit/useredit.vue:101", "图片上传出错", err); + } + }); + } + }); + }; + const form = vue.reactive({ + avatar: "", + realname: "", + phone: "" + }); + const loginout = () => { + uni.showModal({ + title: "退出登录", + content: "您确认要退出登录吗?", + success(res) { + if (res.confirm) { + uni.removeStorageSync("token"); + uni.removeStorageSync("user"); + uni.removeStorageSync("role"); + uni.removeStorageSync("logintime"); + uni.reLaunch({ + url: "/pages/login/login" + }); + } + } + }); + }; + onLoad(() => { + uni.setNavigationBarColor({ + frontColor: "#ffffff", + backgroundColor: "#bebebe" + }); + }); + return (_ctx, _cache) => { + const _component_uni_icons = resolveEasycom(vue.resolveDynamicComponent("uni-icons"), __easycom_1$1); + return vue.openBlock(), vue.createElementBlock( + vue.Fragment, + null, + [ + vue.createElementVNode( + "view", + { + class: vue.normalizeClass(["content", { "gray": vue.unref(store).isgray == 1 }]) + }, + [ + vue.createElementVNode("view", { class: "box" }, [ + vue.createElementVNode("view", null, "头像"), + vue.createElementVNode("view", { style: { "display": "flex", "align-items": "center" } }, [ + vue.createElementVNode("button", { + class: "head-btn", + onClick: chooseAvatar + }, [ + !form.avatar ? (vue.openBlock(), vue.createElementBlock("image", { + key: 0, + class: "head-img", + src: vue.unref(imgUrl)(vue.unref(store).userinfo.avatar), + mode: "" + }, null, 8, ["src"])) : (vue.openBlock(), vue.createElementBlock("image", { + key: 1, + class: "head-img", + src: vue.unref(imgUrl)(form.avatar) + }, null, 8, ["src"])) + ]), + vue.createVNode(_component_uni_icons, { + type: "right", + size: "24" + }) + ]) + ]), + vue.createElementVNode("view", { + class: "box", + style: { "padding-top": "30rpx", "padding-bottom": "30rpx" } + }, [ + vue.createElementVNode("view", null, "姓名"), + vue.withDirectives(vue.createElementVNode( + "input", + { + disabled: "", + style: { "text-align": "right" }, + type: "nickname", + "placeholder-style": "font-size: 32rpx;color: #999999;", + "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => vue.unref(store).userinfo.realname = $event), + placeholder: "请输入姓名" + }, + null, + 512 + /* NEED_PATCH */ + ), [ + [vue.vModelText, vue.unref(store).userinfo.realname] + ]) + ]), + vue.createElementVNode("view", { + class: "box", + style: { "padding-top": "30rpx", "padding-bottom": "30rpx" } + }, [ + vue.createElementVNode("view", null, "手机号"), + vue.withDirectives(vue.createElementVNode( + "input", + { + disabled: "", + style: { "text-align": "right" }, + type: "nickname", + "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => vue.unref(store).userinfo.phone = $event), + placeholder: "请输入手机号", + "placeholder-style": "font-size: 32rpx;color: #999999;" + }, + null, + 512 + /* NEED_PATCH */ + ), [ + [vue.vModelText, vue.unref(store).userinfo.phone] + ]) + ]), + vue.createElementVNode("view", { + class: "box", + style: { "padding-top": "30rpx", "padding-bottom": "30rpx" } + }, [ + vue.createElementVNode("view", null, "劳动合同号"), + vue.withDirectives(vue.createElementVNode( + "input", + { + style: { "text-align": "right" }, + type: "nickname", + disabled: "", + "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => vue.unref(store).userinfo.workNo = $event), + placeholder: "请输入劳动合同号", + "placeholder-style": "font-size: 32rpx;color: #999999;" + }, + null, + 512 + /* NEED_PATCH */ + ), [ + [vue.vModelText, vue.unref(store).userinfo.workNo] + ]) + ]) + ], + 2 + /* CLASS */ + ), + vue.createElementVNode("view", { class: "line" }), + vue.createElementVNode("view", { + class: "btn", + onClick: loginout + }, " 退出登录 ") + ], + 64 + /* STABLE_FRAGMENT */ + ); + }; + } + }; + const PagesUsereditUseredit = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-503dd57f"], ["__file", "D:/projects/cxc-szcx-uniapp/pages/useredit/useredit.vue"]]); + const _sfc_main$i = { + __name: "address", + setup(__props) { + const store = useStore(); + const jump = (url) => { + beforeJump(url, () => { + uni.navigateTo({ + url + }); + }); + }; + return (_ctx, _cache) => { + return vue.openBlock(), vue.createElementBlock( + "view", + { + class: vue.normalizeClass(["content", { "gray": vue.unref(store).isgray == 1 }]) + }, + [ + vue.createElementVNode("view", { class: "list" }, [ + (vue.openBlock(), vue.createElementBlock( + vue.Fragment, + null, + vue.renderList(2, (item, i2) => { + return vue.createElementVNode("view", { + class: "item", + key: i2 + }, [ + vue.createElementVNode("view", { class: "province f-row aic" }, [ + vue.createElementVNode("view", { class: "" }, " 浙江省,杭州市 "), + vue.createElementVNode("image", { + src: "/static/my/default.png", + mode: "" + }) + ]), + vue.createElementVNode("view", { class: "address f-row jcb" }, [ + vue.createElementVNode("view", { class: "" }, " 重庆 重庆市 渝北区 龙溪街道花卉园东路黄金 宝高级住宅小区 "), + vue.createElementVNode("image", { + src: "/static/my/edit.png", + mode: "" + }) + ]), + vue.createElementVNode("view", { class: "set f-row aic jcb" }, [ + vue.createElementVNode("view", { class: "f-row aic" }, [ + vue.createCommentVNode(' '), + vue.createElementVNode("image", { + src: "/static/login/nocheck.png", + mode: "" + }), + vue.createTextVNode(" 设为默认地址 ") + ]), + vue.createElementVNode("view", { class: "" }, " 删除 ") + ]) + ]); + }), + 64 + /* STABLE_FRAGMENT */ + )) + ]), + vue.createElementVNode("view", { class: "btn f-col aic" }, [ + vue.createElementVNode("view", { + class: "", + onClick: _cache[0] || (_cache[0] = ($event) => jump("/pages/useredit/add_address")) + }, " +添加收货地址 ") + ]) + ], + 2 + /* CLASS */ + ); + }; + } + }; + const PagesUsereditAddress = /* @__PURE__ */ _export_sfc(_sfc_main$i, [["__scopeId", "data-v-4bd9b73b"], ["__file", "D:/projects/cxc-szcx-uniapp/pages/useredit/address.vue"]]); + const _sfc_main$h = { + __name: "add_address", + setup(__props) { + const store = useStore(); + return (_ctx, _cache) => { + return vue.openBlock(), vue.createElementBlock( + "view", + { + class: vue.normalizeClass(["content", { "gray": vue.unref(store).isgray == 1 }]) + }, + [ + vue.createElementVNode("view", { class: "area f-row jcb" }, [ + vue.createElementVNode("view", { class: "title topic" }, " 所在地区 "), + vue.createElementVNode("input", { + type: "text", + placeholder: "省、市、区、街道" + }) + ]), + vue.createElementVNode("view", { class: "area f-row jcb" }, [ + vue.createElementVNode("view", { class: "title topic" }, " 详细地址 "), + vue.createElementVNode("textarea", { placeholder: "小区楼栋/乡村名称" }) + ]), + vue.createElementVNode("view", { class: "area f-row jcb" }, [ + vue.createElementVNode("view", { class: "title" }, " 设为默认地址 "), + vue.createElementVNode("image", { + src: "/static/login/checked.png", + mode: "" + }), + vue.createCommentVNode(' ') + ]), + vue.createElementVNode("view", { class: "btn f-col aic" }, [ + vue.createElementVNode("view", { class: "" }, " 保存 ") + ]) + ], + 2 + /* CLASS */ + ); + }; + } + }; + const PagesUsereditAdd_address = /* @__PURE__ */ _export_sfc(_sfc_main$h, [["__scopeId", "data-v-f1271877"], ["__file", "D:/projects/cxc-szcx-uniapp/pages/useredit/add_address.vue"]]); + const _sfc_main$g = { + __name: "addressbook", + setup(__props) { + const store = useStore(); + return (_ctx, _cache) => { + return vue.openBlock(), vue.createElementBlock( + "view", + { + class: vue.normalizeClass({ "gray": vue.unref(store).isgray == 1 }) + }, + [ + vue.createElementVNode("view", { class: "list" }, [ + (vue.openBlock(), vue.createElementBlock( + vue.Fragment, + null, + vue.renderList(4, (item, i2) => { + return vue.createElementVNode("view", { + class: "item f-row aic jcb", + key: i2 + }, [ + vue.createElementVNode("view", { class: "user f-row aic" }, [ + vue.createElementVNode("image", { + src: "", + mode: "" + }), + vue.createElementVNode("view", { class: "name_job" }, [ + vue.createElementVNode("view", { class: "name" }, " 我是晴天 "), + vue.createElementVNode("view", { class: "job" }, " 销售部-销售总监 ") + ]) + ]), + vue.createElementVNode("view", { class: "btn" }, " 电话联系 ") + ]); + }), + 64 + /* STABLE_FRAGMENT */ + )) + ]) + ], + 2 + /* CLASS */ + ); + }; + } + }; + const PagesUsereditAddressbook = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-c0e791d9"], ["__file", "D:/projects/cxc-szcx-uniapp/pages/useredit/addressbook.vue"]]); + const _sfc_main$f = { + __name: "extendCom", + props: { + title: { + type: String, + default: "" + }, + img: { + type: String, + default: "" + }, + list: { + type: Array, + default: function() { + return []; + } + }, + // selfArrquery: { + // type: Array, + // default: function() { + // return [] + // } + // }, + total: { + type: Number, + default: 0 + } + }, + setup(__props) { + vue.useCssVars((_ctx) => ({ + "e40cd242-moreHeight": moreHeight.value + })); + const props = __props; + const open2 = vue.ref(false); + const moreHeight = vue.ref(null); + const CurrentInstance = vue.getCurrentInstance(); + vue.watch(() => props.list, () => { + vue.nextTick(() => { + uni.createSelectorQuery().in(CurrentInstance.proxy).select(".item_box").boundingClientRect((data) => { + moreHeight.value = (data == null ? void 0 : data.height) + "px"; + formatAppLog("log", "at bpm/extendCom.vue:82", "moreHeight", moreHeight.value); + }).exec(); + }); + }, { + immediate: true + }); + const tolist = (title) => { + let id = null; + beforeJump("/pages/task/index", () => { + if (props.title == "待办事项") { + id = 0; + } + if (props.title == "已办事项") { + id = 2; + } + if (props.title == "本人发起") { + return uni.navigateTo({ + url: `/pages/task/self?title=${title}` + }); + } + uni.navigateTo({ + url: `/pages/task/index?id=${id}&title=${title}` + }); + }); + }; + return (_ctx, _cache) => { + return vue.openBlock(), vue.createElementBlock("view", { class: "content" }, [ + vue.createElementVNode("view", { class: "todo f-col aic" }, [ + vue.createElementVNode("view", { class: "f-col aic" }, [ + vue.createElementVNode("view", { + class: "title_box f-row aic jcb", + onClick: _cache[0] || (_cache[0] = ($event) => tolist("")) + }, [ + vue.createElementVNode("view", { class: "title f-row aic" }, [ + vue.createElementVNode("image", { + src: `/static/my/${__props.img}.png`, + mode: "" + }, null, 8, ["src"]), + vue.createTextVNode( + " " + vue.toDisplayString(__props.title), + 1 + /* TEXT */ + ) + ]), + vue.createElementVNode( + "view", + { class: "num" }, + vue.toDisplayString(__props.total), + 1 + /* TEXT */ + ) + ]), + __props.list.length ? (vue.openBlock(), vue.createElementBlock("view", { + key: 0, + class: "list" + }, [ + vue.createElementVNode( + "view", + { + class: vue.normalizeClass(["box", { "close": __props.list.length > 5 && open2.value }]) + }, + [ + vue.createElementVNode("view", { class: "item_box" }, [ + (vue.openBlock(true), vue.createElementBlock( + vue.Fragment, + null, + vue.renderList(__props.list, (item, i2) => { + return vue.openBlock(), vue.createElementBlock("view", { + onClick: ($event) => tolist(item.title), + class: "item f-row aic", + key: i2 + }, [ + vue.createElementVNode( + "view", + { class: "" }, + vue.toDisplayString(item.title), + 1 + /* TEXT */ + ), + vue.createElementVNode( + "text", + null, + vue.toDisplayString(item.num), + 1 + /* TEXT */ + ) + ], 8, ["onClick"]); + }), + 128 + /* KEYED_FRAGMENT */ + )) + ]) + ], + 2 + /* CLASS */ + ), + vue.withDirectives(vue.createElementVNode( + "view", + { + class: "more", + onClick: _cache[1] || (_cache[1] = ($event) => open2.value = !open2.value) + }, + vue.toDisplayString(!open2.value ? "显示更多" : "收起"), + 513 + /* TEXT, NEED_PATCH */ + ), [ + [vue.vShow, __props.list.length > 5] + ]) + ])) : vue.createCommentVNode("v-if", true) + ]) + ]) + ]); + }; + } + }; + const extendCom = /* @__PURE__ */ _export_sfc(_sfc_main$f, [["__scopeId", "data-v-e40cd242"], ["__file", "D:/projects/cxc-szcx-uniapp/bpm/extendCom.vue"]]); + const _sfc_main$e = { + __name: "todotask", + setup(__props) { + const store = useStore(); + onLoad(() => { + taskList(); + taskHistoryList(); + myApplyProcessList(); + }); + const todoArr = vue.ref([]); + const todoTotal = vue.ref(0); + const taskList = () => { + taskListApi({ + pageNo: 1, + pageSize: 4, + _t: (/* @__PURE__ */ new Date()).getTime() + }).then((res) => { + var _a, _b, _c, _d; + if (res == null ? void 0 : res.success) { + if (((_a = res == null ? void 0 : res.result) == null ? void 0 : _a.total) > 4) { + taskListApi({ + pageNo: 1, + pageSize: (_b = res == null ? void 0 : res.result) == null ? void 0 : _b.total, + _t: (/* @__PURE__ */ new Date()).getTime() + }).then((res1) => { + var _a2, _b2; + if (res1 == null ? void 0 : res1.success) { + todoArr.value = [...todoArr.value, ...handleData((_a2 = res1 == null ? void 0 : res1.result) == null ? void 0 : _a2.records)]; + todoTotal.value = (_b2 = res1 == null ? void 0 : res1.result) == null ? void 0 : _b2.total; + } + }).catch((err) => { + formatAppLog("log", "at pages/task/todotask.vue:53", "err", err); + }); + } else { + todoArr.value = [...todoArr.value, ...handleData((_c = res == null ? void 0 : res.result) == null ? void 0 : _c.records)]; + todoTotal.value = (_d = res == null ? void 0 : res.result) == null ? void 0 : _d.total; + } + } + }).catch((err) => { + formatAppLog("log", "at pages/task/todotask.vue:62", err); + }); + }; + const doneArr = vue.ref([]); + const doneTotal = vue.ref(0); + const taskHistoryList = () => { + taskHistoryListApi({ + pageNo: 1, + pageSize: 4, + _t: (/* @__PURE__ */ new Date()).getTime() + }).then((res) => { + if (res.success) { + if (res.result.total > 4) { + taskHistoryListApi({ + pageNo: 1, + pageSize: res.result.total, + _t: (/* @__PURE__ */ new Date()).getTime() + }).then((res1) => { + if (res1.success) { + doneArr.value = [...doneArr.value, ...handleData(res1.result.records)]; + doneTotal.value = res1.result.total; + } + }).catch((err) => { + formatAppLog("log", "at pages/task/todotask.vue:87", err); + }); + } else { + doneArr.value = [...doneArr.value, ...handleData(res.result.records)]; + doneTotal.value = res.result.total; + } + } + }).catch((err) => { + formatAppLog("log", "at pages/task/todotask.vue:96", err); + }); + }; + const selfArr = vue.ref([]); + const selfTotal = vue.ref(0); + vue.ref([]); + const myApplyProcessList = () => { + myApplyProcessListApi({ + pageNo: 1, + pageSize: 4, + _t: (/* @__PURE__ */ new Date()).getTime() + }).then((res) => { + if (res.success) { + if (res.result.total > 4) { + myApplyProcessListApi({ + pageNo: 1, + pageSize: res.result.total, + _t: (/* @__PURE__ */ new Date()).getTime() + }).then((res1) => { + if (res1.success) { + selfArr.value = [...selfArr.value, ...handleData(res1.result.records)]; + selfTotal.value = res1.result.total; + } + }).catch((err) => { + formatAppLog("log", "at pages/task/todotask.vue:122", err); + }); + } else { + selfArr.value = [...selfArr.value, ...handleData(res.result.records)]; + selfTotal.value = res.result.total; + } + } + }).catch((err) => { + formatAppLog("log", "at pages/task/todotask.vue:132", err); + }); + }; + const handleData = (titlearr) => { + let titleArr = titlearr.length ? titlearr.map((item) => item.processDefinitionName || item.prcocessDefinitionName) : []; + let res = titleArr.reduce((obj, title) => { + if (title in obj) { + obj[title]++; + } else { + obj[title] = 1; + } + return obj; + }, {}); + return Object.entries(res).map(([k, v2]) => ({ + title: k, + num: v2 + })); + }; + return (_ctx, _cache) => { + return vue.openBlock(), vue.createElementBlock( + "view", + { + class: vue.normalizeClass(["content", { "gray": vue.unref(store).isgray == 1 }]) + }, + [ + vue.createVNode(extendCom, { + title: "待办事项", + img: "todo", + list: todoArr.value, + total: todoTotal.value + }, null, 8, ["list", "total"]), + vue.createVNode(extendCom, { + title: "已办事项", + img: "done", + list: doneArr.value, + total: doneTotal.value + }, null, 8, ["list", "total"]), + vue.createVNode(extendCom, { + title: "本人发起", + img: "self", + list: selfArr.value, + total: selfTotal.value + }, null, 8, ["list", "total"]) + ], + 2 + /* CLASS */ + ); + }; + } + }; + const PagesTaskTodotask = /* @__PURE__ */ _export_sfc(_sfc_main$e, [["__file", "D:/projects/cxc-szcx-uniapp/pages/task/todotask.vue"]]); + const _sfc_main$d = { + __name: "safeCom", + setup(__props) { + const jump = (url) => { + beforeJump(url, () => { + uni.navigateTo({ + url + }); + }); + }; + return (_ctx, _cache) => { + return vue.openBlock(), vue.createElementBlock("view", { class: "list f-row aic jcb" }, [ + (vue.openBlock(), vue.createElementBlock( + vue.Fragment, + null, + vue.renderList(20, (item, i2) => { + return vue.createElementVNode("view", { + class: "item", + key: i2, + onClick: _cache[0] || (_cache[0] = ($event) => jump("/pages/safe/detail")) + }, [ + vue.createElementVNode("view", { class: "" }, [ + vue.createElementVNode("image", { + src: "", + mode: "" + }) + ]), + vue.createElementVNode("view", { class: "text" }, " 五月天“突然好想你”线上演唱会精彩回放 ") + ]); + }), + 64 + /* STABLE_FRAGMENT */ + )) + ]); + }; + } + }; + const safeCom = /* @__PURE__ */ _export_sfc(_sfc_main$d, [["__scopeId", "data-v-982fcf41"], ["__file", "D:/projects/cxc-szcx-uniapp/bpm/safeCom.vue"]]); + const _sfc_main$c = { + __name: "manage", + setup(__props) { + const store = useStore(); + const showicon = vue.ref(true); + const searchKey = vue.ref(""); + return (_ctx, _cache) => { + const _component_uni_icons = resolveEasycom(vue.resolveDynamicComponent("uni-icons"), __easycom_1$1); + return vue.openBlock(), vue.createElementBlock( + "view", + { + class: vue.normalizeClass(["content", { "gray": vue.unref(store).isgray == 1 }]) + }, + [ + vue.createVNode(customNav, null, { + default: vue.withCtx(() => [ + vue.createElementVNode("view", { class: "nav_box f-row aic jcb" }, [ + vue.createElementVNode("view", { + class: "back f-row aic", + onClick: _cache[0] || (_cache[0] = (...args) => _ctx.back && _ctx.back(...args)) + }, [ + vue.createVNode(_component_uni_icons, { + type: "left", + size: "20", + color: "#fff" + }) + ]), + vue.createElementVNode("view", { class: "search f-row aic" }, [ + vue.withDirectives(vue.createElementVNode( + "input", + { + type: "text", + "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => searchKey.value = $event), + onConfirm: _cache[2] || (_cache[2] = (...args) => _ctx.search && _ctx.search(...args)), + onBlur: _cache[3] || (_cache[3] = ($event) => showicon.value = !searchKey.value), + onFocus: _cache[4] || (_cache[4] = ($event) => showicon.value = false) + }, + null, + 544 + /* NEED_HYDRATION, NEED_PATCH */ + ), [ + [vue.vModelText, searchKey.value] + ]), + showicon.value ? (vue.openBlock(), vue.createElementBlock("view", { + key: 0, + class: "f-row aic" + }, [ + vue.createElementVNode("image", { + src: "/static/search.png", + mode: "" + }), + vue.createElementVNode("text", null, "搜索") + ])) : vue.createCommentVNode("v-if", true) + ]) + ]) + ]), + _: 1 + /* STABLE */ + }), + vue.createElementVNode("view", { class: "" }, [ + vue.createVNode(safeCom) + ]) + ], + 2 + /* CLASS */ + ); + }; + } + }; + const PagesSafeManage = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-dc2f4615"], ["__file", "D:/projects/cxc-szcx-uniapp/pages/safe/manage.vue"]]); + const _sfc_main$b = { + __name: "index", + setup(__props) { + const store = useStore(); + const shishiArr = vue.ref([]); + const productArr = vue.ref([]); + onLoad((options) => { + shishiArr.value = JSON.parse(options.shishi); + productArr.value = JSON.parse(options.product); + }); + return (_ctx, _cache) => { + return vue.openBlock(), vue.createElementBlock( + "view", + { + class: vue.normalizeClass(["f-col", "aic", { "gray": vue.unref(store).isgray == 1 }]) + }, + [ + vue.createVNode(dataCom, { + title: "实时输差", + list: shishiArr.value + }, null, 8, ["list"]), + vue.createVNode(dataCom, { + title: "偏远计量点", + list: shishiArr.value + }, null, 8, ["list"]), + vue.createVNode(dataCom, { + title: "生产实时数据", + list: productArr.value + }, null, 8, ["list"]) + ], + 2 + /* CLASS */ + ); + }; + } + }; + const PagesProductIndex = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__file", "D:/projects/cxc-szcx-uniapp/pages/product/index.vue"]]); + const en = { + "uni-load-more.contentdown": "Pull up to show more", + "uni-load-more.contentrefresh": "loading...", + "uni-load-more.contentnomore": "No more data" + }; + const zhHans = { + "uni-load-more.contentdown": "上拉显示更多", + "uni-load-more.contentrefresh": "正在加载...", + "uni-load-more.contentnomore": "没有更多数据了" + }; + const zhHant = { + "uni-load-more.contentdown": "上拉顯示更多", + "uni-load-more.contentrefresh": "正在加載...", + "uni-load-more.contentnomore": "沒有更多數據了" + }; + const messages = { + en, + "zh-Hans": zhHans, + "zh-Hant": zhHant + }; + let platform; + setTimeout(() => { + platform = uni.getSystemInfoSync().platform; + }, 16); + const { + t + } = initVueI18n(messages); + const _sfc_main$a = { + name: "UniLoadMore", + emits: ["clickLoadMore"], + props: { + status: { + // 上拉的状态:more-loading前;loading-loading中;noMore-没有更多了 + type: String, + default: "more" + }, + showIcon: { + type: Boolean, + default: true + }, + iconType: { + type: String, + default: "auto" + }, + iconSize: { + type: Number, + default: 24 + }, + color: { + type: String, + default: "#777777" + }, + contentText: { + type: Object, + default() { + return { + contentdown: "", + contentrefresh: "", + contentnomore: "" + }; + } + }, + showText: { + type: Boolean, + default: true + } + }, + data() { + return { + webviewHide: false, + platform, + imgBase64: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyJpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuMy1jMDExIDY2LjE0NTY2MSwgMjAxMi8wMi8wNi0xNDo1NjoyNyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENTNiAoV2luZG93cykiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QzlBMzU3OTlEOUM0MTFFOUI0NTZDNERBQURBQzI4RkUiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QzlBMzU3OUFEOUM0MTFFOUI0NTZDNERBQURBQzI4RkUiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpDOUEzNTc5N0Q5QzQxMUU5QjQ1NkM0REFBREFDMjhGRSIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpDOUEzNTc5OEQ5QzQxMUU5QjQ1NkM0REFBREFDMjhGRSIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Pt+ALSwAAA6CSURBVHja1FsLkFZV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" + }; + }, + computed: { + iconSnowWidth() { + return (Math.floor(this.iconSize / 24) || 1) * 2; + }, + contentdownText() { + return this.contentText.contentdown || t("uni-load-more.contentdown"); + }, + contentrefreshText() { + return this.contentText.contentrefresh || t("uni-load-more.contentrefresh"); + }, + contentnomoreText() { + return this.contentText.contentnomore || t("uni-load-more.contentnomore"); + } + }, + mounted() { + var pages2 = getCurrentPages(); + var page = pages2[pages2.length - 1]; + var currentWebview = page.$getAppWebview(); + currentWebview.addEventListener("hide", () => { + this.webviewHide = true; + }); + currentWebview.addEventListener("show", () => { + this.webviewHide = false; + }); + }, + methods: { + onClick() { + this.$emit("clickLoadMore", { + detail: { + status: this.status + } + }); + } + } + }; + function _sfc_render$2(_ctx, _cache, $props, $setup, $data, $options) { + return vue.openBlock(), vue.createElementBlock("view", { + class: "uni-load-more", + onClick: _cache[0] || (_cache[0] = (...args) => $options.onClick && $options.onClick(...args)) + }, [ + !$data.webviewHide && ($props.iconType === "circle" || $props.iconType === "auto" && $data.platform === "android") && $props.status === "loading" && $props.showIcon ? (vue.openBlock(), vue.createElementBlock( + "view", + { + key: 0, + style: vue.normalizeStyle({ width: $props.iconSize + "px", height: $props.iconSize + "px" }), + class: "uni-load-more__img uni-load-more__img--android-MP" + }, + [ + vue.createElementVNode( + "view", + { + class: "uni-load-more__img-icon", + style: vue.normalizeStyle({ borderTopColor: $props.color, borderTopWidth: $props.iconSize / 12 }) + }, + null, + 4 + /* STYLE */ + ), + vue.createElementVNode( + "view", + { + class: "uni-load-more__img-icon", + style: vue.normalizeStyle({ borderTopColor: $props.color, borderTopWidth: $props.iconSize / 12 }) + }, + null, + 4 + /* STYLE */ + ), + vue.createElementVNode( + "view", + { + class: "uni-load-more__img-icon", + style: vue.normalizeStyle({ borderTopColor: $props.color, borderTopWidth: $props.iconSize / 12 }) + }, + null, + 4 + /* STYLE */ + ) + ], + 4 + /* STYLE */ + )) : !$data.webviewHide && $props.status === "loading" && $props.showIcon ? (vue.openBlock(), vue.createElementBlock( + "view", + { + key: 1, + style: vue.normalizeStyle({ width: $props.iconSize + "px", height: $props.iconSize + "px" }), + class: "uni-load-more__img uni-load-more__img--ios-H5" + }, + [ + vue.createElementVNode("image", { + src: $data.imgBase64, + mode: "widthFix" + }, null, 8, ["src"]) + ], + 4 + /* STYLE */ + )) : vue.createCommentVNode("v-if", true), + $props.showText ? (vue.openBlock(), vue.createElementBlock( + "text", + { + key: 2, + class: "uni-load-more__text", + style: vue.normalizeStyle({ color: $props.color }) + }, + vue.toDisplayString($props.status === "more" ? $options.contentdownText : $props.status === "loading" ? $options.contentrefreshText : $options.contentnomoreText), + 5 + /* TEXT, STYLE */ + )) : vue.createCommentVNode("v-if", true) + ]); + } + const __easycom_0$1 = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["render", _sfc_render$2], ["__scopeId", "data-v-9245e42c"], ["__file", "D:/projects/cxc-szcx-uniapp/uni_modules/uni-load-more/components/uni-load-more/uni-load-more.vue"]]); const dataPicker = { props: { localdata: { @@ -17708,6 +19063,17 @@ ${i3} }, setup(__props) { const props = __props; + const imageValue = vue.ref([]); + const imageStyles = { + width: 64, + height: 64, + border: { + color: "#dce7e1", + width: 2, + style: "dashed", + radius: "2px" + } + }; const info = vue.ref({}); const qjQueryById = () => { qjQueryByIdApi({ @@ -17715,6 +19081,16 @@ ${i3} }).then((res) => { if (res.success) { info.value = res.result.records[0]; + imageValue.value = info.value.path.split(",").map((path) => { + const name2 = path.split("/").pop(); + const extname = name2.split(".").pop(); + return { + name: name2, + extname, + url: imgUrl(path) + }; + }); + formatAppLog("log", "at bpm/leaveApplication/index.vue:154", "---", imageValue.value); } }); }; @@ -17743,6 +19119,7 @@ ${i3} extActFlowData(); }); return (_ctx, _cache) => { + const _component_uni_file_picker = resolveEasycom(vue.resolveDynamicComponent("uni-file-picker"), __easycom_0$2); return vue.openBlock(), vue.createElementBlock( vue.Fragment, null, @@ -17815,7 +19192,7 @@ ${i3} vue.createElementVNode( "text", null, - vue.toDisplayString(info.value.qjdays), + vue.toDisplayString(info.value.days), 1 /* TEXT */ ) @@ -17849,6 +19226,14 @@ ${i3} 1 /* TEXT */ ) + ]), + vue.createElementVNode("view", { class: "info f-row aic jcb" }, [ + vue.createElementVNode("view", null, " 附件: "), + vue.createVNode(_component_uni_file_picker, { + modelValue: imageValue.value, + "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => imageValue.value = $event), + "image-styles": imageStyles + }, null, 8, ["modelValue"]) ]) ]) ]), diff --git a/unpackage/dist/dev/app-plus/app.css b/unpackage/dist/dev/app-plus/app.css index 92762f7..ffdb580 100644 --- a/unpackage/dist/dev/app-plus/app.css +++ b/unpackage/dist/dev/app-plus/app.css @@ -49,6 +49,282 @@ .aic { align-items: center; } +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ +/* 颜色变量 */ +/* 行为相关颜色 */ +/* 文字基本颜色 */ +/* 背景颜色 */ +/* 边框颜色 */ +/* 尺寸变量 */ +/* 文字尺寸 */ +/* 图片尺寸 */ +/* Border Radius */ +/* 水平间距 */ +/* 垂直间距 */ +/* 透明度 */ +/* 文章场景相关 */ +.uni-file-picker__container[data-v-bdfc07e0] { + display: flex; + box-sizing: border-box; + flex-wrap: wrap; + margin: -5px; +} +.file-picker__box[data-v-bdfc07e0] { + position: relative; + width: 33.3%; + height: 0; + padding-top: 33.33%; + box-sizing: border-box; +} +.file-picker__box-content[data-v-bdfc07e0] { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + margin: 5px; + border: 1px #eee solid; + border-radius: 5px; + overflow: hidden; +} +.file-picker__progress[data-v-bdfc07e0] { + position: absolute; + bottom: 0; + left: 0; + right: 0; + /* border: 1px red solid; */ + z-index: 2; +} +.file-picker__progress-item[data-v-bdfc07e0] { + width: 100%; +} +.file-picker__mask[data-v-bdfc07e0] { + display: flex; + justify-content: center; + align-items: center; + position: absolute; + right: 0; + top: 0; + bottom: 0; + left: 0; + color: #fff; + font-size: 12px; + background-color: rgba(0, 0, 0, 0.4); +} +.file-image[data-v-bdfc07e0] { + width: 100%; + height: 100%; +} +.is-add[data-v-bdfc07e0] { + display: flex; + align-items: center; + justify-content: center; +} +.icon-add[data-v-bdfc07e0] { + width: 50px; + height: 5px; + background-color: #f1f1f1; + border-radius: 2px; +} +.rotate[data-v-bdfc07e0] { + position: absolute; + transform: rotate(90deg); +} +.icon-del-box[data-v-bdfc07e0] { + display: flex; + align-items: center; + justify-content: center; + position: absolute; + top: 3px; + right: 3px; + height: 26px; + width: 26px; + border-radius: 50%; + background-color: rgba(0, 0, 0, 0.5); + z-index: 2; + transform: rotate(-45deg); +} +.icon-del[data-v-bdfc07e0] { + width: 15px; + height: 2px; + background-color: #fff; + border-radius: 2px; +} +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ +/* 颜色变量 */ +/* 行为相关颜色 */ +/* 文字基本颜色 */ +/* 背景颜色 */ +/* 边框颜色 */ +/* 尺寸变量 */ +/* 文字尺寸 */ +/* 图片尺寸 */ +/* Border Radius */ +/* 水平间距 */ +/* 垂直间距 */ +/* 透明度 */ +/* 文章场景相关 */ +.uni-file-picker__files[data-v-a54939c6] { + display: flex; + flex-direction: column; + justify-content: flex-start; +} +.uni-file-picker__lists[data-v-a54939c6] { + position: relative; + margin-top: 5px; + overflow: hidden; +} +.file-picker__mask[data-v-a54939c6] { + display: flex; + justify-content: center; + align-items: center; + position: absolute; + right: 0; + top: 0; + bottom: 0; + left: 0; + color: #fff; + font-size: 14px; + background-color: rgba(0, 0, 0, 0.4); +} +.uni-file-picker__lists-box[data-v-a54939c6] { + position: relative; +} +.uni-file-picker__item[data-v-a54939c6] { + display: flex; + align-items: center; + padding: 8px 10px; + padding-right: 5px; + padding-left: 10px; +} +.files-border[data-v-a54939c6] { + border-top: 1px #eee solid; +} +.files__name[data-v-a54939c6] { + flex: 1; + font-size: 14px; + color: #666; + margin-right: 25px; + word-break: break-all; + word-wrap: break-word; +} +.icon-files[data-v-a54939c6] { + position: static; + background-color: initial; +} +.is-list-card[data-v-a54939c6] { + border: 1px #eee solid; + margin-bottom: 5px; + border-radius: 5px; + box-shadow: 0 0 2px 0px rgba(0, 0, 0, 0.1); + padding: 5px; +} +.files__image[data-v-a54939c6] { + width: 40px; + height: 40px; + margin-right: 10px; +} +.header-image[data-v-a54939c6] { + width: 100%; + height: 100%; +} +.is-text-box[data-v-a54939c6] { + border: 1px #eee solid; + border-radius: 5px; +} +.is-text-image[data-v-a54939c6] { + width: 25px; + height: 25px; + margin-left: 5px; +} +.rotate[data-v-a54939c6] { + position: absolute; + transform: rotate(90deg); +} +.icon-del-box[data-v-a54939c6] { + display: flex; + margin: auto 0; + align-items: center; + justify-content: center; + position: absolute; + top: 0px; + bottom: 0; + right: 5px; + height: 26px; + width: 26px; + z-index: 2; + transform: rotate(-45deg); +} +.icon-del[data-v-a54939c6] { + width: 15px; + height: 1px; + background-color: #333; +} + +.uni-file-picker[data-v-6223573f] { + + box-sizing: border-box; + overflow: hidden; + width: 100%; + + flex: 1; +} +.uni-file-picker__header[data-v-6223573f] { + padding-top: 5px; + padding-bottom: 10px; + + display: flex; + + justify-content: space-between; +} +.file-title[data-v-6223573f] { + font-size: 14px; + color: #333; +} +.file-count[data-v-6223573f] { + font-size: 14px; + color: #999; +} +.is-add[data-v-6223573f] { + + display: flex; + + align-items: center; + justify-content: center; +} +.icon-add[data-v-6223573f] { + width: 50px; + height: 5px; + background-color: #f1f1f1; + border-radius: 2px; +} +.rotate[data-v-6223573f] { + position: absolute; + transform: rotate(90deg); +} + /** * 这里是uni-app内置的常用样式变量 * diff --git a/unpackage/dist/dev/app-plus/pages/leave/application.css b/unpackage/dist/dev/app-plus/pages/leave/application.css index 928ce8c..acb1fba 100644 --- a/unpackage/dist/dev/app-plus/pages/leave/application.css +++ b/unpackage/dist/dev/app-plus/pages/leave/application.css @@ -530,6 +530,282 @@ text-decoration: none; text-align: center; } +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ +/* 颜色变量 */ +/* 行为相关颜色 */ +/* 文字基本颜色 */ +/* 背景颜色 */ +/* 边框颜色 */ +/* 尺寸变量 */ +/* 文字尺寸 */ +/* 图片尺寸 */ +/* Border Radius */ +/* 水平间距 */ +/* 垂直间距 */ +/* 透明度 */ +/* 文章场景相关 */ +.uni-file-picker__container[data-v-bdfc07e0] { + display: flex; + box-sizing: border-box; + flex-wrap: wrap; + margin: -5px; +} +.file-picker__box[data-v-bdfc07e0] { + position: relative; + width: 33.3%; + height: 0; + padding-top: 33.33%; + box-sizing: border-box; +} +.file-picker__box-content[data-v-bdfc07e0] { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + margin: 5px; + border: 1px #eee solid; + border-radius: 5px; + overflow: hidden; +} +.file-picker__progress[data-v-bdfc07e0] { + position: absolute; + bottom: 0; + left: 0; + right: 0; + /* border: 1px red solid; */ + z-index: 2; +} +.file-picker__progress-item[data-v-bdfc07e0] { + width: 100%; +} +.file-picker__mask[data-v-bdfc07e0] { + display: flex; + justify-content: center; + align-items: center; + position: absolute; + right: 0; + top: 0; + bottom: 0; + left: 0; + color: #fff; + font-size: 12px; + background-color: rgba(0, 0, 0, 0.4); +} +.file-image[data-v-bdfc07e0] { + width: 100%; + height: 100%; +} +.is-add[data-v-bdfc07e0] { + display: flex; + align-items: center; + justify-content: center; +} +.icon-add[data-v-bdfc07e0] { + width: 50px; + height: 5px; + background-color: #f1f1f1; + border-radius: 2px; +} +.rotate[data-v-bdfc07e0] { + position: absolute; + transform: rotate(90deg); +} +.icon-del-box[data-v-bdfc07e0] { + display: flex; + align-items: center; + justify-content: center; + position: absolute; + top: 3px; + right: 3px; + height: 26px; + width: 26px; + border-radius: 50%; + background-color: rgba(0, 0, 0, 0.5); + z-index: 2; + transform: rotate(-45deg); +} +.icon-del[data-v-bdfc07e0] { + width: 15px; + height: 2px; + background-color: #fff; + border-radius: 2px; +} +/** + * 这里是uni-app内置的常用样式变量 + * + * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 + * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App + * + */ +/** + * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 + * + * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 + */ +/* 颜色变量 */ +/* 行为相关颜色 */ +/* 文字基本颜色 */ +/* 背景颜色 */ +/* 边框颜色 */ +/* 尺寸变量 */ +/* 文字尺寸 */ +/* 图片尺寸 */ +/* Border Radius */ +/* 水平间距 */ +/* 垂直间距 */ +/* 透明度 */ +/* 文章场景相关 */ +.uni-file-picker__files[data-v-a54939c6] { + display: flex; + flex-direction: column; + justify-content: flex-start; +} +.uni-file-picker__lists[data-v-a54939c6] { + position: relative; + margin-top: 5px; + overflow: hidden; +} +.file-picker__mask[data-v-a54939c6] { + display: flex; + justify-content: center; + align-items: center; + position: absolute; + right: 0; + top: 0; + bottom: 0; + left: 0; + color: #fff; + font-size: 14px; + background-color: rgba(0, 0, 0, 0.4); +} +.uni-file-picker__lists-box[data-v-a54939c6] { + position: relative; +} +.uni-file-picker__item[data-v-a54939c6] { + display: flex; + align-items: center; + padding: 8px 10px; + padding-right: 5px; + padding-left: 10px; +} +.files-border[data-v-a54939c6] { + border-top: 1px #eee solid; +} +.files__name[data-v-a54939c6] { + flex: 1; + font-size: 14px; + color: #666; + margin-right: 25px; + word-break: break-all; + word-wrap: break-word; +} +.icon-files[data-v-a54939c6] { + position: static; + background-color: initial; +} +.is-list-card[data-v-a54939c6] { + border: 1px #eee solid; + margin-bottom: 5px; + border-radius: 5px; + box-shadow: 0 0 2px 0px rgba(0, 0, 0, 0.1); + padding: 5px; +} +.files__image[data-v-a54939c6] { + width: 40px; + height: 40px; + margin-right: 10px; +} +.header-image[data-v-a54939c6] { + width: 100%; + height: 100%; +} +.is-text-box[data-v-a54939c6] { + border: 1px #eee solid; + border-radius: 5px; +} +.is-text-image[data-v-a54939c6] { + width: 25px; + height: 25px; + margin-left: 5px; +} +.rotate[data-v-a54939c6] { + position: absolute; + transform: rotate(90deg); +} +.icon-del-box[data-v-a54939c6] { + display: flex; + margin: auto 0; + align-items: center; + justify-content: center; + position: absolute; + top: 0px; + bottom: 0; + right: 5px; + height: 26px; + width: 26px; + z-index: 2; + transform: rotate(-45deg); +} +.icon-del[data-v-a54939c6] { + width: 15px; + height: 1px; + background-color: #333; +} + +.uni-file-picker[data-v-6223573f] { + + box-sizing: border-box; + overflow: hidden; + width: 100%; + + flex: 1; +} +.uni-file-picker__header[data-v-6223573f] { + padding-top: 5px; + padding-bottom: 10px; + + display: flex; + + justify-content: space-between; +} +.file-title[data-v-6223573f] { + font-size: 14px; + color: #333; +} +.file-count[data-v-6223573f] { + font-size: 14px; + color: #999; +} +.is-add[data-v-6223573f] { + + display: flex; + + align-items: center; + justify-content: center; +} +.icon-add[data-v-6223573f] { + width: 50px; + height: 5px; + background-color: #f1f1f1; + border-radius: 2px; +} +.rotate[data-v-6223573f] { + position: absolute; + transform: rotate(90deg); +} + /** * 这里是uni-app内置的常用样式变量 * @@ -1044,22 +1320,4 @@ body { .form .choosed[data-v-f12ae642] { font-size: 0.875rem; color: #333333; -} -.reason[data-v-f12ae642] { - background-color: #fff; - margin-top: 0.625rem; - height: 9.0625rem; - padding: 0.9375rem; -} -.reason .title[data-v-f12ae642] { - font-size: 0.875rem; - color: #333333; -} -.reason uni-textarea[data-v-f12ae642] { - width: 100%; - margin-top: 0.625rem; -} -.lines[data-v-f12ae642] { - height: 0.625rem; - background-color: #F8F8F8; } \ No newline at end of file