Просмотр исходного кода

1.【新增】增加抽奖代码

15972193017@163.com 1 год назад
Родитель
Сommit
7b7d0ecd65

+ 34 - 0
src/api/dw-sugar.js

@@ -0,0 +1,34 @@
+import request from '@/utils/request'
+import API from '@/api/index.js'
+
+/**
+ * 获取问卷信息
+ * @param surveyId
+ * @returns {*}
+ */
+export function dwSurveySugarItems (param) {
+  const params = {
+    group: param
+  }
+  return request({
+    url: API.surveySugarItems,
+    method: 'get',
+    params
+  })
+}
+/**
+ * 创建问卷
+ * @param data
+ * @returns {*}
+ */
+export function dwSurveySugarItemsSave (items, group) {
+  const data = {
+    itemsStr: JSON.stringify(items),
+    group: group
+  }
+  return request({
+    url: API.surveySugarItemsSave,
+    method: 'post',
+    data
+  })
+}

+ 3 - 1
src/api/index.js

@@ -21,5 +21,7 @@ export default {
   adminUserUpdate: `/api/dwsurvey/admin/user/edit.do`,
   adminUserDelete: `/api/dwsurvey/admin/user/delete.do`,
   curUserInfo: `/api/dwsurvey/app/user/currentUser.do`,
-  curUserPwdUpdate: `/api/dwsurvey/app/user/up-pwd.do`
+  curUserPwdUpdate: `/api/dwsurvey/app/user/up-pwd.do`,
+  surveySugarItems: `/api/dwsurvey/app/sugar/item/find.do`,
+  surveySugarItemsSave: `/api/dwsurvey/app/sugar/item/save.do`
 }

+ 1 - 4
src/components/common/DwSurveyDcsWrapper.vue

@@ -33,7 +33,7 @@
                   <router-link :to="`${prevPath}/survey/d/chart/${survey.id}`" :class="{ 'dw-link-primary' : isSurveyChart || isAnswerData }" class="dw-link dw-link-1" ><i class="el-icon-s-data"></i>问卷数据</router-link>
                 </el-col>
                 <el-col :span="3">
-                  <router-link :to="`${prevPath}/survey/s/group/${survey.id}`" :class="{ 'dw-link-primary' : isSugarGroup || isSugarItem}" class="dw-link dw-link-1" ><i class="el-icon-sugar"></i>抽奖设置</router-link>
+                  <router-link :to="`${prevPath}/survey/s/item/${survey.id}`" :class="{ 'dw-link-primary' : isSugarGroup || isSugarItem}" class="dw-link dw-link-1" ><i class="el-icon-sugar"></i>抽奖设置</router-link>
                 </el-col>
                 <el-col :span="15" style="text-align: right;">
                   <el-button type="primary" size="small" @click="buttonClickA(`/static/diaowen/design.html?surveyId=${survey.id}`)" >问卷设计</el-button>
@@ -67,9 +67,6 @@
                 <el-col :span="3"></el-col>
               </el-row>
               <el-row v-show="isSugarGroup || isSugarItem">
-                <el-col :span="3">
-                  <router-link :to="`${prevPath}/survey/s/group/${survey.id}`" :class="{ 'dw-link-primary' : isSugarGroup}" class="dw-link" ><i class="el-icon-discount"></i>抽奖方案</router-link>
-                </el-col>
                 <el-col :span="3">
                   <router-link :to="`${prevPath}/survey/s/item/${survey.id}`" :class="{ 'dw-link-primary' : isSugarItem}" class="dw-link" ><i class="el-icon-receiving"></i>抽奖设置</router-link>
                 </el-col>

+ 1 - 1
src/views/dw-survey/dw-sugar/DwSugarGroup.vue

@@ -4,7 +4,7 @@
       <template v-slot:dw-dcs-main-slot >
         <div>
           <div class="dw-dcs-main-title">
-            <h4>问卷属性设置</h4>
+            <h4></h4>
             <div class="dw-dcs-main-p">配置问卷答卷时的收集规则</div>
           </div>
           <div class="dw-dcs-main-content">

+ 106 - 3
src/views/dw-survey/dw-sugar/DwSugarItem.vue

@@ -1,8 +1,40 @@
 <template>
   <div>
-    <dw-survey-dcs-wrapper :id="id" is-sugar-item="true" >
-      <template v-slot:dw-dcs-main-slot="{survey}" >
-        <dw-survey-sugar-main v-if="survey" :survey="survey"></dw-survey-sugar-main>
+    <dw-survey-dcs-wrapper is-sugar-item="true" >
+      <template v-slot:dw-dcs-main-slot >
+        <div>
+          <div class="dw-dcs-main-title">
+            <h4>奖品配置</h4>
+            <div class="dw-dcs-main-p">配置奖品</div>
+          </div>
+          <div class="dw-dcs-main-content">
+            <div style="padding: 0px 30px;">
+              <el-form>
+                <el-row>
+                  <el-col :span="16">
+                    <h5>奖品条目<span style="color: red;">(总概率数不要超过100%)</span><span></span></h5>
+                    <div style="padding-left: 10px;">
+                      <el-form-item v-for="(item, index) in survey.sugarItems" :key="index">
+                        <el-input v-model="item.name" placeholder="奖品名称" style="width: 160px;"></el-input>
+                        <el-input v-model="item.alias" placeholder="奖品别名" style="width: 160px;"></el-input>
+                        <el-input v-model="item.pr" placeholder="中奖概率" style="width: 100px;" @change="computePr(item.pr, $event)"></el-input>%
+                        <el-input v-model="item.sort" placeholder="序号" style="width: 100px;"></el-input>
+                        <el-input v-model="item.img" placeholder="图片地址" style="width: 260px;"></el-input>
+                        <el-button plain icon="el-icon-delete" type="danger" @click="removeSugarItem(index)">删除</el-button>
+                      </el-form-item>
+                    </div>
+                  </el-col>
+                </el-row>
+                <el-form-item>
+                  <el-button type="primary" @click="addSugarItem"> 增加奖品条目 </el-button>
+                  <el-button type="primary" @click="onSubmit"> 保存修改 </el-button>
+                  <el-button @click="initSugarItems">取消</el-button>
+                  <el-button type="primary" @click="findRouletteIndex"> 查看网址 </el-button>
+                </el-form-item>
+              </el-form>
+            </div>
+          </div>
+        </div>
       </template>
     </dw-survey-dcs-wrapper>
   </div>
@@ -10,12 +42,83 @@
 <script>
 
 import DwSurveyDcsWrapper from '@/components/common/DwSurveyDcsWrapper'
+import {dwSurveySugarItems, dwSurveySugarItemsSave} from '@/api/dw-sugar'
 
 export default {
   name: 'DwSugarItem',
   components: {
     DwSurveyDcsWrapper
+  },
+  data () {
+    return {
+      survey: {
+        sugarItems: []
+      },
+      group: this.$route.params.id,
+      pr: 0
+    }
+  },
+  watch: {
+  },
+  mounted () {
+    this.initSugarItems()
+  },
+  methods: {
+    initSugarItems () {
+      this.survey.sugarItems = []
+      dwSurveySugarItems(this.group).then((response) => {
+        const resultData = response.data.data
+        resultData.forEach(element => {
+          this.survey.sugarItems.push(element)
+        })
+      })
+      /* console.log(this.survey.sugarItems.length)
+      if (this.survey.sugarItems.length === 0) {
+      } */
+    },
+    addSugarItem () {
+      this.survey.sugarItems.push({
+        name: '',
+        alias: '',
+        pr: '',
+        img: '',
+        remove: 1
+      })
+    },
+    removeSugarItem (index) {
+      if (this.survey.sugarItems[index].remove === 0) {
+        this.$message({type: 'error', message: '概率范围设置异常!'})
+        return
+      }
+      this.survey.sugarItems.splice(index, 1)
+    },
+    computePr (now_pr, $event) {
+    },
+    onSubmit () {
+      dwSurveySugarItemsSave(this.survey.sugarItems, this.group).then((response) => {
+        console.log(response)
+        const data = response.data
+        if (data.resultCode === 200) {
+          this.$message({type: 'success', message: '保存成功'})
+        } else {
+          this.$message({type: 'error', message: data.data})
+        }
+      })
+    },
+    findRouletteIndex () {
+      alert('http://localhost:8080/static/roulette/index.html?sugarGroup=' + this.group)
+    }
   }
 }
 
 </script>
+
+<style scoped>
+  .dw-dcs-main-p{
+    font-size: 12px;
+    color: rgba(0, 0, 0, 0.45);
+  }
+  .dw-dcs-main-content{
+    padding: 20px 0px;
+  }
+</style>