From 428a6a695f4ba2425129cf8ae7b70d7e01cfb8d9 Mon Sep 17 00:00:00 2001 From: caill <815519168@qq.com> Date: Thu, 12 Oct 2023 17:00:46 +0800 Subject: [PATCH] =?UTF-8?q?=E7=82=B9=E4=BD=8D=E7=AE=A1=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- common/style/layout.css | 71 +- pages.json | 2 +- pages/home/home.vue | 14 +- pages/modules/callmanage.vue | 235 ------ pages/modules/pointmanage.vue | 342 ++++++++ static/image/menu/RF04.png | Bin 0 -> 2352 bytes static/image/menu/RF05.png | Bin 0 -> 2286 bytes uni_modules/zxz-uni-data-select/changelog.md | 35 + .../zxz-uni-data-select.vue | 759 ++++++++++++++++++ uni_modules/zxz-uni-data-select/package.json | 85 ++ uni_modules/zxz-uni-data-select/readme.md | 26 + utils/getData2.js | 117 +-- 12 files changed, 1278 insertions(+), 408 deletions(-) delete mode 100644 pages/modules/callmanage.vue create mode 100644 pages/modules/pointmanage.vue create mode 100644 static/image/menu/RF04.png create mode 100644 static/image/menu/RF05.png create mode 100644 uni_modules/zxz-uni-data-select/changelog.md create mode 100644 uni_modules/zxz-uni-data-select/components/zxz-uni-data-select/zxz-uni-data-select.vue create mode 100644 uni_modules/zxz-uni-data-select/package.json create mode 100644 uni_modules/zxz-uni-data-select/readme.md diff --git a/common/style/layout.css b/common/style/layout.css index 693f188..a05c566 100644 --- a/common/style/layout.css +++ b/common/style/layout.css @@ -107,7 +107,7 @@ uni-button:after { .zd_content { width: 100%; height: auto; - padding: 92rpx 15rpx 82rpx 14rpx; + padding: 92rpx 14rpx 82rpx 14rpx; } .zd_wrapper { width: 100%; @@ -288,72 +288,3 @@ uni-button:after { z-index: 300 !important; } -/** 弹窗 */ -.msg_wrapper { - position: fixed; - top: 0; - bottom: 0; - left: 0; - right: 0; - text-align: center; - z-index: 201; - display: flex; - justify-content: center; - align-items: center; -} -.msg_wrapper_1 { - text-align: left; -} - -.msg_box { - width: 90%; - padding: 20rpx; - background-color: #fff; - border-radius: 4px; - border: 1px solid #ebeef5; - box-shadow: 0 2px 12px 0 rgb(0 0 0 / 10%); - backface-visibility: hidden; -} - -.msg_mask { - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; - opacity: .7; - background: #000; - z-index: 200; -} - -.msg_btns { - width: 100%; - max-width: 300px; - margin: 40rpx auto 0; - display: flex; - justify-content: space-between; - align-items: center; -} -.msg_btn { - border-radius: 10rpx; -} -.msg_btn:disabled { - background-color: #c9c9c9; -} -.uni-select__input-placeholder,.uni-select__selector-empty, .uni-select__selector-item { - font-size: 28rpx !important -} -.sin_input { - width: 150rpx; - font-size: 28rpx; - line-height: 150rpx; - height: 68rpx; - color: #323232; - padding: 0 .1rem; - border: 1px solid #a1a1a1; - border-radius: 3px; -} -.layout-t tr.checked td .sin_input { - color: #8a8a8a; - border: 1px solid #ffffff; -} \ No newline at end of file diff --git a/pages.json b/pages.json index 670992c..bf83eb4 100644 --- a/pages.json +++ b/pages.json @@ -25,7 +25,7 @@ } }, { - "path": "pages/modules/callmanage", + "path": "pages/modules/pointmanage", "style" : { "navigationStyle": "custom" diff --git a/pages/home/home.vue b/pages/home/home.vue index d76317d..5958ad5 100644 --- a/pages/home/home.vue +++ b/pages/home/home.vue @@ -35,24 +35,18 @@ - - diff --git a/pages/modules/pointmanage.vue b/pages/modules/pointmanage.vue new file mode 100644 index 0000000..66ec4bf --- /dev/null +++ b/pages/modules/pointmanage.vue @@ -0,0 +1,342 @@ + + + + + diff --git a/static/image/menu/RF04.png b/static/image/menu/RF04.png new file mode 100644 index 0000000000000000000000000000000000000000..e18e35a8b677caafc369e413bdb96743acc63312 GIT binary patch literal 2352 zcmaJ@c~nwq8z)OG&1$|WODiP$%1UJskYz+AaGS&}EVDEbu7JuCTm{iADNQrA#WKyz zrADU`n=~tzHXCVip&YYZa#~zQO{YT5wwX(1^ZhY>_ndp*_xGOX_j{K2InTMNzTWO; zCYB~J7|hJmgW(UYLHc*55%eXM(hQ)*0(1=o*NekJIa>Fk7XR8SxRApo)w3SpE;Mp00apL8kEUVn^6B0iab zkyPa8paPk`2)bAbAP6W2I}R2{LJ-L)EP+h2$J-+8F<1vQhK$DI?J!shhD^a=5nmo8 zPe(s9di zwU&YYz(4W+tFVj}D*@2{fJ_`M|#Nw!_D*E!ppjgHiOAvIr zzG_6oDkhsF5a|zBe_}D26i<;1WQ#a}CxeQFbWj2Tmx3eVF>A@Lz+D-dPu+h+Po0>+WvqD>Uk;D+*@1>%3v_V zd`||ArRW&WGfi0#ut;+?rv}Kpkdm^h%6I{P_pvjV2a8hNbOkfd2486JIAqJW*^9Vq za`PM}$UIB9I_(zx49oYV>oImvnYy!jQ8-Yz`CjWC__`|QUoGT|LLgY)oR>r9jZ9oW z5!c_GN9H9=bcvhg&BS(7)y|s-i9Rl-{AqS83k)lFnrjV$T+(Ji@G}a7;9Sx5%7{wU z=BEexpEWs60uS?HO$DlrsqKEghLfy}56jP8UDz3C&@*&>$RYlLVO{#f@rUi2{x|?XxQZfzmt(9N^+nHwfJdGBF^CM)|am+IwSnOKmRD9M;2}eSQ_$}Q zA$X23pnSy)<*Q2uZTlkq5_Bn95!4^YhF8pg442JOhAr5&-J*I~aYnSY&KBf%EGQuk zmcln*+rQU+MmBdCRlfUU;^3si0S&ya(cqSAjb%`tbGsikMr~R3h%2XO_gULJmb}6< zBD>#-;@4Q(xJ4%RPl)I4oBeM2NaZHmHF6dwpH*f!m|%2Q=F==2E&i{5~>o0 z!!oZpxIJ>!#%jme@Rq{&EWThLWvE-WG=M{zce>TKZeDJ=YVWFXViHb%7uA z-8m}wDZlWfCk|&l^uTFTabrz#=eZ5Vjh^a6xW&siS7VoX6E(T5o0YWwSDkeRGbwLVhRC$5Z3 zM~_I#+$*SMe#zEvMpHJ8(oYiG&pXo0Q&kDxoF#V~A{Azqy_bxgJ(Oow?C?LDG>8~z z9vS864rH5(91_R8^%KL8w5glQ=zWn%|BNJ^sfkv^}5es{b z!FTRgBj!9hSXq-bRNy$qPwvj;rYyb}a!QhZ@Rc#8a`UaI$9Wka*0Mhu_b$}!Ili^@ zMAVU(A9Mj%XnP)bv5UOStAb>68fe;4ao@~8D17-Hg6w?k_6^R(QTe#8b2%Dyd&!m| zf>wUYF!x2>oP^mUsaX+m^Od-}i|G$qRIk&2ws}G!J=vD<;Mr|2THKI>^qTLw+r826 zVZm-sW-mP~%?y8+^>js<)h*J+lNtZND>X+HJ?7e|i9;c$UxYTy zU9^e7;eXE$Nqy3l;WNAIz5n*+PJ%Y7RwT#j4uwym116nqYfwWj6))fRc%>gOaL-*B zZjp7#C^!Ak{bI*GH@2GaRthV0%Cm+|4QD#jl4EV(J&!iun$}kEh-A^1vulYAt*h;A zXH)rbau@!lqw6|@XQKyaG>vChldDE2CN1yp$oF-zx~7;+!yO3md%dvsW8k`3PA2S* z=RTqOvG=`x?&+ss!LKvEOhHpV7J}=#J}wA_p^k-KdGPf8nEoHe)76`yUK^_V8_2Zq Av;Y7A literal 0 HcmV?d00001 diff --git a/static/image/menu/RF05.png b/static/image/menu/RF05.png new file mode 100644 index 0000000000000000000000000000000000000000..4de6e93e4b48fb51315ce22a7555738508bc152b GIT binary patch literal 2286 zcmaJ@c~BE+77rrG?ZONqA`*kjCAkQMM1zJTAZkDXheH@`l7?g@2T3CVM6!UQ1Hz!p zSTg8D@Bq1yLqw$(4{$(fRslf+3xk>&t`SnMf{^Vn;_e^Ic2)QHy;tw|duP4s)BF5= zO^wzWp-?DOzg^5g!Sj!J$wndoPtE5?}$X4OS))BWM(A`wp2H;2Z%VbQBoF7t%0O%`F%-pG(7p zxU=zWF$3iBcO^-{pd|lbPSOz$g^StYh2AcsA_M{u0?;x+tWZjo(J+g=ROGHz<1pw& z6X*yH^Jh?@?0sm4NCKkWu^z4*f}1CrOu-V|DV{{qRx}Y$@WA0II0DHPPoUx{R6GIw z`N1IGB;06fAk*iwFGQkYcn~C};&2HG3D^WTtVj}rBTy(59G-|H5?v7sS81XU0%Wd2 zsr?cI6O?i!d@;lq3DH_cAW9Su(J)A)f2JT1f1wphKbHw97)}O=aRe-0o6?dYoBjVy z1%fZuQYaAoPrUz=SQ?xt262I)R1`1aAdQQ**SZo@84?hHM3P{UD0Zoe`*bQXy~V0qGs z3=)Op=0+s>Fc}n2(h`;_;=~I;A+&_$e!+U;m&IxaLLf#wGeHUeD9H7Zhy>`x#Hsw{ zV_`1K_ZiDwHWo5#Su73-2B&TBf3?>tMn{f5}Ts$kHs0aK?x8hW&ef*q5 zu}Q-!Q17n6K>o_jj>dH>4_&GDt}kQp&jO{EJV6>ix$)w?mb)?U{S)2}-u>6pxl2Q< z?-feBI-eHK^-EJ{w#6KGD*(gNTxHMJlG3B$Sd#*}8&CgmAdv#ky=Kec+?5xM=bw9oaVSnE4{EOWw+k4Lu=IW2@ z(r{xTKBg}N;PY*;`_YGb4cHq)Q91|p;2L>_k*XaiTRC8PG++uo0Tg;>qo+w~z~HSP z{E@8DPrS}Yl(NiuYFEK_cxCnV_J!+;nbujSt2bV-BT%%z zoPS#Krr7=_-belX8n(l^q4#pyyHnb<&(O=LFd)b9Q+`md&uGkuNw`S*E^VF^jFssLGmi(amiFsSM9Yfk5 zU!5Dh=j>R?!we8TV%X8-Ebkq?ve~5g`3oidc6!ApUC4s!QcI3<%H`-oHYA&ZaJJ$; zem7sHn`BB2Km4;!spzsP%z>3qO*DMfnx4F#I>~cWgh|x?X~EDVDmionDTbX z#)tN|Gd>(Mtn2OmW);ooiA`Iit-O~$wbP+hRW7pD{N~?LWRl8$M9j(748;vM?~rF} zIPk^`?+#^2&H$$pvDTX6w)n>%cAS~Ej=cHpWC=O*tl4b46^6D36_0 zjIf}8c7GS8c+Iiv-Jrf%PZQ|BsXDj87nk8dci)gJHLi=9KYw9hQ?BaVTK9ktqtsdW zUOUdsXJ3j96 zFO|QhsH)3b96udAGZ(z@EcRga@K|T0b7n$S$Mj!Il)mj1aEk{wtny?-sb^73`umPq zi{XaB@QvKPq59?n<|;E)a#IDsIrQe_l{2dBm9HOqP=BxR${D5mzLbt=PLI!APVrlj zaxA3rC`XvWk6j;mk{uUjFkqr|-rY55r<*u2xR+d%^F!jCvQo1Cq9)rY^1+*(u9&$J zX8-reNtw4#tkvz$*_p3Ld%R!6oINmImApqj@dj%|-||x-$u5N-biQXQZusZk9R9~= zP@TJX-|2C;p;n#bvMd`XD+wlK${?rD(F5cI+3ulu-|7j^dH?_b literal 0 HcmV?d00001 diff --git a/uni_modules/zxz-uni-data-select/changelog.md b/uni_modules/zxz-uni-data-select/changelog.md new file mode 100644 index 0000000..d832751 --- /dev/null +++ b/uni_modules/zxz-uni-data-select/changelog.md @@ -0,0 +1,35 @@ +## 1.0.12(2023-09-27) +修复搜索输入内容的时候下拉框的箭头会跑到文本框前面去 +优化当有选中项时不显示清除按钮 +## 1.0.11(2023-09-05) +更换change事件执行顺序 +修复多选更改值时未即时更改下拉框选项 +修复单选搜索框选中了 +修复多选筛选输入时点击其他未清空筛选值 +## 1.0.10(2023-08-29) +修复单选搜索回显问题 +## 1.0.9(2023-08-28) +更新文档 +## 1.0.8(2023-08-28) +更新文档 +## 1.0.7(2023-08-16) +修复组件禁用bug +修复数据回显问题 +添加多选搜索功能 +## 1.0.6(2023-08-05) +修复清空值多选下拉列表还是被选中bug +## 1.0.5(2023-07-10) +修复多选初始化异步数据不显示问题 +## 1.0.4(2023-07-07) +修复微信小程序多选显示兼容问题 +## 1.0.3(2023-07-06) +修复bug +多选情况下 初始化之后重新选择第一个不显示 +## 1.0.2(2023-07-06) +更新VUE3兼容 +## 1.0.1(2023-06-30) +添加多选合并功能 +## 1.0.0(2023-06-16) +添加下拉框检索,多选功能,自定义数据 +## 1.0.4(2023-06-16) + 添加下拉框检索,多选功能,自定义数据 diff --git a/uni_modules/zxz-uni-data-select/components/zxz-uni-data-select/zxz-uni-data-select.vue b/uni_modules/zxz-uni-data-select/components/zxz-uni-data-select/zxz-uni-data-select.vue new file mode 100644 index 0000000..490b09e --- /dev/null +++ b/uni_modules/zxz-uni-data-select/components/zxz-uni-data-select/zxz-uni-data-select.vue @@ -0,0 +1,759 @@ + + + + + \ No newline at end of file diff --git a/uni_modules/zxz-uni-data-select/package.json b/uni_modules/zxz-uni-data-select/package.json new file mode 100644 index 0000000..d73644b --- /dev/null +++ b/uni_modules/zxz-uni-data-select/package.json @@ -0,0 +1,85 @@ +{ + "id": "zxz-uni-data-select", + "displayName": "zxz-uni-data-select 下拉框选择器(添加下拉框检索,多选功能,多选搜索功能,自定义数据)", + "version": "1.0.12", + "description": "通过数据驱动的下拉框选择器(添加下拉框检索,多选功能,多选搜索功能,自定义数据)", + "keywords": [ + "uni-ui", + "select", + "uni-data-select", + "下拉框", + "下拉选" +], + "repository": "", + "engines": { + "HBuilderX": "^3.1.1" + }, + "directories": { + "example": "../../temps/example_temps" + }, +"dcloudext": { + "sale": { + "regular": { + "price": "0.00" + }, + "sourcecode": { + "price": "0.00" + } + }, + "contact": { + "qq": "" + }, + "declaration": { + "ads": "无", + "data": "无", + "permissions": "无" + }, + "npmurl": "", + "type": "component-vue" + }, + "uni_modules": { + "dependencies": ["uni-load-more"], + "encrypt": [], + "platforms": { + "cloud": { + "tcb": "y", + "aliyun": "y" + }, + "client": { + "App": { + "app-vue": "u", + "app-nvue": "u" + }, + "H5-mobile": { + "Safari": "y", + "Android Browser": "y", + "微信浏览器(Android)": "y", + "QQ浏览器(Android)": "y" + }, + "H5-pc": { + "Chrome": "y", + "IE": "y", + "Edge": "y", + "Firefox": "y", + "Safari": "y" + }, + "小程序": { + "微信": "y", + "阿里": "y", + "百度": "y", + "字节跳动": "y", + "QQ": "y", + "京东": "y" + }, + "快应用": { + "华为": "y", + "联盟": "y" + }, + "Vue": { + "vue2": "y", + "vue3": "y" + } + } + } + } +} diff --git a/uni_modules/zxz-uni-data-select/readme.md b/uni_modules/zxz-uni-data-select/readme.md new file mode 100644 index 0000000..45483ef --- /dev/null +++ b/uni_modules/zxz-uni-data-select/readme.md @@ -0,0 +1,26 @@ +## DataSelect 下拉框选择器 +> **组件名:zxz-uni-data-select** +> 代码块: `zxz-uni-data-select` + +当选项过多时,使用下拉菜单展示并选择内容 +## API + +### zxz-uni-data-select Props + +| 属性名 | 类型 | 默认值 | 说明 | +| - | - | - | - | +| v-model | String、Array、Number |- | 选中项绑定值 | +| multiple | Boolean | false | 是否多选 | +| disabled | Boolean |false | 是否禁用 | +| dataKey | String |"key" | 作为 key 唯一标识的键名 | +| dataValue | String | "value" | 作为 value 唯一标识的键名 | +| collapseTags | Boolean | false | 多选时是否将选中值按文字的形式展示| +|collapseTagsNum|Number | 1 | 多选时选中值按文字的形式展示的数量| +| localdata | Array |- | 下拉列表本地数据 | +|label | String | - | 左侧标题 +|placeholder | String | "请选择" | 输入框的提示文字 +|emptyTips | String |"无选项" | 无选项提示 +|clear | Boolean | true| 是否清空 +|format | String | - | 格式化输出 用法 field="_id as value, version as text, uni_platform as label" format="{label} - {text}" + +#### 如使用过程中有任何问题,或者您对组件有一些好的建议,欢迎加微weiyila520 diff --git a/utils/getData2.js b/utils/getData2.js index 146ce8f..2750cfa 100644 --- a/utils/getData2.js +++ b/utils/getData2.js @@ -21,117 +21,50 @@ export const handLogin = (user, password) => request({ } }) -// 菜单 -export const authority = () => { - let res = { - sonTree: [ - {menu_id: '1', imgsrc: 'RF01', name: '呼叫管理', path: '/pages/modules/callmanage'}, - {menu_id: '2', imgsrc: 'RF02', name: '指令管理', path: '/pages/modules/zlmanage'}, - {menu_id: '3', imgsrc: 'RF03', name: '任务管理', path: '/pages/modules/taskmanage'} - ] - } - return res -} - /** - * 站点管理 + * 点位管理 */ -// 1.1查询所有区域信息 +// 1.1查询区域 export const queryArea = () => request({ - url:'api/hand/queryArea', + url:'api/hand/region', data: {} }) // export const queryArea = () => { // let res = { -// result: [{region_code: '1', region_name: 'A1'}, {region_code: '2', region_name: 'A2'}, {region_code: '3', region_name: 'A2'}, {region_code: '4', region_name: 'A10'}] +// result: [{value: '1', label: 'A1'}, {value: '2', label: 'A2'}] // } // return res // } -// 1.2根据区域查询设备编号及状态 +// 1.2查询点位 export const queryPointByArea = (code) => request({ - url:'api/hand/queryPointByArea', + url:'api/hand/point', data: { - areaCode: code + region_code: code } }) // export const queryPointByArea = () => { // let res = { -// result: [{ -// device_code: '1', -// device_name: 'JLDFJLLJ' -// }, { -// device_code: '12', -// device_name: 'JLDFJLLJ' -// }, { -// device_code: '13', -// device_name: 'JLDFJLLJ' -// }, { -// device_code: '14', -// device_name: 'JLDFJLLJ' -// }, { -// device_code: '15', -// device_name: 'JLDFJLLJ' -// }, { -// device_code: '16', -// device_name: 'JLDFJLLJ' -// }, { -// device_code: '17', -// device_name: 'JLDFJLLJ' -// }] +// result: [{device_code: '1', device_name: 'JLDFJLLJ', status: '0', material_type: '1', qty: '10'}, {device_code: '2', device_name: 'JLDFJLLJ2'}] // } // return res // } - -/** - * 呼叫管理 - */ -// 1.1创建任务(确定起点) -export const callTask = (scodes, code) => request({ - url:'api/hand/callTask', +// 1.3查询物料 +export const handMaterial = () => request({ + url:'api/hand/material', + data: {} +}) +// export const handMaterial = () => { +// let res = { +// result: [{value: '1', label: 'a'}, {value: '2', label: 'b'}, {value: '3', label: 'abc'}] +// } +// return res +// } +// 1.4点位操作 +export const handPointOpt = (type, mtype, qty) => request({ + url:'api/hand/pointOpt', data: { - start_device_codes: scodes, - next_device_code: code - } -}) - -/** - * 指令管理 - */ -// 1.1查询未完成指令 -export const queryInstraction = (keyword, scode, ncode) => request({ - url:'api/hand/insts', - data: { - keyword: keyword, - start_devicecode: scode, - next_devicecode: ncode - } -}) -//1.2 指令操作 -export const instOperation = (uuid, type) => request({ - url:'api/hand/inst', - data: { - inst_uuid: uuid, - type: type - } -}) - -/** - * 任务管理 - */ -// 1.1 查询未完成指令 -export const queryTask = (keyword, scode, ncode) => request({ - url:'api/hand/tasks', - data: { - keyword: keyword, - start_devicecode: scode, - next_devicecode: ncode - } -}) -// 1.2 指令操作 -export const taskOperation = (uuid, type) => request({ - url:'api/hand/taskoperation', - data: { - inst_uuid: uuid, - type: type + type: type, + material_type: mtype, + qty: qty } })