|
|
@@ -3,18 +3,19 @@
|
|
|
<el-form validate-on-rule-change :rules="rules" ref="form" :model="form" label-width="140px">
|
|
|
<el-form-item label="小程序" prop="appId">
|
|
|
<el-select v-model="form.appId" placeholder="小程序" clearable>
|
|
|
- <el-option v-for="dict in sourceList" :key="dict.dictValue1" :label="dict.dictLabel" :value="dict.dictValue1" />
|
|
|
+ <el-option v-for="dict in sourceList" :key="dict.dictValue1" :label="dict.dictLabel"
|
|
|
+ :value="dict.dictValue1" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="信息模板" prop="questionId">
|
|
|
<el-select @change="selectQuestion" v-model="form.questionId" placeholder="请选择问答">
|
|
|
<el-option v-for="dict in questionOptions" :key="dict.dictValue" :label="dict.dictLabel"
|
|
|
- :value="parseInt(dict.dictValue)" />
|
|
|
+ :value="parseInt(dict.dictValue)" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
|
|
|
<!-- 动态渲染问题区域 -->
|
|
|
- <div v-if="form.answers && form.answers.length > 0">
|
|
|
+ <!-- <div v-if="form.answers && form.answers.length > 0">
|
|
|
<div style="margin-bottom: 20px;margin-top: 20px;" v-for="(answer, index) in form.answers" :key="index">
|
|
|
<div style="margin-bottom: 20px;margin-top: 20px;">
|
|
|
<span style="font-size: 15px;font-weight: bold; margin-left: 31px">{{ answer.title }}</span>
|
|
|
@@ -30,8 +31,30 @@
|
|
|
</el-checkbox-group>
|
|
|
</div>
|
|
|
</div>
|
|
|
+ </div> -->
|
|
|
+
|
|
|
+ <!-- 动态渲染问题区域 -->
|
|
|
+ <div v-if="form.answers && form.answers.length > 0">
|
|
|
+ <div style="margin-bottom: 20px;margin-top: 20px;" v-for="(answer, index) in form.answers" :key="index">
|
|
|
+ <div style="margin-bottom: 20px;margin-top: 20px;">
|
|
|
+ <span style="font-size: 15px;font-weight: bold; margin-left: 31px">{{ answer.title }}</span>
|
|
|
+ </div>
|
|
|
+ <div style="margin-left: 31px;">
|
|
|
+ <el-checkbox-group v-model="answer.value" size="mini" :disabled="!canEditAnswers">
|
|
|
+ <div v-for="option in answer.options" :key="option.value" style="margin-bottom: 10px;">
|
|
|
+ <el-checkbox :label="option.value">
|
|
|
+ {{ option.name }}
|
|
|
+ </el-checkbox>
|
|
|
+ <el-input v-if="option.open === true" v-model="option.inputValue" size="mini"
|
|
|
+ :placeholder="option.placeholder || '请输入'" style="width: 200px; margin-left: 10px;"
|
|
|
+ :disabled="!canEditAnswers" @click.stop />
|
|
|
+ </div>
|
|
|
+ </el-checkbox-group>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
|
|
|
+
|
|
|
<el-form-item label="用户姓名" prop="userName">
|
|
|
<el-input v-model="form.userName" placeholder="请输入用户姓名"></el-input>
|
|
|
</el-form-item>
|
|
|
@@ -45,7 +68,7 @@
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="年龄" prop="age">
|
|
|
- <el-input-number v-model="form.age" placeholder="请输入年龄" style="width: 20%"/>
|
|
|
+ <el-input-number v-model="form.age" placeholder="请输入年龄" style="width: 20%" />
|
|
|
</el-form-item>
|
|
|
|
|
|
<el-form-item label="过敏情况" prop="allergy">
|
|
|
@@ -65,7 +88,7 @@
|
|
|
<el-form-item v-if="form.isPackage == 1" label="产品疗法" prop="packageId">
|
|
|
<el-select filterable v-model="form.packageId" placeholder="请选择产品疗法">
|
|
|
<el-option v-for="dict in privatePackageOptions" :key="dict.dictValue" :label="dict.dictLabel"
|
|
|
- :value="parseInt(dict.dictValue)" />
|
|
|
+ :value="parseInt(dict.dictValue)" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item v-if="form.packageId && form.isPackage && form.isPackage == 1" label="支付类型" prop="payType">
|
|
|
@@ -74,8 +97,8 @@
|
|
|
<el-radio :label="2">物流代收</el-radio>
|
|
|
</el-radio-group>
|
|
|
</el-form-item>
|
|
|
- <el-form-item v-if="form.packageId && form.payType == 2 && form.isPackage && form.isPackage == 1"
|
|
|
- label="预付金额" prop="amount">
|
|
|
+ <el-form-item v-if="form.packageId && form.payType == 2 && form.isPackage && form.isPackage == 1" label="预付金额"
|
|
|
+ prop="amount">
|
|
|
<el-input v-model="form.amount" placeholder="请输入物流代收金额" type="number" />
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
@@ -84,7 +107,7 @@
|
|
|
</div>
|
|
|
|
|
|
<el-dialog :title="collectionForm.title" v-if="collectionForm.open" :visible.sync="collectionForm.open"
|
|
|
- width="450px" append-to-body>
|
|
|
+ width="450px" append-to-body>
|
|
|
<div style="padding-bottom:15px;">
|
|
|
<img :src="codeImage" width="400px">
|
|
|
</div>
|
|
|
@@ -99,7 +122,7 @@
|
|
|
import { questionOptions, getAnswer } from "@/api/hisStore/answer";
|
|
|
import { allPrivatePackage } from "@/api/store/package";
|
|
|
import { options } from "@/api/course/coursePlaySourceConfig";
|
|
|
-import { getInfo, addCollection, updateCollection, getWxaCodeCollectionUnLimit,getSalesHasCollectionPermission } from "@/api/hisStore/collection";
|
|
|
+import { getInfo, addCollection, updateCollection, getWxaCodeCollectionUnLimit, getSalesHasCollectionPermission } from "@/api/hisStore/collection";
|
|
|
|
|
|
export default {
|
|
|
name: "collection",
|
|
|
@@ -129,7 +152,7 @@ export default {
|
|
|
originalAnswers: null, // 保存原始 answers 数据
|
|
|
isAnswersModified: 0, // 0-未修改, 1-已修改
|
|
|
isSalesProxyFill: true, // 控制问题是否可编辑
|
|
|
- sourceList:[],
|
|
|
+ sourceList: [],
|
|
|
extraParams: {
|
|
|
companyId: null,
|
|
|
companyUserId: null
|
|
|
@@ -220,7 +243,7 @@ export default {
|
|
|
return this.isSalesProxyFill === true;
|
|
|
}
|
|
|
},
|
|
|
-// 监听 answers 的变化
|
|
|
+ // 监听 answers 的变化
|
|
|
watch: {
|
|
|
'form.answers': {
|
|
|
handler(newVal) {
|
|
|
@@ -265,7 +288,7 @@ export default {
|
|
|
link.click();
|
|
|
document.body.removeChild(link);
|
|
|
},
|
|
|
- handleShare(id,appId) {
|
|
|
+ handleShare(id, appId) {
|
|
|
let loadingRock = this.$loading({
|
|
|
lock: true,
|
|
|
text: '生成二维码中~~请不要刷新页面!!',
|
|
|
@@ -273,7 +296,7 @@ export default {
|
|
|
background: 'rgba(0, 0, 0, 0.7)'
|
|
|
});
|
|
|
|
|
|
- getWxaCodeCollectionUnLimit(id,appId).then(response => {
|
|
|
+ getWxaCodeCollectionUnLimit(id, appId).then(response => {
|
|
|
this.codeImage = response.url
|
|
|
this.collectionForm.open = true;
|
|
|
this.collectionForm.name = id;
|
|
|
@@ -375,8 +398,8 @@ export default {
|
|
|
if (origAnswer.value.length !== currAnswer.value.length) return false;
|
|
|
|
|
|
// 排序后比较(因为顺序可能不影响业务逻辑)
|
|
|
- const sortedOrig = [...origAnswer.value].sort((a,b) => a-b);
|
|
|
- const sortedCurr = [...currAnswer.value].sort((a,b) => a-b);
|
|
|
+ const sortedOrig = [...origAnswer.value].sort((a, b) => a - b);
|
|
|
+ const sortedCurr = [...currAnswer.value].sort((a, b) => a - b);
|
|
|
|
|
|
for (let j = 0; j < sortedOrig.length; j++) {
|
|
|
if (sortedOrig[j] !== sortedCurr[j]) return false;
|
|
|
@@ -454,7 +477,7 @@ export default {
|
|
|
this.open = false;
|
|
|
this.$parent.$parent.closeCollection();
|
|
|
this.$refs['form'].resetFields();
|
|
|
- this.handleShare(res.data,appId);
|
|
|
+ this.handleShare(res.data, appId);
|
|
|
});
|
|
|
} else {
|
|
|
addCollection(submitData).then(res => {
|
|
|
@@ -462,7 +485,7 @@ export default {
|
|
|
this.open = false;
|
|
|
this.$parent.$parent.closeCollection();
|
|
|
this.$refs['form'].resetFields();
|
|
|
- this.handleShare(res.data,appId);
|
|
|
+ this.handleShare(res.data, appId);
|
|
|
});
|
|
|
}
|
|
|
}
|