Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in
Toggle navigation
M
mes-pad
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ximai
mes-pad
Commits
7cc15289
Commit
7cc15289
authored
Mar 18, 2024
by
张海景
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update:修改pdf打印方法
parent
1e7d8f9b
Expand all
Show whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
424 additions
and
381 deletions
+424
-381
http.api.js
common/http.api.js
+5
-3
index.vue
pages/index/index.vue
+269
-277
login.vue
pages/sys/login/login.vue
+7
-0
test.vue
pages/test/test.vue
+2
-25
$u.mixin.js
store/$u.mixin.js
+57
-0
index.js
store/index.js
+84
-76
No files found.
common/http.api.js
View file @
7cc15289
...
...
@@ -15,6 +15,10 @@ const install = (Vue, vm) => {
vm
.
$u
.
get
(
config
.
adminPath
+
'/mobile/index'
,
params
),
getUserInfo
:
(
params
=
{})
=>
vm
.
$u
.
get
(
config
.
adminPath
+
'/mobile/user/getUserInfo'
,
params
),
getUserPrintInfo
:
()
=>
vm
.
$u
.
get
(
config
.
adminPath
+
'/system/print/printer'
),
getPrintDown
:
(
params
)
=>
vm
.
$u
.
postJson
(
config
.
adminPath
+
'/common/printDown'
,
params
),
login
:
(
params
=
{})
=>
vm
.
$u
.
post
(
config
.
adminPath
+
'/mobile/login/loginByPassword'
,
params
),
sendCode
:
(
params
=
{})
=>
...
...
@@ -151,8 +155,6 @@ const install = (Vue, vm) => {
config
.
adminPath
+
'/mobile/pro/taskissue/getReserveIssueList'
,
params
),
//人员绑定打印机
getUserPrint
:(
params
=
{})
=>
vm
.
$u
.
get
(
config
.
adminPath
+
'/system/printerConfig/userList'
,
params
),
...
...
pages/index/index.vue
View file @
7cc15289
This diff is collapsed.
Click to expand it.
pages/sys/login/login.vue
View file @
7cc15289
...
...
@@ -83,6 +83,13 @@
this
.
$u
.
toast
(
res
.
msg
);
}
if
(
res
.
code
==
'200'
)
{
this
.
$u
.
api
.
getUserPrintInfo
().
then
(
res
=>
{
// console.log(res, 'res888')
if
(
res
.
code
===
200
)
{
this
.
$u
.
vuex
(
'vuex_printerHostUrl'
,
'http://'
+
res
.
data
.
printerIp
+
':'
+
res
.
data
.
printerPort
);
this
.
$u
.
vuex
(
'vuex_printerName'
,
res
.
data
.
printerName
);
}
})
setTimeout
(()
=>
{
uni
.
reLaunch
({
url
:
'/pages/index/index'
...
...
pages/test/test.vue
View file @
7cc15289
<
template
>
<view>
<u-button
@
click=
"exportPDF"
>
预览pdf
</u-button>
<u-button
@
click=
"
handlePrin
t"
>
打印pdf
</u-button>
<u-button
@
click=
"
printPdfSocke
t"
>
打印pdf
</u-button>
</view>
</
template
>
<
script
>
import
io
from
'@hyoga/uni-socket.io'
;
// import { SOCKET_IO_CLIENT, OPTIONS } from '@/uni_modules/bunny-socket-io-client';
import
uButton
from
'../../uview-ui/components/u-button/u-button.vue'
;
export
default
{
components
:
{
uButton
},
data
()
{
return
{
socket
:
{},
url
:
'http://192.168.3.91:8082/static/123.pdf'
};
},
created
()
{
this
.
socket
=
io
(
'http://192.168.21.104:17521'
,
{
transports
:
[
'websocket'
],
auth
:
{
token
:
'Bearer '
+
this
.
vuex_token
// 在此处填入你 client 设置的 token,缺省可留空
}
});
this
.
socket
.
on
(
'connect'
,
()
=>
{
globalThis
.
connect
=
true
;
console
.
log
(
'连接成功444'
);
// TODO: Do something for your project
});
this
.
socket
.
on
(
'clients'
,
(
clients
)
=>
{
globalThis
.
clients
=
clients
;
console
.
log
(
clients
,
'clients'
);
});
this
.
socket
.
on
(
'printerList'
,
(
printerList
)
=>
{
globalThis
.
printerList
=
printerList
;
console
.
log
(
printerList
,
'printerList'
);
});
},
methods
:
{
handlePrint
()
{
console
.
log
(
this
.
socket
,
'this.$socket'
);
...
...
store/$u.mixin.js
View file @
7cc15289
import
{
mapState
}
from
'vuex'
import
store
from
"@/store"
import
io
from
'@hyoga/uni-socket.io'
;
// 尝试将用户在根目录中的store/index.js的vuex的state变量,全部加载到全局变量中
let
$uStoreKey
=
[];
...
...
@@ -20,8 +21,64 @@ module.exports = {
})
}
},
data
()
{
return
{
pdfSocket
:
null
}
},
computed
:
{
// 将vuex的state中的所有变量,解构到全局混入的mixin中
...
mapState
(
$uStoreKey
)
},
methods
:
{
createSocket
()
{
this
.
pdfSocket
=
io
(
this
.
vuex_printerHostUrl
,
{
transports
:
[
'websocket'
],
auth
:
{
token
:
'Bearer '
+
this
.
vuex_token
,
// 在此处填入你 client 设置的 token,缺省可留空
},
});
this
.
pdfSocket
.
on
(
'connect'
,
()
=>
{
globalThis
.
connect
=
true
;
console
.
log
(
'连接成功444'
);
// TODO: Do something for your project
});
this
.
pdfSocket
.
on
(
'clients'
,
(
clients
)
=>
{
globalThis
.
clients
=
clients
;
console
.
log
(
clients
,
'clients'
);
});
this
.
pdfSocket
.
on
(
'printerList'
,
(
printerList
)
=>
{
globalThis
.
printerList
=
printerList
;
console
.
log
(
printerList
,
'printerList'
);
});
},
printPdfSocket
()
{
console
.
log
(
this
.
pdfSocket
,
'pdfSocket'
)
if
(
!
this
.
pdfSocket
)
{
this
.
createSocket
()
}
this
.
$u
.
api
.
getPrintDown
({
reportName
:
'mysql:qrcode-100*100'
,
values
:
{
detail
:
[
{
qrcode
:
'qqq'
,
},
],
},
})
.
then
((
res
)
=>
{
if
(
res
.
code
===
200
)
{
this
.
pdfSocket
.
emit
(
'news'
,
{
client
:
null
,
printer
:
this
.
vuex_printerName
,
type
:
'url_pdf'
,
// pdf_path: 'http://192.168.3.91:8082/static/123.pdf',
pdf_path
:
res
.
fileUrl
,
});
}
});
}
}
}
\ No newline at end of file
store/index.js
View file @
7cc15289
...
...
@@ -8,20 +8,22 @@ Vue.use(Vuex)
let
lifeData
=
{};
try
{
try
{
// 尝试获取本地是否存在lifeData变量,第一次启动APP时是不存在的
lifeData
=
uni
.
getStorageSync
(
'lifeData'
);
}
catch
(
e
)
{
}
catch
(
e
)
{
}
// 需要永久存储,且下次APP启动需要取出的,在state中的变量名
let
saveStateKeys
=
[
'vuex_user'
,
'vuex_token'
,
'vuex_remember'
,
'vuex_locale'
,
'vuex_isAgent'
,
'vuex_workstation'
,
'vuex_task'
];
let
saveStateKeys
=
[
'vuex_user'
,
'vuex_token'
,
'vuex_remember'
,
'vuex_locale'
,
'vuex_isAgent'
,
'vuex_workstation'
,
'vuex_task'
,
'vuex_printerHostUrl'
,
'vuex_printerName'
];
// 保存变量到本地存储中
const
saveLifeData
=
function
(
key
,
value
){
const
saveLifeData
=
function
(
key
,
value
)
{
// 判断变量名是否在需要存储的数组中
if
(
saveStateKeys
.
indexOf
(
key
)
!=
-
1
)
{
if
(
saveStateKeys
.
indexOf
(
key
)
!=
-
1
)
{
// 获取本地存储的lifeData对象,将变量添加到对象中
let
tmp
=
uni
.
getStorageSync
(
'lifeData'
);
// 第一次打开APP,不存在lifeData变量,故放一个{}空对象
...
...
@@ -36,7 +38,9 @@ const store = new Vuex.Store({
state
:
{
// 如果上面从本地获取的lifeData对象下有对应的属性,就赋值给state中对应的变量
// 加上vuex_前缀,是防止变量名冲突,也让人一目了然
vuex_user
:
lifeData
.
vuex_user
?
lifeData
.
vuex_user
:
{
userName
:
'Aidex'
},
vuex_user
:
lifeData
.
vuex_user
?
lifeData
.
vuex_user
:
{
userName
:
'Aidex'
},
vuex_token
:
lifeData
.
vuex_token
?
lifeData
.
vuex_token
:
''
,
vuex_remember
:
lifeData
.
vuex_remember
?
lifeData
.
vuex_remember
:
''
,
vuex_locale
:
lifeData
.
vuex_locale
?
lifeData
.
vuex_locale
:
''
,
...
...
@@ -49,6 +53,10 @@ const store = new Vuex.Store({
vuex_workunit
:
null
,
//当前工作站正在进行的生产任务
vuex_task
:
null
,
// 打印机服务器地址
vuex_printerHostUrl
:
lifeData
.
vuex_printerHostUrl
?
lifeData
.
vuex_printerHostUrl
:
''
,
// 打印机名称s
vuex_printerName
:
lifeData
.
vuex_printerName
?
lifeData
.
vuex_printerName
:
''
,
// 自定义tabbar数据
// vuex_tabbar: [{
...
...
@@ -78,9 +86,9 @@ const store = new Vuex.Store({
let
nameArr
=
payload
.
name
.
split
(
'.'
);
let
saveKey
=
''
;
let
len
=
nameArr
.
length
;
if
(
len
>=
2
)
{
if
(
len
>=
2
)
{
let
obj
=
state
[
nameArr
[
0
]];
for
(
let
i
=
1
;
i
<
len
-
1
;
i
++
)
{
for
(
let
i
=
1
;
i
<
len
-
1
;
i
++
)
{
obj
=
obj
[
nameArr
[
i
]];
}
obj
[
nameArr
[
len
-
1
]]
=
payload
.
value
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment