tijian_tieying/web/德城公众号(问卷小程序)/pages/inquiryList/inquiryList.js
2025-02-20 12:14:39 +08:00

454 lines
12 KiB
JavaScript
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

const recorderManager = wx.getRecorderManager()
const innerAudioContext = wx.createInnerAudioContext();
const options = {
duration: 540000,//指定录音的时长,单位 ms
sampleRate: 16000,//采样率
numberOfChannels: 1,//录音通道数
encodeBitRate: 24000,//编码码率
format: 'mp3',//音频格式,有效值 aac/mp3
frameSize: 50,//指定帧大小,单位 KB
}
Page({
data: {
id:"",
name:"",
date: new Date().toLocaleDateString(),
RecordPause:"开始录音",
num:1,
tempFilePath:[],
fileSize:"",
filePhth:[],
status: "",
personName:"",
toView:"a01",
topnum:{"e4":"","f1":"","f3":"","g8":"","g11":"","g13":"","h1":"","h8":"","h10":"","h11":"","h14":"","i1":"","j1":"","t3":"","t4":"","t5":""},
e4:"",
f1:"",
f3:"",
g8:"",
g11:"",
g13:"",
h1:"",
h8:"",
h10:"",
h11:"",
h14:"",
i1:"",
j1:"",
t3:"",
t4:"",
t5:"",
bianhao:"",
year:"",
month:"",
condition:false,
buttonClicked:false
},
scrollToViewFn: function (e) {
var _id = e.target.dataset.id;
this.setData({
toView:_id
})
console.log(this.data.toView)
},
//开始录音的时候
start: function () {
//点击后 变为暂停
if (this.data.status ==2){
if (this.data.num == 1) {
this.setData({
num: 2,
RecordPause: "暂停录音",
condition: false
})
//开始录音
recorderManager.start(options);
recorderManager.onStop((res) => {
this.data.tempFilePath.push(res.tempFilePath);
this.tempFilePath = res.tempFilePath;
console.log('停止录音', res.tempFilePath)
const { tempFilePath } = res
recorderManager.start(options);
console.log(this.data.tempFilePath)
});
//错误回调
recorderManager.onError((res) => {
console.log('停止录音', res.tempFilePath)
})
} else if (this.data.num == 2) { //点击后 变为继续
recorderManager.pause();
this.setData({
num: 3,
RecordPause: "继续录音"
})
} else if (this.data.num == 3) {
recorderManager.resume();
this.setData({
num: 2,
RecordPause: "暂停录音"
})
}
}
},
//停止录音
stop: function () {
recorderManager.stop();
recorderManager.onStop((res) => {
this.data.tempFilePath.push(res.tempFilePath);
this.tempFilePath = res.tempFilePath;
const { tempFilePath } = res;
console.log(this.data.tempFilePath);
this.setData({
num: 1,
RecordPause: "开始录音",
condition:true
})
})
},
onLoad: function (options) {
var that = this;
var queryBean = options.id;
var username = options.name;
var uname = options.username;
wx.request({
url: 'https://oa.dcqcdc.com/dccdc/Infection/getSheetId',//请求地址
data: {},
header: {//请求头
"Content-Type": "application/x-www-form-urlencoded"
},
method: "POST",//get为默认方法/POST
success: function (res) {
console.log(res.data);//res.data相当于ajax里面的data,为后台返回的数据
console.log(that.data)
that.setData({
bianhao: res.data
})
},
fail: function (err) { console.log(err) },//请求失败
complete: function () { }//请求完成后执行的函数
})
wx.createSelectorQuery().select('#e4').boundingClientRect(function (rect) {
that.setData({
e4:rect.top
})
}).exec();
wx.createSelectorQuery().select('#f1').boundingClientRect(function (rect) {
that.setData({
f1: rect.top
})
}).exec();
wx.createSelectorQuery().select('#f3').boundingClientRect(function (rect) {
that.setData({
f3: rect.top
})
}).exec();
wx.createSelectorQuery().select('#g8').boundingClientRect(function (rect) {
that.setData({
g8: rect.top
})
}).exec();
wx.createSelectorQuery().select('#g13').boundingClientRect(function (rect) {
that.setData({
g13: rect.top
})
}).exec();
wx.createSelectorQuery().select('#h1').boundingClientRect(function (rect) {
that.setData({
h1: rect.top
})
}).exec();
wx.createSelectorQuery().select('#h8').boundingClientRect(function (rect) {
that.setData({
h8: rect.top
})
}).exec();
wx.createSelectorQuery().select('#h10').boundingClientRect(function (rect) {
that.setData({
h10: rect.top
})
}).exec();
wx.createSelectorQuery().select('#h11').boundingClientRect(function (rect) {
that.setData({
h11: rect.top
})
}).exec();
wx.createSelectorQuery().select('#h14').boundingClientRect(function (rect) {
that.setData({
h14: rect.top
})
}).exec();
wx.createSelectorQuery().select('#i1').boundingClientRect(function (rect) {
that.setData({
i1: rect.top
})
}).exec();
wx.createSelectorQuery().select('#j1').boundingClientRect(function (rect) {
that.setData({
j1: rect.top
})
}).exec();
wx.createSelectorQuery().select('#t3').boundingClientRect(function (rect) {
that.setData({
t3: rect.top
})
}).exec();
wx.createSelectorQuery().select('#t4').boundingClientRect(function (rect) {
that.setData({
t4: rect.top
})
}).exec();
wx.createSelectorQuery().select('#t5').boundingClientRect(function (rect) {
that.setData({
t5: rect.top
})
}).exec();
that.setData({
id: queryBean,
name:username,
personName:uname
})
recorderManager.start(options);
if (that.data.num == 1) {
that.setData({
num: 2,
RecordPause: "暂停录音",
condition: false
})
}
wx.authorize({
scope: 'scope.record',
success() {
console.log("录音授权成功");
that.setData({
status: 2,
})
// 用户已经同意小程序使用录音功能,后续调用 wx.startRecord 接口不会弹窗询问
// wx.startRecord();
},
fail() {
console.log("第一次录音授权失败");
wx.showModal({
title: '提示',
content: '您未授权录音,功能将无法使用',
showCancel: true,
confirmText: "授权",
confirmColor: "#52a2d8",
success: function (res) {
if (res.confirm) {
//确认则打开设置页面(重点)
wx.openSetting({
success: (res) => {
console.log(res.authSetting);
if (!res.authSetting['scope.record']) {
//未设置录音授权
console.log("未设置录音授权");
wx.showModal({
title: '提示',
content: '您未授权录音,功能将无法使用',
showCancel: false,
success: function (res) {
},
})
} else {
//第二次才成功授权
console.log("设置录音授权成功");
that.setData({
status: 2,
})
// recorderManager.start(options);
}
},
fail: function () {
console.log("授权设置录音失败");
}
})
} else if (res.cancel) {
console.log("cancel");
}
},
fail: function () {
console.log("openfail");
}
})
}
})
},
bindDateChange:function(e){
var that = this;
that.setData({
date:e.detail.value
})
},
formSubmit: function (e) {//定义函数名称
var that = this;
console.log(that.data.id)
that.setData({
buttonClicked: true
})
var dataList = e.detail.value;
for (var i in dataList){
if (i == "A03") {
var list = dataList[i];
dataList[i] = list.replace("-", "/").replace("-", "/");
console.log(dataList[i])
}
if (Array.isArray(dataList[i])){
var list ="";
for (var n = 0; n < dataList[i].length;n++){
if(n == dataList[i].length-1){
list += dataList[i][n];
}else{
list += dataList[i][n] + ";";
}
}
dataList[i] = list;
}
}
var dataLists = JSON.stringify(dataList);
console.log(dataLists)
var filePath = this.data.tempFilePath;
for (var a in filePath){
console.log(1+a);
wx.uploadFile({
url: "https://oa.dcqcdc.com/dccdc/Infection/SaveData_QuestionAnswer",//演示域名、自行配置
filePath: filePath[a],
name: 'file',
header: {
"Content-Type": "multipart/form-data"
},
formData:
{
id: that.data.id ,//附加信息为用户ID
username: that.data.name
},
success: function (res) {
console.log(res)
wx.showToast({
title: '上传成功',
icon: 'success',
duration: 2000
})
},
fail: function (res) {
wx.showToast({
title: '上传失败',
icon: 'success',
duration: 2000
})
},
complete: function (res) {
}
})
}
console.log(that.data.id)
wx.request({
url: 'https://oa.dcqcdc.com/dccdc/Infection/SaveData_QuestionAnswer',//请求地址
data: {
id: that.data.id,
json: dataLists,
username:that.data.name
},
header: {//请求头
"Content-Type": "application/x-www-form-urlencoded"
},
method: "POST",//get为默认方法/POST
success: function (res) {
console.log(res)
if (res.data == "保存成功!"){
wx.showToast({
title: '上传成功',
icon: 'success',
duration: 2000,
success:function(res){
setTimeout(function () {
that.setData({
buttonClicked: false
})
}, 500)
}
})
wx.navigateTo({
url: '../inquiry/inquiry?name=' + that.data.name,
success: function (res) {
},
fail: function (res) {
},
complete: function (res) {
},
})
}
},
fail: function (err) { console.log(err) },//请求失败
complete: function () { }//请求完成后执行的函数
})
},
close: function () {
var that = this;
that.stop();
wx.navigateTo({
url: '../inquiry/inquiry?name='+that.data.name,
success: function (res) {
},
fail: function (res) {
},
complete: function (res) {
},
})
},
goTop: function (e) { // 锚点
if (wx.pageScrollTo) {
wx.pageScrollTo({
scrollTop: e.currentTarget.dataset.topnum
})
} else {
wx.showModal({
title: '提示',
content: '当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。'
})
}
},
upMonth:function(e){
var that = this;
that.setData({
month: e.detail.value
})
},
upYear: function (e) {
var that = this;
that.setData({
year: e.detail.value
})
}  
})