|
@@ -17,11 +17,11 @@
|
|
|
<van-field label="问题状态" @click="onChange('probStatus')" v-model="form.probStatusName" readonly input-align="right" :is-link="id ? false : true" placeholder="请选择" />
|
|
|
</van-cell-group>
|
|
|
|
|
|
- <van-cell-group v-if="form.purpose!='考勤申诉'">
|
|
|
+ <van-cell-group v-if="form.purpose != '考勤申诉'">
|
|
|
<div class="dot"></div>
|
|
|
<van-field label="当前学生情况" class="textarea" :readonly="id ? true : false" v-model="form.overview" rows="2" autosize type="textarea" maxlength="400" placeholder="请输入留言" :show-word-limit="id ? false : true" />
|
|
|
</van-cell-group>
|
|
|
- <van-cell-group v-if="!form.feedbackTypeDescName || form.feedbackTypeDescName=='其他'">
|
|
|
+ <van-cell-group v-if="!form.feedbackTypeDescName || form.feedbackTypeDescName == '其他'">
|
|
|
<div class="dot"></div>
|
|
|
<van-field label="沟通后家长反馈" class="textarea" :readonly="id ? true : false" v-model="form.feedback" rows="2" autosize type="textarea" maxlength="400" placeholder="请输入留言" :show-word-limit="id ? false : true" />
|
|
|
</van-cell-group>
|
|
@@ -94,6 +94,7 @@ import MHeader from "@/components/MHeader";
|
|
|
import { browser } from "@/common/common";
|
|
|
import MEmpty from "@/components/MEmpty";
|
|
|
import dayjs from "dayjs";
|
|
|
+import { getUploadSign, onOnlyFileUpload } from "@/helpers/oss-file-upload";
|
|
|
import { queryStudentsWithTeacher, visitAdd, visitGetInfo, queryUserById } from "@/api/teacher";
|
|
|
import { queryUserInfo } from "@/api/app";
|
|
|
import { policy } from "@/views/massMessage/api";
|
|
@@ -116,7 +117,7 @@ export default {
|
|
|
inside: query.inside || 0,
|
|
|
visitFlag: Number(query.visitFlag) || 0,
|
|
|
uploader: [],
|
|
|
- isAttError:false,
|
|
|
+ isAttError: false,
|
|
|
dataForm: {
|
|
|
// 时间下拉框
|
|
|
status: false,
|
|
@@ -150,9 +151,8 @@ export default {
|
|
|
feedbackTypeDesc: "",
|
|
|
feedbackType: "",
|
|
|
probStatus: 0,
|
|
|
- probStatusName:'待跟进',
|
|
|
- objectId:''
|
|
|
-
|
|
|
+ probStatusName: "待跟进",
|
|
|
+ objectId: "",
|
|
|
},
|
|
|
loading: false,
|
|
|
finished: false,
|
|
@@ -184,9 +184,13 @@ export default {
|
|
|
{ name: "沉睡", value: "SLEEPY" },
|
|
|
{ name: "流失", value: "LOST" },
|
|
|
{ name: "假期上课", value: "HOLIDAY_COURSE" },
|
|
|
-
|
|
|
],
|
|
|
- feedbackTypeDescList: [{ name: "生病", value: "SICK" }, { name: "有事", value: "SOMETHING" }, { name: "不想参加", value: "NO_PARTICIPATE" }, { name: "其他", value: "OTHER" }],
|
|
|
+ feedbackTypeDescList: [
|
|
|
+ { name: "生病", value: "SICK" },
|
|
|
+ { name: "有事", value: "SOMETHING" },
|
|
|
+ { name: "不想参加", value: "NO_PARTICIPATE" },
|
|
|
+ { name: "其他", value: "OTHER" },
|
|
|
+ ],
|
|
|
probStatusList: [
|
|
|
{ name: "已解决", value: 1 },
|
|
|
{ name: "待跟进", value: 0 },
|
|
@@ -202,15 +206,14 @@ export default {
|
|
|
if (browser().android || browser().iPhone) {
|
|
|
this.statusList.headerStatus = false;
|
|
|
}
|
|
|
- if(params.isAttError){
|
|
|
-
|
|
|
- this.isAttError = params.isAttError
|
|
|
- this.studentName= params.info.username || null;
|
|
|
+ if (params.isAttError) {
|
|
|
+ this.isAttError = params.isAttError;
|
|
|
+ this.studentName = params.info.username || null;
|
|
|
// studentPhone: params.phone || null,
|
|
|
this.form.studentId = params.info.userId || null;
|
|
|
- this.form.type = params.info.type
|
|
|
- this.form.purpose = params.info.purpose
|
|
|
- this.form.objectId = params.info.objectId
|
|
|
+ this.form.type = params.info.type;
|
|
|
+ this.form.purpose = params.info.purpose;
|
|
|
+ this.form.objectId = params.info.objectId;
|
|
|
}
|
|
|
document.title = this.name || "新增回访记录";
|
|
|
this.__init();
|
|
@@ -257,7 +260,6 @@ export default {
|
|
|
form.feedbackTypeDescName = "";
|
|
|
this.feedbackTypeDescList.forEach((item) => {
|
|
|
if (item.value == form.feedbackTypeDesc) {
|
|
|
-
|
|
|
form.feedbackTypeDescName = item.name;
|
|
|
}
|
|
|
});
|
|
@@ -305,7 +307,7 @@ export default {
|
|
|
} else if (!form.purpose) {
|
|
|
this.$toast("请选择回访目的");
|
|
|
return;
|
|
|
- } else if (!form.visitTime) {
|
|
|
+ } else if (!form.visitTime) {
|
|
|
this.$toast("请选择回访时间");
|
|
|
return;
|
|
|
} else if (!form.feedbackType && form.type == "小课回访") {
|
|
@@ -314,12 +316,12 @@ export default {
|
|
|
} else if (!form.feedbackTypeDesc && form.purpose == "考勤申诉") {
|
|
|
this.$toast("请选择家长反馈");
|
|
|
return;
|
|
|
- } else if (!(form.probStatus+'')) {
|
|
|
+ } else if (!(form.probStatus + "")) {
|
|
|
this.$toast("请选择问题状态");
|
|
|
return;
|
|
|
- }else if(!form.feedback&&form.feedbackTypeDesc=='OTHER'){
|
|
|
+ } else if (!form.feedback && form.feedbackTypeDesc == "OTHER") {
|
|
|
this.$toast("请填写家长反馈");
|
|
|
- return
|
|
|
+ return;
|
|
|
}
|
|
|
if (this.clickStatus) {
|
|
|
return;
|
|
@@ -335,7 +337,7 @@ export default {
|
|
|
let params = {
|
|
|
...form,
|
|
|
visitTime,
|
|
|
-
|
|
|
+
|
|
|
attachments: attachmentsList.join(","),
|
|
|
};
|
|
|
// 待回访时要传的参数
|
|
@@ -350,8 +352,8 @@ export default {
|
|
|
setTimeout(() => {
|
|
|
if (this.inside) {
|
|
|
this.onAppBack();
|
|
|
- }else if(this.isAttError){
|
|
|
- this.$router.back()
|
|
|
+ } else if (this.isAttError) {
|
|
|
+ this.$router.back();
|
|
|
} else if (this.userId) {
|
|
|
let { visitFlag, ...query } = this.$route.query;
|
|
|
visitFlag = 0;
|
|
@@ -402,15 +404,14 @@ export default {
|
|
|
if ((this.userId || this.beforeId) && type != "probStatus") {
|
|
|
return;
|
|
|
}
|
|
|
- if(this.isAttError && (type=='type' || type=='purpose')){
|
|
|
- return
|
|
|
+ if (this.isAttError && (type == "type" || type == "purpose")) {
|
|
|
+ return;
|
|
|
}
|
|
|
let visit = this.visit;
|
|
|
let form = this.form;
|
|
|
if (type == "type") {
|
|
|
visit.data = this.typeList;
|
|
|
} else if (type == "purpose") {
|
|
|
-
|
|
|
if (form.type == "其它") {
|
|
|
visit.data = [{ name: "其它" }, { name: "会员续费" }];
|
|
|
} else if (form.type == "课程推荐") {
|
|
@@ -511,7 +512,7 @@ export default {
|
|
|
} else if (visit.type == "feedbackTypeDesc") {
|
|
|
form.feedbackTypeDescName = value.name;
|
|
|
form.feedbackTypeDesc = value.value;
|
|
|
- form.feedback = ''
|
|
|
+ form.feedback = "";
|
|
|
} else if (visit.type == "probStatus") {
|
|
|
form.probStatus = value.value;
|
|
|
form.probStatusName = value.name;
|
|
@@ -571,29 +572,39 @@ export default {
|
|
|
unknowValueField: [],
|
|
|
},
|
|
|
};
|
|
|
-
|
|
|
- const res = await policy(objTemp);
|
|
|
+ const res = await getUploadSign(objTemp);
|
|
|
const obj = {
|
|
|
policy: res.data.policy,
|
|
|
signature: res.data.signature,
|
|
|
key: key,
|
|
|
KSSAccessKeyId: res.data.kssAccessKeyId,
|
|
|
acl: "public-read",
|
|
|
- name: fileName,
|
|
|
+ name: key,
|
|
|
+ file: file.file,
|
|
|
};
|
|
|
+ const uploadUrl = await onOnlyFileUpload(this.ossUploadUrl, obj);
|
|
|
+ // const res = await policy(objTemp);
|
|
|
+ // const obj = {
|
|
|
+ // policy: res.data.policy,
|
|
|
+ // signature: res.data.signature,
|
|
|
+ // key: key,
|
|
|
+ // KSSAccessKeyId: res.data.kssAccessKeyId,
|
|
|
+ // acl: "public-read",
|
|
|
+ // name: fileName,
|
|
|
+ // };
|
|
|
|
|
|
- let formData = new FormData();
|
|
|
- for (let key in obj) {
|
|
|
- formData.append(key, obj[key]);
|
|
|
- }
|
|
|
- formData.append("file", file.file);
|
|
|
- // console.log(formData);
|
|
|
- await axios({
|
|
|
- method: "post",
|
|
|
- url: this.ossUploadUrl,
|
|
|
- data: formData,
|
|
|
- });
|
|
|
- const uploadUrl = this.ossUploadUrl + "/" + key;
|
|
|
+ // let formData = new FormData();
|
|
|
+ // for (let key in obj) {
|
|
|
+ // formData.append(key, obj[key]);
|
|
|
+ // }
|
|
|
+ // formData.append("file", file.file);
|
|
|
+ // // console.log(formData);
|
|
|
+ // await axios({
|
|
|
+ // method: "post",
|
|
|
+ // url: this.ossUploadUrl,
|
|
|
+ // data: formData,
|
|
|
+ // });
|
|
|
+ // const uploadUrl = this.ossUploadUrl + "/" + key;
|
|
|
file.url = uploadUrl;
|
|
|
file.status = "done";
|
|
|
} catch (e) {
|