Commit 516dff62d5a1046cc2af7aeff2fb06987874b3c9
Merge branch 'master' of http://39.98.150.180/webapp/GreenwayWeb
Showing
22 changed files
with
6416 additions
and
4770 deletions
admin-web-master/src/api/rsaManagement.js
admin-web-master/src/layout/index.vue
| ... | ... | @@ -202,7 +202,7 @@ |
| 202 | 202 | // msg: ['招商服务系统'], |
| 203 | 203 | msg: ['招商服务系统', '推广策划系统', '在线商城系统', '支付服务模块', '票务'], |
| 204 | 204 | list: [ |
| 205 | - ['招商资源监测', '商家管理', '商铺租赁服务', '招商方案管理', '招商租赁管理', '广告服务', '轮播图设置', '商户意向管理', '客服服务管理', '系统设置'], | |
| 205 | + ['招商资源监测', '商家管理', '商铺租赁服务', '招商方案管理', '招商租赁管理', '广告服务', '轮播图设置', '商户意向管理', '问卷调查','客服服务管理', '系统设置'], | |
| 206 | 206 | ['品牌策划', '活动策划', '氛围策划', '媒体推广'], |
| 207 | 207 | ['订单管理', '积分管理', '消息中心', '会员管理', '评论管理', '商品管理', '库存管理', '销售统计', '优惠券管理', '商城商家管理'], |
| 208 | 208 | ['联机交易', '对账处理', '日志管理', '商户服务'], |
| ... | ... | @@ -775,7 +775,7 @@ |
| 775 | 775 | this.index = index |
| 776 | 776 | this.listMune = [] |
| 777 | 777 | this.list = [ |
| 778 | - ['招商资源监测', '商家管理', '商铺租赁服务', '招商方案管理', '招商租赁管理', '广告服务', '轮播图设置', '商户意向管理', '客服服务管理', '系统设置'], | |
| 778 | + ['招商资源监测', '商家管理', '商铺租赁服务', '招商方案管理', '招商租赁管理', '广告服务', '轮播图设置', '商户意向管理', '问卷调查','客服服务管理', '系统设置'], | |
| 779 | 779 | ['品牌策划', '活动策划', '氛围策划', '媒体推广'], |
| 780 | 780 | ['订单管理', '积分管理', '消息中心', '会员管理', '评论管理', '商品管理', '库存管理', '销售统计', '优惠券管理', '商城商家管理'], |
| 781 | 781 | ['联机交易', '对账处理', '日志管理', '商户服务'], | ... | ... |
admin-web-master/src/views/activity/activityHis.vue
| ... | ... | @@ -91,9 +91,9 @@ |
| 91 | 91 | </el-table-column> |
| 92 | 92 | <el-table-column label="创建时间" prop="createDate" min-width="15%" > |
| 93 | 93 | </el-table-column> |
| 94 | - <el-table-column prop="auditReminderTime" label="审核提醒时间" min-width="12%"> | |
| 94 | + <!-- <el-table-column prop="auditReminderTime" label="审核提醒时间" min-width="12%"> | |
| 95 | 95 | |
| 96 | - </el-table-column> | |
| 96 | + </el-table-column> --> | |
| 97 | 97 | <el-table-column label="操作" min-width="39%" fixed="right"> |
| 98 | 98 | <template slot-scope="scope"> |
| 99 | 99 | <div @click="actBian(scope.row)" class="tableBtn greens" v-if="scope.row.state == ''">调整</div> |
| ... | ... | @@ -812,27 +812,13 @@ |
| 812 | 812 | <el-dialog title="调整对比" :visible.sync="tiaozhengShow" custom-class='xiang_css' style="padding: 0;" width="80%" center |
| 813 | 813 | :close-on-click-modal="false" :close-on-press-escape="false" @close="reshData"> |
| 814 | 814 | <div> |
| 815 | - <div style="width: 100%;"> | |
| 816 | - <div style="display: flex;padding:0px 20px 20px 20px; "> | |
| 817 | - <div style="width: 150px;height: 80px;" v-if="secondData.coverPoster"> | |
| 818 | - <img :src="secondData.coverPoster" alt="" style="width: 100%;height: 80px;" /> | |
| 819 | - </div> | |
| 820 | - <div | |
| 821 | - style="display: flex;flex-direction: column;justify-content: space-around;padding: 0 10px;font-size: 12px;"> | |
| 822 | - <span style="margin-bottom: 10px;">{{text}}</span> | |
| 823 | - <span>活动时间:{{tableData1[1].eventTheme}}至{{tableData1[1].planName}}</span> | |
| 824 | - <span>活动地点:{{tableData1[0].planName}}</span> | |
| 825 | - </div> | |
| 826 | - </div> | |
| 827 | - </div> | |
| 828 | - | |
| 829 | 815 | <div style="display: flex;"> |
| 830 | 816 | <div style="width: 50%;"> |
| 831 | 817 | <div style="width: 100%;"> |
| 832 | 818 | <div style="font-size: 14px;padding: 10px 20px 0px 20px;">修改后</div> |
| 833 | 819 | <div style="padding: 10px 20px;"> |
| 834 | 820 | <el-table :data="tableData1" |
| 835 | - :header-cell-style="{fontSize: '14px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal'}" | |
| 821 | + :header-cell-style="{fontSize: '14px', backgroundColor: '#fff',color:'#000',fontWeight: 'normal',width:'82px'}" | |
| 836 | 822 | style="width: 100%;margin: auto;"> |
| 837 | 823 | <el-table-column class-name="first-column-bg" label="方案编号" prop="name" min-width="15%"> |
| 838 | 824 | </el-table-column> |
| ... | ... | @@ -963,7 +949,7 @@ |
| 963 | 949 | <div style="width: 100%;"> |
| 964 | 950 | <div style="font-size: 14px;padding: 10px 20px 0px 20px;">修改前</div> |
| 965 | 951 | <div style="padding: 10px 20px;"> |
| 966 | - <el-descriptions class="margin-top" :column="2" border :labelStyle="labelStyleOne" > | |
| 952 | + <el-descriptions class="margin-top" :column="2" border :labelStyle="labelStyleOne" :contentStyle="contentClassNameOne"> | |
| 967 | 953 | <el-descriptions-item> |
| 968 | 954 | <template slot="label"> |
| 969 | 955 | 方案编号 |
| ... | ... | @@ -1716,10 +1702,14 @@ |
| 1716 | 1702 | height:'42px', |
| 1717 | 1703 | }, |
| 1718 | 1704 | labelStyleOne:{ |
| 1719 | - width:'110px', | |
| 1705 | + width:'94px', | |
| 1720 | 1706 | height:'42px', |
| 1721 | 1707 | color:'#000', |
| 1722 | 1708 | }, |
| 1709 | + contentClassNameOne:{ | |
| 1710 | + width:'219px', | |
| 1711 | + // height:'42px', | |
| 1712 | + }, | |
| 1723 | 1713 | lidata:[], |
| 1724 | 1714 | lixiang:{}, |
| 1725 | 1715 | duibiList:{}, | ... | ... |
admin-web-master/src/views/atmosphere/atmosphereHis.vue
| ... | ... | @@ -90,9 +90,9 @@ |
| 90 | 90 | </el-table-column> |
| 91 | 91 | <el-table-column label="创建时间" prop="createDate" min-width="15%" > |
| 92 | 92 | </el-table-column> |
| 93 | - <el-table-column prop="auditReminderTime" label="审核提醒时间" min-width="12%"> | |
| 93 | + <!-- <el-table-column prop="auditReminderTime" label="审核提醒时间" min-width="12%"> | |
| 94 | 94 | |
| 95 | - </el-table-column> | |
| 95 | + </el-table-column> --> | |
| 96 | 96 | <el-table-column label="操作" min-width="35%"> |
| 97 | 97 | <template slot-scope="scope"> |
| 98 | 98 | <div @click="actBian(scope.row)" class="tableBtn greens" v-if="scope.row.state == ''">调整</div> | ... | ... |
admin-web-master/src/views/customer/yixiang/index.vue
| 1 | 1 | <template> |
| 2 | - <div style="background-color:#f7f7f7;padding:10px 10px;"> | |
| 3 | - <div class="zhuti"> | |
| 4 | - <div style="height:58px;line-height:58px;"> | |
| 5 | - <div style="color:#0006"> <span>商户意向管理</span> <span style="padding:0 5px;">></span> <span | |
| 6 | - style="color:#000000e6">招商意向管理</span></div> | |
| 7 | - </div> | |
| 8 | - <div> | |
| 9 | - <!-- 搜索 --> | |
| 10 | - <div class="formSearch"> | |
| 11 | - | |
| 12 | - </div> | |
| 13 | - <div style="margin-bottom:20px;"> | |
| 14 | - <el-button style="background-color: #3F9B6A;color: #fff;padding:8px 15px;" icon="el-icon-circle-plus-outline" | |
| 15 | - @click="pipei">一键匹配</el-button> | |
| 16 | - </div> | |
| 17 | - <!-- 表格 --> | |
| 18 | - <el-table :data="tableData" :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}"> | |
| 19 | - <el-table-column label="序号" width="50"> | |
| 20 | - <template slot-scope="scope"> | |
| 21 | - {{scope.$index +1 }} | |
| 22 | - </template> | |
| 23 | - </el-table-column> | |
| 24 | - <el-table-column label="资源名称" show-overflow-tooltip> | |
| 25 | - | |
| 26 | - </el-table-column> | |
| 27 | - <el-table-column label="商铺类型" prop="publishStatus" show-overflow-tooltip> | |
| 28 | - <template slot-scope="scope"> | |
| 29 | - {{scope.row.shopType=='1'?'移动铺位':scope.row.shopType=='2'?'固定铺位':'无'}} | |
| 30 | - </template> | |
| 31 | - </el-table-column> | |
| 32 | - <el-table-column label="所属区域" prop="belongingRegion" show-overflow-tooltip> | |
| 33 | - </el-table-column> | |
| 34 | - <el-table-column prop="detailedLocation" width="180" label="详细地址" show-overflow-tooltip> | |
| 35 | - </el-table-column> | |
| 36 | - <el-table-column label="归属部门" prop="belongingDepartment" show-overflow-tooltip> | |
| 37 | - <template slot-scope="scope"> | |
| 38 | - {{scope.row.belongingDepartment || '无'}} | |
| 39 | - </template> | |
| 40 | - </el-table-column> | |
| 41 | - <el-table-column label="负责人" prop="head" show-overflow-tooltip> | |
| 42 | - <template slot-scope="scope"> | |
| 43 | - {{scope.row.head || '无'}} | |
| 44 | - </template> | |
| 45 | - </el-table-column> | |
| 46 | - <el-table-column label="操作" min-width="100" fixed="right"> | |
| 47 | - <template slot-scope="scope"> | |
| 48 | - <div class="tableBtn greens" @click="handleEditForm(scope.row)"> | |
| 49 | - 查看 | |
| 50 | - </div> | |
| 51 | - <div class="tableBtn greens" @click="delGuan(scope.row.id)" > | |
| 52 | - 删除 | |
| 53 | - </div> | |
| 54 | - <!-- <div class="tableBtn greens" @click="pipei(scope.row)" > | |
| 2 | + <div style="background-color:#f7f7f7;padding:10px 10px;"> | |
| 3 | + <div class="zhuti"> | |
| 4 | + <div style="height:58px;line-height:58px;"> | |
| 5 | + <div style="color:#0006"> <span>商户意向管理</span> <span style="padding:0 5px;">></span> <span | |
| 6 | + style="color:#000000e6">招商意向管理</span></div> | |
| 7 | + </div> | |
| 8 | + <div> | |
| 9 | + <!-- 搜索 --> | |
| 10 | + <div class="formSearch"> | |
| 11 | + | |
| 12 | + </div> | |
| 13 | + <div style="margin-bottom:20px;"> | |
| 14 | + <el-button style="background-color: #3F9B6A;color: #fff;padding:8px 15px;" | |
| 15 | + icon="el-icon-circle-plus-outline" @click="pipei">一键匹配</el-button> | |
| 16 | + </div> | |
| 17 | + <!-- 表格 --> | |
| 18 | + <el-table :data="tableData" | |
| 19 | + :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}"> | |
| 20 | + <el-table-column label="序号" min-width="50"> | |
| 21 | + <template slot-scope="scope"> | |
| 22 | + {{scope.$index +1 }} | |
| 23 | + </template> | |
| 24 | + </el-table-column> | |
| 25 | + <el-table-column label="意向资源类型" prop="applicableResources" min-width="150" show-overflow-tooltip> | |
| 26 | + | |
| 27 | + </el-table-column> | |
| 28 | + <el-table-column label="意向区域" prop="belongingRegion" min-width="150" show-overflow-tooltip> | |
| 29 | + </el-table-column> | |
| 30 | + <el-table-column label="租金周期" prop="leaseTerm" min-width="150" show-overflow-tooltip> | |
| 31 | + </el-table-column> | |
| 32 | + <el-table-column label="租金价格" prop="rentalPrice" min-width="150" show-overflow-tooltip> | |
| 33 | + </el-table-column> | |
| 34 | + <el-table-column prop="actualUsableArea" min-width="150" label="实际使用面积" show-overflow-tooltip> | |
| 35 | + </el-table-column> | |
| 36 | + <el-table-column label="操作" min-width="100" fixed="right"> | |
| 37 | + <template slot-scope="scope"> | |
| 38 | + <!-- <div class="tableBtn greens" @click="handleEditForm(scope.row)"> | |
| 39 | + 查看 | |
| 40 | + </div> --> | |
| 41 | + <div class="tableBtn greens" @click="delGuan(scope.row.id)"> | |
| 42 | + 删除 | |
| 43 | + </div> | |
| 44 | + <!-- <div class="tableBtn greens" @click="pipei(scope.row)" > | |
| 55 | 45 | 一键匹配 |
| 56 | 46 | </div> --> |
| 57 | - </template> | |
| 58 | - </el-table-column> | |
| 59 | - </el-table> | |
| 47 | + </template> | |
| 48 | + </el-table-column> | |
| 49 | + </el-table> | |
| 60 | 50 | |
| 61 | -<div class="fenye"> | |
| 62 | - <el-pagination class="pagination" :hide-on-single-page="flag" background small :current-page="currentPage" | |
| 63 | - layout="prev, pager, next,total" :total="total" @size-change="handleSizeChange" | |
| 64 | - @current-change="handleCurrentChange" /> | |
| 65 | - </div> | |
| 51 | + <div class="fenye"> | |
| 52 | + <el-pagination class="pagination" background :current-page="currentPage" | |
| 53 | + layout="prev, pager, next,total" :total="total" @size-change="handleSizeChange" | |
| 54 | + @current-change="handleCurrentChange" /> | |
| 55 | + </div> | |
| 66 | 56 | |
| 67 | 57 | |
| 68 | 58 | |
| 69 | - </div> | |
| 70 | - </div> | |
| 71 | - <!-- 一键匹配 --> | |
| 72 | - <el-dialog :visible.sync="pip" style="padding: 0" width="70%" center | |
| 73 | - :close-on-click-modal="false"> | |
| 74 | - <div style=" | |
| 59 | + </div> | |
| 60 | + </div> | |
| 61 | + <!-- 一键匹配 --> | |
| 62 | + <el-dialog :visible.sync="pip" style="padding: 0" width="70%" center :close-on-click-modal="false" @close="closede"> | |
| 63 | + <div style=" | |
| 75 | 64 | background-color: #fafafa; |
| 76 | 65 | border: 1px solid #eaeaea; |
| 77 | 66 | height: 42px; |
| ... | ... | @@ -79,634 +68,732 @@ |
| 79 | 68 | padding: 0 20px; |
| 80 | 69 | line-height: 42px; |
| 81 | 70 | "> |
| 82 | - 匹配记录 | |
| 83 | - </div> | |
| 84 | - <div style="padding: 0 20px"> | |
| 85 | - <div style=" | |
| 86 | - display: flex; | |
| 87 | - justify-content: space-between; | |
| 88 | - font-size: 14px; | |
| 89 | - | |
| 90 | - "> | |
| 91 | - <el-form ref="form" :model="pipeiSel" style="padding-top: 10px;" label-width="100px" > | |
| 92 | - <el-form-item label="意向资源类型"> | |
| 93 | - <el-select v-model="pipeiSel.resources.cereRentalPolicies.businessType" placeholder="请选择" style="width: 168px;"> | |
| 94 | - <el-option label="商铺" value="sp" /> | |
| 95 | - <el-option label="广告位" value="gg" /> | |
| 96 | - <el-option label="场地" value="cd" /> | |
| 97 | - </el-select> | |
| 98 | - </el-form-item> | |
| 99 | - <el-form-item label="意向区域"> | |
| 100 | - <el-select v-model="pipeiSel.resources.cereRentalPolicies.businessType" placeholder="请选择" style="width: 168px;"> | |
| 101 | - <el-option label="成华区" value="成华区" /> | |
| 102 | - <el-option label="武侯区" value="武侯区" /> | |
| 103 | - <el-option label="锦江区" value="锦江区" /> | |
| 104 | - <el-option label="青羊区" value="青羊区" /> | |
| 105 | - <el-option label="金牛区" value="金牛区" /> | |
| 106 | - <el-option label="双流区" value="双流区" /> | |
| 107 | - <el-option label="郫都区" value="郫都区" /> | |
| 108 | - <el-option label="龙泉驿区" value="龙泉驿区" /> | |
| 109 | - <el-option label="温江区" value="温江区" /> | |
| 110 | - </el-select> | |
| 111 | - </el-form-item> | |
| 112 | - <el-form-item label="意向面积"> | |
| 113 | - <el-select v-model="pipeiSel.resources.cereRentalPolicies.leaseTerm" style="width: 168px;"> | |
| 114 | - <el-option label="0-100" value="0-100" /> | |
| 115 | - <el-option label="100-200" value="100-200" /> | |
| 116 | - <el-option label="100-300" value="100-300" /> | |
| 117 | - </el-select> | |
| 118 | - </el-form-item> | |
| 119 | - <el-form-item label="租金周期"> | |
| 120 | - <el-select v-model="pipeiSel.resources.cereRentalPolicies.leaseTerm" style="width: 168px;"> | |
| 121 | - <el-option label="年" value="年" /> | |
| 122 | - <el-option label="季" value="季" /> | |
| 123 | - <el-option label="月" value="月" /> | |
| 124 | - <el-option label="日" value="日" /> | |
| 125 | - </el-select> | |
| 126 | - </el-form-item> | |
| 127 | - <el-form-item label="租金范围"> | |
| 128 | - <el-select v-model="pipeiSel.resources.cereRentalPolicies.rentalPrice" placeholder="请选择" style="width: 168px;"> | |
| 129 | - <el-option label="0-10000" value="0-10000" /> | |
| 130 | - <el-option label="10000-20000" value="10000-20000" /> | |
| 131 | - <el-option label="20000-50000" value="20000-50000" /> | |
| 132 | - <el-option label="50000-100000" value="50000-100000" /> | |
| 133 | - </el-select> | |
| 134 | - </el-form-item> | |
| 135 | - </el-form> | |
| 136 | - </div> | |
| 137 | - <el-table :data=" | |
| 71 | + 匹配记录 | |
| 72 | + </div> | |
| 73 | + <div style="padding: 0 20px;max-height:750px;"> | |
| 74 | + <div style=""> | |
| 75 | + <el-form ref="pipform" :model="pipeiSel" :rules="rules" style="padding-top: 10px;" | |
| 76 | + label-width="120px" class="formcontainer"> | |
| 77 | + <el-form-item label="意向资源类型" prop="resources.cereRentalPolicies.applicableResources"> | |
| 78 | + <el-select v-model="pipeiSel.resources.cereRentalPolicies.applicableResources" | |
| 79 | + placeholder="请选择" style="width: 100%;"> | |
| 80 | + <el-option label="商铺" value="商铺" /> | |
| 81 | + <el-option label="广告位" value="广告位" /> | |
| 82 | + <el-option label="场地" value="场地" /> | |
| 83 | + </el-select> | |
| 84 | + </el-form-item> | |
| 85 | + <el-form-item label="意向区域" prop="belongingRegion"> | |
| 86 | + <el-select v-model="pipeiSel.belongingRegion" placeholder="请选择" style="width: 100%;"> | |
| 87 | + <el-option label="成华区" value="成华区" /> | |
| 88 | + <el-option label="武侯区" value="武侯区" /> | |
| 89 | + <el-option label="锦江区" value="锦江区" /> | |
| 90 | + <el-option label="青羊区" value="青羊区" /> | |
| 91 | + <el-option label="金牛区" value="金牛区" /> | |
| 92 | + <el-option label="双流区" value="双流区" /> | |
| 93 | + <el-option label="郫都区" value="郫都区" /> | |
| 94 | + <el-option label="龙泉驿区" value="龙泉驿区" /> | |
| 95 | + <el-option label="温江区" value="温江区" /> | |
| 96 | + </el-select> | |
| 97 | + </el-form-item> | |
| 98 | + <el-form-item label="意向面积" prop="actualUsableArea"> | |
| 99 | + <el-select v-model="pipeiSel.actualUsableArea" style="width: 100%;"> | |
| 100 | + <el-option label="0-100" value="0-100" /> | |
| 101 | + <el-option label="100-200" value="100-200" /> | |
| 102 | + <el-option label="200-300" value="200-300" /> | |
| 103 | + </el-select> | |
| 104 | + </el-form-item> | |
| 105 | + <el-form-item label="租金周期" prop="resources.cereRentalPolicies.leaseTerm"> | |
| 106 | + <el-select v-model="pipeiSel.resources.cereRentalPolicies.leaseTerm" style="width: 100%;"> | |
| 107 | + <el-option label="年" value="年" /> | |
| 108 | + <el-option label="季" value="季" /> | |
| 109 | + <el-option label="月" value="月" /> | |
| 110 | + <el-option label="日" value="日" /> | |
| 111 | + </el-select> | |
| 112 | + </el-form-item> | |
| 113 | + <el-form-item label="租金范围" prop="resources.cereRentalPolicies.rentalPrice"> | |
| 114 | + <el-select v-model="pipeiSel.resources.cereRentalPolicies.rentalPrice" placeholder="请选择" | |
| 115 | + style="width: 100%;"> | |
| 116 | + <el-option label="0-2000" value="0-2000" /> | |
| 117 | + <el-option label="2000-5000" value="2000-5000" /> | |
| 118 | + <el-option label="5000-10000" value="5000-10000" /> | |
| 119 | + <el-option label="10000-20000" value="10000-20000" /> | |
| 120 | + </el-select> | |
| 121 | + </el-form-item> | |
| 122 | + <el-form-item style="margin-left: -70px;"> | |
| 123 | + <div> | |
| 124 | + <el-button style="background-color: #3F9B6A;color: #fff" | |
| 125 | + @click="pipeiBtn">查询</el-button> | |
| 126 | + <el-button class="buttonHover" | |
| 127 | + style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 128 | + @click="pipeiClose">重置</el-button> | |
| 129 | + | |
| 130 | + | |
| 131 | + </div> | |
| 132 | + </el-form-item> | |
| 133 | + </el-form> | |
| 134 | + | |
| 135 | + </div> | |
| 136 | + <el-table :data=" | |
| 138 | 137 | pipData.slice( |
| 139 | - (currentPage - 1) * pageSize, | |
| 140 | - currentPage * pageSize | |
| 138 | + (pipcurrentPage - 1) * 10, | |
| 139 | + pipcurrentPage * 10 | |
| 141 | 140 | ) |
| 142 | 141 | " :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}"> |
| 143 | - <el-table-column label="序号" min-width="80"> | |
| 144 | - <template slot-scope="scope"> | |
| 145 | - {{scope.$index+1}} | |
| 146 | - </template> | |
| 147 | - </el-table-column> | |
| 148 | - <el-table-column label="资源名称" prop="intentCustomerName" min-width="150" /> | |
| 149 | - <el-table-column label="编号" prop="resourcesId" min-width="150" /> | |
| 150 | - <el-table-column label="意向资源类型" prop="shopName" min-width="150" /> | |
| 151 | - <el-table-column label="最近释放日期" prop="businessStartTime" min-width="150" /> | |
| 152 | - <el-table-column label="最短租期" prop="contactInformation" min-width="150" /> | |
| 153 | - <el-table-column label="意向租金单价(元/平方)" prop="contactInformation" min-width="250" /> | |
| 154 | - <el-table-column prop="auditStatus" label="资源状态" min-width="150"> | |
| 155 | - <template slot-scope="scope"> | |
| 156 | - | |
| 157 | - </template> | |
| 158 | - </el-table-column> | |
| 159 | - | |
| 160 | - </el-table> | |
| 161 | - <div style=" | |
| 162 | - padding: 15px 0; | |
| 163 | - "> | |
| 164 | - <el-button class="buttonHover" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 165 | - @click="pipeiClose">返回</el-button> | |
| 166 | - <el-button style="background-color: #3F9B6A;color: #fff" | |
| 167 | - @click="pipeiBtn">确定</el-button> | |
| 168 | - | |
| 169 | - | |
| 170 | - </div> | |
| 171 | - </div> | |
| 172 | - </el-dialog> | |
| 173 | - </div> | |
| 142 | + <el-table-column label="序号" min-width="80"> | |
| 143 | + <template slot-scope="scope"> | |
| 144 | + {{scope.$index+1}} | |
| 145 | + </template> | |
| 146 | + </el-table-column> | |
| 147 | + <el-table-column label="资源名称" prop="intentCustomerName" min-width="150" > | |
| 148 | + <template slot-scope="scope"> | |
| 149 | + {{scope.row.resources.shopIds.length!=0?scope.row.resources.shopIds[0].shopName:scope.row.resources.advIds.length!=0?scope.row.resources.advIds[0].advertisingName:scope.row.resources.siteIds.length!=0?scope.row.resources.siteIds[0].venueName:'无'}} | |
| 150 | + </template> | |
| 151 | + </el-table-column> | |
| 152 | + <el-table-column label="意向资源类型" prop="shopName" min-width="150"> | |
| 153 | + <template slot-scope="scope"> | |
| 154 | + {{scope.row.resources.shopIds.length!=0?'商铺':scope.row.resources.advIds.length!=0?'广告位':scope.row.resources.siteIds.length!=0?'场地':'无'}} | |
| 155 | + </template> | |
| 156 | + </el-table-column> | |
| 157 | + <el-table-column label="租金周期" prop="contactInformation" min-width="150"> | |
| 158 | + <template slot-scope="scope"> | |
| 159 | + {{scope.row.resources.cereRentalPolicies.leaseTerm?scope.row.resources.cereRentalPolicies.leaseTerm:'无'}} | |
| 160 | + </template> | |
| 161 | + </el-table-column> | |
| 162 | + <el-table-column label="意向租金单价(元/平方)" prop="contactInformation" min-width="250" > | |
| 163 | + <template slot-scope="scope"> | |
| 164 | + {{scope.row.resources.cereRentalPolicies.rentalPrice?scope.row.resources.cereRentalPolicies.rentalPrice:'无'}} | |
| 165 | + </template> | |
| 166 | + </el-table-column> | |
| 167 | + <el-table-column prop="auditStatus" label="资源状态" min-width="150"> | |
| 168 | + <template slot-scope="scope"> | |
| 169 | + {{scope.row.resources.shopIds.length!=0?getStatusText(scope.row.resources.shopIds[0].publishStatus):scope.row.resources.advIds.length!=0?getStatusText(scope.row.resources.advIds[0].publishStatus):scope.row.resources.siteIds.length!=0?getStatusText(scope.row.resources.siteIds[0].publishStatus):'无'}} | |
| 170 | + </template> | |
| 171 | + </el-table-column> | |
| 172 | + | |
| 173 | + </el-table> | |
| 174 | + | |
| 175 | + <div class="fenye"> | |
| 176 | + <el-pagination class="pagination" background :current-page="pipcurrentPage" | |
| 177 | + layout="prev, pager, next,total" :total="pipData.length" @size-change="pipSizeChange" | |
| 178 | + @current-change="pipCurrentChange" /> | |
| 179 | + </div> | |
| 180 | + </div> | |
| 181 | + </el-dialog> | |
| 182 | + </div> | |
| 174 | 183 | </template> |
| 175 | 184 | |
| 176 | 185 | <script> |
| 177 | - import { | |
| 178 | - uploadUrl, | |
| 179 | - token | |
| 180 | - } from '@/utils/request' | |
| 181 | - import { | |
| 182 | - recordGetAll, | |
| 183 | - recordInsert, | |
| 184 | - recordEdit, | |
| 185 | - } from '../../../api/rsaManagement' | |
| 186 | - import upimg from "@/components/ImageUpload/index" | |
| 187 | - export default { | |
| 188 | - components: { | |
| 189 | - upimg | |
| 190 | - }, | |
| 191 | - | |
| 192 | - data() { | |
| 193 | - return { | |
| 194 | - detbox: false, // 详情 | |
| 195 | - action: uploadUrl, // 上传图片 | |
| 196 | - secondData: {}, | |
| 197 | - tableData:[], | |
| 198 | - pipData:[], | |
| 199 | - currentPage: 1, | |
| 200 | - total: 10, | |
| 201 | - flag: false, | |
| 202 | - pageSize: 10, | |
| 203 | - msgid: '', | |
| 204 | - pageindex: { | |
| 205 | - pageNumber: 0, | |
| 206 | - pageSize: 10, | |
| 207 | - }, | |
| 208 | - pip:false, | |
| 209 | - pipeiSel:{ | |
| 210 | - resources:{ | |
| 211 | - cereRentalPolicies:{ | |
| 212 | - businessType:'', | |
| 213 | - leaseTerm:'', | |
| 214 | - rentalPrice:'' | |
| 215 | - } | |
| 216 | - }, | |
| 217 | - pageNumber:1, | |
| 218 | - pageSize:10, | |
| 219 | - }, | |
| 220 | - } | |
| 221 | - }, | |
| 222 | - | |
| 223 | - created() { | |
| 224 | - this.getAll(); | |
| 225 | - }, | |
| 226 | - mounted() {}, | |
| 227 | - // beforeDestroy() { | |
| 228 | - // const editor = this.editor | |
| 229 | - // if (editor == null) return | |
| 230 | - // editor.destroy() // 组件销毁时,及时销毁编辑器 | |
| 231 | - // }, | |
| 232 | - methods: { | |
| 233 | - // 获取当前时间 | |
| 234 | - updateCurrentTime() { | |
| 235 | - const now = new Date(); | |
| 236 | - const year = now.getFullYear(); | |
| 237 | - const month = (now.getMonth() + 1).toString().padStart(2, '0'); | |
| 238 | - const day = now.getDate().toString().padStart(2, '0'); | |
| 239 | - const hours = now.getHours().toString().padStart(2, '0'); | |
| 240 | - const minutes = now.getMinutes().toString().padStart(2, '0'); | |
| 241 | - const seconds = now.getSeconds().toString().padStart(2, '0'); | |
| 242 | - | |
| 243 | - return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; | |
| 244 | - }, | |
| 245 | - handleSelectionChange(val) { | |
| 246 | - this.multipleSelection = val; | |
| 247 | - }, | |
| 248 | - // 查询全数据 | |
| 249 | - async getAll() { | |
| 250 | - const res = await recordGetAll(this.pageindex); | |
| 251 | - this.tableData = res.data.content | |
| 252 | - this.total = res.data.totalElements | |
| 253 | - this.tableData.map(item =>{ | |
| 254 | - item.matchingRecord = JSON.parse(item.matchingRecord) | |
| 255 | - }) | |
| 256 | - | |
| 257 | - console.log (this.tableData) | |
| 258 | - }, | |
| 259 | - | |
| 260 | - | |
| 261 | - // 详情点击 | |
| 262 | - handleEditForm(item) { | |
| 263 | - | |
| 264 | - }, | |
| 265 | - | |
| 266 | - handleCurrentChange(val) { | |
| 267 | - this.currentPage = val; | |
| 268 | - }, | |
| 269 | - handleSizeChange(val) { | |
| 270 | - this.pageSize = val; | |
| 271 | - }, | |
| 272 | - // 取消 | |
| 273 | - closeFn(val) { | |
| 274 | - if (val == 1) { | |
| 275 | - this.detbox = false; | |
| 276 | - this.edit = true; | |
| 277 | - } | |
| 278 | - }, | |
| 279 | - //删除管理列表 | |
| 280 | - async delGuan(item) { | |
| 281 | - const h = this.$createElement; | |
| 282 | - this.$msgbox({ | |
| 283 | - title: '消息', | |
| 284 | - message: h('p', null, [ | |
| 285 | - h('span', null, '是否删除 '), | |
| 286 | - ]), | |
| 287 | - showCancelButton: true, | |
| 288 | - showClose: false, | |
| 289 | - confirmButtonText: '确定', | |
| 290 | - cancelButtonText: '取消', | |
| 291 | - customClass: 'oe-dialog-btn', | |
| 292 | - beforeClose: (action, instance, done) => { | |
| 293 | - if (action === 'confirm') { | |
| 294 | - recordEdit({ | |
| 295 | - id: item | |
| 296 | - }).then(res => { | |
| 297 | - this.getAll() | |
| 298 | - done(); | |
| 299 | - }) | |
| 300 | - } else { | |
| 301 | - done(); | |
| 302 | - } | |
| 303 | - } | |
| 304 | - }) | |
| 305 | - | |
| 306 | - }, | |
| 307 | - | |
| 308 | - pipei(item){ | |
| 309 | - this.pip = true | |
| 310 | - this.pipData = [] | |
| 311 | - }, | |
| 312 | - pipeiBtn(){ | |
| 313 | - if(this.pipeiSel.resources.cereRentalPolicies.businessType == 'sp'){ | |
| 314 | - this.pipeiSel.resourcesId = 'sp' | |
| 315 | - }else if(this.pipeiSel.resources.cereRentalPolicies.businessType == 'cd'){ | |
| 316 | - this.pipeiSel.resourcesId = 'cd' | |
| 317 | - }else{ | |
| 318 | - this.pipeiSel.resourcesId = 'gg' | |
| 319 | - } | |
| 320 | - | |
| 321 | - }, | |
| 322 | - pipeiClose(){ | |
| 323 | - this.pipeiSel ={ | |
| 324 | - resources:{ | |
| 325 | - cereRentalPolicies:{ | |
| 326 | - businessType:'', | |
| 327 | - leaseTerm:'', | |
| 328 | - rentalPrice:'' | |
| 329 | - } | |
| 330 | - }, | |
| 331 | - resourcesId:'', | |
| 332 | - pageNumber:1, | |
| 333 | - pageSize:10, | |
| 334 | - }, | |
| 335 | - this.pip = false | |
| 336 | - this.pipData = [] | |
| 337 | - }, | |
| 338 | - } | |
| 339 | - } | |
| 186 | + import { | |
| 187 | + uploadUrl, | |
| 188 | + token | |
| 189 | + } from '@/utils/request' | |
| 190 | + import { | |
| 191 | + recordGetAll, | |
| 192 | + recordInsert, | |
| 193 | + recordEdit, | |
| 194 | + ziyuanduiy | |
| 195 | + } from '../../../api/rsaManagement' | |
| 196 | + import upimg from "@/components/ImageUpload/index" | |
| 197 | + export default { | |
| 198 | + components: { | |
| 199 | + upimg | |
| 200 | + }, | |
| 201 | + | |
| 202 | + data() { | |
| 203 | + return { | |
| 204 | + detbox: false, // 详情 | |
| 205 | + action: uploadUrl, // 上传图片 | |
| 206 | + secondData: {}, | |
| 207 | + tableData: [], | |
| 208 | + pipData: [], | |
| 209 | + currentPage: 1, | |
| 210 | + pipcurrentPage: 1, | |
| 211 | + total: 10, | |
| 212 | + flag: false, | |
| 213 | + pageSize: 10, | |
| 214 | + msgid: '', | |
| 215 | + pageindex: { | |
| 216 | + pageNumber: 0, | |
| 217 | + pageSize: 10, | |
| 218 | + }, | |
| 219 | + pip: false, | |
| 220 | + pipeiSel: { | |
| 221 | + belongingRegion: '', | |
| 222 | + actualUsableArea: '', | |
| 223 | + resources: { | |
| 224 | + cereRentalPolicies: { | |
| 225 | + applicableResources: '', | |
| 226 | + leaseTerm: '', | |
| 227 | + rentalPrice: '' | |
| 228 | + } | |
| 229 | + }, | |
| 230 | + pageNumber: 1, | |
| 231 | + pageSize: 10, | |
| 232 | + }, | |
| 233 | + rules: { | |
| 234 | + 'resources.cereRentalPolicies.applicableResources': [{ | |
| 235 | + required: true, | |
| 236 | + message: '请选择意向资源类型', | |
| 237 | + trigger: 'change' | |
| 238 | + }], | |
| 239 | + 'belongingRegion': [{ | |
| 240 | + required: true, | |
| 241 | + message: '请选择意向区域', | |
| 242 | + trigger: 'change' | |
| 243 | + }], | |
| 244 | + 'actualUsableArea': [{ | |
| 245 | + required: true, | |
| 246 | + message: '请选择意向面积', | |
| 247 | + trigger: 'change' | |
| 248 | + }], | |
| 249 | + 'resources.cereRentalPolicies.leaseTerm': [{ | |
| 250 | + required: true, | |
| 251 | + message: '请选择意向租金周期', | |
| 252 | + trigger: 'change' | |
| 253 | + }], | |
| 254 | + 'resources.cereRentalPolicies.rentalPrice': [{ | |
| 255 | + required: true, | |
| 256 | + message: '请选择意向租金范围', | |
| 257 | + trigger: 'change' | |
| 258 | + }] | |
| 259 | + } | |
| 260 | + } | |
| 261 | + }, | |
| 262 | + | |
| 263 | + created() { | |
| 264 | + this.getAll(); | |
| 265 | + }, | |
| 266 | + mounted() {}, | |
| 267 | + // beforeDestroy() { | |
| 268 | + // const editor = this.editor | |
| 269 | + // if (editor == null) return | |
| 270 | + // editor.destroy() // 组件销毁时,及时销毁编辑器 | |
| 271 | + // }, | |
| 272 | + methods: { | |
| 273 | + getStatusText(val) { | |
| 274 | + switch (val) { | |
| 275 | + case '0': | |
| 276 | + return '空置'; | |
| 277 | + case '1': | |
| 278 | + return '待审核'; | |
| 279 | + case '2': | |
| 280 | + return '已发布'; | |
| 281 | + case '3': | |
| 282 | + return '不通过'; | |
| 283 | + case '4': | |
| 284 | + return '已租赁'; | |
| 285 | + default: | |
| 286 | + return '无'; | |
| 287 | + } | |
| 288 | + }, | |
| 289 | + // 获取当前时间 | |
| 290 | + updateCurrentTime() { | |
| 291 | + const now = new Date(); | |
| 292 | + const year = now.getFullYear(); | |
| 293 | + const month = (now.getMonth() + 1).toString().padStart(2, '0'); | |
| 294 | + const day = now.getDate().toString().padStart(2, '0'); | |
| 295 | + const hours = now.getHours().toString().padStart(2, '0'); | |
| 296 | + const minutes = now.getMinutes().toString().padStart(2, '0'); | |
| 297 | + const seconds = now.getSeconds().toString().padStart(2, '0'); | |
| 298 | + | |
| 299 | + return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; | |
| 300 | + }, | |
| 301 | + handleSelectionChange(val) { | |
| 302 | + this.multipleSelection = val; | |
| 303 | + }, | |
| 304 | + // 查询全数据 | |
| 305 | + async getAll() { | |
| 306 | + const res = await recordGetAll(this.pageindex); | |
| 307 | + this.tableData = res.data.content | |
| 308 | + this.total = res.data.totalElements | |
| 309 | + }, | |
| 310 | + | |
| 311 | + | |
| 312 | + // 详情点击 | |
| 313 | + handleEditForm(item) { | |
| 314 | + | |
| 315 | + }, | |
| 316 | + | |
| 317 | + handleCurrentChange(val) { | |
| 318 | + this.currentPage = val; | |
| 319 | + }, | |
| 320 | + handleSizeChange(val) { | |
| 321 | + this.pageSize = val; | |
| 322 | + }, | |
| 323 | + pipSizeChange(val) { | |
| 324 | + this.pipeiSel.pageSize = val | |
| 325 | + }, | |
| 326 | + pipCurrentChange(val) { | |
| 327 | + this.pipcurrentPage = val | |
| 328 | + }, | |
| 329 | + // 取消 | |
| 330 | + closeFn(val) { | |
| 331 | + if (val == 1) { | |
| 332 | + this.detbox = false; | |
| 333 | + this.edit = true; | |
| 334 | + } | |
| 335 | + }, | |
| 336 | + //删除管理列表 | |
| 337 | + async delGuan(item) { | |
| 338 | + const h = this.$createElement; | |
| 339 | + this.$msgbox({ | |
| 340 | + title: '消息', | |
| 341 | + message: h('p', null, [ | |
| 342 | + h('span', null, '是否删除 '), | |
| 343 | + ]), | |
| 344 | + showCancelButton: true, | |
| 345 | + showClose: false, | |
| 346 | + confirmButtonText: '确定', | |
| 347 | + cancelButtonText: '取消', | |
| 348 | + customClass: 'oe-dialog-btn', | |
| 349 | + beforeClose: (action, instance, done) => { | |
| 350 | + if (action === 'confirm') { | |
| 351 | + recordEdit({ | |
| 352 | + id: item | |
| 353 | + }).then(res => { | |
| 354 | + this.getAll() | |
| 355 | + done(); | |
| 356 | + }) | |
| 357 | + } else { | |
| 358 | + done(); | |
| 359 | + } | |
| 360 | + } | |
| 361 | + }) | |
| 362 | + | |
| 363 | + }, | |
| 364 | + | |
| 365 | + pipei(item) { | |
| 366 | + this.pip = true | |
| 367 | + this.pipData = [] | |
| 368 | + }, | |
| 369 | + pipeiBtn() { | |
| 370 | + this.$refs.pipform.validate((valid) => { | |
| 371 | + | |
| 372 | + if (valid) { | |
| 373 | + ziyuanduiy(this.pipeiSel).then(res => { | |
| 374 | + this.pipData = res.data.content | |
| 375 | + if(res.data.content.length!=0){ | |
| 376 | + let obj ={ | |
| 377 | + leaseTerm: this.pipeiSel.resources.cereRentalPolicies.leaseTerm, | |
| 378 | + rentalPrice:this.pipeiSel.resources.cereRentalPolicies.rentalPrice, | |
| 379 | + actualUsableArea:this.pipeiSel.actualUsableArea, | |
| 380 | + belongingRegion:this.pipeiSel.belongingRegion, | |
| 381 | + applicableResources:this.pipeiSel.resources.cereRentalPolicies.applicableResources, | |
| 382 | + matchingRecord: JSON.stringify(res.data.content), | |
| 383 | + type:2 | |
| 384 | + } | |
| 385 | + recordInsert(obj).then(item=>{}) | |
| 386 | + } | |
| 387 | + | |
| 388 | + }) | |
| 389 | + | |
| 390 | + } else { | |
| 391 | + console.log('error submit!!'); | |
| 392 | + return false; | |
| 393 | + } | |
| 394 | + }) | |
| 395 | + }, | |
| 396 | + | |
| 397 | + closede(){ | |
| 398 | + this.pip = false | |
| 399 | + this.getAll() | |
| 400 | + }, | |
| 401 | + pipeiClose() { | |
| 402 | + this.pipeiSel = { | |
| 403 | + belongingRegion: '', | |
| 404 | + actualUsableArea: '', | |
| 405 | + resources: { | |
| 406 | + cereRentalPolicies: { | |
| 407 | + applicableResources: '', | |
| 408 | + leaseTerm: '', | |
| 409 | + rentalPrice: '' | |
| 410 | + } | |
| 411 | + }, | |
| 412 | + pageNumber: 1, | |
| 413 | + pageSize: 10, | |
| 414 | + } | |
| 415 | + this.$refs.pipform.resetFields(); | |
| 416 | + this.pipData = [] | |
| 417 | + }, | |
| 418 | + } | |
| 419 | + } | |
| 340 | 420 | </script> |
| 341 | 421 | <style src="@wangeditor/editor/dist/css/style.css"></style> |
| 342 | 422 | <style scoped> |
| 343 | - /deep/ .first-column-bg { | |
| 344 | - background-color: #f4f4f5 !important; | |
| 345 | - } | |
| 346 | - | |
| 347 | - .zhuti { | |
| 348 | - padding: 0 20px 20px 20px; | |
| 349 | - min-height: calc(100vh - 50px - 20px); | |
| 350 | - background-color: #fff; | |
| 351 | - } | |
| 352 | - | |
| 353 | - | |
| 354 | - .tableBtn { | |
| 355 | - display: inline-block; | |
| 356 | - margin-right: 10px; | |
| 357 | - } | |
| 358 | - | |
| 359 | - .formSearch { | |
| 360 | - | |
| 361 | - display: flex; | |
| 362 | - width: 100%; | |
| 363 | - font-size: 14px; | |
| 364 | - justify-content: space-between; | |
| 365 | - | |
| 366 | - } | |
| 367 | - | |
| 368 | - .greens { | |
| 369 | - color: #3f9b6a; | |
| 370 | - } | |
| 371 | - | |
| 372 | - /deep/ .el-table__row { | |
| 373 | - font-size: 14px; | |
| 374 | - color: #000000e6; | |
| 375 | - height: 42px; | |
| 376 | - } | |
| 377 | - | |
| 378 | - .fenye { | |
| 379 | - margin-top: 20px; | |
| 380 | - display: flex; | |
| 381 | - justify-content: flex-end; | |
| 382 | - position: relative; | |
| 383 | - } | |
| 384 | - | |
| 385 | - /deep/ .el-pagination.is-background .el-pager li:not(.disabled).active { | |
| 386 | - background-color: #3f9b6a; | |
| 387 | - } | |
| 388 | - | |
| 389 | - :last-child { | |
| 390 | - margin-bottom: 0; | |
| 391 | - } | |
| 392 | - | |
| 393 | - .el-col { | |
| 394 | - border-radius: 4px; | |
| 395 | - } | |
| 396 | - | |
| 397 | - .bg-purple-dark { | |
| 398 | - background: #99a9bf; | |
| 399 | - } | |
| 400 | - | |
| 401 | - .bg-purple { | |
| 402 | - /* background: #d3dce6; */ | |
| 403 | - } | |
| 404 | - | |
| 405 | - .bg-purple-light { | |
| 406 | - background: #e5e9f2; | |
| 407 | - } | |
| 408 | - | |
| 409 | - .grid-content { | |
| 410 | - border-radius: 4px; | |
| 411 | - min-height: 36px; | |
| 412 | - } | |
| 413 | - | |
| 414 | - .row-bg { | |
| 415 | - padding: 10px 0; | |
| 416 | - background-color: #f9fafc; | |
| 417 | - } | |
| 418 | - | |
| 419 | - /deep/ .bg-purple[data-v-0e3fe4ec] { | |
| 420 | - background: #fff; | |
| 421 | - height: 50px; | |
| 422 | - } | |
| 423 | - | |
| 424 | - | |
| 425 | - .demo-input-suffix { | |
| 426 | - display: flex; | |
| 427 | - margin-right: 20px; | |
| 428 | - } | |
| 429 | - | |
| 430 | - .pagination { | |
| 431 | - text-align: right; | |
| 432 | - line-height: 20px; | |
| 433 | - } | |
| 434 | - | |
| 435 | - | |
| 436 | - .dialog_css { | |
| 437 | - padding: 0px; | |
| 438 | - } | |
| 439 | - | |
| 440 | - .dialog_xin { | |
| 441 | - padding: 0px; | |
| 442 | - } | |
| 443 | - | |
| 444 | - /deep/.el-dialog__body { | |
| 445 | - padding: 0px; | |
| 446 | - } | |
| 447 | - | |
| 448 | - /deep/ .el-dialog__header { | |
| 449 | - background-color: #fff; | |
| 450 | - padding: 0; | |
| 451 | - } | |
| 452 | - | |
| 453 | - /deep/.el-dialog__title { | |
| 454 | - color: #000; | |
| 455 | - } | |
| 456 | - | |
| 457 | - .el-row { | |
| 458 | - &:last-child { | |
| 459 | - margin-bottom: 0; | |
| 460 | - } | |
| 461 | - } | |
| 462 | - | |
| 463 | - /deep/ .avatar-uploader .el-upload { | |
| 464 | - border: 1px dashed #d9d9d9; | |
| 465 | - border-radius: 6px; | |
| 466 | - cursor: pointer; | |
| 467 | - position: relative; | |
| 468 | - overflow: hidden; | |
| 469 | - } | |
| 470 | - | |
| 471 | - .avatar-uploader .el-upload:hover { | |
| 472 | - border-color: #409eff; | |
| 473 | - } | |
| 474 | - | |
| 475 | - .avatar-uploader-icon { | |
| 476 | - font-size: 28px; | |
| 477 | - color: #8c939d; | |
| 478 | - width: 108px; | |
| 479 | - height: 108px; | |
| 480 | - line-height: 108px; | |
| 481 | - /*text-align: center;*/ | |
| 482 | - } | |
| 483 | - | |
| 484 | - .avatar { | |
| 485 | - width: 108px; | |
| 486 | - height: 108px; | |
| 487 | - display: block; | |
| 488 | - } | |
| 489 | - | |
| 490 | - ::v-deep .el-tabs__item.is-active { | |
| 491 | - color: #3f9b6a; | |
| 492 | - opacity: 1; | |
| 493 | - } | |
| 494 | - | |
| 495 | - /deep/ .el-tabs__nav-wrap::after { | |
| 496 | - background-color: #fff; | |
| 497 | - } | |
| 498 | - | |
| 499 | - ::v-deep .el-tabs__item:hover { | |
| 500 | - color: #3f9b6a; | |
| 501 | - cursor: pointer; | |
| 502 | - opacity: 1; | |
| 503 | - } | |
| 504 | - | |
| 505 | - /deep/ .el-tabs__active-bar { | |
| 506 | - background-color: #389865; | |
| 507 | - } | |
| 508 | - | |
| 509 | - /deep/ .el-table_2_column_13 { | |
| 510 | - font-weight: 100; | |
| 511 | - } | |
| 512 | - | |
| 513 | - ::v-deep .el-input__inner:focus { | |
| 514 | - border: #3f9b6a 1px solid; | |
| 515 | - } | |
| 516 | - | |
| 517 | - ::v-deep .el-input__inner:hover { | |
| 518 | - border: #3f9b6a 1px solid; | |
| 519 | - } | |
| 520 | - | |
| 521 | - ::v-deep .el-select .el-input.is-focus .el-input__inner { | |
| 522 | - border-color: #3f9b6a; | |
| 523 | - } | |
| 524 | - | |
| 525 | - | |
| 526 | - /* ::v-deep .el-steps .el-step__head.is-wait { | |
| 423 | + .formcontainer { | |
| 424 | + display: grid; | |
| 425 | + grid-template-columns: repeat(2, 1fr); | |
| 426 | + grid-gap: 10px; | |
| 427 | + /* 可选,设置列之间的间隙 */ | |
| 428 | + } | |
| 429 | + | |
| 430 | + /deep/ .first-column-bg { | |
| 431 | + background-color: #f4f4f5 !important; | |
| 432 | + } | |
| 433 | + | |
| 434 | + .zhuti { | |
| 435 | + padding: 0 20px 20px 20px; | |
| 436 | + min-height: calc(100vh - 50px - 20px); | |
| 437 | + background-color: #fff; | |
| 438 | + } | |
| 439 | + | |
| 440 | + | |
| 441 | + .tableBtn { | |
| 442 | + display: inline-block; | |
| 443 | + margin-right: 10px; | |
| 444 | + } | |
| 445 | + | |
| 446 | + .formSearch { | |
| 447 | + | |
| 448 | + display: flex; | |
| 449 | + width: 100%; | |
| 450 | + font-size: 14px; | |
| 451 | + justify-content: space-between; | |
| 452 | + | |
| 453 | + } | |
| 454 | + | |
| 455 | + .greens { | |
| 456 | + color: #3f9b6a; | |
| 457 | + } | |
| 458 | + | |
| 459 | + /deep/ .el-table__row { | |
| 460 | + font-size: 14px; | |
| 461 | + color: #000000e6; | |
| 462 | + height: 42px; | |
| 463 | + } | |
| 464 | + | |
| 465 | + .fenye { | |
| 466 | + margin-top: 20px; | |
| 467 | + display: flex; | |
| 468 | + justify-content: flex-end; | |
| 469 | + position: relative; | |
| 470 | + } | |
| 471 | + | |
| 472 | + /deep/ .el-pagination.is-background .el-pager li:not(.disabled).active { | |
| 473 | + background-color: #3f9b6a; | |
| 474 | + } | |
| 475 | + | |
| 476 | + :last-child { | |
| 477 | + margin-bottom: 0; | |
| 478 | + } | |
| 479 | + | |
| 480 | + .el-col { | |
| 481 | + border-radius: 4px; | |
| 482 | + } | |
| 483 | + | |
| 484 | + .bg-purple-dark { | |
| 485 | + background: #99a9bf; | |
| 486 | + } | |
| 487 | + | |
| 488 | + .bg-purple { | |
| 489 | + /* background: #d3dce6; */ | |
| 490 | + } | |
| 491 | + | |
| 492 | + .bg-purple-light { | |
| 493 | + background: #e5e9f2; | |
| 494 | + } | |
| 495 | + | |
| 496 | + .grid-content { | |
| 497 | + border-radius: 4px; | |
| 498 | + min-height: 36px; | |
| 499 | + } | |
| 500 | + | |
| 501 | + .row-bg { | |
| 502 | + padding: 10px 0; | |
| 503 | + background-color: #f9fafc; | |
| 504 | + } | |
| 505 | + | |
| 506 | + /deep/ .bg-purple[data-v-0e3fe4ec] { | |
| 507 | + background: #fff; | |
| 508 | + height: 50px; | |
| 509 | + } | |
| 510 | + | |
| 511 | + | |
| 512 | + .demo-input-suffix { | |
| 513 | + display: flex; | |
| 514 | + margin-right: 20px; | |
| 515 | + } | |
| 516 | + | |
| 517 | + .pagination { | |
| 518 | + text-align: right; | |
| 519 | + line-height: 20px; | |
| 520 | + } | |
| 521 | + | |
| 522 | + | |
| 523 | + .dialog_css { | |
| 524 | + padding: 0px; | |
| 525 | + } | |
| 526 | + | |
| 527 | + .dialog_xin { | |
| 528 | + padding: 0px; | |
| 529 | + } | |
| 530 | + | |
| 531 | + /deep/.el-dialog__body { | |
| 532 | + padding: 0px; | |
| 533 | + } | |
| 534 | + | |
| 535 | + /deep/ .el-dialog__header { | |
| 536 | + background-color: #fff; | |
| 537 | + padding: 0; | |
| 538 | + } | |
| 539 | + | |
| 540 | + /deep/.el-dialog__title { | |
| 541 | + color: #000; | |
| 542 | + } | |
| 543 | + | |
| 544 | + .el-row { | |
| 545 | + &:last-child { | |
| 546 | + margin-bottom: 0; | |
| 547 | + } | |
| 548 | + } | |
| 549 | + | |
| 550 | + /deep/ .avatar-uploader .el-upload { | |
| 551 | + border: 1px dashed #d9d9d9; | |
| 552 | + border-radius: 6px; | |
| 553 | + cursor: pointer; | |
| 554 | + position: relative; | |
| 555 | + overflow: hidden; | |
| 556 | + } | |
| 557 | + | |
| 558 | + .avatar-uploader .el-upload:hover { | |
| 559 | + border-color: #409eff; | |
| 560 | + } | |
| 561 | + | |
| 562 | + .avatar-uploader-icon { | |
| 563 | + font-size: 28px; | |
| 564 | + color: #8c939d; | |
| 565 | + width: 108px; | |
| 566 | + height: 108px; | |
| 567 | + line-height: 108px; | |
| 568 | + /*text-align: center;*/ | |
| 569 | + } | |
| 570 | + | |
| 571 | + .avatar { | |
| 572 | + width: 108px; | |
| 573 | + height: 108px; | |
| 574 | + display: block; | |
| 575 | + } | |
| 576 | + | |
| 577 | + ::v-deep .el-tabs__item.is-active { | |
| 578 | + color: #3f9b6a; | |
| 579 | + opacity: 1; | |
| 580 | + } | |
| 581 | + | |
| 582 | + /deep/ .el-tabs__nav-wrap::after { | |
| 583 | + background-color: #fff; | |
| 584 | + } | |
| 585 | + | |
| 586 | + ::v-deep .el-tabs__item:hover { | |
| 587 | + color: #3f9b6a; | |
| 588 | + cursor: pointer; | |
| 589 | + opacity: 1; | |
| 590 | + } | |
| 591 | + | |
| 592 | + /deep/ .el-tabs__active-bar { | |
| 593 | + background-color: #389865; | |
| 594 | + } | |
| 595 | + | |
| 596 | + /deep/ .el-table_2_column_13 { | |
| 597 | + font-weight: 100; | |
| 598 | + } | |
| 599 | + | |
| 600 | + ::v-deep .el-input__inner:focus { | |
| 601 | + border: #3f9b6a 1px solid; | |
| 602 | + } | |
| 603 | + | |
| 604 | + ::v-deep .el-input__inner:hover { | |
| 605 | + border: #3f9b6a 1px solid; | |
| 606 | + } | |
| 607 | + | |
| 608 | + ::v-deep .el-select .el-input.is-focus .el-input__inner { | |
| 609 | + border-color: #3f9b6a; | |
| 610 | + } | |
| 611 | + | |
| 612 | + | |
| 613 | + /* ::v-deep .el-steps .el-step__head.is-wait { | |
| 527 | 614 | background-color: red; /* 修改为你想要的颜色 */ |
| 528 | 615 | |
| 529 | - /* 修改未进行步骤的描述文字颜色 */ | |
| 530 | - ::v-deep .el-steps .el-step__description.is-wait { | |
| 531 | - color: #999; | |
| 532 | - /* 修改为你想要的颜色 */ | |
| 533 | - } | |
| 534 | - | |
| 535 | - /* 修改未进行步骤的图标颜色 */ | |
| 536 | - ::v-deep .el-steps .el-step__icon.is-text.is-wait { | |
| 537 | - color: #999; | |
| 538 | - /* 修改为你想要的颜色 */ | |
| 539 | - } | |
| 540 | - | |
| 541 | - /* 修改未进行步骤的边框色 */ | |
| 542 | - ::v-deep .el-steps .el-step__line.is-wait { | |
| 543 | - border-color: #eee; | |
| 544 | - /* 修改为你想要的颜色 */ | |
| 545 | - } | |
| 546 | - | |
| 547 | - ::v-deep .el-steps .is-process .el-step__line { | |
| 548 | - background-color: #3f9b6a; | |
| 549 | - /* 修改线的颜色 */ | |
| 550 | - } | |
| 551 | - | |
| 552 | - ::v-deep .el-steps .is-process .el-step__title { | |
| 553 | - color: #fe7b6a; | |
| 554 | - /* 修改进行中步骤的标题颜色 */ | |
| 555 | - } | |
| 556 | - | |
| 557 | - ::v-deep .el-steps .is-process .el-step__icon { | |
| 558 | - color: #fff; | |
| 559 | - /* 修改进行中步骤的图标颜色 */ | |
| 560 | - background: #3f9b6a; | |
| 561 | - /* 修改进行中步骤图标的边框颜色 */ | |
| 562 | - border: 0px; | |
| 563 | - } | |
| 564 | - | |
| 565 | - ::v-deep .el-step__icon-inner { | |
| 566 | - line-height: 0; | |
| 567 | - } | |
| 568 | - | |
| 569 | - /* 线条长度 */ | |
| 570 | - ::v-deep .el-step.is-vertical .el-step__line { | |
| 571 | - top: 30px; | |
| 572 | - height: 60px; | |
| 573 | - } | |
| 574 | - | |
| 575 | - ::v-deep .moren { | |
| 576 | - .el-input__inner { | |
| 577 | - margin-top: 5px; | |
| 578 | - padding: 0 20px; | |
| 579 | - } | |
| 580 | - } | |
| 581 | - | |
| 582 | - /deep/ .el-radio-group { | |
| 583 | - margin-top: 11px; | |
| 584 | - } | |
| 585 | - | |
| 586 | - /deep/ .el-radio__input.is-checked .el-radio__inner { | |
| 587 | - border-color: #3f9b6a; | |
| 588 | - background: #3f9b6a; | |
| 589 | - } | |
| 590 | - | |
| 591 | - ::v-deep .el-col { | |
| 592 | - padding: 0 !important; | |
| 593 | - } | |
| 594 | - | |
| 595 | - /deep/ .el-radio-group { | |
| 596 | - width: 100%; | |
| 597 | - } | |
| 598 | - | |
| 599 | - .radio-right-side { | |
| 600 | - width: 100%; | |
| 601 | - display: flex; | |
| 602 | - justify-content: space-between; | |
| 603 | - } | |
| 604 | - | |
| 605 | - /deep/ .radio-right-side .el-radio__label { | |
| 606 | - display: flex; | |
| 607 | - align-items: center; | |
| 608 | - } | |
| 609 | - | |
| 610 | - /deep/ .radio-right-side .el-radio__inner { | |
| 611 | - order: 1; | |
| 612 | - } | |
| 613 | - | |
| 614 | - /deep/ .radio-right-side .el-radio__input { | |
| 615 | - display: flex; | |
| 616 | - order: 2; | |
| 617 | - } | |
| 618 | - | |
| 619 | - /deep/ .radio-right-side { | |
| 620 | - &:hover { | |
| 621 | - color: #000; | |
| 622 | - } | |
| 623 | - } | |
| 624 | - | |
| 625 | - ::v-deep .el-dialog__wrapper { | |
| 626 | - .dialog_css { | |
| 627 | - margin-right: 12px; | |
| 628 | - margin-top: 61px !important; | |
| 629 | - | |
| 630 | - .el-dialog__title { | |
| 631 | - font-size: 16px !important; | |
| 632 | - font-weight: 600; | |
| 633 | - color: #000; | |
| 634 | - } | |
| 635 | - } | |
| 636 | - } | |
| 637 | - | |
| 638 | - ::v-deep .setup { | |
| 639 | - .el-steps { | |
| 640 | - justify-content: center; | |
| 641 | - } | |
| 642 | - } | |
| 643 | - | |
| 644 | - ::v-deep .el-step__head.is-finish { | |
| 645 | - color: #c0c4cc; | |
| 646 | - border-color: #c0c4cc; | |
| 647 | - } | |
| 648 | - | |
| 649 | - ::v-deep .el-step__title.is-finish { | |
| 650 | - color: #c0c4cc; | |
| 651 | - } | |
| 652 | - | |
| 653 | - ::v-deep .el-step__title.is-process { | |
| 654 | - color: #c0c4cc; | |
| 655 | - } | |
| 656 | - | |
| 657 | - ::v-deep .el-tabs { | |
| 658 | - width: 100%; | |
| 659 | - } | |
| 660 | - | |
| 661 | - ::v-deep .setup { | |
| 662 | - .el-step__main { | |
| 663 | - margin-left: -17px; | |
| 664 | - } | |
| 665 | - | |
| 666 | - .el-step__title.is-process { | |
| 667 | - color: #3f9b6a; | |
| 668 | - } | |
| 669 | - | |
| 670 | - } | |
| 671 | - | |
| 672 | - ::v-deep .el-pagination__jump { | |
| 673 | - margin-top: 5px; | |
| 674 | - } | |
| 675 | - | |
| 676 | - ::v-deep .linClass { | |
| 677 | - .el-dialog__header { | |
| 678 | - padding: 20px 20px 10px; | |
| 679 | - font-size: 14px; | |
| 680 | - } | |
| 681 | - } | |
| 616 | + /* 修改未进行步骤的描述文字颜色 */ | |
| 617 | + ::v-deep .el-steps .el-step__description.is-wait { | |
| 618 | + color: #999; | |
| 619 | + /* 修改为你想要的颜色 */ | |
| 620 | + } | |
| 621 | + | |
| 622 | + /* 修改未进行步骤的图标颜色 */ | |
| 623 | + ::v-deep .el-steps .el-step__icon.is-text.is-wait { | |
| 624 | + color: #999; | |
| 625 | + /* 修改为你想要的颜色 */ | |
| 626 | + } | |
| 627 | + | |
| 628 | + /* 修改未进行步骤的边框色 */ | |
| 629 | + ::v-deep .el-steps .el-step__line.is-wait { | |
| 630 | + border-color: #eee; | |
| 631 | + /* 修改为你想要的颜色 */ | |
| 632 | + } | |
| 633 | + | |
| 634 | + ::v-deep .el-steps .is-process .el-step__line { | |
| 635 | + background-color: #3f9b6a; | |
| 636 | + /* 修改线的颜色 */ | |
| 637 | + } | |
| 638 | + | |
| 639 | + ::v-deep .el-steps .is-process .el-step__title { | |
| 640 | + color: #fe7b6a; | |
| 641 | + /* 修改进行中步骤的标题颜色 */ | |
| 642 | + } | |
| 643 | + | |
| 644 | + ::v-deep .el-steps .is-process .el-step__icon { | |
| 645 | + color: #fff; | |
| 646 | + /* 修改进行中步骤的图标颜色 */ | |
| 647 | + background: #3f9b6a; | |
| 648 | + /* 修改进行中步骤图标的边框颜色 */ | |
| 649 | + border: 0px; | |
| 650 | + } | |
| 651 | + | |
| 652 | + ::v-deep .el-step__icon-inner { | |
| 653 | + line-height: 0; | |
| 654 | + } | |
| 655 | + | |
| 656 | + /* 线条长度 */ | |
| 657 | + ::v-deep .el-step.is-vertical .el-step__line { | |
| 658 | + top: 30px; | |
| 659 | + height: 60px; | |
| 660 | + } | |
| 661 | + | |
| 662 | + ::v-deep .moren { | |
| 663 | + .el-input__inner { | |
| 664 | + margin-top: 5px; | |
| 665 | + padding: 0 20px; | |
| 666 | + } | |
| 667 | + } | |
| 668 | + | |
| 669 | + /deep/ .el-radio-group { | |
| 670 | + margin-top: 11px; | |
| 671 | + } | |
| 672 | + | |
| 673 | + /deep/ .el-radio__input.is-checked .el-radio__inner { | |
| 674 | + border-color: #3f9b6a; | |
| 675 | + background: #3f9b6a; | |
| 676 | + } | |
| 677 | + | |
| 678 | + ::v-deep .el-col { | |
| 679 | + padding: 0 !important; | |
| 680 | + } | |
| 681 | + | |
| 682 | + /deep/ .el-radio-group { | |
| 683 | + width: 100%; | |
| 684 | + } | |
| 685 | + | |
| 686 | + .radio-right-side { | |
| 687 | + width: 100%; | |
| 688 | + display: flex; | |
| 689 | + justify-content: space-between; | |
| 690 | + } | |
| 691 | + | |
| 692 | + /deep/ .radio-right-side .el-radio__label { | |
| 693 | + display: flex; | |
| 694 | + align-items: center; | |
| 695 | + } | |
| 696 | + | |
| 697 | + /deep/ .radio-right-side .el-radio__inner { | |
| 698 | + order: 1; | |
| 699 | + } | |
| 700 | + | |
| 701 | + /deep/ .radio-right-side .el-radio__input { | |
| 702 | + display: flex; | |
| 703 | + order: 2; | |
| 704 | + } | |
| 705 | + | |
| 706 | + /deep/ .radio-right-side { | |
| 707 | + &:hover { | |
| 708 | + color: #000; | |
| 709 | + } | |
| 710 | + } | |
| 711 | + | |
| 712 | + ::v-deep .el-dialog__wrapper { | |
| 713 | + .dialog_css { | |
| 714 | + margin-right: 12px; | |
| 715 | + margin-top: 61px !important; | |
| 716 | + | |
| 717 | + .el-dialog__title { | |
| 718 | + font-size: 16px !important; | |
| 719 | + font-weight: 600; | |
| 720 | + color: #000; | |
| 721 | + } | |
| 722 | + } | |
| 723 | + } | |
| 724 | + | |
| 725 | + ::v-deep .setup { | |
| 726 | + .el-steps { | |
| 727 | + justify-content: center; | |
| 728 | + } | |
| 729 | + } | |
| 730 | + | |
| 731 | + ::v-deep .el-step__head.is-finish { | |
| 732 | + color: #c0c4cc; | |
| 733 | + border-color: #c0c4cc; | |
| 734 | + } | |
| 735 | + | |
| 736 | + ::v-deep .el-step__title.is-finish { | |
| 737 | + color: #c0c4cc; | |
| 738 | + } | |
| 739 | + | |
| 740 | + ::v-deep .el-step__title.is-process { | |
| 741 | + color: #c0c4cc; | |
| 742 | + } | |
| 743 | + | |
| 744 | + ::v-deep .el-tabs { | |
| 745 | + width: 100%; | |
| 746 | + } | |
| 747 | + | |
| 748 | + ::v-deep .setup { | |
| 749 | + .el-step__main { | |
| 750 | + margin-left: -17px; | |
| 751 | + } | |
| 752 | + | |
| 753 | + .el-step__title.is-process { | |
| 754 | + color: #3f9b6a; | |
| 755 | + } | |
| 756 | + | |
| 757 | + } | |
| 758 | + | |
| 759 | + ::v-deep .el-pagination__jump { | |
| 760 | + margin-top: 5px; | |
| 761 | + } | |
| 762 | + | |
| 763 | + ::v-deep .linClass { | |
| 764 | + .el-dialog__header { | |
| 765 | + padding: 20px 20px 10px; | |
| 766 | + font-size: 14px; | |
| 767 | + } | |
| 768 | + } | |
| 682 | 769 | </style> |
| 683 | 770 | <style lang="scss" scoped> |
| 684 | - ::v-deep .bian_css { | |
| 685 | - .el-dialog__header { | |
| 686 | - padding: 0px; | |
| 687 | - } | |
| 688 | - } | |
| 689 | - | |
| 690 | - ::v-deep .buttonHover:hover { | |
| 691 | - color: #3f9b6a !important; | |
| 692 | - border-color: #c5e1d2 !important; | |
| 693 | - background-color: #ecf5f0 !important; | |
| 694 | - outline: none; | |
| 695 | - } | |
| 696 | - | |
| 697 | - ::v-deep .el-pagination__total { | |
| 698 | - position: absolute; | |
| 699 | - left: 10px; | |
| 700 | - } | |
| 701 | - | |
| 702 | - ::v-deep .diaslog_zhong { | |
| 703 | - .el-dialog__body { | |
| 704 | - padding: 10px 20px 20px 20px; | |
| 705 | - } | |
| 706 | - | |
| 707 | - .el-upload--picture-card { | |
| 708 | - width: 130px; | |
| 709 | - height: 130px; | |
| 710 | - } | |
| 711 | - } | |
| 712 | -</style> | |
| 771 | + ::v-deep .bian_css { | |
| 772 | + .el-dialog__header { | |
| 773 | + padding: 0px; | |
| 774 | + } | |
| 775 | + } | |
| 776 | + | |
| 777 | + ::v-deep .buttonHover:hover { | |
| 778 | + color: #3f9b6a !important; | |
| 779 | + border-color: #c5e1d2 !important; | |
| 780 | + background-color: #ecf5f0 !important; | |
| 781 | + outline: none; | |
| 782 | + } | |
| 783 | + | |
| 784 | + ::v-deep .el-pagination__total { | |
| 785 | + position: absolute; | |
| 786 | + left: 10px; | |
| 787 | + } | |
| 788 | + | |
| 789 | + ::v-deep .diaslog_zhong { | |
| 790 | + .el-dialog__body { | |
| 791 | + padding: 10px 20px 20px 20px; | |
| 792 | + } | |
| 793 | + | |
| 794 | + .el-upload--picture-card { | |
| 795 | + width: 130px; | |
| 796 | + height: 130px; | |
| 797 | + } | |
| 798 | + } | |
| 799 | +</style> | |
| 713 | 800 | \ No newline at end of file | ... | ... |
admin-web-master/src/views/investigation/answerSheet.vue
| ... | ... | @@ -3,7 +3,8 @@ |
| 3 | 3 | <div class="zhuti"> |
| 4 | 4 | <div style="height:58px;line-height:58px;"> |
| 5 | 5 | <div style="color:#0006"> <span>问卷调查</span> <span style="padding:0 5px;">></span> <span |
| 6 | - style="color:#000000e6">问卷审核</span></div> | |
| 6 | + style="color:#000000e6" | |
| 7 | + >问卷审核</span></div> | |
| 7 | 8 | </div> |
| 8 | 9 | <!-- 线上 --> |
| 9 | 10 | <div> |
| ... | ... | @@ -26,143 +27,161 @@ |
| 26 | 27 | <el-option label="待审核" value="2" /> |
| 27 | 28 | <el-option label="已通过" value="3" /> |
| 28 | 29 | <el-option label="不通过" value="4" /> |
| 29 | - <el-option label="已下架" value="5" /> | |
| 30 | + <el-option label="已禁用" value="5" /> | |
| 30 | 31 | </el-select> |
| 31 | 32 | </el-form-item> |
| 32 | 33 | </el-form> |
| 33 | 34 | <div> |
| 34 | - <el-button @click="onSubmit" :disabled="isbutton" style="background-color: #3F9B6A;color: #fff">查询 | |
| 35 | + <el-button :disabled="isbutton" style="background-color: #3F9B6A;color: #fff" @click="onSubmit">查询 | |
| 35 | 36 | </el-button> |
| 36 | - <el-button @click="resetting" class="buttonHover" | |
| 37 | - style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;">重置 | |
| 37 | + <el-button | |
| 38 | + class="buttonHover" | |
| 39 | + style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 40 | + @click="resetting" | |
| 41 | + >重置 | |
| 38 | 42 | </el-button> |
| 39 | 43 | </div> |
| 40 | 44 | </div> |
| 41 | 45 | <!-- 表格 --> |
| 42 | 46 | |
| 43 | - <el-table :data="tableData.slice((currentPage - 1) * pageSize, currentPage * pageSize)" | |
| 44 | - :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}" | |
| 45 | - tooltip-effect="dark custom-tooltip-effect"> | |
| 46 | - <el-table-column label="序号" min-width="80"> | |
| 47 | - <template slot-scope="scope"> | |
| 48 | - {{scope.$index +1}} | |
| 49 | - </template> | |
| 50 | - </el-table-column> | |
| 51 | - | |
| 52 | - <el-table-column label="问卷类型" min-width="120" prop="questionnaireType"> | |
| 53 | - </el-table-column> | |
| 54 | - <el-table-column label="问卷标题" prop="title" min-width="300" :show-overflow-tooltip="true"> | |
| 55 | - </el-table-column> | |
| 56 | - <el-table-column label="开始时间" prop="startDate" min-width="150"> | |
| 57 | - | |
| 58 | - </el-table-column> | |
| 59 | - <el-table-column label="结束时间" prop="endDate" min-width="150"> | |
| 60 | - | |
| 61 | - </el-table-column> | |
| 62 | - <el-table-column label="已作答人数" prop="countNumber" min-width="100"> | |
| 63 | - </el-table-column> | |
| 64 | - <el-table-column prop="createTime" label="创建时间" min-width="180"> | |
| 65 | - | |
| 66 | - </el-table-column> | |
| 67 | - <el-table-column prop="reviewStatus" label="状态" min-width="120"> | |
| 68 | - <template slot-scope="scope"> | |
| 69 | - {{scope.row.reviewStatus == '1'?'待提交':scope.row.reviewStatus == '2'?'待审核':scope.row.reviewStatus == '3'?'审核通过':scope.row.reviewStatus == '4'?'不通过':'已下架'}} | |
| 70 | - </template> | |
| 71 | - </el-table-column> | |
| 47 | + <el-table | |
| 48 | + :data="tableData.slice((currentPage - 1) * pageSize, currentPage * pageSize)" | |
| 49 | + :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}" | |
| 50 | + tooltip-effect="dark custom-tooltip-effect" | |
| 51 | + > | |
| 52 | + <el-table-column label="序号" min-width="80"> | |
| 53 | + <template slot-scope="scope"> | |
| 54 | + {{ scope.$index +1 }} | |
| 55 | + </template> | |
| 56 | + </el-table-column> | |
| 57 | + | |
| 58 | + <el-table-column label="问卷类型" min-width="120" prop="questionnaireType" /> | |
| 59 | + <el-table-column label="问卷标题" prop="title" min-width="300" :show-overflow-tooltip="true" /> | |
| 60 | + <el-table-column label="开始时间" prop="startDate" min-width="150" /> | |
| 61 | + <el-table-column label="结束时间" prop="endDate" min-width="150" /> | |
| 62 | + <el-table-column label="已作答人数" prop="countNumber" min-width="100" /> | |
| 63 | + <el-table-column prop="createTime" label="创建时间" min-width="180" /> | |
| 64 | + <el-table-column prop="reviewStatus" label="状态" min-width="120"> | |
| 65 | + <template slot-scope="scope"> | |
| 66 | + {{ scope.row.reviewStatus == '1'?'待提交':scope.row.reviewStatus == '2'?'待审核':scope.row.reviewStatus == '3'?'审核通过':scope.row.reviewStatus == '4'?'不通过':'已禁用' }} | |
| 67 | + </template> | |
| 68 | + </el-table-column> | |
| 72 | 69 | <el-table-column label="操作" min-width="280"> |
| 73 | 70 | <template slot-scope="scope"> |
| 74 | - <div @click="details(0,scope.row)" class="tableBtn greens" >查看</div> | |
| 71 | + <div class="tableBtn greens" @click="details(0,scope.row)">查看</div> | |
| 75 | 72 | <!-- <div @click="bianls(scope.row)" class="tableBtn greens" v-if="scope.row.reviewStatus =='2'">审核</div> --> |
| 76 | - <div @click="bianls(scope.row)" class="tableBtn greens" v-if="scope.row.reviewStatus =='2'">审核</div> | |
| 73 | + <div v-if="scope.row.reviewStatus =='2'" class="tableBtn greens" @click="bianls(scope.row)">审核</div> | |
| 77 | 74 | </template> |
| 78 | 75 | </el-table-column> |
| 79 | 76 | </el-table> |
| 80 | 77 | <div class="fenye"> |
| 81 | - <el-pagination :hide-on-single-page='flag' background small size="mini" :current-page="currentPage" | |
| 82 | - :page-sizes="[10, 20, 50, 100]" layout="prev, pager, next,total" :total="total " | |
| 83 | - @size-change="handleSizeChange" @current-change="handleCurrentChange" /> | |
| 78 | + <el-pagination | |
| 79 | + :hide-on-single-page="flag" | |
| 80 | + background | |
| 81 | + small | |
| 82 | + size="mini" | |
| 83 | + :current-page="currentPage" | |
| 84 | + :page-sizes="[10, 20, 50, 100]" | |
| 85 | + layout="prev, pager, next,total" | |
| 86 | + :total="total " | |
| 87 | + @size-change="handleSizeChange" | |
| 88 | + @current-change="handleCurrentChange" | |
| 89 | + /> | |
| 84 | 90 | </div> |
| 85 | 91 | </div> |
| 86 | 92 | |
| 87 | 93 | </div> |
| 88 | 94 | <!-- 详情框 --> |
| 89 | - <el-dialog :visible.sync="detbox" custom-class='tongyong_css' style="padding: 0;" width="65%" center | |
| 90 | - :close-on-click-modal="false" :show-close="false"> | |
| 95 | + <el-dialog | |
| 96 | + :visible.sync="detbox" | |
| 97 | + custom-class="tongyong_css" | |
| 98 | + style="padding: 0;" | |
| 99 | + width="65%" | |
| 100 | + center | |
| 101 | + :close-on-click-modal="false" | |
| 102 | + :show-close="false" | |
| 103 | + > | |
| 91 | 104 | <div style="padding:20px;"> |
| 92 | 105 | <div style="font-size: 14px;padding-bottom: 20px;color: #000;">详情页</div> |
| 93 | 106 | <div> |
| 94 | 107 | <div style="padding: 10px 0 20px 0;">基本信息</div> |
| 95 | - <el-descriptions class="margin-top" :column="3" border :labelStyle="labelStyle" :contentStyle="contentStyle"> | |
| 108 | + <el-descriptions class="margin-top" :column="3" border :label-style="labelStyle" :content-style="contentStyle"> | |
| 96 | 109 | |
| 97 | 110 | <el-descriptions-item :span="2"> |
| 98 | 111 | <template slot="label"> |
| 99 | 112 | 问卷标题 |
| 100 | 113 | </template> |
| 101 | - {{secondData.title}} | |
| 114 | + {{ secondData.title }} | |
| 102 | 115 | </el-descriptions-item> |
| 103 | 116 | <el-descriptions-item> |
| 104 | 117 | <template slot="label"> |
| 105 | 118 | 状态 |
| 106 | 119 | </template> |
| 107 | - {{secondData.reviewStatus == '1'?'待提交':secondData.reviewStatus == '2'?'待审核':secondData.reviewStatus == '3'?'审核通过':secondData.reviewStatus == '4'?'不通过':'已下架'}} | |
| 120 | + {{ secondData.reviewStatus == '1'?'待提交':secondData.reviewStatus == '2'?'待审核':secondData.reviewStatus == '3'?'审核通过':secondData.reviewStatus == '4'?'不通过':'已禁用' }} | |
| 108 | 121 | </el-descriptions-item> |
| 109 | 122 | |
| 110 | 123 | <el-descriptions-item> |
| 111 | 124 | <template slot="label"> |
| 112 | 125 | 开始时间 |
| 113 | 126 | </template> |
| 114 | - {{secondData.startDate}} | |
| 127 | + {{ secondData.startDate }} | |
| 115 | 128 | </el-descriptions-item> |
| 116 | 129 | <el-descriptions-item> |
| 117 | 130 | <template slot="label"> |
| 118 | 131 | 结束时间 |
| 119 | 132 | </template> |
| 120 | - {{secondData.endDate}} | |
| 133 | + {{ secondData.endDate }} | |
| 121 | 134 | </el-descriptions-item> |
| 122 | 135 | |
| 123 | 136 | <el-descriptions-item> |
| 124 | 137 | <template slot="label"> |
| 125 | 138 | 预计填写时长 |
| 126 | 139 | </template> |
| 127 | - {{secondData.estimatedTime}} | |
| 140 | + {{ secondData.estimatedTime }} | |
| 128 | 141 | </el-descriptions-item> |
| 129 | 142 | <el-descriptions-item> |
| 130 | 143 | <template slot="label"> |
| 131 | 144 | 发布端口 |
| 132 | 145 | </template> |
| 133 | - {{secondData.publishPort}} | |
| 146 | + {{ secondData.publishPort }} | |
| 134 | 147 | </el-descriptions-item> |
| 135 | 148 | <el-descriptions-item> |
| 136 | 149 | <template slot="label"> |
| 137 | 150 | 问卷类型 |
| 138 | 151 | </template> |
| 139 | - {{secondData.questionnaireType}} | |
| 152 | + {{ secondData.questionnaireType }} | |
| 140 | 153 | </el-descriptions-item> |
| 141 | 154 | <el-descriptions-item> |
| 142 | 155 | <template slot="label"> |
| 143 | 156 | 填写条件 |
| 144 | 157 | </template> |
| 145 | - {{secondData.fillingConditions}} | |
| 158 | + {{ secondData.fillingConditions }} | |
| 146 | 159 | </el-descriptions-item> |
| 147 | 160 | <el-descriptions-item> |
| 148 | 161 | <template slot="label"> |
| 149 | 162 | 问卷介绍 |
| 150 | 163 | </template> |
| 151 | - {{secondData.remarks}} | |
| 164 | + {{ secondData.remarks }} | |
| 152 | 165 | </el-descriptions-item> |
| 153 | 166 | |
| 154 | 167 | </el-descriptions> |
| 155 | 168 | <div style="padding: 20px 0;">问卷封面</div> |
| 169 | + | |
| 156 | 170 | <div> |
| 157 | - <img :src="secondData.coverImage" alt="" style="height:100%;" /> | |
| 171 | + <!-- <img :src="secondData.coverImage" alt="" style="height:100%;" /> --> | |
| 172 | + <el-image | |
| 173 | + style="width: 200px; height: 200px" | |
| 174 | + :src="this.$hostUrl + secondData.coverImage" | |
| 175 | + fit="fill" | |
| 176 | + /> | |
| 158 | 177 | </div> |
| 159 | - <div style="padding: 20px 0 ;" v-if="secondData.filler == '会员'">参与答卷奖励</div> | |
| 160 | - <el-descriptions class="margin-top" :column="3" border :labelStyle="labelStyle" :contentStyle="contentStyle" v-if="secondData.filler == '会员'"> | |
| 178 | + <div v-if="secondData.filler == '会员'" style="padding: 20px 0 ;">参与答卷奖励</div> | |
| 179 | + <el-descriptions v-if="secondData.filler == '会员'" class="margin-top" :column="3" border :label-style="labelStyle" :content-style="contentStyle"> | |
| 161 | 180 | <el-descriptions-item> |
| 162 | 181 | <template slot="label"> |
| 163 | 182 | 提交问卷后 |
| 164 | 183 | </template> |
| 165 | - {{secondData.rewardForParticipation}} | |
| 184 | + {{ secondData.rewardForParticipation }} | |
| 166 | 185 | </el-descriptions-item> |
| 167 | 186 | <el-descriptions-item> |
| 168 | 187 | <template slot="label"> |
| ... | ... | @@ -172,24 +191,21 @@ |
| 172 | 191 | </el-descriptions-item> |
| 173 | 192 | </el-descriptions> |
| 174 | 193 | <div style="padding: 20px 0 ;">问卷题目</div> |
| 175 | - <el-table :data="wenData.slice((currentPage - 1) * pageSize, currentPage * pageSize)" | |
| 176 | - :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}"> | |
| 194 | + <el-table | |
| 195 | + :data="wenData.slice((currentPage - 1) * pageSize, currentPage * pageSize)" | |
| 196 | + :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}" | |
| 197 | + > | |
| 177 | 198 | <el-table-column label="序号" min-width="100"> |
| 178 | 199 | <template slot-scope="scope"> |
| 179 | - {{scope.$index +1}} | |
| 200 | + {{ scope.$index +1 }} | |
| 180 | 201 | </template> |
| 181 | 202 | </el-table-column> |
| 182 | - <el-table-column label="题目" min-width="300" prop="title"> | |
| 183 | - | |
| 184 | - </el-table-column> | |
| 185 | - <el-table-column label="题型" min-width="80" prop="type"> | |
| 186 | - </el-table-column> | |
| 187 | - <el-table-column label="是否必填" prop="required" min-width="80"> | |
| 188 | - | |
| 189 | - </el-table-column> | |
| 203 | + <el-table-column label="题目" min-width="300" prop="title" /> | |
| 204 | + <el-table-column label="题型" min-width="80" prop="type" /> | |
| 205 | + <el-table-column label="是否必填" prop="required" min-width="80" /> | |
| 190 | 206 | <el-table-column label="选项" min-width="120"> |
| 191 | 207 | <template slot-scope="scope"> |
| 192 | - <div v-for="(value, index) in scope.row.options " :key="index" v-if="scope.row.type !='文本'"> | |
| 208 | + <div v-for="(value, index) in scope.row.options " v-if="scope.row.type !='文本'" :key="index"> | |
| 193 | 209 | {{ index +1 }}:{{ value.answer }} |
| 194 | 210 | </div> |
| 195 | 211 | <div v-else> |
| ... | ... | @@ -201,84 +217,103 @@ |
| 201 | 217 | |
| 202 | 218 | </el-table> |
| 203 | 219 | <div style="padding: 20px 0 ;">系统信息</div> |
| 204 | - <el-descriptions class="margin-top" :column="3" border :labelStyle="labelStyle" :contentStyle="contentStyle"> | |
| 220 | + <el-descriptions class="margin-top" :column="3" border :label-style="labelStyle" :content-style="contentStyle"> | |
| 205 | 221 | <el-descriptions-item> |
| 206 | 222 | <template slot="label"> |
| 207 | 223 | 创建人 |
| 208 | 224 | </template> |
| 209 | - {{secondData.createUser}} | |
| 225 | + {{ secondData.createUser }} | |
| 210 | 226 | </el-descriptions-item> |
| 211 | 227 | <el-descriptions-item> |
| 212 | 228 | <template slot="label"> |
| 213 | 229 | 创建时间 |
| 214 | 230 | </template> |
| 215 | - {{secondData.createTime}} | |
| 231 | + {{ secondData.createTime }} | |
| 216 | 232 | </el-descriptions-item> |
| 217 | 233 | <el-descriptions-item> |
| 218 | 234 | <template slot="label"> |
| 219 | 235 | 更新时间 |
| 220 | 236 | </template> |
| 221 | -{{secondData.updateTime}} | |
| 237 | + {{ secondData.updateTime }} | |
| 222 | 238 | </el-descriptions-item> |
| 223 | 239 | </el-descriptions> |
| 224 | 240 | </div> |
| 225 | -<div style="padding: 20px 0 ;">审核信息</div> | |
| 226 | -<el-descriptions class="margin-top" :column="3" border :labelStyle="labelStyle" :contentStyle="contentStyle"> | |
| 227 | - <el-descriptions-item> | |
| 228 | - <template slot="label"> | |
| 229 | - 审核状态 | |
| 230 | - </template> | |
| 231 | - {{secondData.reviewStatus == '3'?'审核通过':secondData.reviewStatus == '4'?'不通过':''}} | |
| 232 | - </el-descriptions-item> | |
| 233 | - <el-descriptions-item> | |
| 234 | - <template slot="label"> | |
| 235 | - 审核意见 | |
| 236 | - </template> | |
| 237 | - {{secondData.reviewComments}} | |
| 238 | - </el-descriptions-item> | |
| 241 | + <div style="padding: 20px 0 ;">审核信息</div> | |
| 242 | + <el-descriptions class="margin-top" :column="3" border :label-style="labelStyle" :content-style="contentStyle"> | |
| 243 | + <el-descriptions-item> | |
| 244 | + <template slot="label"> | |
| 245 | + 审核状态 | |
| 246 | + </template> | |
| 247 | + {{ secondData.reviewStatus == '3'?'审核通过':secondData.reviewStatus == '4'?'不通过':'' }} | |
| 248 | + </el-descriptions-item> | |
| 249 | + <el-descriptions-item> | |
| 250 | + <template slot="label"> | |
| 251 | + 审核意见 | |
| 252 | + </template> | |
| 253 | + {{ secondData.reviewComments }} | |
| 254 | + </el-descriptions-item> | |
| 239 | 255 | |
| 240 | - </el-descriptions> | |
| 256 | + </el-descriptions> | |
| 241 | 257 | <div style="padding-top:20px;display:flex;justify-content: flex-end;"> |
| 242 | - <el-button class="buttonHover" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 243 | - @click="detbox = false">返回</el-button> | |
| 258 | + <el-button | |
| 259 | + class="buttonHover" | |
| 260 | + style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 261 | + @click="detbox = false" | |
| 262 | + >返回</el-button> | |
| 244 | 263 | </div> |
| 245 | 264 | </div> |
| 246 | 265 | |
| 247 | 266 | </el-dialog> |
| 248 | -<el-dialog | |
| 249 | - width="40%" | |
| 250 | - title="审核" | |
| 251 | - custom-class='liucheng_css' | |
| 252 | - :visible.sync="Liunie" | |
| 253 | - :close-on-click-modal="false" :close-on-press-escape="false" :show-close='false' | |
| 254 | - append-to-body> | |
| 255 | - <div style="padding:30px 20px 0 20px"> | |
| 256 | - <el-form ref="ruleFormInfo" :model="shenMsg" :rules="rules" label-width="120px" | |
| 257 | - style="position: relative"> | |
| 258 | - <el-form-item label="审核状态" class="grid-content bg-purple" prop="reviewStatus"> | |
| 259 | - <el-radio-group v-model="shenMsg.reviewStatus" style="margin-top:13px;"> | |
| 260 | - <el-radio :label="3">通过</el-radio> | |
| 261 | - <el-radio :label="4">不通过</el-radio> | |
| 262 | - | |
| 263 | - </el-radio-group> | |
| 264 | - </el-form-item> | |
| 265 | - | |
| 266 | - <el-form-item label="处理意见" class="grid-content bg-purple" prop="reviewComments"> | |
| 267 | - <el-input type="textarea" v-model="shenMsg.reviewComments" | |
| 268 | - placeholder="请输入处理意见" maxlength="50"/> | |
| 269 | - </el-form-item> | |
| 270 | - | |
| 271 | - </el-form> | |
| 272 | - </div> | |
| 273 | - <div style="display:flex;justify-content: flex-end;padding:20px;"> | |
| 274 | - <el-button @click="quxiao" | |
| 275 | - style="background-color: #3F9B6A;color: #fff;">取消</el-button> | |
| 276 | - <el-button @click="OAshen" | |
| 277 | - style="background-color: #3F9B6A;color: #fff;">确定</el-button> | |
| 278 | - </div> | |
| 279 | - </el-dialog> | |
| 267 | + <el-dialog | |
| 268 | + width="40%" | |
| 269 | + title="审核" | |
| 270 | + custom-class="liucheng_css" | |
| 271 | + :visible.sync="Liunie" | |
| 272 | + :close-on-click-modal="false" | |
| 273 | + :close-on-press-escape="false" | |
| 274 | + :show-close="false" | |
| 275 | + append-to-body | |
| 276 | + > | |
| 277 | + <div style="padding:30px 20px 0 20px"> | |
| 278 | + <el-form | |
| 279 | + ref="ruleFormInfo" | |
| 280 | + :model="shenMsg" | |
| 281 | + :rules="rules" | |
| 282 | + label-width="120px" | |
| 283 | + style="position: relative" | |
| 284 | + > | |
| 285 | + <el-form-item label="审核状态" class="grid-content bg-purple" prop="reviewStatus"> | |
| 286 | + <el-radio-group v-model="shenMsg.reviewStatus" style="margin-top:13px;"> | |
| 287 | + <el-radio :label="3">通过</el-radio> | |
| 288 | + <el-radio :label="4">不通过</el-radio> | |
| 289 | + | |
| 290 | + </el-radio-group> | |
| 291 | + </el-form-item> | |
| 292 | + | |
| 293 | + <el-form-item label="处理意见" class="grid-content bg-purple" prop="reviewComments"> | |
| 294 | + <el-input | |
| 295 | + v-model="shenMsg.reviewComments" | |
| 296 | + type="textarea" | |
| 297 | + placeholder="请输入处理意见" | |
| 298 | + maxlength="50" | |
| 299 | + /> | |
| 300 | + </el-form-item> | |
| 301 | + | |
| 302 | + </el-form> | |
| 303 | + </div> | |
| 304 | + <div style="display:flex;justify-content: flex-end;padding:20px;"> | |
| 305 | + <el-button | |
| 306 | + style="background-color: #3F9B6A;color: #fff;" | |
| 307 | + @click="quxiao" | |
| 308 | + >取消</el-button> | |
| 309 | + <el-button | |
| 310 | + style="background-color: #3F9B6A;color: #fff;" | |
| 311 | + @click="OAshen" | |
| 312 | + >确定</el-button> | |
| 313 | + </div> | |
| 314 | + </el-dialog> | |
| 280 | 315 | |
| 281 | -<!-- <el-dialog :visible.sync="actSpye" custom-class='actSpye_dialog' style="padding: 0;" width="70%" | |
| 316 | + <!-- <el-dialog :visible.sync="actSpye" custom-class='actSpye_dialog' style="padding: 0;" width="70%" | |
| 282 | 317 | center :close-on-click-modal="false" :show-close="false" :close-on-press-escape="false"> |
| 283 | 318 | <div style="padding:10px 20px;"> |
| 284 | 319 | <div style="display: flex;justify-content: space-between;border-bottom: 1px solid #E5E5E5;padding: 0 0 10px 0;"> |
| ... | ... | @@ -468,7 +503,6 @@ |
| 468 | 503 | </div> |
| 469 | 504 | </div> |
| 470 | 505 | |
| 471 | - | |
| 472 | 506 | </div> |
| 473 | 507 | <div style="display:flex;justify-content: flex-end;padding:20px;"> |
| 474 | 508 | <el-button @click="MsgSp=false" |
| ... | ... | @@ -660,210 +694,202 @@ |
| 660 | 694 | </el-dialog> --> |
| 661 | 695 | </div> |
| 662 | 696 | |
| 663 | - | |
| 664 | 697 | </template> |
| 665 | 698 | |
| 666 | 699 | <script> |
| 667 | - import { | |
| 668 | - async | |
| 669 | - } from 'q' | |
| 670 | - import axios from 'axios' | |
| 671 | - import { | |
| 672 | - TerminaGetAll, | |
| 673 | - TerminaAdd, | |
| 674 | - TerminaEdit, | |
| 675 | - TerminaDel, | |
| 676 | - QuestionGetAll, | |
| 677 | - QuestionAdd, | |
| 678 | - } from '../../api/investigation.js' | |
| 679 | - import upimg from "@/components/ImageUpload/index" | |
| 680 | - export default { | |
| 681 | - components: { | |
| 682 | - upimg | |
| 683 | - }, | |
| 684 | - data() { | |
| 685 | - return { | |
| 686 | - detbox: false, //详情 | |
| 687 | - currentPage: 1, | |
| 688 | - total: 10, | |
| 689 | - flag: false, | |
| 700 | +import { | |
| 701 | + async | |
| 702 | +} from 'q' | |
| 703 | +import axios from 'axios' | |
| 704 | +import { | |
| 705 | + TerminaGetAll, | |
| 706 | + TerminaAdd, | |
| 707 | + TerminaEdit, | |
| 708 | + TerminaDel, | |
| 709 | + QuestionGetAll, | |
| 710 | + QuestionAdd, | |
| 711 | +} from '../../api/investigation.js' | |
| 712 | +import upimg from '@/components/ImageUpload/index' | |
| 713 | +export default { | |
| 714 | + components: { | |
| 715 | + upimg | |
| 716 | + }, | |
| 717 | + data () { | |
| 718 | + return { | |
| 719 | + detbox: false, // 详情 | |
| 720 | + currentPage: 1, | |
| 721 | + total: 10, | |
| 722 | + flag: false, | |
| 723 | + pageSize: 10, | |
| 724 | + tableData: [ | |
| 725 | + ], | |
| 726 | + secondData: {}, | |
| 727 | + formSel: { | |
| 728 | + queryStatus: '1', | |
| 729 | + title: '', | |
| 730 | + questionnaireType: '', | |
| 731 | + reviewStatus: '', | |
| 732 | + pageNumber: 0, | |
| 733 | + pageSize: 10, | |
| 734 | + }, | |
| 735 | + pageindex: { | |
| 736 | + pageNumber: 0, | |
| 690 | 737 | pageSize: 10, |
| 691 | - tableData: [ | |
| 738 | + queryStatus: '1' | |
| 739 | + }, | |
| 740 | + actSpye: false, // 审核 | |
| 741 | + actCard: '1', | |
| 742 | + MsgSp: false, | |
| 743 | + index: 0, | |
| 744 | + liuYe: 1, // 通过or不通过 | |
| 745 | + Liunie: false, | |
| 746 | + wenData: [], | |
| 747 | + labelStyle: { | |
| 748 | + width: '160px' | |
| 749 | + }, | |
| 750 | + contentStyle: { | |
| 751 | + width: '246px' | |
| 752 | + }, | |
| 753 | + shenMsg: { | |
| 754 | + reviewStatus: 3, | |
| 755 | + reviewComments: '', | |
| 756 | + id: '' | |
| 757 | + }, | |
| 758 | + rules: { | |
| 759 | + reviewComments: [ | |
| 760 | + { required: true, message: '请输入意见', trigger: 'blur' }, | |
| 692 | 761 | ], |
| 693 | - secondData: {}, | |
| 694 | - formSel: { | |
| 695 | - queryStatus:'1', | |
| 696 | - title:'', | |
| 697 | - questionnaireType:'', | |
| 698 | - reviewStatus:'', | |
| 699 | - pageNumber: 0, | |
| 700 | - pageSize: 10, | |
| 701 | - }, | |
| 702 | - pageindex: { | |
| 703 | - pageNumber: 0, | |
| 704 | - pageSize: 10, | |
| 705 | - queryStatus:'1' | |
| 706 | - }, | |
| 707 | - actSpye: false, // 审核 | |
| 708 | - actCard:'1', | |
| 709 | - MsgSp:false, | |
| 710 | - index:0, | |
| 711 | - liuYe:1,//通过or不通过 | |
| 712 | - Liunie:false, | |
| 713 | - wenData:[], | |
| 714 | - labelStyle :{ | |
| 715 | - width:'160px' | |
| 716 | - }, | |
| 717 | - contentStyle:{ | |
| 718 | - width:'246px' | |
| 719 | - }, | |
| 720 | - shenMsg:{ | |
| 721 | - reviewStatus:3, | |
| 722 | - reviewComments:'', | |
| 723 | - id:'' | |
| 724 | - }, | |
| 725 | - rules:{ | |
| 726 | - reviewComments: [ | |
| 727 | - { required: true, message: '请输入意见', trigger: 'blur' }, | |
| 728 | - ], | |
| 729 | - reviewStatus: [ | |
| 730 | - { required: true, message: '请选择审核状态', trigger: 'change' }, | |
| 731 | - ], | |
| 732 | - }, | |
| 733 | - isbutton: false, | |
| 734 | - tikuziyuan:[] | |
| 762 | + reviewStatus: [ | |
| 763 | + { required: true, message: '请选择审核状态', trigger: 'change' }, | |
| 764 | + ], | |
| 765 | + }, | |
| 766 | + isbutton: false, | |
| 767 | + tikuziyuan: [] | |
| 768 | + } | |
| 769 | + }, | |
| 770 | + computed: { | |
| 771 | + | |
| 772 | + }, | |
| 773 | + created () { | |
| 774 | + this.getAll() | |
| 775 | + }, | |
| 776 | + methods: { | |
| 777 | + chenge (val) { | |
| 778 | + this.formSel = { | |
| 779 | + title: '', | |
| 780 | + questionnaireType: '', | |
| 781 | + reviewStatus: '', | |
| 782 | + pageNumber: 0, | |
| 783 | + pageSize: 10, | |
| 784 | + queryStatus: '1', | |
| 735 | 785 | } |
| 736 | 786 | }, |
| 737 | - created() { | |
| 738 | - this.getAll() | |
| 787 | + async getAll () { | |
| 788 | + const res = await TerminaGetAll(this.pageindex) | |
| 789 | + this.tableData = res.data.content | |
| 790 | + this.total = res.data.totalElements | |
| 739 | 791 | }, |
| 740 | - computed: { | |
| 741 | 792 | |
| 742 | - }, | |
| 743 | - methods: { | |
| 744 | - chenge(val) { | |
| 745 | - this.formSel = { | |
| 746 | - title:'', | |
| 747 | - questionnaireType:'', | |
| 748 | - reviewStatus:'', | |
| 749 | - pageNumber: 0, | |
| 750 | - pageSize: 10, | |
| 751 | - queryStatus:'1', | |
| 793 | + // 获取时间 | |
| 794 | + currentTime () { | |
| 795 | + const date = new Date(); | |
| 796 | + const year = date.getFullYear(); // 月份从0~11,所以加一 | |
| 797 | + const month = date.getMonth(); | |
| 798 | + const dateArr = [date.getMonth() + 1, date.getDate(), date.getHours()] | |
| 799 | + for (let i = 0; i < dateArr.length; i++) { | |
| 800 | + if (dateArr[i] >= 1 && dateArr[i] <= 9) { | |
| 801 | + dateArr[i] = '0' + dateArr[i] | |
| 752 | 802 | } |
| 753 | - }, | |
| 754 | - async getAll() { | |
| 755 | - const res = await TerminaGetAll(this.pageindex) | |
| 756 | - this.tableData = res.data.content | |
| 757 | - this.total = res.data.totalElements | |
| 758 | - | |
| 759 | - }, | |
| 760 | - | |
| 761 | - // 获取时间 | |
| 762 | - currentTime() { | |
| 763 | - let date = new Date(); | |
| 764 | - let year = date.getFullYear(); //月份从0~11,所以加一 | |
| 765 | - let month = date.getMonth(); | |
| 766 | - let dateArr = [date.getMonth() + 1, date.getDate(), date.getHours()] | |
| 767 | - for (let i = 0; i < dateArr.length; i++) { | |
| 768 | - if (dateArr[i] >= 1 && dateArr[i] <= 9) { | |
| 769 | - dateArr[i] = '0' + dateArr[i] | |
| 770 | - } | |
| 803 | + } | |
| 804 | + const strDate = year + '-' + dateArr[0] + '-' + dateArr[1] | |
| 805 | + return strDate | |
| 806 | + }, | |
| 807 | + objectToArray (obj) { | |
| 808 | + return Object.keys(obj).map(key => { | |
| 809 | + const item = obj[key]; | |
| 810 | + return { | |
| 811 | + id: key, | |
| 812 | + ...item | |
| 771 | 813 | } |
| 772 | - let strDate = year + '-' + dateArr[0] + '-' + dateArr[1] | |
| 773 | - return strDate | |
| 774 | - }, | |
| 775 | -objectToArray(obj) { | |
| 776 | - return Object.keys(obj).map(key => { | |
| 777 | - const item = obj[key]; | |
| 778 | - return { | |
| 779 | - id: key, | |
| 780 | - ...item | |
| 781 | - } | |
| 782 | - }) | |
| 783 | -}, | |
| 784 | - | |
| 785 | - //详情 | |
| 786 | - details(val, item) { | |
| 787 | - this.detbox = true | |
| 788 | - this.secondData = item | |
| 789 | - if(typeof item.question =='string'){ | |
| 790 | - item.question = JSON.parse(item.question) | |
| 791 | - | |
| 792 | - } | |
| 793 | - const array = this.objectToArray(item.question) | |
| 794 | - | |
| 795 | - this.wenData = array | |
| 814 | + }) | |
| 815 | + }, | |
| 796 | 816 | |
| 797 | - }, | |
| 817 | + // 详情 | |
| 818 | + details (val, item) { | |
| 819 | + this.detbox = true | |
| 820 | + this.secondData = item | |
| 821 | + if (typeof item.question === 'string') { | |
| 822 | + item.question = JSON.parse(item.question) | |
| 823 | + } | |
| 824 | + const array = this.objectToArray(item.question) | |
| 798 | 825 | |
| 799 | - handleSizeChange(val) { | |
| 800 | - this.pageSize = val | |
| 801 | - }, | |
| 802 | - handleCurrentChange(val) { | |
| 826 | + this.wenData = array | |
| 827 | + }, | |
| 803 | 828 | |
| 804 | - this.pageindex = { | |
| 805 | - pageNumber: val - 1, | |
| 806 | - pageSize: 10, | |
| 807 | - } | |
| 829 | + handleSizeChange (val) { | |
| 830 | + this.pageSize = val | |
| 831 | + }, | |
| 832 | + handleCurrentChange (val) { | |
| 833 | + this.pageindex = { | |
| 834 | + pageNumber: val - 1, | |
| 835 | + pageSize: 10, | |
| 836 | + } | |
| 808 | 837 | |
| 809 | - TerminaGetAll(this.pageindex).then(res=>{ | |
| 810 | - this.tableData = res.data.content | |
| 811 | - }) | |
| 812 | - }, | |
| 838 | + TerminaGetAll(this.pageindex).then(res => { | |
| 839 | + this.tableData = res.data.content | |
| 840 | + }) | |
| 841 | + }, | |
| 813 | 842 | |
| 814 | - closeFn(val) { | |
| 843 | + closeFn (val) { | |
| 815 | 844 | this.detbox = false |
| 816 | - }, | |
| 817 | - | |
| 818 | - // 查询按钮 | |
| 819 | - async onSubmit() { | |
| 820 | - this.isbutton = true; | |
| 821 | - const res = await TerminaGetAll(this.formSel) | |
| 822 | - this.tableData = res.data.content | |
| 823 | - this.total = res.data.totalElements | |
| 824 | - this.isbutton = false; | |
| 825 | - | |
| 826 | - }, | |
| 827 | - //重置按钮 | |
| 828 | - resetting() { | |
| 829 | - this.formSel = { title:'', | |
| 830 | - questionnaireType:'', | |
| 831 | - reviewStatus:'', | |
| 832 | - queryStatus:'1', | |
| 833 | - pageNumber: 0, | |
| 834 | - pageSize: 10, | |
| 835 | - } | |
| 836 | - this.currentPage = 1 | |
| 837 | - this.pageindex.pageNumber = 0 | |
| 838 | - this.getAll() | |
| 839 | - }, | |
| 840 | - bianls(item){ | |
| 841 | - // this.tikuziyuan = item.cereQuestionManagements | |
| 842 | - // this.secondData = item | |
| 843 | - // this.actSpye = true | |
| 844 | - this.shenMsg.id = item.id | |
| 845 | - this.Liunie = true | |
| 846 | - | |
| 845 | + }, | |
| 847 | 846 | |
| 848 | - }, | |
| 849 | - MsgShen(val){ | |
| 850 | - this.index = val | |
| 851 | - this.MsgSp =true | |
| 852 | - }, | |
| 853 | - LiuYes(val){ | |
| 854 | - this.liuYe = val | |
| 855 | - this.Liunie = true | |
| 856 | - }, | |
| 857 | -OAshen(){ | |
| 858 | - if(this.shenMsg.reviewComments == ''){ | |
| 859 | - this.$message({ | |
| 860 | - message: '请输入审核意见', | |
| 861 | - }) | |
| 862 | - return | |
| 863 | - } | |
| 864 | - TerminaEdit(this.shenMsg).then(res=>{ | |
| 865 | - this.getAll() | |
| 866 | - }) | |
| 847 | + // 查询按钮 | |
| 848 | + async onSubmit () { | |
| 849 | + this.isbutton = true; | |
| 850 | + const res = await TerminaGetAll(this.formSel) | |
| 851 | + this.tableData = res.data.content | |
| 852 | + this.total = res.data.totalElements | |
| 853 | + this.isbutton = false; | |
| 854 | + }, | |
| 855 | + // 重置按钮 | |
| 856 | + resetting () { | |
| 857 | + this.formSel = { title: '', | |
| 858 | + questionnaireType: '', | |
| 859 | + reviewStatus: '', | |
| 860 | + queryStatus: '1', | |
| 861 | + pageNumber: 0, | |
| 862 | + pageSize: 10, | |
| 863 | + } | |
| 864 | + this.currentPage = 1 | |
| 865 | + this.pageindex.pageNumber = 0 | |
| 866 | + this.getAll() | |
| 867 | + }, | |
| 868 | + bianls (item) { | |
| 869 | + // this.tikuziyuan = item.cereQuestionManagements | |
| 870 | + // this.secondData = item | |
| 871 | + // this.actSpye = true | |
| 872 | + this.shenMsg.id = item.id | |
| 873 | + this.Liunie = true | |
| 874 | + }, | |
| 875 | + MsgShen (val) { | |
| 876 | + this.index = val | |
| 877 | + this.MsgSp = true | |
| 878 | + }, | |
| 879 | + LiuYes (val) { | |
| 880 | + this.liuYe = val | |
| 881 | + this.Liunie = true | |
| 882 | + }, | |
| 883 | + OAshen () { | |
| 884 | + if (this.shenMsg.reviewComments == '') { | |
| 885 | + this.$message({ | |
| 886 | + message: '请输入审核意见', | |
| 887 | + }) | |
| 888 | + return | |
| 889 | + } | |
| 890 | + TerminaEdit(this.shenMsg).then(res => { | |
| 891 | + this.getAll() | |
| 892 | + }) | |
| 867 | 893 | // if(this.liuYe == 1){ |
| 868 | 894 | // TerminaEdit({id:this.secondData.id,reviewStatus:'3'}).then(res=>{ |
| 869 | 895 | // this.getAll() |
| ... | ... | @@ -874,16 +900,15 @@ OAshen(){ |
| 874 | 900 | // }) |
| 875 | 901 | |
| 876 | 902 | // } |
| 877 | - this.Liunie = false | |
| 878 | - // this.actSpye = false | |
| 879 | - | |
| 880 | -}, | |
| 881 | -quxiao(){ | |
| 882 | - this.$refs.ruleFormInfo.resetFields() | |
| 883 | - this.Liunie=false | |
| 884 | -} | |
| 903 | + this.Liunie = false | |
| 904 | + // this.actSpye = false | |
| 905 | + }, | |
| 906 | + quxiao () { | |
| 907 | + this.$refs.ruleFormInfo.resetFields() | |
| 908 | + this.Liunie = false | |
| 885 | 909 | } |
| 886 | 910 | } |
| 911 | +} | |
| 887 | 912 | </script> |
| 888 | 913 | |
| 889 | 914 | <style scoped> |
| ... | ... | @@ -1002,7 +1027,6 @@ quxiao(){ |
| 1002 | 1027 | font-size: 16px; |
| 1003 | 1028 | } |
| 1004 | 1029 | |
| 1005 | - | |
| 1006 | 1030 | ::v-deep .el-dialog__wrapper { |
| 1007 | 1031 | .el-dialog__header { |
| 1008 | 1032 | background-color: #FAFAFA; |
| ... | ... | @@ -1311,7 +1335,6 @@ quxiao(){ |
| 1311 | 1335 | } |
| 1312 | 1336 | } |
| 1313 | 1337 | |
| 1314 | - | |
| 1315 | 1338 | } |
| 1316 | 1339 | } |
| 1317 | 1340 | </style> | ... | ... |
admin-web-master/src/views/investigation/index.vue
Changes suppressed. Click to show
| 1 | 1 | <template> |
| 2 | - <div style="background-color:#f7f7f7;padding:10px 10px;"> | |
| 3 | - <div class="zhuti"> | |
| 4 | - <div style="height:58px;line-height:58px;"> | |
| 5 | - <div style="color:#0006"> <span>问卷调查</span> <span style="padding:0 5px;">></span> <span | |
| 6 | - style="color:#000000e6">问卷管理</span></div> | |
| 7 | - </div> | |
| 8 | - <!-- 线上 --> | |
| 9 | - <div v-if="!tongjiBox"> | |
| 10 | - <!-- 搜索 --> | |
| 11 | - <div class="formSearch"> | |
| 12 | - <el-form :inline="true" :model="formSel"> | |
| 13 | - <el-form-item label="问卷标题"> | |
| 14 | - <el-input v-model="formSel.title" placeholder="请输入" style="width:168px;" /> | |
| 15 | - </el-form-item> | |
| 16 | - <el-form-item label="问卷类型"> | |
| 17 | - <el-select v-model="formSel.questionnaireType" placeholder="请选择" style="width:168px;margin-right: 15px"> | |
| 18 | - <el-option label="物业问卷" value="物业问卷" /> | |
| 19 | - <el-option label="招商问卷" value="招商问卷" /> | |
| 20 | - <el-option label="满意度问卷" value="满意度问卷" /> | |
| 21 | - <el-option label="社会调查问卷" value="社会调查问卷" /> | |
| 22 | - </el-select> | |
| 23 | - </el-form-item> | |
| 24 | - <el-form-item label="状态"> | |
| 25 | - <el-select v-model="formSel.reviewStatus" placeholder="请选择" style="width:168px;margin-right: 15px"> | |
| 26 | - <el-option label="待提交" value="1" /> | |
| 27 | - <el-option label="待审核" value="2" /> | |
| 28 | - <el-option label="已通过" value="3" /> | |
| 29 | - <el-option label="不通过" value="4" /> | |
| 30 | - <el-option label="已禁用" value="5" /> | |
| 31 | - </el-select> | |
| 32 | - </el-form-item> | |
| 33 | - </el-form> | |
| 34 | - <div> | |
| 35 | - <el-button @click="onSubmit" :disabled="isbutton" style="background-color: #3F9B6A;color: #fff">查询 | |
| 36 | - </el-button> | |
| 37 | - <el-button @click="resetting" class="buttonHover" | |
| 38 | - style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;">重置 | |
| 39 | - </el-button> | |
| 40 | - </div> | |
| 41 | - </div> | |
| 42 | - <div style="margin-bottom: 20px;"> | |
| 43 | - <div> | |
| 44 | - <el-button style="background-color: #3F9B6A;color: #fff;padding:8px 15px;" | |
| 45 | - icon="el-icon-circle-plus-outline" @click="addggXin">新增</el-button> | |
| 46 | - </div> | |
| 47 | - </div> | |
| 48 | - <!-- 表格 --> | |
| 49 | - | |
| 50 | - <el-table :data="tableData.slice((currentPageList - 1) * pageSize, currentPageList * pageSize)" | |
| 51 | - :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}" | |
| 52 | - tooltip-effect="dark custom-tooltip-effect"> | |
| 53 | - <el-table-column label="序号" min-width="80"> | |
| 54 | - <template slot-scope="scope"> | |
| 55 | - {{scope.$index +1}} | |
| 56 | - </template> | |
| 57 | - </el-table-column> | |
| 58 | - <!-- <el-table-column label="问卷编号" min-width="150" prop="id"> | |
| 2 | + <div style="background-color:#f7f7f7;padding:10px 10px;"> | |
| 3 | + <div class="zhuti"> | |
| 4 | + <div style="height:58px;line-height:58px;"> | |
| 5 | + <div style="color:#0006"> <span>问卷调查</span> <span style="padding:0 5px;">></span> <span | |
| 6 | + style="color:#000000e6">问卷管理</span></div> | |
| 7 | + </div> | |
| 8 | + <!-- 线上 --> | |
| 9 | + <div v-if="!tongjiBox"> | |
| 10 | + <!-- 搜索 --> | |
| 11 | + <div class="formSearch"> | |
| 12 | + <el-form :inline="true" :model="formSel"> | |
| 13 | + <el-form-item label="问卷标题"> | |
| 14 | + <el-input v-model="formSel.title" placeholder="请输入" style="width:168px;" /> | |
| 15 | + </el-form-item> | |
| 16 | + <el-form-item label="问卷类型"> | |
| 17 | + <el-select v-model="formSel.questionnaireType" placeholder="请选择" | |
| 18 | + style="width:168px;margin-right: 15px"> | |
| 19 | + <el-option label="物业问卷" value="物业问卷" /> | |
| 20 | + <el-option label="招商问卷" value="招商问卷" /> | |
| 21 | + <el-option label="满意度问卷" value="满意度问卷" /> | |
| 22 | + <el-option label="社会调查问卷" value="社会调查问卷" /> | |
| 23 | + </el-select> | |
| 24 | + </el-form-item> | |
| 25 | + <el-form-item label="状态"> | |
| 26 | + <el-select v-model="formSel.reviewStatus" placeholder="请选择" | |
| 27 | + style="width:168px;margin-right: 15px"> | |
| 28 | + <el-option label="待提交" value="1" /> | |
| 29 | + <el-option label="待审核" value="2" /> | |
| 30 | + <el-option label="已通过" value="3" /> | |
| 31 | + <el-option label="不通过" value="4" /> | |
| 32 | + <el-option label="已禁用" value="5" /> | |
| 33 | + </el-select> | |
| 34 | + </el-form-item> | |
| 35 | + </el-form> | |
| 36 | + <div> | |
| 37 | + <el-button :disabled="isbutton" style="background-color: #3F9B6A;color: #fff" | |
| 38 | + @click="onSubmit">查询 | |
| 39 | + </el-button> | |
| 40 | + <el-button class="buttonHover" | |
| 41 | + style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 42 | + @click="resetting">重置 | |
| 43 | + </el-button> | |
| 44 | + </div> | |
| 45 | + </div> | |
| 46 | + <div style="margin-bottom: 20px;"> | |
| 47 | + <div> | |
| 48 | + <el-button style="background-color: #3F9B6A;color: #fff;padding:8px 15px;" | |
| 49 | + icon="el-icon-circle-plus-outline" @click="addggXin">新增</el-button> | |
| 50 | + </div> | |
| 51 | + </div> | |
| 52 | + <!-- 表格 --> | |
| 53 | + | |
| 54 | + <el-table :data="tableData.slice((currentPageList - 1) * pageSize, currentPageList * pageSize)" | |
| 55 | + :header-cell-style="{ fontSize: '14px', color: '#0009', fontWeight: 'normal', backgroundColor: '#F2F3F5' }" | |
| 56 | + tooltip-effect="dark custom-tooltip-effect"> | |
| 57 | + <el-table-column label="序号" min-width="80"> | |
| 58 | + <template slot-scope="scope"> | |
| 59 | + {{ scope.$index + 1 }} | |
| 60 | + </template> | |
| 61 | + </el-table-column> | |
| 62 | + <!-- <el-table-column label="问卷编号" min-width="150" prop="id"> | |
| 59 | 63 | </el-table-column> --> |
| 60 | - <el-table-column label="问卷类型" min-width="130" prop="questionnaireType"> | |
| 61 | - </el-table-column> | |
| 62 | - <el-table-column label="问卷标题" prop="title" min-width="300" :show-overflow-tooltip="true"> | |
| 63 | - </el-table-column> | |
| 64 | - <el-table-column label="开始时间" prop="startDate" min-width="150"> | |
| 65 | - | |
| 66 | - </el-table-column> | |
| 67 | - <el-table-column label="结束时间" prop="endDate" min-width="150"> | |
| 68 | - | |
| 69 | - </el-table-column> | |
| 70 | - <el-table-column label="已作答人数" prop="countNumber" min-width="100"> | |
| 71 | - </el-table-column> | |
| 72 | - <el-table-column prop="createTime" label="创建时间" min-width="180"> | |
| 73 | - | |
| 74 | - </el-table-column> | |
| 75 | - <el-table-column prop="reviewStatus" label="状态" min-width="120"> | |
| 76 | - <template slot-scope="scope"> | |
| 77 | - {{scope.row.reviewStatus == '1'?'待提交':scope.row.reviewStatus == '2'?'待审核':scope.row.reviewStatus == '3'?'已通过':scope.row.reviewStatus == '4'?'不通过':'已禁用'}} | |
| 78 | - </template> | |
| 79 | - </el-table-column> | |
| 80 | - <el-table-column label="操作" min-width="280"> | |
| 81 | - <template slot-scope="scope"> | |
| 82 | - <div @click="details(0,scope.row)" class="tableBtn greens">查看</div> | |
| 83 | - <div @click="bianls(scope.row)" class="tableBtn greens" v-if="scope.row.reviewStatus =='1'">编辑</div> | |
| 84 | - <div @click="fabu('2',scope.row)" class="tableBtn greens" v-if="scope.row.reviewStatus =='1'">提交审核</div> | |
| 85 | - <div @click="downs(scope.row)" class="tableBtn greens" v-if="scope.row.reviewStatus =='3'">禁用</div> | |
| 86 | - <div @click="tongji(scope.row)" class="tableBtn greens" | |
| 87 | - v-if="scope.row.reviewStatus =='3' || scope.row.reviewStatus =='5'">统计</div> | |
| 88 | - <div @click="delwen(scope.row)" class="tableBtn greens" v-if="scope.row.reviewStatus =='1'">删除</div> | |
| 89 | - <div @click="yulan(scope.row)" class="tableBtn greens" | |
| 90 | - v-if="scope.row.reviewStatus =='3' || scope.row.reviewStatus =='1'">预览</div> | |
| 91 | - <!-- <div @click="addbuss(3,scope.row)" class="tableBtn greens">终止</div> --> | |
| 92 | - </template> | |
| 93 | - </el-table-column> | |
| 94 | - </el-table> | |
| 95 | - | |
| 96 | - <div class="fenye"> | |
| 64 | + <el-table-column label="问卷类型" min-width="130" prop="questionnaireType" /> | |
| 65 | + <el-table-column label="问卷标题" prop="title" min-width="300" :show-overflow-tooltip="true" /> | |
| 66 | + <el-table-column label="开始时间" prop="startDate" min-width="150" /> | |
| 67 | + <el-table-column label="结束时间" prop="endDate" min-width="150" /> | |
| 68 | + <el-table-column label="已作答人数" prop="countNumber" min-width="100" /> | |
| 69 | + <el-table-column prop="createTime" label="创建时间" min-width="180" /> | |
| 70 | + <el-table-column prop="reviewStatus" label="状态" min-width="120"> | |
| 71 | + <template slot-scope="scope"> | |
| 72 | + {{ scope.row.reviewStatus == '1' ? '待提交' : scope.row.reviewStatus == '2' ? '待审核' : scope.row.reviewStatus | |
| 73 | + == | |
| 74 | + '3' ? '已通过' : scope.row.reviewStatus == '4' ?'不通过':'已禁用' }} | |
| 75 | + </template> | |
| 76 | + </el-table-column> | |
| 77 | + <el-table-column label="操作" min-width="280"> | |
| 78 | + <template slot-scope="scope"> | |
| 79 | + <div class="tableBtn greens" @click="details(0, scope.row)">查看</div> | |
| 80 | + <div v-if="scope.row.reviewStatus == '1'" class="tableBtn greens" | |
| 81 | + @click="bianls(scope.row)">编辑</div> | |
| 82 | + <div v-if="scope.row.reviewStatus == '1'" class="tableBtn greens" | |
| 83 | + @click="fabu('2', scope.row)">提交审核</div> | |
| 84 | + <div v-if="scope.row.reviewStatus == '3'" class="tableBtn greens" @click="downs(scope.row)"> | |
| 85 | + 禁用</div> | |
| 86 | + <div v-if="scope.row.reviewStatus == '3' || scope.row.reviewStatus == '5'" | |
| 87 | + class="tableBtn greens" @click="tongji(scope.row)">统计</div> | |
| 88 | + <div v-if="scope.row.reviewStatus == '1'" class="tableBtn greens" | |
| 89 | + @click="delwen(scope.row)">删除</div> | |
| 90 | + <div v-if="scope.row.reviewStatus == '3' || scope.row.reviewStatus == '1'" | |
| 91 | + class="tableBtn greens" @click="yulan(scope.row)">预览</div> | |
| 92 | + <!-- <div @click="addbuss(3,scope.row)" class="tableBtn greens">终止</div> --> | |
| 93 | + </template> | |
| 94 | + </el-table-column> | |
| 95 | + </el-table> | |
| 96 | + <div style="display: flex;justify-content: space-between;margin-top: 10px;"> | |
| 97 | + <div style="font-size: 14px;">共 <span style="color: #3F9B6A;">{{ total }}</span> 条</div> | |
| 98 | + <el-pagination :current-page="currentPageList" :page-sizes="[10, 20, 50, 100]" :page-size="pageSize" | |
| 99 | + background small layout="prev, pager, next" :total="total" @size-change="handleSizeChange" | |
| 100 | + @current-change="handleCurrentChange" /> | |
| 101 | + </div> | |
| 102 | + <!-- <div class="fenye"> | |
| 97 | 103 | <el-pagination :hide-on-single-page='flag' background small size="mini" :current-page="currentPageList" |
| 98 | 104 | :page-sizes="[10, 20, 50, 100]" layout="prev, pager, next,total" :total="total " |
| 99 | 105 | @size-change="handleSizeChange" @current-change="handleCurrentChange" /> |
| 100 | - </div> | |
| 101 | - </div> | |
| 102 | - <!-- 统计 --> | |
| 103 | - <div v-show="tongjiBox"> | |
| 104 | - <div> | |
| 105 | - <div style="display: flex;"> | |
| 106 | - <img :src="secondData.coverImage" alt="" | |
| 107 | - style="width:150px;height:100px;margin-right: 15px;border-radius:10px;" /> | |
| 108 | - <div> | |
| 109 | - <div style="font-weight: 600;overflow: hidden; text-overflow: ellipsis; display: -webkit-box;-webkit-box-orient: vertical;word-break: break-all;">{{secondData.title}}</div> | |
| 110 | - <div style="padding:20px 0;">答卷数量:{{total1 || 0}}</div> | |
| 111 | - <div>起止时间:{{secondData.startDate}} 至 {{secondData.endDate}}</div> | |
| 112 | - </div> | |
| 113 | - </div> | |
| 114 | - <div> | |
| 115 | - <el-tabs v-model="xiangTabs"> | |
| 116 | - <el-tab-pane label="作答情况" name="first"> | |
| 117 | - <div style="width: 100%"> | |
| 118 | - <div style="display: flex;align-items: center;margin-bottom: 20px;"> | |
| 119 | - <el-date-picker style="width: 30%;margin-right: 20px;" v-model="tongjiMsg.plan_Time" | |
| 120 | - value-format="yyyy-MM-dd" type="daterange" range-separator="至" start-placeholder="开始日期" | |
| 121 | - end-placeholder="结束日期" align="right"> | |
| 122 | - </el-date-picker> | |
| 123 | - <el-input v-model="tongjiMsg.userName" style="width:30%;margin-right: 20px;" | |
| 124 | - placeholder="搜索提交人"></el-input> | |
| 125 | - <el-button @click="tongjiSubmit" style="background-color: #3F9B6A;color: #fff">查询 | |
| 126 | - </el-button> | |
| 127 | - <el-button @click="tongjiSubmitret" class="buttonHover" | |
| 128 | - style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;">重置 | |
| 129 | - </el-button> | |
| 130 | - </div> | |
| 131 | - <el-table :data="tongjiSshu" | |
| 132 | - :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}"> | |
| 133 | - <el-table-column label="序号" min-width="100"> | |
| 134 | - <template slot-scope="scope"> | |
| 135 | - {{scope.$index + 1}} | |
| 136 | - </template> | |
| 137 | - </el-table-column> | |
| 138 | - <el-table-column label="提交人" min-width="150" prop="userName"> | |
| 139 | - </el-table-column> | |
| 140 | - <el-table-column label="手机号" min-width="200" prop="contactNumber"> | |
| 141 | - </el-table-column> | |
| 142 | - <el-table-column label="作答时长" prop="responseTime" min-width="150"> | |
| 143 | - <template slot-scope="scope"> | |
| 144 | - {{secondsToMinutesAndSeconds(scope.row.responseTime)}} | |
| 145 | - </template> | |
| 146 | - </el-table-column> | |
| 147 | - <el-table-column label="提交时间" prop="createTime" min-width="120"> | |
| 148 | - </el-table-column> | |
| 149 | - <el-table-column label="操作" min-width="200"> | |
| 150 | - <template slot-scope="scope"> | |
| 151 | - <div class="tableBtn greens" @click="daxiang(scope.row)">详情</div> | |
| 152 | - </template> | |
| 153 | - </el-table-column> | |
| 154 | - | |
| 155 | - </el-table> | |
| 156 | - <div class="fenye"> | |
| 157 | - <el-pagination :hide-on-single-page='flag1' background small size="mini" | |
| 158 | - :current-page="currentPage1" :page-sizes="[10, 20, 50, 100]" layout="prev, pager, next,total" | |
| 159 | - :total="total1" @current-change="handleCurrentChange1" /> | |
| 160 | - </div> | |
| 161 | - </div> | |
| 162 | - </el-tab-pane> | |
| 163 | - <el-tab-pane label="数据统计" name="second"> | |
| 164 | - <div style="padding:20px;"> | |
| 165 | - <div style="margin-bottom: 20px;font-size: 18px;">数据概况</div> | |
| 166 | - <div | |
| 167 | - style="display: flex;padding:20px 30px;width: 100%;justify-content: space-around;border: 1px solid #dddfe5;"> | |
| 168 | - <div style="text-align: center;"> | |
| 169 | - <div style="margin-bottom:10px;">今日新增</div> | |
| 170 | - <div style="font-size:16px;">{{tongjiTu.todayNumber}}</div> | |
| 171 | - </div> | |
| 172 | - <div style="text-align: center;"> | |
| 173 | - <div style="margin-bottom:10px;">答卷总数</div> | |
| 174 | - <div style="font-size:16px;">{{tongjiTu.countNumber}}</div> | |
| 175 | - </div> | |
| 176 | - | |
| 177 | - <div style="text-align: center;"> | |
| 178 | - <div style="margin-bottom:10px;">平均答题时长</div> | |
| 179 | - <div style="font-size:16px;">{{secondsToMinutesAndSeconds(tongjiTu.averageDuration)}}</div> | |
| 180 | - </div> | |
| 181 | - </div> | |
| 182 | - <div style="margin: 20px 0;font-size: 18px;">题目统计</div> | |
| 183 | - <!-- {{tuwent}} --> | |
| 184 | - <dynamic-chart-table :title="item.title" v-show="item.type !='文本'" :tableData="tongjiTu" :tixingtype="item.type" | |
| 185 | - :index="index" v-for="(item,index) in tuwent" :ref="'chat'+index" /> | |
| 186 | - | |
| 187 | - | |
| 188 | - <!-- <tiaoxing :title="item.tikuTitle" :tableData="tongjiTu.cereQuestionManagements" v-if="item.questionType=='多选'" v-for="(item,index) in tongjiTu.cereQuestionManagements"> --> | |
| 189 | - | |
| 190 | - </tiaoxing> | |
| 191 | - </div> | |
| 192 | - </el-tab-pane> | |
| 193 | - | |
| 194 | - </el-tabs> | |
| 195 | - </div> | |
| 196 | - | |
| 197 | - <div style="padding-top:20px;display:flex;justify-content: flex-end;"> | |
| 198 | - <el-button class="buttonHover" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 199 | - @click="tongjiBoxFan">返回</el-button> | |
| 200 | - | |
| 201 | - | |
| 202 | - </div> | |
| 203 | - </div> | |
| 204 | - <el-dialog :visible.sync="daxiangBox" custom-class="tongyong_css" style="padding: 0;" width="60%" center | |
| 205 | - :close-on-click-modal="false" append-to-body> | |
| 206 | - <div style="padding:20px;"> | |
| 207 | - <div style="font-size: 14px;padding-bottom: 20px;color: #000;">答卷详情</div> | |
| 208 | - <div style="display:flex;border-top: 1px solid #dddfe5;"> | |
| 209 | - <div style="padding:20px 20px 0 0;border-right: 1px solid #dddfe5;width:25%"> | |
| 210 | - <div style="margin-bottom:20px;">基本信息</div> | |
| 211 | - <div> | |
| 212 | - <div style="margin-bottom:15px;">提交人:<span style="color:#000">{{daxiangData.userName}}</span></div> | |
| 213 | - <div style="margin-bottom:15px;">手机号:<span style="color:#000">{{daxiangData.contactNumber}}</span> | |
| 214 | - </div> | |
| 215 | - <div style="margin-bottom:15px;">作答时长:<span | |
| 216 | - style="color:#000">{{secondsToMinutesAndSeconds(daxiangData.responseTime)}}</span> </div> | |
| 217 | - <div style="margin-bottom:15px;">提交时间:<span style="color:#000">{{daxiangData.createTime}}</span> | |
| 218 | - </div> | |
| 219 | - <div style="margin-bottom:15px;">填写条件:<span style="color:#000">{{secondData.fillingConditions}}</span> | |
| 220 | - </div> | |
| 221 | - <div style="margin-bottom:15px;">问卷分数:<span | |
| 222 | - style="color:#000">{{daxiangData.questionnaireScore}}</span> </div> | |
| 223 | - <div>用户意见:<span style="color:#000"></span>{{daxiangData.opinion}} </div> | |
| 224 | - </div> | |
| 225 | - </div> | |
| 226 | - <div style="padding:20px;"> | |
| 227 | - <div style="margin-bottom:20px;">答卷详情</div> | |
| 228 | - <div> | |
| 229 | - | |
| 230 | - | |
| 231 | - <div class="question" v-for="(item,index) in daxiangData.question"> | |
| 232 | - <p class="question-title"><span v-if="item.required=='必填'" | |
| 233 | - style="color: red;">*</span>{{index}}.<span style="">({{item.type}})</span> | |
| 234 | - {{item.title}} | |
| 235 | - </p> | |
| 236 | - <div> | |
| 237 | - <el-radio-group v-for="(val, idx) in item.options" v-if="item.type =='单选'" :key="idx" | |
| 238 | - style="display: flex;flex-direction: column;" v-model="item.choose"> | |
| 239 | - <el-radio disabled :label="val.answer">{{val.answer}}</el-radio> | |
| 240 | - | |
| 241 | - </el-radio-group> | |
| 242 | - | |
| 243 | - <el-checkbox-group v-for="(val, idx) in item.options" v-if="item.type =='多选'" :key="idx" | |
| 244 | - style="display: flex;flex-direction: column;" v-model="val.disabled"> | |
| 245 | - | |
| 246 | - <el-checkbox :label="val.answer" disabled>{{val.answer}}</el-checkbox> | |
| 247 | - | |
| 248 | - </el-checkbox-group> | |
| 249 | - | |
| 250 | - <div v-if="item.type =='文本'" style="display: flex;flex-direction: column;"> | |
| 251 | - {{item.choose}} | |
| 252 | - | |
| 253 | - </div> | |
| 254 | - </div> | |
| 255 | - </div> | |
| 256 | - | |
| 257 | - </div> | |
| 258 | - </div> | |
| 259 | - </div> | |
| 260 | - </div> | |
| 261 | - </el-dialog> | |
| 262 | - </div> | |
| 263 | - </div> | |
| 264 | - <!-- 详情框 --> | |
| 265 | - <el-dialog :visible.sync="detbox" custom-class='tongyong_css' style="padding: 0;" width="65%" center | |
| 266 | - :close-on-click-modal="false" :show-close="false"> | |
| 267 | - <div style="padding:20px;"> | |
| 268 | - <div style="font-size: 14px;padding-bottom: 20px;color: #000;">详情页</div> | |
| 269 | - <div> | |
| 270 | - <div style="padding: 10px 0 20px 0;">基本信息</div> | |
| 271 | - <el-descriptions class="margin-top" :column="3" border :labelStyle="labelStyle" :contentStyle="contentStyle"> | |
| 272 | - <el-descriptions-item :span="2"> | |
| 273 | - <template slot="label"> | |
| 274 | - 问卷标题 | |
| 275 | - </template> | |
| 276 | - {{secondData.title}} | |
| 277 | - </el-descriptions-item> | |
| 278 | - <el-descriptions-item> | |
| 279 | - <template slot="label"> | |
| 280 | - 状态 | |
| 281 | - </template> | |
| 282 | - {{secondData.reviewStatus == '1'?'待提交':secondData.reviewStatus == '2'?'待审核':secondData.reviewStatus == '3'?'审核通过':secondData.reviewStatus == '4'?'不通过':'已禁用'}} | |
| 283 | - </el-descriptions-item> | |
| 284 | - | |
| 285 | - <el-descriptions-item> | |
| 286 | - <template slot="label"> | |
| 287 | - 开始时间 | |
| 288 | - </template> | |
| 289 | - {{secondData.startDate}} | |
| 290 | - </el-descriptions-item> | |
| 291 | - <el-descriptions-item> | |
| 292 | - <template slot="label"> | |
| 293 | - 结束时间 | |
| 294 | - </template> | |
| 295 | - {{secondData.endDate}} | |
| 296 | - </el-descriptions-item> | |
| 297 | - | |
| 298 | - <el-descriptions-item> | |
| 299 | - <template slot="label"> | |
| 300 | - 预计填写时长(分钟) | |
| 301 | - </template> | |
| 302 | - {{secondData.estimatedTime}} | |
| 303 | - </el-descriptions-item> | |
| 304 | - <el-descriptions-item> | |
| 305 | - <template slot="label"> | |
| 306 | - 发布端口 | |
| 307 | - </template> | |
| 308 | - {{secondData.publishPort}} | |
| 309 | - </el-descriptions-item> | |
| 310 | - <el-descriptions-item> | |
| 311 | - <template slot="label"> | |
| 312 | - 问卷类型 | |
| 313 | - </template> | |
| 314 | - {{secondData.questionnaireType}} | |
| 315 | - </el-descriptions-item> | |
| 316 | - <el-descriptions-item> | |
| 317 | - <template slot="label"> | |
| 318 | - 填写条件 | |
| 319 | - </template> | |
| 320 | - {{secondData.fillingConditions}} | |
| 321 | - </el-descriptions-item> | |
| 322 | - <el-descriptions-item> | |
| 106 | + </div> --> | |
| 107 | + </div> | |
| 108 | + <!-- 统计 --> | |
| 109 | + <div v-if="tongjiBox"> | |
| 110 | + <div> | |
| 111 | + <div style="display: flex;"> | |
| 112 | + <img :src="this.$hostUrl + secondData.coverImage" alt="" | |
| 113 | + style="width:150px;height:100px;margin-right: 15px;border-radius:10px;"> | |
| 114 | + <div> | |
| 115 | + <div | |
| 116 | + style="font-weight: 600;overflow: hidden; text-overflow: ellipsis; display: -webkit-box;-webkit-box-orient: vertical;word-break: break-all;"> | |
| 117 | + {{ secondData.title }} | |
| 118 | + </div> | |
| 119 | + <div style="padding:20px 0;">答卷数量:{{ total1 || 0 }}</div> | |
| 120 | + <div>起止时间:{{ secondData.startDate }} 至 {{ secondData.endDate }}</div> | |
| 121 | + </div> | |
| 122 | + </div> | |
| 123 | + <div> | |
| 124 | + <el-tabs v-model="tongjiTabs" @tab-click="tongjiClick"> | |
| 125 | + <el-tab-pane label="作答情况" name="qingK"> | |
| 126 | + <div v-loading="loading" style="width: 100%"> | |
| 127 | + <div style="display: flex;align-items: center;margin-bottom: 20px;"> | |
| 128 | + <el-date-picker v-model="tongjiMsg.plan_Time" | |
| 129 | + style="width: 30%;margin-right: 20px;" value-format="yyyy-MM-dd" | |
| 130 | + type="daterange" range-separator="至" start-placeholder="开始日期" | |
| 131 | + end-placeholder="结束日期" align="right" /> | |
| 132 | + <el-input v-model="tongjiMsg.userName" style="width:30%;margin-right: 20px;" | |
| 133 | + placeholder="搜索提交人" /> | |
| 134 | + <el-button style="background-color: #3F9B6A;color: #fff" | |
| 135 | + @click="tongjiSubmit">查询 | |
| 136 | + </el-button> | |
| 137 | + <el-button class="buttonHover" | |
| 138 | + style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 139 | + @click="tongjiSubmitret">重置 | |
| 140 | + </el-button> | |
| 141 | + </div> | |
| 142 | + <el-table | |
| 143 | + :data="tongjiSshu.slice((currentPage1 - 1) * pageSize, currentPage1 * pageSize)" | |
| 144 | + :header-cell-style="{ fontSize: '14px', color: '#0009', fontWeight: 'normal', backgroundColor: '#F2F3F5' }"> | |
| 145 | + <el-table-column label="序号" min-width="100"> | |
| 146 | + <template slot-scope="scope"> | |
| 147 | + {{ scope.$index + 1 }} | |
| 148 | + </template> | |
| 149 | + </el-table-column> | |
| 150 | + <el-table-column label="提交人" min-width="150" prop="userName" /> | |
| 151 | + <el-table-column label="手机号" min-width="200" prop="contactNumber" /> | |
| 152 | + <el-table-column label="作答时长" prop="responseTime" min-width="150"> | |
| 153 | + <template slot-scope="scope"> | |
| 154 | + {{ secondsToMinutesAndSeconds(scope.row.responseTime) }} | |
| 155 | + </template> | |
| 156 | + </el-table-column> | |
| 157 | + <el-table-column label="提交时间" prop="createTime" min-width="120" /> | |
| 158 | + <el-table-column label="操作" min-width="200"> | |
| 159 | + <template slot-scope="scope"> | |
| 160 | + <div class="tableBtn greens" @click="daxiang(scope.row)">详情</div> | |
| 161 | + </template> | |
| 162 | + </el-table-column> | |
| 163 | + | |
| 164 | + </el-table> | |
| 165 | + <div class="fenye"> | |
| 166 | + <el-pagination :hide-on-single-page="flag1" background small size="mini" | |
| 167 | + :current-page="currentPage1" :page-sizes="[10, 20, 50, 100]" | |
| 168 | + layout="prev, pager, next,total" :total="total1" | |
| 169 | + @current-change="handleCurrentChange1" /> | |
| 170 | + </div> | |
| 171 | + </div> | |
| 172 | + </el-tab-pane> | |
| 173 | + <el-tab-pane label="数据统计" name="shuju"> | |
| 174 | + <div v-loading="shujuloading" style="padding:20px;"> | |
| 175 | + <div style="margin-bottom: 20px;font-size: 18px;">数据概况 | |
| 176 | + <span>截止{{ tongjiTu.statisticalTime }}</span> | |
| 177 | + </div> | |
| 178 | + <div | |
| 179 | + style="display: flex;padding:20px 30px;width: 100%;justify-content: space-around;border: 1px solid #dddfe5;"> | |
| 180 | + <div style="text-align: center;"> | |
| 181 | + <div style="margin-bottom:10px;">今日新增</div> | |
| 182 | + <div style="font-size:16px;">{{ tongjiTu.todayNumber || 0 }}</div> | |
| 183 | + </div> | |
| 184 | + <div style="text-align: center;"> | |
| 185 | + <div style="margin-bottom:10px;">答卷总数</div> | |
| 186 | + <div style="font-size:16px;">{{ tongjiTu.countNumber || 0 }}</div> | |
| 187 | + </div> | |
| 188 | + | |
| 189 | + <div style="text-align: center;"> | |
| 190 | + <div style="margin-bottom:10px;">平均答题时长</div> | |
| 191 | + <div style="font-size:16px;"> | |
| 192 | + {{ secondsToMinutesAndSeconds(tongjiTu.averageDuration) }} | |
| 193 | + </div> | |
| 194 | + </div> | |
| 195 | + </div> | |
| 196 | + <div style="margin: 20px 0;font-size: 18px;">题目统计</div> | |
| 197 | + <!-- {{tuwent}} --> | |
| 198 | + <dynamic-chart-table v-for="(item, index) in tuwent" v-show="item.type != '文本'" | |
| 199 | + :ref="'chat' + index" :key="index" :title="item.title" :table-data="tongjiTu" | |
| 200 | + :tixingtype="item.type" :index="index" /> | |
| 201 | + | |
| 202 | + <!-- <tiaoxing :title="item.tikuTitle" :tableData="tongjiTu.cereQuestionManagements" v-if="item.questionType=='多选'" v-for="(item,index) in tongjiTu.cereQuestionManagements"> --> | |
| 203 | + | |
| 204 | + </tiaoxing> | |
| 205 | + </div> | |
| 206 | + </el-tab-pane> | |
| 207 | + | |
| 208 | + </el-tabs> | |
| 209 | + </div> | |
| 210 | + | |
| 211 | + <div style="padding-top:20px;display:flex;justify-content: flex-end;"> | |
| 212 | + <el-button class="buttonHover" | |
| 213 | + style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 214 | + @click="tongjiBoxFan">返回</el-button> | |
| 215 | + | |
| 216 | + </div> | |
| 217 | + </div> | |
| 218 | + <el-dialog :visible.sync="daxiangBox" custom-class="tongyong_css" style="padding: 0;" width="60%" center | |
| 219 | + :close-on-click-modal="false" append-to-body> | |
| 220 | + <div style="padding:20px;"> | |
| 221 | + <div style="font-size: 14px;padding-bottom: 20px;color: #000;">答卷详情</div> | |
| 222 | + <div style="display:flex;border-top: 1px solid #dddfe5;"> | |
| 223 | + <div style="padding:20px 20px 0 0;border-right: 1px solid #dddfe5;width:25%"> | |
| 224 | + <div style="margin-bottom:20px;">基本信息</div> | |
| 225 | + <div> | |
| 226 | + <div style="margin-bottom:15px;">提交人:<span | |
| 227 | + style="color:#000">{{ daxiangData.userName }}</span></div> | |
| 228 | + <div style="margin-bottom:15px;">手机号:<span | |
| 229 | + style="color:#000">{{ daxiangData.contactNumber }}</span> | |
| 230 | + </div> | |
| 231 | + <div style="margin-bottom:15px;">作答时长:<span style="color:#000">{{ | |
| 232 | + secondsToMinutesAndSeconds(daxiangData.responseTime) }}</span> </div> | |
| 233 | + <div style="margin-bottom:15px;">提交时间:<span | |
| 234 | + style="color:#000">{{ daxiangData.createTime }}</span> | |
| 235 | + </div> | |
| 236 | + <div style="margin-bottom:15px;">填写条件:<span style="color:#000">{{ secondData.fillingConditions | |
| 237 | + }}</span> | |
| 238 | + </div> | |
| 239 | + <div style="margin-bottom:15px;">问卷分数:<span style="color:#000">{{ daxiangData.questionnaireScore | |
| 240 | + }}</span> | |
| 241 | + </div> | |
| 242 | + <div>用户意见:<span style="color:#000" />{{ daxiangData.opinion }} </div> | |
| 243 | + </div> | |
| 244 | + </div> | |
| 245 | + <div style="padding:20px;"> | |
| 246 | + <div style="margin-bottom:20px;">答卷详情</div> | |
| 247 | + <div> | |
| 248 | + | |
| 249 | + <div v-for="(item, index) in daxiangData.question" class="question"> | |
| 250 | + <p class="question-title"><span v-if="item.required == '必填'" | |
| 251 | + style="color: red;">*</span>{{ index | |
| 252 | + }}.<span style="">({{ item.type }})</span> | |
| 253 | + {{ item.title }} | |
| 254 | + </p> | |
| 255 | + <div> | |
| 256 | + <el-radio-group v-for="(val, idx) in item.options" v-if="item.type == '单选'" | |
| 257 | + :key="idx" v-model="item.choose" | |
| 258 | + style="display: flex;flex-direction: column;"> | |
| 259 | + <el-radio disabled :label="val.answer">{{ val.answer }}</el-radio> | |
| 260 | + | |
| 261 | + </el-radio-group> | |
| 262 | + | |
| 263 | + <el-checkbox-group v-for="(val, idx) in item.options" | |
| 264 | + v-if="item.type == '多选'" :key="idx" v-model="val.disabled" | |
| 265 | + style="display: flex;flex-direction: column;"> | |
| 266 | + | |
| 267 | + <el-checkbox :label="val.answer" disabled>{{ val.answer }}</el-checkbox> | |
| 268 | + | |
| 269 | + </el-checkbox-group> | |
| 270 | + | |
| 271 | + <div v-if="item.type == '文本'" style="display: flex;flex-direction: column;"> | |
| 272 | + {{ item.choose}} | |
| 273 | + | |
| 274 | + </div> | |
| 275 | + </div> | |
| 276 | + </div> | |
| 277 | + | |
| 278 | + </div> | |
| 279 | + </div> | |
| 280 | + </div> | |
| 281 | + </div> | |
| 282 | + </el-dialog> | |
| 283 | + </div> | |
| 284 | + </div> | |
| 285 | + <!-- 详情框 --> | |
| 286 | + <el-dialog :visible.sync="detbox" custom-class="tongyong_css" style="padding: 0;" width="65%" center | |
| 287 | + :close-on-click-modal="false" :show-close="false"> | |
| 288 | + <div style="padding:20px;"> | |
| 289 | + <div style="font-size: 14px;padding-bottom: 20px;color: #000;">详情页</div> | |
| 290 | + <div> | |
| 291 | + <div style="padding: 10px 0 20px 0;">基本信息</div> | |
| 292 | + <el-descriptions class="margin-top" :column="3" border :label-style="labelStyle" | |
| 293 | + :content-style="contentStyle"> | |
| 294 | + <el-descriptions-item :span="2"> | |
| 295 | + <template slot="label"> | |
| 296 | + 问卷标题 | |
| 297 | + </template> | |
| 298 | + {{ secondData.title }} | |
| 299 | + </el-descriptions-item> | |
| 300 | + <el-descriptions-item> | |
| 301 | + <template slot="label"> | |
| 302 | + 状态 | |
| 303 | + </template> | |
| 304 | + {{ secondData.reviewStatus == '1' ? '待提交' : secondData.reviewStatus == '2' ? '待审核' : | |
| 305 | + secondData.reviewStatus | |
| 306 | + == | |
| 307 | + '3' ? '审核通过' : secondData.reviewStatus == '4' ?'不通过':'已禁用' }} | |
| 308 | + </el-descriptions-item> | |
| 309 | + | |
| 310 | + <el-descriptions-item> | |
| 311 | + <template slot="label"> | |
| 312 | + 开始时间 | |
| 313 | + </template> | |
| 314 | + {{ secondData.startDate }} | |
| 315 | + </el-descriptions-item> | |
| 316 | + <el-descriptions-item> | |
| 317 | + <template slot="label"> | |
| 318 | + 结束时间 | |
| 319 | + </template> | |
| 320 | + {{ secondData.endDate }} | |
| 321 | + </el-descriptions-item> | |
| 322 | + | |
| 323 | + <el-descriptions-item> | |
| 324 | + <template slot="label"> | |
| 325 | + 预计填写时长(分钟) | |
| 326 | + </template> | |
| 327 | + {{ secondData.estimatedTime }} | |
| 328 | + </el-descriptions-item> | |
| 329 | + <el-descriptions-item> | |
| 330 | + <template slot="label"> | |
| 331 | + 发布端口 | |
| 332 | + </template> | |
| 333 | + {{ secondData.publishPort }} | |
| 334 | + </el-descriptions-item> | |
| 335 | + <el-descriptions-item> | |
| 336 | + <template slot="label"> | |
| 337 | + 问卷类型 | |
| 338 | + </template> | |
| 339 | + {{ secondData.questionnaireType }} | |
| 340 | + </el-descriptions-item> | |
| 341 | + <el-descriptions-item> | |
| 342 | + <template slot="label"> | |
| 343 | + 填写条件 | |
| 344 | + </template> | |
| 345 | + {{ secondData.fillingConditions }} | |
| 346 | + </el-descriptions-item> | |
| 347 | + <!-- <el-descriptions-item> | |
| 323 | 348 | <template slot="label"> |
| 324 | 349 | 问卷介绍 |
| 325 | 350 | </template> |
| 326 | 351 | {{secondData.remarks}} |
| 327 | - </el-descriptions-item> | |
| 328 | - </el-descriptions> | |
| 329 | - <div style="padding: 20px 0;">问卷封面</div> | |
| 330 | - <div> | |
| 331 | - <el-image | |
| 332 | - style="width: 200px; height: 200px" | |
| 333 | - :src="secondData.coverImage" | |
| 334 | - fit="fill"></el-image> | |
| 335 | - <!-- <img :src="secondData.coverImage" alt="" style="width:25%" /> --> | |
| 336 | - </div> | |
| 337 | - <div style="padding: 20px 0 ;" v-if="secondData.filler=='会员'">参与答卷奖励</div> | |
| 338 | - <el-descriptions class="margin-top" :column="3" border :labelStyle="labelStyle" :contentStyle="contentStyle" | |
| 339 | - v-if="secondData.filler=='会员'"> | |
| 340 | - <el-descriptions-item> | |
| 341 | - <template slot="label"> | |
| 342 | - 提交问卷后 | |
| 343 | - </template> | |
| 344 | - {{secondData.rewardForParticipation}} | |
| 345 | - </el-descriptions-item> | |
| 346 | - <el-descriptions-item> | |
| 347 | - <template slot="label"> | |
| 348 | - 奖励 | |
| 349 | - </template> | |
| 350 | - | |
| 351 | - </el-descriptions-item> | |
| 352 | - </el-descriptions> | |
| 353 | - <div style="padding: 20px 0 ;">问卷题目</div> | |
| 354 | - <el-table :data="wenData" | |
| 355 | - :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}"> | |
| 356 | - <el-table-column label="序号" min-width="100"> | |
| 357 | - <template slot-scope="scope"> | |
| 358 | - {{scope.$index +1}} | |
| 359 | - </template> | |
| 360 | - </el-table-column> | |
| 361 | - <el-table-column label="题目" min-width="300" prop="title" :show-overflow-tooltip="true"> | |
| 362 | - | |
| 363 | - </el-table-column> | |
| 364 | - <el-table-column label="题型" min-width="80" prop="type"> | |
| 365 | - </el-table-column> | |
| 366 | - <el-table-column label="是否必填" prop="required" min-width="80"> | |
| 367 | - | |
| 368 | - </el-table-column> | |
| 369 | - <el-table-column label="选项" min-width="120"> | |
| 370 | - <template slot-scope="scope"> | |
| 371 | - <div v-for="(value, index) in scope.row.options " :key="index" v-if="scope.row.type !='文本'"> | |
| 372 | - {{ index +1 }}:{{ value.answer }} | |
| 373 | - </div> | |
| 374 | - <div v-else> | |
| 375 | - - | |
| 376 | - </div> | |
| 377 | - </template> | |
| 378 | - | |
| 379 | - </el-table-column> | |
| 380 | - | |
| 381 | - </el-table> | |
| 382 | - <div style="padding: 20px 0 ;">系统信息</div> | |
| 383 | - <el-descriptions class="margin-top" :column="3" border :labelStyle="labelStyle" :contentStyle="contentStyle"> | |
| 384 | - <el-descriptions-item> | |
| 385 | - <template slot="label"> | |
| 386 | - 创建人 | |
| 387 | - </template> | |
| 388 | - {{secondData.createUser}} | |
| 389 | - </el-descriptions-item> | |
| 390 | - <el-descriptions-item> | |
| 391 | - <template slot="label"> | |
| 392 | - 创建时间 | |
| 393 | - </template> | |
| 394 | - {{secondData.createTime}} | |
| 395 | - </el-descriptions-item> | |
| 396 | - <el-descriptions-item> | |
| 397 | - <template slot="label"> | |
| 398 | - 更新时间 | |
| 399 | - </template> | |
| 400 | - {{secondData.updateTime}} | |
| 401 | - </el-descriptions-item> | |
| 402 | - </el-descriptions> | |
| 403 | - <div style="padding: 20px 0 ;">审核信息</div> | |
| 404 | - <el-descriptions class="margin-top" :column="3" border :labelStyle="labelStyle" :contentStyle="contentStyle"> | |
| 405 | - <el-descriptions-item> | |
| 406 | - <template slot="label"> | |
| 407 | - 审核状态 | |
| 408 | - </template> | |
| 409 | - {{secondData.reviewStatus == '1'?'待提交':secondData.reviewStatus == '2'?'待审核':secondData.reviewStatus == '3'?'审核通过':secondData.reviewStatus == '4'?'不通过':'已禁用'}} | |
| 410 | - </el-descriptions-item> | |
| 411 | - <el-descriptions-item> | |
| 412 | - <template slot="label"> | |
| 413 | - 审核意见 | |
| 414 | - </template> | |
| 415 | - <div>{{secondData.reviewComments}}</div> | |
| 416 | - </el-descriptions-item> | |
| 417 | - | |
| 418 | - </el-descriptions> | |
| 419 | - </div> | |
| 420 | - | |
| 421 | - <div style="padding-top:20px;display:flex;justify-content: flex-end;"> | |
| 422 | - <el-button class="buttonHover" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 423 | - @click="detbox = false ">返回</el-button> | |
| 424 | - </div> | |
| 425 | - </div> | |
| 426 | - | |
| 427 | - </el-dialog> | |
| 428 | - | |
| 429 | - <!-- 新增 --> | |
| 430 | - <el-dialog :visible.sync="ggXin" custom-class="tongyong_css" style="padding: 0;" width="60%" class="dialog_css_Xq" | |
| 431 | - center :close-on-click-modal="false" :show-close="false"> | |
| 432 | - <div style="padding:20px;max-height: calc(100vh - 200px); | |
| 352 | + </el-descriptions-item> --> | |
| 353 | + </el-descriptions> | |
| 354 | + <div style="padding: 20px 0;">问卷介绍</div> | |
| 355 | + <div v-html="secondData.remarks" /> | |
| 356 | + <div style="padding: 20px 0;">问卷封面</div> | |
| 357 | + <div> | |
| 358 | + <el-image style="width: 280px; height: 200px" :src="this.$hostUrl + secondData.coverImage" | |
| 359 | + fit="fill" /> | |
| 360 | + <!-- <img :src="secondData.coverImage" alt="" style="width:25%" /> --> | |
| 361 | + </div> | |
| 362 | + <div style="padding: 20px 0 ;">参与答卷奖励</div> | |
| 363 | + <el-descriptions class="margin-top" :column="3" border :label-style="labelStylejiang" | |
| 364 | + :content-style="contentStylejiang"> | |
| 365 | + <el-descriptions-item> | |
| 366 | + <template slot="label"> | |
| 367 | + 提交问卷后 | |
| 368 | + </template> | |
| 369 | + | |
| 370 | + {{ secondData.rewardForParticipation!=''?'转盘抽奖':'不设置奖励'}} | |
| 371 | + </el-descriptions-item> | |
| 372 | + <el-descriptions-item> | |
| 373 | + <template slot="label"> | |
| 374 | + 奖励 | |
| 375 | + </template> | |
| 376 | + <div> | |
| 377 | + <span>{{ secondData.rewardForParticipation!=''?getStatusText(secondData.actStyle):'无'}}</span> | |
| 378 | + <span v-if="jiangli.id && jiangli.id!=''" | |
| 379 | + style="padding: 0 20px;color: #3F9B6A;cursor: pointer;" @click="actGo(1)">查看</span> | |
| 380 | + </div> | |
| 381 | + </el-descriptions-item> | |
| 382 | + </el-descriptions> | |
| 383 | + <div style="padding: 20px 0 ;">问卷题目</div> | |
| 384 | + <el-table :data="wenData" | |
| 385 | + :header-cell-style="{ fontSize: '14px', color: '#0009', fontWeight: 'normal', backgroundColor: '#F2F3F5' }"> | |
| 386 | + <el-table-column label="序号" min-width="100"> | |
| 387 | + <template slot-scope="scope"> | |
| 388 | + {{ scope.$index + 1 }} | |
| 389 | + </template> | |
| 390 | + </el-table-column> | |
| 391 | + <el-table-column label="题目" min-width="300" prop="title" :show-overflow-tooltip="true" /> | |
| 392 | + <el-table-column label="题型" min-width="80" prop="type" /> | |
| 393 | + <el-table-column label="是否必填" prop="required" min-width="80" /> | |
| 394 | + <el-table-column label="选项" min-width="120"> | |
| 395 | + <template slot-scope="scope"> | |
| 396 | + <div v-for="(value, index) in scope.row.options " v-if="scope.row.type != '文本'" | |
| 397 | + :key="index"> | |
| 398 | + {{ index + 1 }}:{{ value.answer }} | |
| 399 | + </div> | |
| 400 | + <div v-else> | |
| 401 | + - | |
| 402 | + </div> | |
| 403 | + </template> | |
| 404 | + | |
| 405 | + </el-table-column> | |
| 406 | + | |
| 407 | + </el-table> | |
| 408 | + <div style="padding: 20px 0 ;">系统信息</div> | |
| 409 | + <el-descriptions class="margin-top" :column="3" border :label-style="labelStyle" | |
| 410 | + :content-style="contentStyle"> | |
| 411 | + <el-descriptions-item> | |
| 412 | + <template slot="label"> | |
| 413 | + 创建人 | |
| 414 | + </template> | |
| 415 | + {{ secondData.createUser }} | |
| 416 | + </el-descriptions-item> | |
| 417 | + <el-descriptions-item> | |
| 418 | + <template slot="label"> | |
| 419 | + 创建时间 | |
| 420 | + </template> | |
| 421 | + {{ secondData.createTime }} | |
| 422 | + </el-descriptions-item> | |
| 423 | + <el-descriptions-item> | |
| 424 | + <template slot="label"> | |
| 425 | + 更新时间 | |
| 426 | + </template> | |
| 427 | + {{ secondData.updateTime }} | |
| 428 | + </el-descriptions-item> | |
| 429 | + </el-descriptions> | |
| 430 | + <div style="padding: 20px 0 ;">审核信息</div> | |
| 431 | + <el-descriptions class="margin-top" :column="3" border :label-style="labelStyle" | |
| 432 | + :content-style="contentStyle"> | |
| 433 | + <el-descriptions-item> | |
| 434 | + <template slot="label"> | |
| 435 | + 审核状态 | |
| 436 | + </template> | |
| 437 | + {{ secondData.reviewStatus == '1' ? '待提交' : secondData.reviewStatus == '2' ? '待审核' : | |
| 438 | + secondData.reviewStatus | |
| 439 | + == | |
| 440 | + '3' ? '审核通过' : secondData.reviewStatus == '4' ?'不通过':'已禁用' }} | |
| 441 | + </el-descriptions-item> | |
| 442 | + <el-descriptions-item> | |
| 443 | + <template slot="label"> | |
| 444 | + 审核意见 | |
| 445 | + </template> | |
| 446 | + <div>{{ secondData.reviewComments }}</div> | |
| 447 | + </el-descriptions-item> | |
| 448 | + | |
| 449 | + </el-descriptions> | |
| 450 | + </div> | |
| 451 | + | |
| 452 | + <div style="padding-top:20px;display:flex;justify-content: flex-end;"> | |
| 453 | + <el-button class="buttonHover" | |
| 454 | + style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 455 | + @click="detbox = false">返回</el-button> | |
| 456 | + </div> | |
| 457 | + </div> | |
| 458 | + | |
| 459 | + </el-dialog> | |
| 460 | + | |
| 461 | + <!-- 新增 --> | |
| 462 | + <el-dialog :visible.sync="ggXin" custom-class="tongyong_css" style="padding: 0;" width="60%" | |
| 463 | + class="dialog_css_Xq" center :close-on-click-modal="false" :show-close="false"> | |
| 464 | + <div style="padding:20px;max-height: calc(100vh - 200px); | |
| 433 | 465 | overflow-y: auto;"> |
| 434 | - <div style="font-size: 14px;padding-bottom: 20px;color: #000;">新建问卷</div> | |
| 435 | - <div> | |
| 436 | - <el-tabs v-model="xiangTabs"> | |
| 437 | - <el-tab-pane label="基本信息" name="first"> | |
| 438 | - <div style="width: 100%"> | |
| 439 | - <div style="border:1px solid #DCDFE6;font-size:14px;margin-bottom:10px;"> | |
| 440 | - <div | |
| 441 | - style="padding:10px 20px;border-bottom:1px solid #DCDFE6;display:flex;justify-content: space-between;"> | |
| 442 | - <div>基本信息</div> | |
| 443 | - </div> | |
| 444 | - | |
| 445 | - <el-form :model="formInline" :rules="rules" ref="inlineform" label-width="155px" | |
| 446 | - style="padding:20px;"> | |
| 447 | - <el-form-item label="问卷标题" prop="title"> | |
| 448 | - <el-input v-model="formInline.title" maxlength="50"></el-input> | |
| 449 | - </el-form-item> | |
| 450 | - <el-form-item label="问卷起止时间" prop=""> | |
| 451 | - <el-date-picker style="width: 100%;" v-model="Xin_Time" value-format="yyyy-MM-dd" type="daterange" | |
| 452 | - range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" align="right" | |
| 453 | - > | |
| 454 | - :picker-options="pickerOptions"> | |
| 455 | - </el-date-picker> | |
| 456 | - </el-form-item> | |
| 457 | - <el-form-item label="发布端口" prop="publishPort"> | |
| 458 | - <el-select v-model="formInline.publishPort" placeholder="请选择"> | |
| 459 | - <el-option label="用户端" value="用户端" /> | |
| 460 | - <el-option label="商家端" value="商家端" /> | |
| 461 | - <el-option label="H5端" value="H5端" /> | |
| 462 | - </el-select> | |
| 463 | - </el-form-item> | |
| 464 | - <el-form-item label="问卷类型" prop="questionnaireType"> | |
| 465 | - <el-select v-model="formInline.questionnaireType" placeholder="请选择"> | |
| 466 | - <el-option label="物业问卷" value="物业问卷" /> | |
| 467 | - <el-option label="招商问卷" value="招商问卷" /> | |
| 468 | - <el-option label="满意度问卷" value="满意度问卷" /> | |
| 469 | - <el-option label="社会调查问卷" value="社会调查问卷" /> | |
| 470 | - </el-select> | |
| 471 | - </el-form-item> | |
| 472 | - <el-form-item label="预计填写时长(分钟)" prop="estimatedTime"> | |
| 473 | - <el-input v-model.number="formInline.estimatedTime" maxlength="10"></el-input> | |
| 474 | - </el-form-item> | |
| 475 | - | |
| 476 | - <el-form-item label="问卷介绍" prop="remarks"> | |
| 477 | - <el-input v-model="formInline.remarks" maxlength="255"></el-input> | |
| 478 | - </el-form-item> | |
| 479 | - <el-form-item label="填写人" prop="filler"> | |
| 480 | - <el-select v-model="formInline.filler" placeholder="请选择"> | |
| 481 | - <!-- <el-option label="会员" value="会员" /> --> | |
| 482 | - <el-option label="公众" value="公众" /> | |
| 483 | - </el-select> | |
| 484 | - </el-form-item> | |
| 485 | - <el-form-item label="填写条件" prop="fillingConditions"> | |
| 486 | - <!-- <el-select v-model="formInline.fillingConditions" placeholder="请选择"> | |
| 487 | - <el-option label="可重复填写" value="可重复填写" /> | |
| 488 | - | |
| 489 | - </el-select> --> | |
| 490 | - <el-radio-group v-model="formInline.fillingConditions" style="margin-top:13px;"> | |
| 491 | - <el-radio label="可重复填写">可重复填写</el-radio> | |
| 492 | - | |
| 493 | - </el-radio-group> | |
| 494 | - </el-form-item> | |
| 495 | - <el-form-item label="创建人" prop="createUser"> | |
| 496 | - <el-input v-model="formInline.createUser" placeholder="请输入" maxlength="50"></el-input> | |
| 497 | - </el-select> | |
| 498 | - </el-form-item> | |
| 499 | - <el-form-item label="问卷封面" prop="coverImage"> | |
| 500 | - <div style="position: relative;"> | |
| 501 | - <upimg v-model="formInline.coverImage" :limit="1" :fileSize="1" :isShowTip="true"></upimg> | |
| 502 | - <!-- <div style="position: absolute;left:160px;height:80px;">()</div> --> | |
| 503 | - </div> | |
| 504 | - </el-form-item> | |
| 505 | - <el-form-item label="姓名" prop="needName"> | |
| 506 | - <el-radio-group v-model="formInline.needName" style="margin-top:13px;"> | |
| 507 | - <el-radio label="必填">必填</el-radio> | |
| 508 | - <el-radio label="不填">不填</el-radio> | |
| 509 | - </el-radio-group> | |
| 510 | - </el-form-item> | |
| 511 | - <el-form-item label="电话" prop="needPhone"> | |
| 512 | - <el-radio-group v-model="formInline.needPhone" style="margin-top:13px;"> | |
| 513 | - <el-radio label="必填">必填</el-radio> | |
| 514 | - <el-radio label="不填">不填</el-radio> | |
| 515 | - </el-radio-group> | |
| 516 | - </el-form-item> | |
| 517 | - <el-form-item label="性别" prop="needGender"> | |
| 518 | - <el-radio-group v-model="formInline.needGender" style="margin-top:13px;"> | |
| 519 | - <el-radio label="必填">必填</el-radio> | |
| 520 | - <el-radio label="不填">不填</el-radio> | |
| 521 | - </el-radio-group> | |
| 522 | - </el-form-item> | |
| 523 | - | |
| 524 | - <el-form-item label="意见" prop="needOpinion"> | |
| 525 | - <el-radio-group v-model="formInline.needOpinion" style="margin-top:13px;"> | |
| 526 | - <el-radio label="必填">必填</el-radio> | |
| 527 | - <el-radio label="不填">不填</el-radio> | |
| 528 | - </el-radio-group> | |
| 529 | - </el-form-item> | |
| 530 | - </el-form> | |
| 531 | - </div> | |
| 532 | - <div v-if="formInline.filler=='会员'"> | |
| 533 | - <div style="border:1px solid #DCDFE6;font-size:14px;margin-bottom:10px;"> | |
| 534 | - <div | |
| 535 | - style="padding:10px 20px;border-bottom:1px solid #DCDFE6;display:flex;justify-content: space-between;"> | |
| 536 | - <div>参与答卷奖励</div> | |
| 537 | - </div> | |
| 538 | - <el-form ref="form" :model="formInline" label-width="140px" style="padding:20px;"> | |
| 539 | - <el-radio-group v-model="formInline.rewardForParticipation" @change="radioClick"> | |
| 540 | - <el-radio label="不设置奖励" value="不设置奖励">不设置奖励</el-radio> | |
| 541 | - <el-radio label="奖励积分" value="奖励积分">奖励积分</el-radio> | |
| 542 | - <el-radio label="转盘抽奖" value="转盘抽奖">转盘抽奖</el-radio> | |
| 543 | - <el-radio label="优惠券" value="优惠券">优惠券</el-radio> | |
| 544 | - </el-radio-group> | |
| 545 | - </el-form> | |
| 546 | - </div> | |
| 547 | - <div v-if="formInline.rewardForParticipation === '奖励积分'" style="padding: 0 0 20px 20px;"> | |
| 548 | - <div> | |
| 549 | - 奖励 <el-input v-model="jifen" style="width:50px;"></el-input>积分 | |
| 550 | - </div> | |
| 551 | - </div> | |
| 552 | - <div v-if="formInline.rewardForParticipation === '转盘抽奖'" style="padding: 0 0 20px 20px;"> | |
| 553 | - <div> | |
| 554 | - 奖励 <el-input v-model="choujiang" style="width:50px;"></el-input>次 | |
| 555 | - </div> | |
| 556 | - </div> | |
| 557 | - <div v-if="formInline.rewardForParticipation === '优惠券'" style="padding: 0 0 20px 20px;"> | |
| 558 | - <div> | |
| 559 | - <el-select v-model="yhq" placeholder="请选择" style="width:20%"> | |
| 560 | - <el-option :label="item" :value="item" v-for="item in yhqSel" /> | |
| 561 | - </el-select> | |
| 562 | - </div> | |
| 563 | - </div> | |
| 564 | - </div> | |
| 565 | - </div> | |
| 566 | - </el-tab-pane> | |
| 567 | - <el-tab-pane label="问卷内容" name="second"> | |
| 568 | - <div style="width: 100%"> | |
| 569 | - <div style="border:1px solid #DCDFE6;font-size:14px;margin-bottom:10px;"> | |
| 570 | - <div | |
| 571 | - style="padding:10px 20px;border-bottom:1px solid #DCDFE6;display:flex;justify-content: space-between;"> | |
| 572 | - <div>问卷内容</div> | |
| 573 | - <div> | |
| 574 | - <div class="greens tableBtn" @click="addTikuShow">新增</div> | |
| 575 | - <div class="greens tableBtn" @click="selTiku">从题库中选择</div> | |
| 576 | - </div> | |
| 577 | - | |
| 578 | - </div> | |
| 579 | - | |
| 580 | - <div style="padding:20px;"> | |
| 581 | - <el-table :data="wenConstData" | |
| 582 | - :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}" | |
| 583 | - :height="tableHeight" style="overflow-y: auto;"> | |
| 584 | - <el-table-column label="序号" min-width="100"> | |
| 585 | - <template slot-scope="scope"> | |
| 586 | - {{scope.$index + 1}} | |
| 587 | - </template> | |
| 588 | - </el-table-column> | |
| 589 | - <el-table-column label="题目" min-width="300" prop="tikuTitle" show-overflow-tooltip> | |
| 590 | - </el-table-column> | |
| 591 | - <el-table-column label="题型" min-width="150" prop="questionType"> | |
| 592 | - </el-table-column> | |
| 593 | - <el-table-column label="是否必填" prop="isRequired" min-width="150"> | |
| 594 | - </el-table-column> | |
| 595 | - <el-table-column label="操作" min-width="200"> | |
| 596 | - <template slot-scope="scope"> | |
| 597 | - <!-- <div class="tableBtn greens">编辑</div> --> | |
| 598 | - <div class="tableBtn greens" @click="delWenCon('1',scope.$index)">删除</div> | |
| 599 | - </template> | |
| 600 | - </el-table-column> | |
| 601 | - </el-table> | |
| 602 | - </div> | |
| 603 | - </div> | |
| 604 | - </div> | |
| 605 | - </el-tab-pane> | |
| 606 | - | |
| 607 | - </el-tabs> | |
| 608 | - </div> | |
| 609 | - | |
| 610 | - <!-- <span slot="footer" class="dialog-footer"> | |
| 466 | + <div style="font-size: 14px;padding-bottom: 20px;color: #000;">新建问卷</div> | |
| 467 | + <div> | |
| 468 | + <el-tabs v-model="xiangTabs"> | |
| 469 | + <el-tab-pane label="基本信息" name="first"> | |
| 470 | + <div style="width: 100%"> | |
| 471 | + <div style="border:1px solid #DCDFE6;font-size:14px;margin-bottom:10px;"> | |
| 472 | + <div | |
| 473 | + style="padding:10px 20px;border-bottom:1px solid #DCDFE6;display:flex;justify-content: space-between;"> | |
| 474 | + <div>基本信息</div> | |
| 475 | + </div> | |
| 476 | + | |
| 477 | + <el-form ref="inlineform" :model="formInline" :rules="rules" label-width="155px" | |
| 478 | + style="padding:20px;"> | |
| 479 | + <el-form-item label="问卷标题" prop="title"> | |
| 480 | + <el-input v-model="formInline.title" maxlength="50" /> | |
| 481 | + </el-form-item> | |
| 482 | + <el-form-item label="问卷起止时间" prop=""> | |
| 483 | + <el-date-picker v-model="Xin_Time" style="width: 100%;" | |
| 484 | + value-format="yyyy-MM-dd" type="daterange" range-separator="至" | |
| 485 | + start-placeholder="开始日期" end-placeholder="结束日期" align="right"> | |
| 486 | + :picker-options="pickerOptions"> | |
| 487 | + </el-date-picker> | |
| 488 | + </el-form-item> | |
| 489 | + <el-form-item label="发布端口" prop="publishPort"> | |
| 490 | + <el-select v-model="formInline.publishPort" placeholder="请选择"> | |
| 491 | + <el-option label="用户端" value="用户端" /> | |
| 492 | + <el-option label="商家端" value="商家端" /> | |
| 493 | + <el-option label="H5端" value="H5端" /> | |
| 494 | + </el-select> | |
| 495 | + </el-form-item> | |
| 496 | + <el-form-item label="问卷类型" prop="questionnaireType"> | |
| 497 | + <el-select v-model="formInline.questionnaireType" placeholder="请选择"> | |
| 498 | + <el-option label="物业问卷" value="物业问卷" /> | |
| 499 | + <el-option label="招商问卷" value="招商问卷" /> | |
| 500 | + <el-option label="满意度问卷" value="满意度问卷" /> | |
| 501 | + <el-option label="社会调查问卷" value="社会调查问卷" /> | |
| 502 | + </el-select> | |
| 503 | + </el-form-item> | |
| 504 | + <el-form-item label="预计填写时长(分钟)" prop="estimatedTime"> | |
| 505 | + <el-input v-model.number="formInline.estimatedTime" maxlength="10" /> | |
| 506 | + </el-form-item> | |
| 507 | + | |
| 508 | + <el-form-item label="问卷介绍" prop="remarks"> | |
| 509 | + <!-- <el-input v-model="formInline.remarks" maxlength="255"></el-input> --> | |
| 510 | + <wang-editor ref="editor" v-model="formInline.remarks" :height="200" /> | |
| 511 | + </el-form-item> | |
| 512 | + <el-form-item label="填写人" prop="filler"> | |
| 513 | + <el-select v-model="formInline.filler" placeholder="请选择"> | |
| 514 | + <!-- <el-option label="会员" value="会员" /> --> | |
| 515 | + <el-option label="公众" value="公众" /> | |
| 516 | + </el-select> | |
| 517 | + </el-form-item> | |
| 518 | + <el-form-item label="填写条件" prop="fillingConditions"> | |
| 519 | + <el-radio-group v-model="formInline.fillingConditions" | |
| 520 | + style="margin-top:13px;"> | |
| 521 | + <el-radio label="可重复填写">可重复填写</el-radio> | |
| 522 | + <el-radio label="不可重复填写">不可重复填写</el-radio> | |
| 523 | + </el-radio-group> | |
| 524 | + </el-form-item> | |
| 525 | + <el-form-item label="创建人" prop="createUser"> | |
| 526 | + <el-input v-model="formInline.createUser" placeholder="请输入" | |
| 527 | + maxlength="50" /> | |
| 528 | + </el-select> | |
| 529 | + </el-form-item> | |
| 530 | + <el-form-item label="问卷封面" prop="coverImage"> | |
| 531 | + | |
| 532 | + <div style="position: relative;"> | |
| 533 | + | |
| 534 | + <upimg :limit="1" :file-size="1" :is-show-tip="true" | |
| 535 | + :value="formInline.coverImage" @input="e => input(e, '1')" /> | |
| 536 | + <!-- <div style="position: absolute;left:160px;height:80px;">()</div> --> | |
| 537 | + <!-- @input="e=>input(e,'ing')" @input="input" --> | |
| 538 | + </div> | |
| 539 | + </el-form-item> | |
| 540 | + <el-form-item label="姓名" prop="needName"> | |
| 541 | + <el-radio-group v-model="formInline.needName" style="margin-top:13px;"> | |
| 542 | + <el-radio label="必填">必填</el-radio> | |
| 543 | + <el-radio label="不填">不填</el-radio> | |
| 544 | + </el-radio-group> | |
| 545 | + </el-form-item> | |
| 546 | + <el-form-item label="电话" prop="needPhone"> | |
| 547 | + <el-radio-group v-model="formInline.needPhone" style="margin-top:13px;"> | |
| 548 | + <el-radio label="必填">必填</el-radio> | |
| 549 | + <el-radio label="不填">不填</el-radio> | |
| 550 | + </el-radio-group> | |
| 551 | + </el-form-item> | |
| 552 | + <el-form-item label="性别" prop="needGender"> | |
| 553 | + <el-radio-group v-model="formInline.needGender" style="margin-top:13px;"> | |
| 554 | + <el-radio label="必填">必填</el-radio> | |
| 555 | + <el-radio label="不填">不填</el-radio> | |
| 556 | + </el-radio-group> | |
| 557 | + </el-form-item> | |
| 558 | + | |
| 559 | + <el-form-item label="意见" prop="needOpinion"> | |
| 560 | + <el-radio-group v-model="formInline.needOpinion" style="margin-top:13px;"> | |
| 561 | + <el-radio label="必填">必填</el-radio> | |
| 562 | + <el-radio label="不填">不填</el-radio> | |
| 563 | + </el-radio-group> | |
| 564 | + </el-form-item> | |
| 565 | + </el-form> | |
| 566 | + </div> | |
| 567 | + <div> | |
| 568 | + <div style="border:1px solid #DCDFE6;font-size:14px;margin-bottom:10px;"> | |
| 569 | + <div | |
| 570 | + style="padding:10px 20px;border-bottom:1px solid #DCDFE6;display:flex;justify-content: space-between;"> | |
| 571 | + <div>参与答卷奖励</div> | |
| 572 | + </div> | |
| 573 | + <el-form ref="form" :model="formInline" label-width="140px" | |
| 574 | + style="padding:20px;"> | |
| 575 | + <el-radio-group v-model="radioreward" @change="radioClick"> | |
| 576 | + <el-radio label="不设置奖励" value="不设置奖励">不设置奖励</el-radio> | |
| 577 | + <!-- <el-radio label="奖励积分" value="奖励积分">奖励积分</el-radio> --> | |
| 578 | + <el-radio label="转盘抽奖" value="转盘抽奖">转盘抽奖</el-radio> | |
| 579 | + <!-- <el-radio label="优惠券" value="优惠券">优惠券</el-radio> --> | |
| 580 | + </el-radio-group> | |
| 581 | + </el-form> | |
| 582 | + <!-- <div v-if="formInline.rewardForParticipation === '奖励积分'" | |
| 583 | + style="padding: 0 0 20px 20px;"> | |
| 584 | + <div> | |
| 585 | + 奖励 <el-input v-model="jifen" style="width:50px;" />积分 | |
| 586 | + </div> | |
| 587 | + </div> --> | |
| 588 | + <div v-if="radioreward === '转盘抽奖'" style="padding: 0 0 20px 20px;"> | |
| 589 | + <div v-if="jiangli.id && jiangli.id!=''" style="padding: 10px 0;"> | |
| 590 | + <span>{{jiangli.actName}}</span> | |
| 591 | + <span style="padding: 0 20px;color: #3F9B6A;cursor: pointer;" | |
| 592 | + @click="actGo(1)">查看</span> | |
| 593 | + <span style="color: #3F9B6A;cursor: pointer;" | |
| 594 | + @click="actGo(2)">编辑</span> | |
| 595 | + </div> | |
| 596 | + <div v-else> | |
| 597 | + <el-button style="color: #fff;background-color: #3F9B6A;" | |
| 598 | + @click="actGo(0)">创建活动</el-button> | |
| 599 | + </div> | |
| 600 | + </div> | |
| 601 | + <!-- <div v-if="formInline.rewardForParticipation === '优惠券'" | |
| 602 | + style="padding: 0 0 20px 20px;"> | |
| 603 | + <div> | |
| 604 | + <el-select v-model="yhq" placeholder="请选择" style="width:20%"> | |
| 605 | + <el-option v-for="item in yhqSel" :label="item" :value="item" /> | |
| 606 | + </el-select> | |
| 607 | + </div> | |
| 608 | + </div> --> | |
| 609 | + </div> | |
| 610 | + | |
| 611 | + </div> | |
| 612 | + </div> | |
| 613 | + | |
| 614 | + </el-tab-pane> | |
| 615 | + <el-tab-pane label="问卷内容" name="second"> | |
| 616 | + <div style="width: 100%"> | |
| 617 | + <div style="border:1px solid #DCDFE6;font-size:14px;margin-bottom:10px;"> | |
| 618 | + <div | |
| 619 | + style="padding:10px 20px;border-bottom:1px solid #DCDFE6;display:flex;justify-content: space-between;"> | |
| 620 | + <div>问卷内容</div> | |
| 621 | + <div> | |
| 622 | + <div class="greens tableBtn" @click="addTikuShow">新增</div> | |
| 623 | + <div class="greens tableBtn" @click="selTiku">从题库中选择</div> | |
| 624 | + </div> | |
| 625 | + | |
| 626 | + </div> | |
| 627 | + | |
| 628 | + <div style="padding:20px;"> | |
| 629 | + <el-table :data="wenConstData" | |
| 630 | + :header-cell-style="{ fontSize: '14px', color: '#0009', fontWeight: 'normal', backgroundColor: '#F2F3F5' }" | |
| 631 | + class="xddTable"> | |
| 632 | + <el-table-column label="序号" min-width="100"> | |
| 633 | + <template slot-scope="scope"> | |
| 634 | + {{ scope.$index + 1 }} | |
| 635 | + </template> | |
| 636 | + </el-table-column> | |
| 637 | + <el-table-column label="题目" min-width="300" prop="tikuTitle" | |
| 638 | + show-overflow-tooltip /> | |
| 639 | + <el-table-column label="题型" min-width="80" prop="questionType" /> | |
| 640 | + <el-table-column label="是否必填" prop="isRequired" min-width="120" /> | |
| 641 | + <el-table-column label="" min-width="120"> | |
| 642 | + <template #default="scope"> | |
| 643 | + <span style="cursor: pointer;margin-right: 5px; color: #3F9B6A;" | |
| 644 | + @click="moveUp(scope.$index)" v-if="scope.$index != 0">↑</span> | |
| 645 | + <span style="cursor: pointer; color: #3F9B6A;" | |
| 646 | + @click="moveDown(scope.$index)" | |
| 647 | + v-if="scope.$index != (wenConstData.length - 1)">↓</span> | |
| 648 | + </template> | |
| 649 | + </el-table-column> | |
| 650 | + <el-table-column label="操作" min-width="80"> | |
| 651 | + <template slot-scope="scope"> | |
| 652 | + <!-- <div class="tableBtn greens">编辑</div> --> | |
| 653 | + <div class="tableBtn greens" @click="delWenCon('1', scope.$index)"> | |
| 654 | + 删除</div> | |
| 655 | + </template> | |
| 656 | + </el-table-column> | |
| 657 | + </el-table> | |
| 658 | + </div> | |
| 659 | + </div> | |
| 660 | + </div> | |
| 661 | + </el-tab-pane> | |
| 662 | + | |
| 663 | + </el-tabs> | |
| 664 | + </div> | |
| 665 | + | |
| 666 | + <!-- <span slot="footer" class="dialog-footer"> | |
| 611 | 667 | <el-button class="buttonHover" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" |
| 612 | 668 | @click="closeFn(1)">返回</el-button> |
| 613 | 669 | <el-button @click="addCheck(2)" style="background-color: #3F9B6A;color: #fff">确认</el-button> |
| 614 | 670 | |
| 615 | 671 | </span> --> |
| 616 | - </div> | |
| 617 | - <el-dialog :visible.sync="tikuBox" custom-class="tongyong_css" style="padding: 0;" width="60%" center | |
| 618 | - :close-on-click-modal="false" append-to-body> | |
| 619 | - <div style="padding:20px;"> | |
| 620 | - <div style="padding:20px;"> | |
| 621 | - <div style="display: flex;justify-content: space-between;margin-bottom: 20px;"> | |
| 622 | - | |
| 623 | - <div> | |
| 624 | - 从题库中选择 | |
| 625 | - <el-select v-model="tikuNie" style="width:28%;margin-right: 15px;" @change="tikuchange"> | |
| 626 | - <el-option label="用户端题库" value="用户端题库" /> | |
| 627 | - <el-option label="商户端题库" value="商户端题库" /> | |
| 628 | - <el-option label="公共端题库" value="公共端题库" /> | |
| 629 | - </el-select> | |
| 630 | - <el-select v-model="danxuan" style="width:28%;margin-right: 15px;" placeholder="请选择题型"> | |
| 631 | - <el-option label="单选" value="单选" /> | |
| 632 | - <el-option label="多选" value="多选" /> | |
| 633 | - <el-option label="文本" value="文本" /> | |
| 634 | - </el-select> | |
| 635 | - <!-- <el-select v-model="manyi" style="width:20%;" placeholder="请选择题型"> | |
| 672 | + </div> | |
| 673 | + <el-dialog :visible.sync="tikuBox" custom-class="tongyong_css" style="padding: 0;" width="60%" center | |
| 674 | + :close-on-click-modal="false" append-to-body @close="tikuquxiao(1)"> | |
| 675 | + <div style="padding:20px;"> | |
| 676 | + <div style="padding:20px;"> | |
| 677 | + <div style="display: flex;justify-content: space-between;margin-bottom: 20px;"> | |
| 678 | + | |
| 679 | + <div> | |
| 680 | + 从题库中选择 | |
| 681 | + <el-select v-model="tikuNie" style="width:28%;margin-right: 15px;" @change="tikuchange"> | |
| 682 | + <el-option label="用户端题库" value="用户端题库" /> | |
| 683 | + <el-option label="商户端题库" value="商户端题库" /> | |
| 684 | + <el-option label="公共端题库" value="公共端题库" /> | |
| 685 | + </el-select> | |
| 686 | + <el-select v-model="danxuan" style="width:28%;margin-right: 15px;" placeholder="请选择题型"> | |
| 687 | + <el-option label="单选" value="单选" /> | |
| 688 | + <el-option label="多选" value="多选" /> | |
| 689 | + <el-option label="文本" value="文本" /> | |
| 690 | + </el-select> | |
| 691 | + <!-- <el-select v-model="manyi" style="width:20%;" placeholder="请选择题型"> | |
| 636 | 692 | <el-option label="物业满意度" value="物业满意度" /> |
| 637 | 693 | </el-select> --> |
| 638 | - </div> | |
| 639 | - <div style="width: 68%;"> | |
| 640 | - <el-input v-model="timuMsg" style="width:50%;margin-right: 15px;" placeholder="请输入题目"></el-input> | |
| 641 | - <el-button @click="tikusous" style="background-color: #3F9B6A;color: #fff" placeholder="请输入题目">查询 | |
| 642 | - </el-button> | |
| 643 | - <el-button @click="tikuclose" class="buttonHover" | |
| 644 | - style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;">重置 | |
| 645 | - </el-button> | |
| 646 | - </div> | |
| 647 | - </div> | |
| 648 | - | |
| 649 | - <div style="padding:20px;overflow-y: auto;height:495px;" v-infinite-scroll="load"> | |
| 650 | - | |
| 651 | - <el-table :data="tikuziyuan" | |
| 652 | - ref="ziyuanData" | |
| 653 | - :row-key="row=>row.id" | |
| 654 | - :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}" | |
| 655 | - @selection-change="handleSelectionChange" tooltip-effect="dark" | |
| 656 | - @toggleRowSelection="hangSelchange" > | |
| 657 | - <el-table-column type="selection" width="55" :reserve-selection="true"> | |
| 658 | - </el-table-column> | |
| 659 | - <el-table-column label="序号" min-width="100"> | |
| 660 | - <template slot-scope="scope"> | |
| 661 | - {{scope.$index +1 }} | |
| 662 | - </template> | |
| 663 | - </el-table-column> | |
| 664 | - <el-table-column label="题目" min-width="400" prop="tikuTitle"> | |
| 665 | - </el-table-column> | |
| 666 | - <el-table-column label="题型" min-width="80" prop="questionType"> | |
| 667 | - </el-table-column> | |
| 668 | - <el-table-column label="操作" min-width="120"> | |
| 669 | - <template slot-scope="scope"> | |
| 670 | - <div class="tableBtn greens" @click="gotimuxiang(scope.row)">详情</div> | |
| 671 | - </template> | |
| 672 | - </el-table-column> | |
| 673 | - </el-table> | |
| 674 | - </div> | |
| 675 | - </div> | |
| 676 | - <div style="padding-top:20px;display:flex;justify-content: flex-end;"> | |
| 677 | - <el-button style="background-color: #3F9B6A;color: #fff" @click="tiSelQue(1)">确定</el-button> | |
| 678 | - </div> | |
| 679 | - </div> | |
| 680 | - <el-dialog :visible.sync="timuXiang" custom-class='tongyong_css' style="padding: 0;" width="50%" center | |
| 681 | - :close-on-click-modal="false" append-to-body> | |
| 682 | - <div style="padding:20px;"> | |
| 683 | - <div style="font-size: 14px;padding-bottom: 20px;color: #000;">详情页</div> | |
| 684 | - <div> | |
| 685 | - <el-descriptions class="margin-top" :column="1" border :labelStyle="labelStyle" | |
| 686 | - :contentStyle="contentStyle"> | |
| 687 | - <el-descriptions-item> | |
| 688 | - <template slot="label"> | |
| 689 | - 题目 | |
| 690 | - </template> | |
| 691 | - {{timuData.tikuTitle}} | |
| 692 | - </el-descriptions-item> | |
| 693 | - <el-descriptions-item> | |
| 694 | - <template slot="label"> | |
| 695 | - 题型 | |
| 696 | - </template> | |
| 697 | - {{timuData.questionType}} | |
| 698 | - </el-descriptions-item> | |
| 699 | - <el-descriptions-item> | |
| 700 | - <template slot="label"> | |
| 701 | - 隶属题库 | |
| 702 | - </template> | |
| 703 | - {{timuData.questionBank}} | |
| 704 | - </el-descriptions-item> | |
| 705 | - </el-descriptions> | |
| 706 | - <el-descriptions class="margin-top" :column="1" border :labelStyle="labelStyle" | |
| 707 | - :contentStyle="contentStyle"> | |
| 708 | - <el-descriptions-item> | |
| 709 | - <template slot="label"> | |
| 710 | - 默认是否必填 | |
| 711 | - </template> | |
| 712 | - {{timuData.isRequired}} | |
| 713 | - </el-descriptions-item> | |
| 714 | - <el-descriptions-item> | |
| 715 | - <template slot="label"> | |
| 716 | - 选项 | |
| 717 | - </template> | |
| 718 | - <div v-for="(value, key) in timuData.optionSettings" :key="key"> | |
| 719 | - {{ key }}:{{ value }} | |
| 720 | - </div> | |
| 721 | - </el-descriptions-item> | |
| 722 | - | |
| 723 | - </el-descriptions> | |
| 724 | - </div> | |
| 725 | - <div style="padding-top:20px;display:flex;justify-content: flex-end;"> | |
| 726 | - <el-button class="buttonHover" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 727 | - @click="timuXiang = false">返回</el-button> | |
| 728 | - </div> | |
| 729 | - </div> | |
| 730 | - | |
| 731 | - </el-dialog> | |
| 732 | - </el-dialog> | |
| 733 | - <el-dialog :visible.sync="tikuAdd" custom-class="tongyong_css" style="padding: 0;" width="60%" center | |
| 734 | - :close-on-click-modal="false" append-to-body @close="quxiao(1)"> | |
| 735 | - <div style="padding:20px;"> | |
| 736 | - <div style="font-size: 14px;padding-bottom: 20px;color: #000;"> | |
| 737 | - 新增题目 | |
| 738 | - </div> | |
| 739 | - <div style="padding:20px;"> | |
| 740 | - <el-form ref="tixform" :model="zhong" :rules="tixrules" label-width="140px"> | |
| 741 | - <el-form-item label="题目" prop="tikuTitle"> | |
| 742 | - <el-input v-model="zhong.tikuTitle" maxlength="100"></el-input> | |
| 743 | - </el-form-item> | |
| 744 | - <el-form-item label="题型" prop="questionType"> | |
| 745 | - <el-select v-model="zhong.questionType" placeholder="请选择"> | |
| 746 | - <el-option label="单选" value="单选" /> | |
| 747 | - <el-option label="多选" value="多选" /> | |
| 748 | - <el-option label="文本" value="文本" /> | |
| 749 | - </el-select> | |
| 750 | - </el-form-item> | |
| 751 | - <el-form-item label="隶属题库" prop="questionBank"> | |
| 752 | - <el-select v-model="zhong.questionBank" placeholder="请选择"> | |
| 753 | - <el-option label="用户端题库" value="用户端题库" /> | |
| 754 | - <el-option label="商户端题库" value="商户端题库" /> | |
| 755 | - <el-option label="公共端题库" value="公共端题库" /> | |
| 756 | - </el-select> | |
| 757 | - </el-form-item> | |
| 758 | - <el-form-item label="是否必填" prop="isRequired"> | |
| 759 | - <!-- <el-select v-model="zhong.isRequired" placeholder="请选择"> | |
| 694 | + </div> | |
| 695 | + <div style="width: 68%;"> | |
| 696 | + <el-input v-model="timuMsg" style="width:50%;margin-right: 15px;" placeholder="请输入题目" /> | |
| 697 | + <el-button style="background-color: #3F9B6A;color: #fff" placeholder="请输入题目" | |
| 698 | + @click="tikusous">查询 | |
| 699 | + </el-button> | |
| 700 | + <el-button class="buttonHover" | |
| 701 | + style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 702 | + @click="tikuclose">重置 | |
| 703 | + </el-button> | |
| 704 | + </div> | |
| 705 | + </div> | |
| 706 | + <!-- v-infinite-scroll="load" --> | |
| 707 | + <div style="padding:20px;overflow-y: auto;height:495px;"> | |
| 708 | + | |
| 709 | + <el-table ref="ziyuanData" | |
| 710 | + :data="tikuziyuan.slice((currentPageListTi - 1) * pageSizeTi, currentPageListTi * pageSizeTi)" | |
| 711 | + :row-key="row => row.id" | |
| 712 | + :header-cell-style="{ fontSize: '14px', color: '#0009', fontWeight: 'normal', backgroundColor: '#F2F3F5' }" | |
| 713 | + tooltip-effect="dark" @selection-change="handleSelectionChange" | |
| 714 | + @toggleRowSelection="hangSelchange"> | |
| 715 | + <el-table-column type="selection" width="55" :reserve-selection="true" /> | |
| 716 | + <el-table-column label="序号" min-width="100"> | |
| 717 | + <template slot-scope="scope"> | |
| 718 | + {{ scope.$index + 1 }} | |
| 719 | + </template> | |
| 720 | + </el-table-column> | |
| 721 | + <el-table-column label="题目" min-width="400" prop="tikuTitle" /> | |
| 722 | + <el-table-column label="题型" min-width="80" prop="questionType" /> | |
| 723 | + <el-table-column label="操作" min-width="120"> | |
| 724 | + <template slot-scope="scope"> | |
| 725 | + <div class="tableBtn greens" @click="gotimuxiang(scope.row)">详情</div> | |
| 726 | + </template> | |
| 727 | + </el-table-column> | |
| 728 | + | |
| 729 | + </el-table> | |
| 730 | + <div style="display: flex;justify-content: space-between;margin-top: 10px;"> | |
| 731 | + <div style="font-size: 14px;">共 <span style="color: #3F9B6A;">{{ totalTi }}</span> 条 | |
| 732 | + </div> | |
| 733 | + <el-pagination :current-page="currentPageListTi" :page-sizes="[10, 20, 50, 100]" | |
| 734 | + :page-size="pageSizeTi" background small layout="prev, pager, next" :total="totalTi" | |
| 735 | + @size-change="handleSizeChangeTi" @current-change="handleCurrentChangeTi" /> | |
| 736 | + </div> | |
| 737 | + </div> | |
| 738 | + </div> | |
| 739 | + <div style="padding-top:20px;display:flex;justify-content: flex-end;"> | |
| 740 | + <el-button style="background-color: #3F9B6A;color: #fff" @click="tiSelQue(1)">确定</el-button> | |
| 741 | + </div> | |
| 742 | + </div> | |
| 743 | + <el-dialog :visible.sync="timuXiang" custom-class="tongyong_css" style="padding: 0;" width="50%" center | |
| 744 | + :close-on-click-modal="false" append-to-body> | |
| 745 | + <div style="padding:20px;"> | |
| 746 | + <div style="font-size: 14px;padding-bottom: 20px;color: #000;">详情页</div> | |
| 747 | + <div> | |
| 748 | + <el-descriptions class="margin-top" :column="1" border :label-style="labelStyle" | |
| 749 | + :content-style="contentStyle"> | |
| 750 | + <el-descriptions-item> | |
| 751 | + <template slot="label"> | |
| 752 | + 题目 | |
| 753 | + </template> | |
| 754 | + {{ timuData.tikuTitle }} | |
| 755 | + </el-descriptions-item> | |
| 756 | + <el-descriptions-item> | |
| 757 | + <template slot="label"> | |
| 758 | + 题型 | |
| 759 | + </template> | |
| 760 | + {{ timuData.questionType }} | |
| 761 | + </el-descriptions-item> | |
| 762 | + <el-descriptions-item> | |
| 763 | + <template slot="label"> | |
| 764 | + 隶属题库 | |
| 765 | + </template> | |
| 766 | + {{ timuData.questionBank }} | |
| 767 | + </el-descriptions-item> | |
| 768 | + </el-descriptions> | |
| 769 | + <el-descriptions class="margin-top" :column="1" border :label-style="labelStyle" | |
| 770 | + :content-style="contentStyle"> | |
| 771 | + <el-descriptions-item> | |
| 772 | + <template slot="label"> | |
| 773 | + 默认是否必填 | |
| 774 | + </template> | |
| 775 | + {{ timuData.isRequired }} | |
| 776 | + </el-descriptions-item> | |
| 777 | + <el-descriptions-item> | |
| 778 | + <template slot="label"> | |
| 779 | + 选项 | |
| 780 | + </template> | |
| 781 | + <div v-for="(value, key) in timuData.optionSettings" :key="key"> | |
| 782 | + {{ key }}:{{ value }} | |
| 783 | + </div> | |
| 784 | + </el-descriptions-item> | |
| 785 | + | |
| 786 | + </el-descriptions> | |
| 787 | + </div> | |
| 788 | + <div style="padding-top:20px;display:flex;justify-content: flex-end;"> | |
| 789 | + <el-button class="buttonHover" | |
| 790 | + style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 791 | + @click="timuXiang = false">返回</el-button> | |
| 792 | + </div> | |
| 793 | + </div> | |
| 794 | + | |
| 795 | + </el-dialog> | |
| 796 | + </el-dialog> | |
| 797 | + <el-dialog :visible.sync="tikuAdd" custom-class="tongyong_css" style="padding: 0;" width="60%" center | |
| 798 | + :close-on-click-modal="false" append-to-body @close="quxiao(1)"> | |
| 799 | + <div style="padding:20px;"> | |
| 800 | + <div style="font-size: 14px;padding-bottom: 20px;color: #000;"> | |
| 801 | + 新增题目 | |
| 802 | + </div> | |
| 803 | + <div style="padding:20px;"> | |
| 804 | + <el-form ref="tixform" :model="zhong" :rules="tixrules" label-width="140px"> | |
| 805 | + <el-form-item label="题目" prop="tikuTitle"> | |
| 806 | + <el-input v-model="zhong.tikuTitle" maxlength="100" /> | |
| 807 | + </el-form-item> | |
| 808 | + <el-form-item label="题型" prop="questionType"> | |
| 809 | + <el-select v-model="zhong.questionType" placeholder="请选择"> | |
| 810 | + <el-option label="单选" value="单选" /> | |
| 811 | + <el-option label="多选" value="多选" /> | |
| 812 | + <el-option label="文本" value="文本" /> | |
| 813 | + </el-select> | |
| 814 | + </el-form-item> | |
| 815 | + | |
| 816 | + <el-form-item v-if="zhong.questionType == '多选'" label="最多可选" prop="maxChoose"> | |
| 817 | + <el-input-number v-model="zhong.maxChoose" :min="0" :max="options.length" /> 0为不限制填写数量 | |
| 818 | + </el-form-item> | |
| 819 | + <el-form-item label="隶属题库" prop="questionBank"> | |
| 820 | + <el-select v-model="zhong.questionBank" placeholder="请选择"> | |
| 821 | + <el-option label="用户端题库" value="用户端题库" /> | |
| 822 | + <el-option label="商户端题库" value="商户端题库" /> | |
| 823 | + <el-option label="公共端题库" value="公共端题库" /> | |
| 824 | + </el-select> | |
| 825 | + </el-form-item> | |
| 826 | + <el-form-item label="布局类型" prop="layoutType"> | |
| 827 | + <el-radio-group v-model="zhong.layoutType" style="margin-top:13px;"> | |
| 828 | + <el-radio :label="1">垂直布局</el-radio> | |
| 829 | + <el-radio :label="2">自由布局</el-radio> | |
| 830 | + </el-radio-group> | |
| 831 | + </el-form-item> | |
| 832 | + <el-form-item label="是否必填" prop="isRequired"> | |
| 833 | + <!-- <el-select v-model="zhong.isRequired" placeholder="请选择"> | |
| 760 | 834 | <el-option label="必填" value="必填" /> |
| 761 | 835 | <el-option label="非必填" value="非必填" /> |
| 762 | 836 | </el-select> --> |
| 763 | - <el-radio-group v-model="zhong.isRequired" style="margin-top:13px;"> | |
| 764 | - <el-radio label="必填">必填</el-radio> | |
| 765 | - <el-radio label="非必填">非必填</el-radio> | |
| 766 | - | |
| 767 | - </el-radio-group> | |
| 768 | - </el-form-item> | |
| 769 | - | |
| 770 | - | |
| 771 | - <el-form-item label="选项" v-if="zhong.questionType !='文本'" prop="optionSettings"> | |
| 772 | - <el-table :data="options" | |
| 773 | - :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}"> | |
| 774 | - <el-table-column prop="index" label="序号" width="180"> | |
| 775 | - <template #default="scope"> | |
| 776 | - {{scope.$index + 1}} | |
| 777 | - </template> | |
| 778 | - </el-table-column> | |
| 779 | - <el-table-column prop="name" label="选项名称" width="300"> | |
| 780 | - <template #default="scope"> | |
| 781 | - <el-input v-model="scope.row.name" :readonly="scope.row.readonly"></el-input> | |
| 782 | - </template> | |
| 783 | - </el-table-column> | |
| 784 | - <el-table-column prop="name" label="分数"> | |
| 785 | - <template #default="scope"> | |
| 786 | - <el-input v-model.number="scope.row.num" :min="0" :max="100" @input="validateScore(scope.row)" | |
| 787 | - :readonly="scope.row.readonly"></el-input> | |
| 788 | - </template> | |
| 789 | - </el-table-column> | |
| 790 | - <el-table-column label="操作"> | |
| 791 | - <template #default="scope"> | |
| 792 | - <div class="tableBtn greens" @click="deleteOption(scope.$index)">删除</div> | |
| 793 | - </template> | |
| 794 | - </el-table-column> | |
| 795 | - </el-table> | |
| 796 | - <el-button @click="addOption" style="width:100%;background-color: #3F9B6A;color: #fff">+ 添加</el-button> | |
| 797 | - </el-form-item> | |
| 798 | - </el-form> | |
| 799 | - </div> | |
| 800 | - <div style="display: flex;justify-content: flex-end;"> | |
| 801 | - <el-button @click="Addtiku(1)" style="background-color: #3F9B6A;color: #fff">确定 | |
| 802 | - </el-button> | |
| 803 | - </div> | |
| 804 | - </div> | |
| 805 | - </el-dialog> | |
| 806 | - <template #footer> | |
| 807 | - <div style="display: flex; justify-content: flex-end; align-items: center;"> | |
| 808 | - <el-button class="buttonHover" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 809 | - @click="closeFn(1)">返回</el-button> | |
| 810 | - <el-button @click="addCheck(2)" style="background-color: #3F9B6A;color: #fff">确认</el-button> | |
| 811 | - | |
| 812 | - </div> | |
| 813 | - </template> | |
| 814 | - </el-dialog> | |
| 815 | - <!-- 编辑 --> | |
| 816 | - <el-dialog :visible.sync="bainjiBox" custom-class="tongyong_css" style="padding: 0;" width="60%" center | |
| 817 | - :close-on-click-modal="false" :show-close="false"> | |
| 818 | - <div style="padding:20px;max-height: calc(100vh - 200px); | |
| 837 | + <el-radio-group v-model="zhong.isRequired" style="margin-top:13px;"> | |
| 838 | + <el-radio label="必填">必填</el-radio> | |
| 839 | + <el-radio label="非必填">非必填</el-radio> | |
| 840 | + | |
| 841 | + </el-radio-group> | |
| 842 | + </el-form-item> | |
| 843 | + | |
| 844 | + <el-form-item v-if="zhong.questionType != '文本'" label="选项" prop="optionSettings"> | |
| 845 | + <el-table :data="options" | |
| 846 | + :header-cell-style="{ fontSize: '14px', color: '#0009', fontWeight: 'normal', backgroundColor: '#F2F3F5' }"> | |
| 847 | + <el-table-column prop="index" label="序号" width="180"> | |
| 848 | + <template #default="scope"> | |
| 849 | + {{ scope.$index + 1 }} | |
| 850 | + </template> | |
| 851 | + </el-table-column> | |
| 852 | + <el-table-column prop="name" label="选项名称" width="300"> | |
| 853 | + <template #default="scope"> | |
| 854 | + <el-input v-model="scope.row.name" :readonly="scope.row.readonly" /> | |
| 855 | + </template> | |
| 856 | + </el-table-column> | |
| 857 | + <el-table-column prop="name" label="分数"> | |
| 858 | + <template #default="scope"> | |
| 859 | + <el-input v-model.number="scope.row.num" :min="0" :max="100" | |
| 860 | + :readonly="scope.row.readonly" @input="validateScore(scope.row)" /> | |
| 861 | + </template> | |
| 862 | + </el-table-column> | |
| 863 | + <el-table-column label="" min-width="120"> | |
| 864 | + <template #default="{ $index }"> | |
| 865 | + <span | |
| 866 | + style="cursor: pointer;margin-right: 5px; color: #3F9B6A;" | |
| 867 | + @click="answerMoveUp($index)" v-if="$index != 0">↑</span> | |
| 868 | + <span style="cursor: pointer; color: #3F9B6A;" | |
| 869 | + @click="answerMoveDown($index)" | |
| 870 | + v-if="$index != (options.length - 1)">↓</span> | |
| 871 | + </template> | |
| 872 | + </el-table-column> | |
| 873 | + <el-table-column label="操作"> | |
| 874 | + <template #default="scope"> | |
| 875 | + <div class="tableBtn greens" @click="deleteOption(scope.$index)">删除</div> | |
| 876 | + </template> | |
| 877 | + </el-table-column> | |
| 878 | + </el-table> | |
| 879 | + <el-button style="width:100%;background-color: #3F9B6A;color: #fff" @click="addOption">+ | |
| 880 | + 添加</el-button> | |
| 881 | + </el-form-item> | |
| 882 | + </el-form> | |
| 883 | + </div> | |
| 884 | + <div style="display: flex;justify-content: flex-end;"> | |
| 885 | + <el-button style="background-color: #3F9B6A;color: #fff" @click="Addtiku(1)">确定 | |
| 886 | + </el-button> | |
| 887 | + </div> | |
| 888 | + </div> | |
| 889 | + </el-dialog> | |
| 890 | + <template #footer> | |
| 891 | + <div style="display: flex; justify-content: flex-end; align-items: center;"> | |
| 892 | + <el-button class="buttonHover" | |
| 893 | + style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 894 | + @click="closeFn(1)">返回</el-button> | |
| 895 | + <el-button style="background-color: #3F9B6A;color: #fff" @click="addCheck(2)">确认</el-button> | |
| 896 | + | |
| 897 | + </div> | |
| 898 | + </template> | |
| 899 | + </el-dialog> | |
| 900 | + <!-- 编辑 --> | |
| 901 | + <el-dialog :visible.sync="bainjiBox" custom-class="tongyong_css" style="padding: 0;" width="60%" center | |
| 902 | + :close-on-click-modal="false" :show-close="false"> | |
| 903 | + <div style="padding:20px;max-height: calc(100vh - 300px); | |
| 819 | 904 | overflow-y: auto;"> |
| 820 | - <div style="font-size: 14px;padding-bottom: 20px;color: #000;">编辑问卷</div> | |
| 821 | - <div> | |
| 822 | - <el-tabs v-model="bianjiTabs" @tab-click=""> | |
| 823 | - <el-tab-pane label="基本信息" name="first"> | |
| 824 | - <div style="width: 100%"> | |
| 825 | - <div style="border:1px solid #DCDFE6;font-size:14px;margin-bottom:10px;"> | |
| 826 | - <div | |
| 827 | - style="padding:10px 20px;border-bottom:1px solid #DCDFE6;display:flex;justify-content: space-between;"> | |
| 828 | - <div>基本信息</div> | |
| 829 | - </div> | |
| 830 | - <el-form ref="bianform" :model="secondData" :rules="rules" label-width="155px" style="padding:20px;"> | |
| 831 | - <el-form-item label="问卷标题" prop="title"> | |
| 832 | - <el-input v-model="secondData.title" maxlength="50"></el-input> | |
| 833 | - </el-form-item> | |
| 834 | - <el-form-item label="问卷起止时间"> | |
| 835 | - <el-date-picker style="width: 100%;" v-model="plan_Time" value-format="yyyy-MM-dd" | |
| 836 | - type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" | |
| 837 | - align="right" :picker-options="pickerOptions"> | |
| 838 | - </el-date-picker> | |
| 839 | - </el-form-item> | |
| 840 | - <el-form-item label="发布端口" prop="publishPort"> | |
| 841 | - <el-select v-model="secondData.publishPort" placeholder="请选择"> | |
| 842 | - <el-option label="用户端" value="用户端" /> | |
| 843 | - <el-option label="商家端" value="商家端" /> | |
| 844 | - <el-option label="H5端" value="H5端" /> | |
| 845 | - </el-select> | |
| 846 | - </el-form-item> | |
| 847 | - <el-form-item label="问卷类型" prop="questionnaireType"> | |
| 848 | - <el-select v-model="secondData.questionnaireType" placeholder="请选择"> | |
| 849 | - <el-option label="物业问卷" value="物业问卷" /> | |
| 850 | - <el-option label="招商问卷" value="招商问卷" /> | |
| 851 | - <el-option label="满意度问卷" value="满意度问卷" /> | |
| 852 | - <el-option label="社会调查问卷" value="社会调查问卷" /> | |
| 853 | - | |
| 854 | - </el-select> | |
| 855 | - </el-form-item> | |
| 856 | - <el-form-item label="预计填写时长(分钟)" prop="estimatedTime"> | |
| 857 | - <el-input v-model.number="secondData.estimatedTime" maxlength="1000"></el-input> | |
| 858 | - </el-form-item> | |
| 859 | - | |
| 860 | - <el-form-item label="问卷介绍" prop="remarks" maxlength="255"> | |
| 861 | - <el-input v-model="secondData.remarks"></el-input> | |
| 862 | - </el-form-item> | |
| 863 | - <el-form-item label="填写人" prop="filler"> | |
| 864 | - <el-select v-model="secondData.filler" placeholder="请选择"> | |
| 865 | - <!-- <el-option label="会员" value="会员" /> --> | |
| 866 | - <el-option label="公众" value="公众" /> | |
| 867 | - </el-select> | |
| 868 | - </el-form-item> | |
| 869 | - <el-form-item label="填写条件" prop="fillingConditions"> | |
| 870 | - <!-- <el-select v-model="secondData.fillingConditions" placeholder="请选择"> | |
| 871 | - <el-option label="可重复填写" value="可重复填写" /> | |
| 872 | - | |
| 873 | - </el-select> --> | |
| 874 | - <el-radio-group v-model="secondData.fillingConditions" style="margin-top:13px;"> | |
| 875 | - <el-radio label="可重复填写">可重复填写</el-radio> | |
| 876 | - | |
| 877 | - </el-radio-group> | |
| 878 | - </el-form-item> | |
| 879 | - | |
| 880 | - <el-form-item label="问卷封面" prop="coverImage"> | |
| 881 | - <upimg v-model="secondData.coverImage" :limit="1" :fileSize="1" :isShowTip="false"></upimg> | |
| 882 | - </el-form-item> | |
| 883 | - <el-form-item label="姓名" prop="needName"> | |
| 884 | - <el-radio-group v-model="secondData.needName" style="margin-top:13px;"> | |
| 885 | - <el-radio label="必填">必填</el-radio> | |
| 886 | - <el-radio label="不填">不填</el-radio> | |
| 887 | - </el-radio-group> | |
| 888 | - </el-form-item> | |
| 889 | - <el-form-item label="电话" prop="needPhone"> | |
| 890 | - <el-radio-group v-model="secondData.needPhone" style="margin-top:13px;"> | |
| 891 | - <el-radio label="必填">必填</el-radio> | |
| 892 | - <el-radio label="不填">不填</el-radio> | |
| 893 | - </el-radio-group> | |
| 894 | - </el-form-item> | |
| 895 | - <el-form-item label="性别" prop="needGender"> | |
| 896 | - <el-radio-group v-model="secondData.needGender" style="margin-top:13px;"> | |
| 897 | - <el-radio label="必填">必填</el-radio> | |
| 898 | - <el-radio label="不填">不填</el-radio> | |
| 899 | - </el-radio-group> | |
| 900 | - </el-form-item> | |
| 901 | - | |
| 902 | - <el-form-item label="意见" prop="needOpinion"> | |
| 903 | - <el-radio-group v-model="secondData.needOpinion" style="margin-top:13px;"> | |
| 904 | - <el-radio label="必填">必填</el-radio> | |
| 905 | - <el-radio label="不填">不填</el-radio> | |
| 906 | - </el-radio-group> | |
| 907 | - </el-form-item> | |
| 908 | - </el-form> | |
| 909 | - </div> | |
| 910 | - <div style="border:1px solid #DCDFE6;font-size:14px;margin-bottom:10px;" v-if="secondData.filler=='会员'"> | |
| 911 | - <div | |
| 912 | - style="padding:10px 20px;border-bottom:1px solid #DCDFE6;display:flex;justify-content: space-between;"> | |
| 913 | - <div>参与答卷奖励</div> | |
| 914 | - </div> | |
| 915 | - <el-form ref="form" :model="secondData" label-width="140px" style="padding:20px;"> | |
| 916 | - <el-radio-group v-model="secondData.rewardForParticipation" @change="radioClick"> | |
| 917 | - <el-radio label="不设置奖励" value="不设置奖励">不设置奖励</el-radio> | |
| 918 | - <el-radio label="奖励积分" value="奖励积分">奖励积分</el-radio> | |
| 919 | - <el-radio label="转盘抽奖" value="转盘抽奖">转盘抽奖</el-radio> | |
| 920 | - <el-radio label="优惠券" value="优惠券">优惠券</el-radio> | |
| 921 | - </el-radio-group> | |
| 922 | - </el-form> | |
| 923 | - <div v-if="secondData.rewardForParticipation === '奖励积分'" style="padding: 0 0 20px 20px;"> | |
| 924 | - <div> | |
| 925 | - 奖励 <el-input v-model="jifen" style="width:50px;"></el-input>积分 | |
| 926 | - </div> | |
| 927 | - </div> | |
| 928 | - <div v-if="secondData.rewardForParticipation === '转盘抽奖'" style="padding: 0 0 20px 20px;"> | |
| 929 | - <div> | |
| 930 | - 奖励 <el-input v-model="choujiang" style="width:50px;"></el-input>次 | |
| 931 | - </div> | |
| 932 | - </div> | |
| 933 | - <div v-if="secondData.rewardForParticipation === '优惠券'" style="padding: 0 0 20px 20px;"> | |
| 934 | - <div> | |
| 935 | - <el-select v-model="yhq" placeholder="请选择" style="width:20%"> | |
| 936 | - <el-option :label="item" :value="item" v-for="item in yhqSel" /> | |
| 937 | - </el-select> | |
| 938 | - </div> | |
| 939 | - </div> | |
| 940 | - </div> | |
| 941 | - </div> | |
| 942 | - </el-tab-pane> | |
| 943 | - <el-tab-pane label="问卷内容" name="second"> | |
| 944 | - <div style="width: 100%"> | |
| 945 | - <div style="border:1px solid #DCDFE6;font-size:14px;margin-bottom:10px;"> | |
| 946 | - <div | |
| 947 | - style="padding:10px 20px;border-bottom:1px solid #DCDFE6;display:flex;justify-content: space-between;"> | |
| 948 | - <div>问卷内容</div> | |
| 949 | - <div> | |
| 950 | - <div class="greens tableBtn" @click="tikuAdd = true">新增</div> | |
| 951 | - <div class="greens tableBtn" @click="selTiku">从题库中选择</div> | |
| 952 | - </div> | |
| 953 | - | |
| 954 | - </div> | |
| 955 | - | |
| 956 | - <div style="padding:20px;"> | |
| 957 | - <el-table :data="secondDataTi" | |
| 958 | - :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}" | |
| 959 | - :height="tableHeight" style="overflow-y: auto;"> | |
| 960 | - <el-table-column label="序号" min-width="100"> | |
| 961 | - <template slot-scope="scope"> | |
| 962 | - {{scope.$index + 1}} | |
| 963 | - </template> | |
| 964 | - </el-table-column> | |
| 965 | - <el-table-column label="题目" min-width="150" prop="tikuTitle" show-overflow-tooltip> | |
| 966 | - </el-table-column> | |
| 967 | - <el-table-column label="题型" min-width="150" prop="questionType"> | |
| 968 | - </el-table-column> | |
| 969 | - <el-table-column label="是否必填" prop="isRequired" min-width="150"> | |
| 970 | - </el-table-column> | |
| 971 | - <el-table-column label="操作" min-width="200"> | |
| 972 | - <template slot-scope="scope"> | |
| 973 | - <div class="tableBtn greens" @click="delWenCon('2',scope.$index)">删除</div> | |
| 974 | - </template> | |
| 975 | - </el-table-column> | |
| 976 | - </el-table> | |
| 977 | - </div> | |
| 978 | - </div> | |
| 979 | - </div> | |
| 980 | - </el-tab-pane> | |
| 981 | - | |
| 982 | - </el-tabs> | |
| 983 | - </div> | |
| 984 | - | |
| 985 | - | |
| 986 | - </div> | |
| 987 | - <el-dialog :visible.sync="tikuBox" custom-class="tongyong_css" style="padding: 0;" width="60%" center | |
| 988 | - :close-on-click-modal="false" append-to-body> | |
| 989 | - <div style="padding:20px;"> | |
| 990 | - | |
| 991 | - <div style="padding:20px;"> | |
| 992 | - <div style="display: flex;justify-content: space-between;margin-bottom: 20px;"> | |
| 993 | - <div> | |
| 994 | - 从题库中选择 | |
| 995 | - <el-select v-model="tikuNie" style="width:28%;margin-right: 15px;" @change="tikuchange"> | |
| 996 | - <el-option label="用户端题库" value="用户端题库" /> | |
| 997 | - <el-option label="商户端题库" value="商户端题库" /> | |
| 998 | - <el-option label="公共端题库" value="公共端题库" /> | |
| 999 | - </el-select> | |
| 1000 | - <el-select v-model="danxuan" style="width:28%;margin-right: 15px;" placeholder="请选择题型"> | |
| 1001 | - <el-option label="单选" value="单选" /> | |
| 1002 | - <el-option label="多选" value="多选" /> | |
| 1003 | - <el-option label="文本" value="文本" /> | |
| 1004 | - </el-select> | |
| 1005 | - | |
| 1006 | - </div> | |
| 1007 | - | |
| 1008 | - <div style="width: 68%;"> | |
| 1009 | - <el-input v-model="timuMsg" style="width:50%;margin-right: 15px;"></el-input> | |
| 1010 | - <el-button @click="tikusous" style="background-color: #3F9B6A;color: #fff">查询 | |
| 1011 | - </el-button> | |
| 1012 | - <el-button @click="tikuclose" class="buttonHover" | |
| 1013 | - style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;">重置 | |
| 1014 | - </el-button> | |
| 1015 | - </div> | |
| 1016 | - </div> | |
| 1017 | - <div style="padding:20px;overflow-y: auto;height:495px" v-infinite-scroll="load"> | |
| 1018 | - | |
| 1019 | - <el-table :data="tikuziyuan" | |
| 1020 | - ref="ziyuanData" | |
| 1021 | - :row-key="row=>row.id" | |
| 1022 | - :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}" | |
| 1023 | - @selection-change="handleSelectionChange" tooltip-effect="dark" @toggleRowSelection="hangSelchange"> | |
| 1024 | - <el-table-column type="selection" width="55" :reserve-selection="true"> | |
| 1025 | - </el-table-column> | |
| 1026 | - <el-table-column label="序号" min-width="100"> | |
| 1027 | - <template slot-scope="scope"> | |
| 1028 | - {{scope.$index +1 }} | |
| 1029 | - </template> | |
| 1030 | - </el-table-column> | |
| 1031 | - <el-table-column label="题目" min-width="400" prop="tikuTitle" show-overflow-tooltip> | |
| 1032 | - </el-table-column> | |
| 1033 | - <el-table-column label="题型" min-width="80" prop="questionType"> | |
| 1034 | - </el-table-column> | |
| 1035 | - <el-table-column label="操作" min-width="120"> | |
| 1036 | - <template slot-scope="scope"> | |
| 1037 | - <div class="tableBtn greens" @click="gotimuxiang(scope.row)">详情</div> | |
| 1038 | - </template> | |
| 1039 | - </el-table-column> | |
| 1040 | - </el-table> | |
| 1041 | - </div> | |
| 1042 | - | |
| 1043 | - </div> | |
| 1044 | - <div style="padding-top:20px;display:flex;justify-content: flex-end;"> | |
| 1045 | - <el-button style="background-color: #3F9B6A;color: #fff" @click="tiSelQue(2)">确定</el-button> | |
| 1046 | - </div> | |
| 1047 | - </div> | |
| 1048 | - <el-dialog :visible.sync="timuXiang" custom-class='tongyong_css' style="padding: 0;" width="50%" center | |
| 1049 | - :close-on-click-modal="false" append-to-body> | |
| 1050 | - <div style="padding:20px;"> | |
| 1051 | - <div style="font-size: 14px;padding-bottom: 20px;color: #000;">详情页</div> | |
| 1052 | - <div> | |
| 1053 | - <el-descriptions class="margin-top" :column="1" border :labelStyle="labelStyle" | |
| 1054 | - :contentStyle="contentStyle"> | |
| 1055 | - <el-descriptions-item> | |
| 1056 | - <template slot="label"> | |
| 1057 | - 题目 | |
| 1058 | - </template> | |
| 1059 | - {{timuData.tikuTitle}} | |
| 1060 | - </el-descriptions-item> | |
| 1061 | - <el-descriptions-item> | |
| 1062 | - <template slot="label"> | |
| 1063 | - 题型 | |
| 1064 | - </template> | |
| 1065 | - {{timuData.questionType}} | |
| 1066 | - </el-descriptions-item> | |
| 1067 | - <el-descriptions-item> | |
| 1068 | - <template slot="label"> | |
| 1069 | - 隶属题库 | |
| 1070 | - </template> | |
| 1071 | - {{timuData.questionBank}} | |
| 1072 | - </el-descriptions-item> | |
| 1073 | - </el-descriptions> | |
| 1074 | - <el-descriptions class="margin-top" :column="1" border :labelStyle="labelStyle" | |
| 1075 | - :contentStyle="contentStyle"> | |
| 1076 | - <el-descriptions-item> | |
| 1077 | - <template slot="label"> | |
| 1078 | - 默认是否必填 | |
| 1079 | - </template> | |
| 1080 | - {{timuData.isRequired}} | |
| 1081 | - </el-descriptions-item> | |
| 1082 | - | |
| 1083 | - <el-descriptions-item> | |
| 1084 | - <template slot="label"> | |
| 1085 | - 选项 | |
| 1086 | - </template> | |
| 1087 | - <div v-for="(value, key) in timuData.optionSettings" :key="key"> | |
| 1088 | - {{ key }}:{{ value }} | |
| 1089 | - </div> | |
| 1090 | - </el-descriptions-item> | |
| 1091 | - | |
| 1092 | - </el-descriptions> | |
| 1093 | - </div> | |
| 1094 | - <div style="padding-top:20px;display:flex;justify-content: flex-end;"> | |
| 1095 | - <el-button class="buttonHover" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 1096 | - @click="timuXiang = false">返回</el-button> | |
| 1097 | - </div> | |
| 1098 | - </div> | |
| 1099 | - | |
| 1100 | - </el-dialog> | |
| 1101 | - </el-dialog> | |
| 1102 | - <el-dialog :visible.sync="tikuAdd" custom-class="tongyong_css" style="padding: 0;" width="60%" center | |
| 1103 | - :close-on-click-modal="false" append-to-body @close="quxiao(2)"> | |
| 1104 | - <div style="padding:20px;"> | |
| 1105 | - <div style="font-size: 14px;padding-bottom: 20px;color: #000;"> | |
| 1106 | - 新增题目 | |
| 1107 | - </div> | |
| 1108 | - <div style="padding:20px;"> | |
| 1109 | - <el-form ref="form" label-width="140px"> | |
| 1110 | - <el-form-item label="题目"> | |
| 1111 | - <el-input v-model="zhong.tikuTitle" maxlength="100"></el-input> | |
| 1112 | - </el-form-item> | |
| 1113 | - <el-form-item label="题型"> | |
| 1114 | - <el-select v-model="zhong.questionType" placeholder="请选择"> | |
| 1115 | - <el-option label="单选" value="单选" /> | |
| 1116 | - <el-option label="多选" value="多选" /> | |
| 1117 | - <el-option label="文本" value="文本" /> | |
| 1118 | - </el-select> | |
| 1119 | - </el-form-item> | |
| 1120 | - <el-form-item label="隶属题库"> | |
| 1121 | - <el-select v-model="zhong.questionBank" placeholder="请选择"> | |
| 1122 | - <el-option label="用户端题库" value="用户端题库" /> | |
| 1123 | - <el-option label="商户端题库" value="商户端题库" /> | |
| 1124 | - <el-option label="公共端题库" value="公共端题库" /> | |
| 1125 | - </el-select> | |
| 1126 | - </el-form-item> | |
| 1127 | - <el-form-item label="是否必填"> | |
| 1128 | - <!-- <el-select v-model="zhong.isRequired" placeholder="请选择"> | |
| 1129 | - <el-option label="必填" value="必填" /> | |
| 1130 | - <el-option label="非必填" value="非必填" /> | |
| 1131 | - </el-select> --> | |
| 1132 | - <el-radio-group v-model="zhong.isRequired" style="margin-top:13px;"> | |
| 1133 | - <el-radio label="必填">必填</el-radio> | |
| 1134 | - <el-radio label="非必填">非必填</el-radio> | |
| 1135 | - </el-radio-group> | |
| 1136 | - </el-form-item> | |
| 1137 | - <el-form-item label="选项" v-if="zhong.questionType !='文本'" prop="optionSettings"> | |
| 1138 | - <el-table :data="options" | |
| 1139 | - :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}"> | |
| 1140 | - <el-table-column prop="index" label="序号" width="180"> | |
| 1141 | - <template #default="scope"> | |
| 1142 | - {{scope.$index + 1}} | |
| 1143 | - </template> | |
| 1144 | - </el-table-column> | |
| 1145 | - <el-table-column prop="name" label="选项名称" width="300"> | |
| 1146 | - <template #default="scope"> | |
| 1147 | - <el-input v-model="scope.row.name" :readonly="scope.row.readonly" maxlength="50"></el-input> | |
| 1148 | - </template> | |
| 1149 | - </el-table-column> | |
| 1150 | - <el-table-column prop="name" label="分数"> | |
| 1151 | - <template #default="scope"> | |
| 1152 | - <el-input v-model.number="scope.row.num" :min="0" :max="100" @input="validateScore(scope.row)" | |
| 1153 | - :readonly="scope.row.readonly"></el-input> | |
| 1154 | - </template> | |
| 1155 | - </el-table-column> | |
| 1156 | - <el-table-column label="操作"> | |
| 1157 | - <template #default="scope"> | |
| 1158 | - <div class="tableBtn greens" @click="deleteOption(scope.$index)">删除</div> | |
| 1159 | - </template> | |
| 1160 | - </el-table-column> | |
| 1161 | - </el-table> | |
| 1162 | - <el-button @click="addOption" style="width:100%;background-color: #3F9B6A;color: #fff">+ 添加</el-button> | |
| 1163 | - </el-form-item> | |
| 1164 | - </el-form> | |
| 1165 | - </div> | |
| 1166 | - <div style="display: flex;justify-content: flex-end;"> | |
| 1167 | - <el-button @click="Addtiku(2)" style="background-color: #3F9B6A;color: #fff">确定 | |
| 1168 | - </el-button> | |
| 1169 | - </div> | |
| 1170 | - </div> | |
| 1171 | - </el-dialog> | |
| 1172 | - <template #footer> | |
| 1173 | - <div style="display: flex; justify-content: flex-end; align-items: center;"> | |
| 1174 | - <el-button class="buttonHover" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 1175 | - @click="closeFn(2)">返回</el-button> | |
| 1176 | - <el-button @click="bianCheck" style="background-color: #3F9B6A;color: #fff">确认</el-button> | |
| 1177 | - </div> | |
| 1178 | - </template> | |
| 1179 | - </el-dialog> | |
| 1180 | - | |
| 1181 | - | |
| 1182 | - <!-- 禁用 --> | |
| 1183 | - | |
| 1184 | - | |
| 1185 | - <el-dialog :visible.sync="downShow" custom-class="tongyong_css" style="padding: 0;" width="50%" center | |
| 1186 | - :close-on-click-modal="false" append-to-body> | |
| 1187 | - <div style="padding:20px;"> | |
| 1188 | - <div style="font-size: 14px;padding-bottom: 20px;color: #000;">禁用</div> | |
| 1189 | - <div style="padding:30px 0px 0px"> | |
| 1190 | - <el-form ref="opinionForm" :model="opinionDel" label-width="120px" style="position: relative"> | |
| 1191 | - <el-form-item label="禁用原因" class="grid-content bg-purple" prop="name"> | |
| 1192 | - <el-input type="textarea" v-model="opinionDel.opinionDelisting" placeholder="请输入禁用原因" /> | |
| 1193 | - </el-form-item> | |
| 1194 | - | |
| 1195 | - </el-form> | |
| 1196 | - </div> | |
| 1197 | - <div style="display:flex;justify-content: flex-end;padding:20px;"> | |
| 1198 | - <el-button @click="downShow=false" style="background-color: #3F9B6A;color: #fff;">取消</el-button> | |
| 1199 | - <el-button @click="downShowCheck" style="background-color: #3F9B6A;color: #fff;">确定</el-button> | |
| 1200 | - </div> | |
| 1201 | - </div> | |
| 1202 | - </el-dialog> | |
| 1203 | - <el-dialog :visible.sync="yulanShow" custom-class="tongyong_css" style="padding: 0;" width="43%" center | |
| 1204 | - :close-on-click-modal="false" append-to-body> | |
| 1205 | - <div style="padding:20px;"> | |
| 1206 | - <div style="font-size: 14px;padding-bottom: 20px;color: #000;">预览</div> | |
| 1207 | - <div style="margin:auto;width:50%;height:600px;overflow-y: auto;overflow-x: hidden;"> | |
| 1208 | - <div style="padding:20px;background-color: #f6f6f6;"> | |
| 1209 | - <div> | |
| 1210 | - <h2 style="color: #000;">{{secondData.title}}</h2> | |
| 1211 | - | |
| 1212 | - <div class="" style="padding: 10px 0;"> | |
| 1213 | - <img :src="secondData.coverImage" style="width:100%;border-radius: 10px;"></img> | |
| 1214 | - </div> | |
| 1215 | - </div> | |
| 1216 | - <div style="padding: 15px;background-color: #fff;border-radius: 10px;"> | |
| 1217 | - <div> | |
| 1218 | - {{secondData.remarks}} | |
| 1219 | - <div> | |
| 905 | + <div style="font-size: 14px;padding-bottom: 20px;color: #000;">编辑问卷</div> | |
| 906 | + <div> | |
| 907 | + <el-tabs v-model="bianjiTabs" @tab-click=""> | |
| 908 | + <el-tab-pane label="基本信息" name="first"> | |
| 909 | + <div style="width: 100%"> | |
| 910 | + <div style="border:1px solid #DCDFE6;font-size:14px;margin-bottom:10px;"> | |
| 911 | + <div | |
| 912 | + style="padding:10px 20px;border-bottom:1px solid #DCDFE6;display:flex;justify-content: space-between;"> | |
| 913 | + <div>基本信息</div> | |
| 914 | + </div> | |
| 915 | + <el-form ref="bianform" :model="secondData" :rules="rules" label-width="155px" | |
| 916 | + style="padding:20px;"> | |
| 917 | + <el-form-item label="问卷标题" prop="title"> | |
| 918 | + <el-input v-model="secondData.title" maxlength="50" /> | |
| 919 | + </el-form-item> | |
| 920 | + <el-form-item label="问卷起止时间"> | |
| 921 | + <el-date-picker v-model="plan_Time" style="width: 100%;" | |
| 922 | + value-format="yyyy-MM-dd" type="daterange" range-separator="至" | |
| 923 | + start-placeholder="开始日期" end-placeholder="结束日期" align="right" | |
| 924 | + :picker-options="pickerOptions" /> | |
| 925 | + </el-form-item> | |
| 926 | + <el-form-item label="发布端口" prop="publishPort"> | |
| 927 | + <el-select v-model="secondData.publishPort" placeholder="请选择"> | |
| 928 | + <el-option label="用户端" value="用户端" /> | |
| 929 | + <el-option label="商家端" value="商家端" /> | |
| 930 | + <el-option label="H5端" value="H5端" /> | |
| 931 | + </el-select> | |
| 932 | + </el-form-item> | |
| 933 | + <el-form-item label="问卷类型" prop="questionnaireType"> | |
| 934 | + <el-select v-model="secondData.questionnaireType" placeholder="请选择"> | |
| 935 | + <el-option label="物业问卷" value="物业问卷" /> | |
| 936 | + <el-option label="招商问卷" value="招商问卷" /> | |
| 937 | + <el-option label="满意度问卷" value="满意度问卷" /> | |
| 938 | + <el-option label="社会调查问卷" value="社会调查问卷" /> | |
| 939 | + | |
| 940 | + </el-select> | |
| 941 | + </el-form-item> | |
| 942 | + <el-form-item label="预计填写时长(分钟)" prop="estimatedTime"> | |
| 943 | + <el-input v-model.number="secondData.estimatedTime" maxlength="1000" /> | |
| 944 | + </el-form-item> | |
| 945 | + | |
| 946 | + <el-form-item label="问卷介绍" prop="remarks"> | |
| 947 | + <!-- <el-input v-model="secondData.remarks"></el-input> --> | |
| 948 | + <wang-editor ref="editor" v-model="secondData.remarks" :height="200" /> | |
| 949 | + </el-form-item> | |
| 950 | + <el-form-item label="填写人" prop="filler"> | |
| 951 | + <el-select v-model="secondData.filler" placeholder="请选择"> | |
| 952 | + <!-- <el-option label="会员" value="会员" /> --> | |
| 953 | + <el-option label="公众" value="公众" /> | |
| 954 | + </el-select> | |
| 955 | + </el-form-item> | |
| 956 | + <el-form-item label="填写条件" prop="fillingConditions"> | |
| 957 | + <el-radio-group v-model="secondData.fillingConditions" | |
| 958 | + style="margin-top:13px;"> | |
| 959 | + <el-radio label="可重复填写">可重复填写</el-radio> | |
| 960 | + <el-radio label="不可重复填写">不可重复填写</el-radio> | |
| 961 | + </el-radio-group> | |
| 962 | + </el-form-item> | |
| 963 | + | |
| 964 | + <el-form-item label="问卷封面" prop="coverImage"> | |
| 965 | + <upimg :value="secondData.coverImage" :limit="1" :file-size="1" | |
| 966 | + :is-show-tip="false" @input="e => input(e, '2')" /> | |
| 967 | + </el-form-item> | |
| 968 | + <el-form-item label="姓名" prop="needName"> | |
| 969 | + <el-radio-group v-model="secondData.needName" style="margin-top:13px;"> | |
| 970 | + <el-radio label="必填">必填</el-radio> | |
| 971 | + <el-radio label="不填">不填</el-radio> | |
| 972 | + </el-radio-group> | |
| 973 | + </el-form-item> | |
| 974 | + <el-form-item label="电话" prop="needPhone"> | |
| 975 | + <el-radio-group v-model="secondData.needPhone" style="margin-top:13px;"> | |
| 976 | + <el-radio label="必填">必填</el-radio> | |
| 977 | + <el-radio label="不填">不填</el-radio> | |
| 978 | + </el-radio-group> | |
| 979 | + </el-form-item> | |
| 980 | + <el-form-item label="性别" prop="needGender"> | |
| 981 | + <el-radio-group v-model="secondData.needGender" style="margin-top:13px;"> | |
| 982 | + <el-radio label="必填">必填</el-radio> | |
| 983 | + <el-radio label="不填">不填</el-radio> | |
| 984 | + </el-radio-group> | |
| 985 | + </el-form-item> | |
| 986 | + | |
| 987 | + <el-form-item label="意见" prop="needOpinion"> | |
| 988 | + <el-radio-group v-model="secondData.needOpinion" style="margin-top:13px;"> | |
| 989 | + <el-radio label="必填">必填</el-radio> | |
| 990 | + <el-radio label="不填">不填</el-radio> | |
| 991 | + </el-radio-group> | |
| 992 | + </el-form-item> | |
| 993 | + </el-form> | |
| 994 | + </div> | |
| 995 | + <div style="border:1px solid #DCDFE6;font-size:14px;margin-bottom:10px;"> | |
| 996 | + <div | |
| 997 | + style="padding:10px 20px;border-bottom:1px solid #DCDFE6;display:flex;justify-content: space-between;"> | |
| 998 | + <div>参与答卷奖励</div> | |
| 999 | + </div> | |
| 1000 | + <el-form ref="form" :model="secondData" label-width="140px" style="padding:20px;"> | |
| 1001 | + <el-radio-group v-model="radioreward" @change="radioClick"> | |
| 1002 | + <el-radio label="不设置奖励" value="不设置奖励">不设置奖励</el-radio> | |
| 1003 | + <!-- <el-radio label="奖励积分" value="奖励积分">奖励积分</el-radio> --> | |
| 1004 | + <el-radio label="转盘抽奖" value="转盘抽奖">转盘抽奖</el-radio> | |
| 1005 | + <!-- <el-radio label="优惠券" value="优惠券">优惠券</el-radio> --> | |
| 1006 | + </el-radio-group> | |
| 1007 | + <div v-if="radioreward === '转盘抽奖'" style="padding: 0 0 20px 20px;"> | |
| 1008 | + <div v-if="jiangli.id && jiangli.id!=''" style="padding: 10px 0;"> | |
| 1009 | + <span>{{jiangli.actName}}</span> | |
| 1010 | + <span style="padding: 0 20px;color: #3F9B6A;cursor: pointer;" | |
| 1011 | + @click="actGo(1)">查看</span> | |
| 1012 | + <span style="color: #3F9B6A;cursor: pointer;" | |
| 1013 | + @click="actGo(2)">编辑</span> | |
| 1014 | + </div> | |
| 1015 | + <div v-else> | |
| 1016 | + <el-button style="color: #fff;background-color: #3F9B6A;" | |
| 1017 | + @click="actGo(0)">创建活动</el-button> | |
| 1018 | + </div> | |
| 1019 | + | |
| 1020 | + | |
| 1021 | + </div> | |
| 1022 | + </el-form> | |
| 1023 | + </div> | |
| 1024 | + </div> | |
| 1025 | + </el-tab-pane> | |
| 1026 | + <el-tab-pane label="问卷内容" name="second"> | |
| 1027 | + <div style="width: 100%"> | |
| 1028 | + <div style="border:1px solid #DCDFE6;font-size:14px;margin-bottom:10px;"> | |
| 1029 | + <div | |
| 1030 | + style="padding:10px 20px;border-bottom:1px solid #DCDFE6;display:flex;justify-content: space-between;"> | |
| 1031 | + <div>问卷内容</div> | |
| 1032 | + <div> | |
| 1033 | + <div class="greens tableBtn" @click="tikuAdd = true">新增</div> | |
| 1034 | + <div class="greens tableBtn" @click="selTiku">从题库中选择</div> | |
| 1035 | + </div> | |
| 1036 | + | |
| 1037 | + </div> | |
| 1038 | + | |
| 1039 | + <div style="padding:20px;"> | |
| 1040 | + <el-table :data="secondDataTi" | |
| 1041 | + :header-cell-style="{ fontSize: '14px', color: '#0009', fontWeight: 'normal', backgroundColor: '#F2F3F5' }" | |
| 1042 | + class="xddTable"> | |
| 1043 | + <el-table-column label="序号" min-width="100"> | |
| 1044 | + <template slot-scope="scope"> | |
| 1045 | + {{ scope.$index + 1 }} | |
| 1046 | + </template> | |
| 1047 | + </el-table-column> | |
| 1048 | + <el-table-column label="题目" min-width="150" prop="tikuTitle" | |
| 1049 | + show-overflow-tooltip /> | |
| 1050 | + <el-table-column label="题型" min-width="80" prop="questionType" /> | |
| 1051 | + <el-table-column label="是否必填" prop="isRequired" min-width="120" /> | |
| 1052 | + <el-table-column label="" min-width="120"> | |
| 1053 | + <template #default="scope"> | |
| 1054 | + <span style="cursor: pointer;margin-right: 5px; color: #3F9B6A;" | |
| 1055 | + @click="moveUp2(scope.$index)" v-if="scope.$index != 0">↑</span> | |
| 1056 | + <span style="cursor: pointer; color: #3F9B6A;" | |
| 1057 | + @click="moveDown2(scope.$index)" | |
| 1058 | + v-if="scope.$index != (secondDataTi.length - 1)">↓</span> | |
| 1059 | + </template> | |
| 1060 | + </el-table-column> | |
| 1061 | + <el-table-column label="操作" min-width="80"> | |
| 1062 | + <template slot-scope="scope"> | |
| 1063 | + <div class="tableBtn greens" @click="delWenCon('2', scope.$index)"> | |
| 1064 | + 删除</div> | |
| 1065 | + </template> | |
| 1066 | + </el-table-column> | |
| 1067 | + </el-table> | |
| 1068 | + </div> | |
| 1069 | + </div> | |
| 1070 | + </div> | |
| 1071 | + </el-tab-pane> | |
| 1072 | + | |
| 1073 | + </el-tabs> | |
| 1074 | + </div> | |
| 1075 | + | |
| 1076 | + </div> | |
| 1077 | + <el-dialog :visible.sync="tikuBox" custom-class="tongyong_css" style="padding: 0;" width="60%" center | |
| 1078 | + :close-on-click-modal="false" append-to-body @close="tikuquxiao(2)"> | |
| 1079 | + <div style="padding:20px;"> | |
| 1080 | + | |
| 1081 | + <div style="padding:20px;"> | |
| 1082 | + <div style="display: flex;justify-content: space-between;margin-bottom: 20px;"> | |
| 1083 | + <div> | |
| 1084 | + 从题库中选择 | |
| 1085 | + <el-select v-model="tikuNie" style="width:28%;margin-right: 15px;" @change="tikuchange"> | |
| 1086 | + <el-option label="用户端题库" value="用户端题库" /> | |
| 1087 | + <el-option label="商户端题库" value="商户端题库" /> | |
| 1088 | + <el-option label="公共端题库" value="公共端题库" /> | |
| 1089 | + </el-select> | |
| 1090 | + <el-select v-model="danxuan" style="width:28%;margin-right: 15px;" placeholder="请选择题型"> | |
| 1091 | + <el-option label="单选" value="单选" /> | |
| 1092 | + <el-option label="多选" value="多选" /> | |
| 1093 | + <el-option label="文本" value="文本" /> | |
| 1094 | + </el-select> | |
| 1095 | + | |
| 1096 | + </div> | |
| 1097 | + | |
| 1098 | + <div style="width: 68%;"> | |
| 1099 | + <el-input v-model="timuMsg" style="width:50%;margin-right: 15px;" /> | |
| 1100 | + <el-button style="background-color: #3F9B6A;color: #fff" @click="tikusous">查询 | |
| 1101 | + </el-button> | |
| 1102 | + <el-button class="buttonHover" | |
| 1103 | + style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 1104 | + @click="tikuclose">重置 | |
| 1105 | + </el-button> | |
| 1106 | + </div> | |
| 1107 | + </div> | |
| 1108 | + <div style="padding:20px;overflow-y: auto;height:495px"> | |
| 1109 | + | |
| 1110 | + <el-table ref="ziyuanData" | |
| 1111 | + :data="tikuziyuan.slice((currentPageListTi - 1) * pageSizeTi, currentPageListTi * pageSizeTi)" | |
| 1112 | + :row-key="row => row.id" | |
| 1113 | + :header-cell-style="{ fontSize: '14px', color: '#0009', fontWeight: 'normal', backgroundColor: '#F2F3F5' }" | |
| 1114 | + tooltip-effect="dark" @selection-change="handleSelectionChange" | |
| 1115 | + @toggleRowSelection="hangSelchange"> | |
| 1116 | + <el-table-column type="selection" width="55" :reserve-selection="true" /> | |
| 1117 | + <el-table-column label="序号" min-width="100"> | |
| 1118 | + <template slot-scope="scope"> | |
| 1119 | + {{ scope.$index + 1 }} | |
| 1120 | + </template> | |
| 1121 | + </el-table-column> | |
| 1122 | + <el-table-column label="题目" min-width="400" prop="tikuTitle" show-overflow-tooltip /> | |
| 1123 | + <el-table-column label="题型" min-width="80" prop="questionType" /> | |
| 1124 | + <el-table-column label="操作" min-width="120"> | |
| 1125 | + <template slot-scope="scope"> | |
| 1126 | + <div class="tableBtn greens" @click="gotimuxiang(scope.row)">详情</div> | |
| 1127 | + </template> | |
| 1128 | + </el-table-column> | |
| 1129 | + </el-table> | |
| 1130 | + <div style="display: flex;justify-content: space-between;margin-top: 10px;"> | |
| 1131 | + <div style="font-size: 14px;">共 <span style="color: #3F9B6A;">{{ totalTi }}</span> 条 | |
| 1132 | + </div> | |
| 1133 | + <el-pagination :current-page="currentPageListTi" :page-sizes="[10, 20, 50, 100]" | |
| 1134 | + :page-size="pageSizeTi" background small layout="prev, pager, next" :total="totalTi" | |
| 1135 | + @size-change="handleSizeChangeTi" @current-change="handleCurrentChangeTi" /> | |
| 1136 | + </div> | |
| 1137 | + </div> | |
| 1138 | + | |
| 1139 | + </div> | |
| 1140 | + <div style="padding-top:20px;display:flex;justify-content: flex-end;"> | |
| 1141 | + <el-button style="background-color: #3F9B6A;color: #fff" @click="tiSelQue(2)">确定</el-button> | |
| 1142 | + </div> | |
| 1143 | + </div> | |
| 1144 | + <el-dialog :visible.sync="timuXiang" custom-class="tongyong_css" style="padding: 0;" width="50%" center | |
| 1145 | + :close-on-click-modal="false" append-to-body> | |
| 1146 | + <div style="padding:20px;"> | |
| 1147 | + <div style="font-size: 14px;padding-bottom: 20px;color: #000;">详情页</div> | |
| 1148 | + <div> | |
| 1149 | + <el-descriptions class="margin-top" :column="1" border :label-style="labelStyle" | |
| 1150 | + :content-style="contentStyle"> | |
| 1151 | + <el-descriptions-item> | |
| 1152 | + <template slot="label"> | |
| 1153 | + 题目 | |
| 1154 | + </template> | |
| 1155 | + {{ timuData.tikuTitle }} | |
| 1156 | + </el-descriptions-item> | |
| 1157 | + <el-descriptions-item> | |
| 1158 | + <template slot="label"> | |
| 1159 | + 题型 | |
| 1160 | + </template> | |
| 1161 | + {{ timuData.questionType }} | |
| 1162 | + </el-descriptions-item> | |
| 1163 | + <el-descriptions-item> | |
| 1164 | + <template slot="label"> | |
| 1165 | + 隶属题库 | |
| 1166 | + </template> | |
| 1167 | + {{ timuData.questionBank }} | |
| 1168 | + </el-descriptions-item> | |
| 1169 | + </el-descriptions> | |
| 1170 | + <el-descriptions class="margin-top" :column="1" border :label-style="labelStyle" | |
| 1171 | + :content-style="contentStyle"> | |
| 1172 | + <el-descriptions-item> | |
| 1173 | + <template slot="label"> | |
| 1174 | + 默认是否必填 | |
| 1175 | + </template> | |
| 1176 | + {{ timuData.isRequired }} | |
| 1177 | + </el-descriptions-item> | |
| 1178 | + | |
| 1179 | + <el-descriptions-item> | |
| 1180 | + <template slot="label"> | |
| 1181 | + 选项 | |
| 1182 | + </template> | |
| 1183 | + <div v-for="(value, key) in timuData.optionSettings" :key="key"> | |
| 1184 | + {{ key }}:{{ value }} | |
| 1185 | + </div> | |
| 1186 | + </el-descriptions-item> | |
| 1187 | + | |
| 1188 | + </el-descriptions> | |
| 1189 | + </div> | |
| 1190 | + <div style="padding-top:20px;display:flex;justify-content: flex-end;"> | |
| 1191 | + <el-button class="buttonHover" | |
| 1192 | + style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 1193 | + @click="timuXiang = false">返回</el-button> | |
| 1194 | + </div> | |
| 1195 | + </div> | |
| 1196 | + | |
| 1197 | + </el-dialog> | |
| 1198 | + </el-dialog> | |
| 1199 | + <el-dialog :visible.sync="tikuAdd" custom-class="tongyong_css" style="padding: 0;" width="60%" center | |
| 1200 | + :close-on-click-modal="false" append-to-body @close="quxiao(2)"> | |
| 1201 | + <div style="padding:20px;"> | |
| 1202 | + <div style="font-size: 14px;padding-bottom: 20px;color: #000;"> | |
| 1203 | + 新增题目 | |
| 1204 | + </div> | |
| 1205 | + <div style="padding:20px;"> | |
| 1206 | + <el-form ref="tixform" :model="zhong" :rules="tixrules" label-width="140px"> | |
| 1207 | + <el-form-item label="题目"> | |
| 1208 | + <el-input v-model="zhong.tikuTitle" maxlength="100" /> | |
| 1209 | + </el-form-item> | |
| 1210 | + <el-form-item label="题型"> | |
| 1211 | + <el-select v-model="zhong.questionType" placeholder="请选择"> | |
| 1212 | + <el-option label="单选" value="单选" /> | |
| 1213 | + <el-option label="多选" value="多选" /> | |
| 1214 | + <el-option label="文本" value="文本" /> | |
| 1215 | + </el-select> | |
| 1216 | + </el-form-item> | |
| 1217 | + <el-form-item v-if="zhong.questionType == '多选'" label="最多可选" prop="maxChoose"> | |
| 1218 | + <el-input-number v-model="zhong.maxChoose" :min="0" :max="options.length" /> 0为不限制填写数量 | |
| 1219 | + </el-form-item> | |
| 1220 | + <el-form-item label="隶属题库"> | |
| 1221 | + <el-select v-model="zhong.questionBank" placeholder="请选择"> | |
| 1222 | + <el-option label="用户端题库" value="用户端题库" /> | |
| 1223 | + <el-option label="商户端题库" value="商户端题库" /> | |
| 1224 | + <el-option label="公共端题库" value="公共端题库" /> | |
| 1225 | + </el-select> | |
| 1226 | + </el-form-item> | |
| 1227 | + <el-form-item label="布局类型"> | |
| 1228 | + <el-radio-group v-model="zhong.layoutType" style="margin-top:13px;"> | |
| 1229 | + <el-radio :label="1">垂直布局</el-radio> | |
| 1230 | + <el-radio :label="2">自由布局</el-radio> | |
| 1231 | + </el-radio-group> | |
| 1232 | + </el-form-item> | |
| 1233 | + <el-form-item label="是否必填"> | |
| 1234 | + <el-radio-group v-model="zhong.isRequired" style="margin-top:13px;"> | |
| 1235 | + <el-radio label="必填">必填</el-radio> | |
| 1236 | + <el-radio label="非必填">非必填</el-radio> | |
| 1237 | + </el-radio-group> | |
| 1238 | + </el-form-item> | |
| 1239 | + <el-form-item v-if="zhong.questionType != '文本'" label="选项" prop="optionSettings"> | |
| 1240 | + <el-table :data="options" | |
| 1241 | + :header-cell-style="{ fontSize: '14px', color: '#0009', fontWeight: 'normal', backgroundColor: '#F2F3F5' }"> | |
| 1242 | + <el-table-column prop="index" label="序号" width="180"> | |
| 1243 | + <template #default="scope"> | |
| 1244 | + {{ scope.$index + 1 }} | |
| 1245 | + </template> | |
| 1246 | + </el-table-column> | |
| 1247 | + <el-table-column prop="name" label="选项名称" width="300"> | |
| 1248 | + <template #default="scope"> | |
| 1249 | + <el-input v-model="scope.row.name" :readonly="scope.row.readonly" | |
| 1250 | + maxlength="50" /> | |
| 1251 | + </template> | |
| 1252 | + </el-table-column> | |
| 1253 | + <el-table-column prop="name" label="分数"> | |
| 1254 | + <template #default="scope"> | |
| 1255 | + <el-input v-model.number="scope.row.num" :min="0" :max="100" | |
| 1256 | + :readonly="scope.row.readonly" @input="validateScore(scope.row)" /> | |
| 1257 | + </template> | |
| 1258 | + </el-table-column> | |
| 1259 | + <el-table-column label="" min-width="120"> | |
| 1260 | + <template #default="{ $index }"> | |
| 1261 | + <span style="cursor: pointer;margin-right: 5px; color: #3F9B6A;" | |
| 1262 | + @click="answerMoveUp($index)" v-if="$index != 0">↑</span> | |
| 1263 | + <span style="cursor: pointer; color: #3F9B6A;" | |
| 1264 | + @click="answerMoveDown($index)" | |
| 1265 | + v-if="$index != (options.length - 1)">↓</span> | |
| 1266 | + </template> | |
| 1267 | + </el-table-column> | |
| 1268 | + <el-table-column label="操作"> | |
| 1269 | + <template #default="scope"> | |
| 1270 | + <div class="tableBtn greens" @click="deleteOption(scope.$index)">删除</div> | |
| 1271 | + </template> | |
| 1272 | + </el-table-column> | |
| 1273 | + </el-table> | |
| 1274 | + <el-button style="width:100%;background-color: #3F9B6A;color: #fff" @click="addOption">+ | |
| 1275 | + 添加</el-button> | |
| 1276 | + </el-form-item> | |
| 1277 | + </el-form> | |
| 1278 | + </div> | |
| 1279 | + <div style="display: flex;justify-content: flex-end;"> | |
| 1280 | + <el-button style="background-color: #3F9B6A;color: #fff" @click="Addtiku(2)">确定 | |
| 1281 | + </el-button> | |
| 1282 | + </div> | |
| 1283 | + </div> | |
| 1284 | + </el-dialog> | |
| 1285 | + <template #footer> | |
| 1286 | + <div style="display: flex; justify-content: flex-end; align-items: center;"> | |
| 1287 | + <el-button class="buttonHover" | |
| 1288 | + style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 1289 | + @click="closeFn(2)">返回</el-button> | |
| 1290 | + <el-button style="background-color: #3F9B6A;color: #fff" @click="bianCheck">确认</el-button> | |
| 1291 | + </div> | |
| 1292 | + </template> | |
| 1293 | + </el-dialog> | |
| 1294 | + | |
| 1295 | + <!-- 禁用 --> | |
| 1296 | + | |
| 1297 | + <el-dialog :visible.sync="downShow" custom-class="tongyong_css" style="padding: 0;" width="50%" center | |
| 1298 | + :close-on-click-modal="false" append-to-body> | |
| 1299 | + <div style="padding:20px;"> | |
| 1300 | + <div style="font-size: 14px;padding-bottom: 20px;color: #000;">禁用</div> | |
| 1301 | + <div style="padding:30px 0px 0px"> | |
| 1302 | + <el-form ref="opinionForm" :model="opinionDel" :rules="pinForm" label-width="120px" | |
| 1303 | + style="position: relative"> | |
| 1304 | + <el-form-item label="禁用原因" class="grid-content bg-purple" prop="name"> | |
| 1305 | + <el-input v-model="opinionDel.opinionDelisting" type="textarea" placeholder="请输入禁用原因" /> | |
| 1306 | + </el-form-item> | |
| 1307 | + | |
| 1308 | + </el-form> | |
| 1309 | + </div> | |
| 1310 | + <div style="display:flex;justify-content: flex-end;padding:20px;"> | |
| 1311 | + <el-button style="background-color: #3F9B6A;color: #fff;" @click="downShow = false">取消</el-button> | |
| 1312 | + <el-button style="background-color: #3F9B6A;color: #fff;" @click="downShowCheck">确定</el-button> | |
| 1313 | + </div> | |
| 1314 | + </div> | |
| 1315 | + </el-dialog> | |
| 1316 | + <el-dialog :visible.sync="yulanShow" custom-class="tongyong_css" style="padding: 0;" width="43%" center | |
| 1317 | + :close-on-click-modal="false" append-to-body> | |
| 1318 | + <div style="padding:20px;"> | |
| 1319 | + <div style="font-size: 14px;padding-bottom: 20px;color: #000;">预览</div> | |
| 1320 | + <div style="margin:auto;width:50%;height:600px;overflow-y: auto;overflow-x: hidden;"> | |
| 1321 | + <div style="padding:20px;background-color: #f6f6f6;"> | |
| 1322 | + <div> | |
| 1323 | + <h2 style="color: #000;text-align:center">{{ secondData.title }}</h2> | |
| 1324 | + | |
| 1325 | + <div class="" style="padding: 10px 0;"> | |
| 1326 | + <img :src="this.$hostUrl + secondData.coverImage" | |
| 1327 | + style="width:100%;border-radius: 10px;"></img> | |
| 1328 | + </div> | |
| 1329 | + </div> | |
| 1330 | + <div style="padding: 15px;background-color: #fff;border-radius: 10px;"> | |
| 1331 | + <div v-html="secondData.remarks"> | |
| 1332 | + | |
| 1333 | + <!-- <div> | |
| 1220 | 1334 | <div style="display:flex;padding:10px 0;justify-content: space-between;"> |
| 1221 | 1335 | <div style="display:flex;"> |
| 1222 | 1336 | |
| ... | ... | @@ -1226,44 +1340,59 @@ |
| 1226 | 1340 | {{secondData.createTime}} |
| 1227 | 1341 | </div> |
| 1228 | 1342 | </div> |
| 1229 | - </div> | |
| 1230 | - </div> | |
| 1231 | - </div> | |
| 1232 | - | |
| 1233 | - <div class="question" v-for="(item,index) in secondData.question"> | |
| 1234 | - <p class="question-title"> | |
| 1235 | - <span v-if="item.required == '必填'" style="color: red;">*</span> | |
| 1236 | - {{index}}.<span style="">({{item.type}})</span> | |
| 1237 | - {{item.title}} | |
| 1238 | - </p> | |
| 1239 | - <div> | |
| 1240 | - | |
| 1241 | - <el-radio-group v-for="(val, idx) in item.options" v-if="item.type =='单选'" :key="idx" | |
| 1242 | - style="display: content;flex-direction: column;width:100%;margin:0 0 4px 0"> | |
| 1243 | - <el-radio disabled> | |
| 1244 | - <snap style=" white-space: normal !important; | |
| 1343 | + </div> --> | |
| 1344 | + </div> | |
| 1345 | + </div> | |
| 1346 | + <div v-for="(item, index) in secondData.question" class="question"> | |
| 1347 | + <p class="question-title"> | |
| 1348 | + <span v-if="item.required == '必填'" style="color: red;">*</span> | |
| 1349 | + {{ index }}.<span style="">({{ item.type }})</span> | |
| 1350 | + {{ item.title }} | |
| 1351 | + </p> | |
| 1352 | + <div> | |
| 1353 | + | |
| 1354 | + | |
| 1355 | + <el-radio-group v-for="(val, idx) in item.options" | |
| 1356 | + v-if="item.type == '单选' && item.layoutType != 2" :key="idx" | |
| 1357 | + style="display: content;flex-direction: column;width:100%;margin:0 0 4px 0"> | |
| 1358 | + <el-radio disabled> | |
| 1359 | + <snap style=" white-space: normal !important; | |
| 1245 | 1360 | word-break: break-all !important;"> |
| 1246 | - {{val.answer}} | |
| 1247 | - </snap> | |
| 1248 | - </el-radio> | |
| 1249 | - | |
| 1250 | - </el-radio-group> | |
| 1251 | - <el-checkbox-group v-for="(val, idx) in item.options" v-if="item.type =='多选'" :key="idx" | |
| 1252 | - style="display: content;flex-direction: column;width:100%;margin:0 0 4px 0"> | |
| 1253 | - <el-checkbox disabled> | |
| 1254 | - <snap style=" white-space: normal !important; | |
| 1361 | + {{ val.answer }} | |
| 1362 | + </snap> | |
| 1363 | + </el-radio> | |
| 1364 | + | |
| 1365 | + </el-radio-group> | |
| 1366 | + <div v-if="item.type == '单选' && item.layoutType == 2" | |
| 1367 | + style="display: flex;width: 100%;flex-wrap: wrap;"> | |
| 1368 | + <div class="answerItem" v-for="(val, idx) in item.options" :key="idx"> | |
| 1369 | + {{ val.answer }} | |
| 1370 | + </div> | |
| 1371 | + </div> | |
| 1372 | + <el-checkbox-group v-for="(val, idx) in item.options" | |
| 1373 | + v-if="item.type == '多选' && item.layoutType != 2" :key="idx" | |
| 1374 | + style="display: content;flex-direction: column;width:100%;margin:0 0 4px 0"> | |
| 1375 | + <el-checkbox disabled> | |
| 1376 | + <snap style=" white-space: normal !important; | |
| 1255 | 1377 | word-break: break-all !important;"> |
| 1256 | - {{val.answer}} | |
| 1257 | - </snap> | |
| 1258 | - </el-checkbox> | |
| 1259 | - </el-checkbox-group> | |
| 1260 | - <div v-if="item.type =='文本'"> | |
| 1261 | - <el-input v-model="model1.name" placeholder="请输入" disabled style="width:80%"></el-input> | |
| 1262 | - | |
| 1263 | - </div> | |
| 1264 | - </div> | |
| 1265 | - </div> | |
| 1266 | - <!-- <div class="question" v-for="(item,index) in secondData.cereQuestionManagements"> | |
| 1378 | + {{ val.answer }} | |
| 1379 | + </snap> | |
| 1380 | + </el-checkbox> | |
| 1381 | + </el-checkbox-group> | |
| 1382 | + | |
| 1383 | + <div v-if="item.type == '多选' && item.layoutType == 2" | |
| 1384 | + style="display: flex;width: 100%;flex-wrap: wrap;"> | |
| 1385 | + <div class="answerItem" v-for="(val, idx) in item.options" :key="idx"> | |
| 1386 | + {{ val.answer }} | |
| 1387 | + </div> | |
| 1388 | + </div> | |
| 1389 | + <div v-if="item.type == '文本'"> | |
| 1390 | + <el-input v-model="model1.name" placeholder="请输入" disabled style="width:80%" /> | |
| 1391 | + | |
| 1392 | + </div> | |
| 1393 | + </div> | |
| 1394 | + </div> | |
| 1395 | + <!-- <div class="question" v-for="(item,index) in secondData.cereQuestionManagements"> | |
| 1267 | 1396 | <p class="question-title"><span v-if="item.isRequired.includes('必填')" |
| 1268 | 1397 | style="color: red;">*</span>{{index + 1}}.<span style="">({{item.questionType}})</span> |
| 1269 | 1398 | {{item.tikuTitle}} |
| ... | ... | @@ -1286,1604 +1415,1835 @@ |
| 1286 | 1415 | </div> |
| 1287 | 1416 | </div> --> |
| 1288 | 1417 | |
| 1289 | - <!-- 文本填写问题 --> | |
| 1290 | - <div class=""> | |
| 1291 | - <!-- <p class="question-title">您的建议:</p > | |
| 1418 | + <!-- 文本填写问题 --> | |
| 1419 | + <div class=""> | |
| 1420 | + <!-- <p class="question-title">您的建议:</p > | |
| 1292 | 1421 | <textarea v-model="suggestion"></textarea> --> |
| 1293 | - <el-form label-position="right" :model="model1" style="background-color:#fff;border-radius: 10px;"> | |
| 1294 | - <el-form-item label="姓名" prop="name" v-if="secondData.needName == '必填'" | |
| 1295 | - style="padding:10px 10px 0 10px;"> | |
| 1296 | - <el-input v-model="model1.name" placeholder="请输入姓名" disabled style="width:80%"></el-input> | |
| 1297 | - </el-form-item> | |
| 1298 | - <el-form-item label="电话" prop="phone" v-if="secondData.needPhone == '必填'" style="padding: 0 10px;"> | |
| 1299 | - <el-input v-model="model1.phone" placeholder="请输入电话" disabled style="width:80%"></el-input> | |
| 1300 | - </el-form-item> | |
| 1301 | - <el-form-item label="性别" prop="sex" v-if="secondData.needGender == '必填'" style="padding: 0 10px ;"> | |
| 1302 | - <el-input v-model="model1.sex" placeholder="请输入性别" disabled style="width:80%"></el-input> | |
| 1303 | - </el-form-item> | |
| 1304 | - <el-form-item label="意见" prop="yij" v-if="secondData.needOpinion == '必填'" | |
| 1305 | - style="padding:0 10px 10px 10px;"> | |
| 1306 | - <el-input type="textarea" v-model="model1.yij" placeholder="请输入内容" disabled | |
| 1307 | - style="width:80%"></el-input> | |
| 1308 | - </el-form-item> | |
| 1309 | - </el-form> | |
| 1310 | - | |
| 1311 | - </div> | |
| 1312 | - | |
| 1313 | - <el-button style="background-color: #3F9B6A;color: #fff;width:100%">提交问卷</el-button> | |
| 1314 | - </div> | |
| 1315 | - </div> | |
| 1316 | - <div style="padding:30px 0px 0px" v-if="secondData.reviewStatus == '3'"> | |
| 1317 | - | |
| 1318 | - 问卷作答地址:{{wenjuanUrl}} <span style="color:#3F9B6A" @click="copyUrl(wenjuanUrl)">复制</span> | |
| 1319 | - </div> | |
| 1320 | - <div style="display:flex;justify-content: flex-end;padding:20px;"> | |
| 1321 | - <el-button @click="yulanShow=false" style="background-color: #3F9B6A;color: #fff;">取消</el-button> | |
| 1322 | - | |
| 1323 | - </div> | |
| 1324 | - </div> | |
| 1325 | - </el-dialog> | |
| 1326 | - </div> | |
| 1327 | - | |
| 1422 | + <el-form label-position="right" :model="model1" | |
| 1423 | + style="background-color:#fff;border-radius: 10px;"> | |
| 1424 | + <el-form-item v-if="secondData.needName == '必填'" label="姓名" prop="name" | |
| 1425 | + style="padding:10px 10px 0 10px;"> | |
| 1426 | + <el-input v-model="model1.name" placeholder="请输入姓名" disabled style="width:80%" /> | |
| 1427 | + </el-form-item> | |
| 1428 | + <el-form-item v-if="secondData.needPhone == '必填'" label="电话" prop="phone" | |
| 1429 | + style="padding: 0 10px;"> | |
| 1430 | + <el-input v-model="model1.phone" placeholder="请输入电话" disabled style="width:80%" /> | |
| 1431 | + </el-form-item> | |
| 1432 | + <el-form-item v-if="secondData.needGender == '必填'" label="性别" prop="sex" | |
| 1433 | + style="padding: 0 10px ;"> | |
| 1434 | + <el-input v-model="model1.sex" placeholder="请输入性别" disabled style="width:80%" /> | |
| 1435 | + </el-form-item> | |
| 1436 | + <el-form-item v-if="secondData.needOpinion == '必填'" label="意见" prop="yij" | |
| 1437 | + style="padding:0 10px 10px 10px;"> | |
| 1438 | + <el-input v-model="model1.yij" type="textarea" placeholder="请输入内容" disabled | |
| 1439 | + style="width:80%" /> | |
| 1440 | + </el-form-item> | |
| 1441 | + </el-form> | |
| 1442 | + | |
| 1443 | + </div> | |
| 1444 | + | |
| 1445 | + <el-button style="background-color: #3F9B6A;color: #fff;width:100%">提交问卷</el-button> | |
| 1446 | + </div> | |
| 1447 | + </div> | |
| 1448 | + <!-- <div style="padding:30px 0px 0px" v-if="secondData.reviewStatus == '3'"> --> | |
| 1449 | + <div style="padding:30px 0px 0px"> | |
| 1450 | + 问卷作答地址:{{ wenjuanUrl }} <span style="color:#3F9B6A" @click="copyUrl(wenjuanUrl)">复制</span> | |
| 1451 | + </div> | |
| 1452 | + <div style="display:flex;justify-content: flex-end;padding:20px;"> | |
| 1453 | + <el-button style="background-color: #3F9B6A;color: #fff;" @click="yulanShow = false">取消</el-button> | |
| 1454 | + | |
| 1455 | + </div> | |
| 1456 | + </div> | |
| 1457 | + </el-dialog> | |
| 1458 | + <el-dialog :visible.sync="iframaShow" title="创建活动" width="90%" center top="1%" :close-on-click-modal="false" | |
| 1459 | + append-to-body> | |
| 1460 | + <div style="padding:20px;"> | |
| 1461 | + <iframe :src="iframaUrl" ref="iframe" frameborder="0" width="100%" height="700px" /> | |
| 1462 | + <div style="padding-top:20px;display:flex;justify-content: flex-end;"> | |
| 1463 | + </div> | |
| 1464 | + </div> | |
| 1465 | + | |
| 1466 | + </el-dialog> | |
| 1467 | + </div> | |
| 1328 | 1468 | |
| 1329 | 1469 | </template> |
| 1330 | 1470 | |
| 1331 | 1471 | <script> |
| 1332 | - import { | |
| 1333 | - async | |
| 1334 | - } from 'q' | |
| 1335 | - import Vue from 'vue' | |
| 1336 | - import axios from 'axios' | |
| 1337 | - import DynamicChartTable from '@/components/dajuanTongji/index.vue' | |
| 1338 | - import tiaoxing from '@/components/dajuanTongji/tiaoxing.vue' | |
| 1339 | - import { | |
| 1340 | - TerminaGetAll, | |
| 1341 | - TerminaAdd, | |
| 1342 | - TerminaEdit, | |
| 1343 | - TerminaDel, | |
| 1344 | - QuestionGetAll, | |
| 1345 | - QuestionAdd, | |
| 1346 | - } from '../../api/investigation.js' | |
| 1347 | - import upimg from "@/components/ImageUpload/index" | |
| 1348 | - export default { | |
| 1349 | - components: { | |
| 1350 | - upimg, | |
| 1351 | - DynamicChartTable, | |
| 1352 | - tiaoxing | |
| 1353 | - }, | |
| 1354 | - data() { | |
| 1355 | - return { | |
| 1356 | - | |
| 1357 | - tableHeight: 600, // 设置为你想要的表格高度,单位是像素 | |
| 1358 | - rid: '男', | |
| 1359 | - checkList: ['服务态度差'], | |
| 1360 | - chartTitle: '题目', | |
| 1361 | - chartOptions: {}, | |
| 1362 | - listOne: [], | |
| 1363 | - listTwo: [], | |
| 1364 | - listThree: [], | |
| 1365 | - | |
| 1366 | - hetongBox: false, | |
| 1367 | - detbox: false, //详情 | |
| 1368 | - leixing: true, //切换 | |
| 1369 | - index: 1, | |
| 1370 | - currentPage: 1, | |
| 1371 | - total: 10, | |
| 1372 | - flag: false, | |
| 1373 | - flag1: false, | |
| 1374 | - currentPage1: 1, | |
| 1375 | - total1: 10, | |
| 1376 | - pageSize: 10, | |
| 1377 | - ggXin: false, | |
| 1378 | - formInline: { | |
| 1379 | - createUser: '', | |
| 1380 | - title: '', | |
| 1381 | - startDate: '', | |
| 1382 | - endDate: '', | |
| 1383 | - publishPort: '', | |
| 1384 | - questionnaireType: '', | |
| 1385 | - estimatedTime: null, | |
| 1386 | - remarks: '', | |
| 1387 | - filler: '', | |
| 1388 | - fillingConditions: '可重复填写', | |
| 1389 | - coverImage: '', | |
| 1390 | - rewardForParticipation: '不设置奖励', | |
| 1391 | - questionId: '', | |
| 1392 | - responseStatus: '', | |
| 1393 | - reviewStatus: '1', | |
| 1394 | - needName: '必填', | |
| 1395 | - needPhone: '必填', | |
| 1396 | - needGender: '必填', | |
| 1397 | - needOpinion: '必填', | |
| 1398 | - }, | |
| 1399 | - Xin_Time: [], | |
| 1400 | - plan_Time: [], | |
| 1401 | - followUpTime: [], | |
| 1402 | - tableData: [], | |
| 1403 | - secondData: {}, | |
| 1404 | - formSel: { | |
| 1405 | - title: '', | |
| 1406 | - questionnaireType: '', | |
| 1407 | - reviewStatus: '', | |
| 1408 | - pageNumber: 0, | |
| 1409 | - pageSize: 10, | |
| 1410 | - }, | |
| 1411 | - pageindex: { | |
| 1412 | - pageNumber: 0, | |
| 1413 | - pageSize: 10, | |
| 1414 | - }, | |
| 1415 | - bianjiBox: 1, | |
| 1416 | - chengeTatle: 1, | |
| 1417 | - zhong: { | |
| 1418 | - tikuTitle: '', | |
| 1419 | - questionType: '', | |
| 1420 | - questionBank: '用户端题库', | |
| 1421 | - isRequired: '必填', | |
| 1422 | - questionDescription: '', | |
| 1423 | - optionSettings: {}, | |
| 1424 | - }, | |
| 1425 | - detaiList: {}, | |
| 1426 | - xiangTabs: 'first', | |
| 1427 | - bianjiTabs: 'first', | |
| 1428 | - bainjiBox: false, | |
| 1429 | - radioValue: 'A', //参与答卷奖励 | |
| 1430 | - jifen: '', //积分奖励 | |
| 1431 | - choujiang: '', //转盘抽奖 | |
| 1432 | - yhq: [], //优惠券确定 | |
| 1433 | - yhqSel: [], //优惠券选择 | |
| 1434 | - tikuBox: false, //选择题库框 | |
| 1435 | - tikuNie: '用户端题库', | |
| 1436 | - danxuan: '', | |
| 1437 | - manyi: '', | |
| 1438 | - timuMsg: '', //题目搜索 | |
| 1439 | - options: [ | |
| 1440 | - // { index: 1, name: '男', readonly: true }, | |
| 1441 | - // { index: 2, name: '女', readonly: true } | |
| 1442 | - ], | |
| 1443 | - tikuAdd: false, //新增题目 | |
| 1444 | - tongjiBox: false, //统计 | |
| 1445 | - daxiangData: {}, | |
| 1446 | - daxiangBox: false, | |
| 1447 | - wenData: [], | |
| 1448 | - wenConstData: [], | |
| 1449 | - tikuziyuan: [], //题目资源 | |
| 1450 | - secondDataTi: [], //详情题库 | |
| 1451 | - labelStyle: { | |
| 1452 | - width: '240px' | |
| 1453 | - }, | |
| 1454 | - contentStyle: { | |
| 1455 | - width: '246px' | |
| 1456 | - }, | |
| 1457 | - timuXiang: false, | |
| 1458 | - timuData: {}, | |
| 1459 | - multipleSelection: [], | |
| 1460 | - xuanzheData: [], | |
| 1461 | - rules: { | |
| 1462 | - title: [{ | |
| 1463 | - required: true, | |
| 1464 | - message: '请输入问卷标题', | |
| 1465 | - trigger: 'blur' | |
| 1466 | - }, ], | |
| 1467 | - startDate: [{ | |
| 1468 | - required: true, | |
| 1469 | - message: '请选择问卷起止时间', | |
| 1470 | - trigger: 'change' | |
| 1471 | - }], | |
| 1472 | - publishPort: [{ | |
| 1473 | - required: true, | |
| 1474 | - message: '请选择发布端口', | |
| 1475 | - trigger: 'change' | |
| 1476 | - }], | |
| 1477 | - questionnaireType: [{ | |
| 1478 | - required: true, | |
| 1479 | - message: '请选择问卷类型', | |
| 1480 | - trigger: 'change' | |
| 1481 | - }], | |
| 1482 | - estimatedTime: [{ | |
| 1483 | - required: true, | |
| 1484 | - message: '请输入预计填写时长' | |
| 1485 | - }, | |
| 1486 | - { | |
| 1487 | - type: 'number', | |
| 1488 | - message: '必须为数字值' | |
| 1489 | - }, | |
| 1490 | - { | |
| 1491 | - validator: (rule, value, callback) => { | |
| 1492 | - if (value <= 0) { | |
| 1493 | - callback(new Error('预计填写时长必须大于0')); | |
| 1494 | - } else { | |
| 1495 | - callback(); | |
| 1496 | - } | |
| 1497 | - } | |
| 1498 | - } | |
| 1499 | - ], | |
| 1500 | - | |
| 1501 | - filler: [{ | |
| 1502 | - required: true, | |
| 1503 | - message: '请选择填写人', | |
| 1504 | - trigger: 'change' | |
| 1505 | - }], | |
| 1506 | - fillingConditions: [{ | |
| 1507 | - required: true, | |
| 1508 | - message: '请选择填写条件', | |
| 1509 | - trigger: 'change' | |
| 1510 | - }], | |
| 1511 | - coverImage: [{ | |
| 1512 | - required: true, | |
| 1513 | - message: '请上传问卷封面', | |
| 1514 | - trigger: 'change' | |
| 1515 | - }], | |
| 1516 | - createUser: [{ | |
| 1517 | - required: true, | |
| 1518 | - message: '请输入创建人', | |
| 1519 | - trigger: 'blur' | |
| 1520 | - }, ], | |
| 1521 | - }, | |
| 1522 | - | |
| 1523 | - tixrules: { | |
| 1524 | - tikuTitle: [{ | |
| 1525 | - required: true, | |
| 1526 | - message: '请输入题目', | |
| 1527 | - trigger: 'blur' | |
| 1528 | - }, ], | |
| 1529 | - questionType: [{ | |
| 1530 | - required: true, | |
| 1531 | - message: '请选择题型', | |
| 1532 | - trigger: 'change' | |
| 1533 | - }], | |
| 1534 | - questionBank: [{ | |
| 1535 | - required: true, | |
| 1536 | - message: '请选择所属题库', | |
| 1537 | - trigger: 'change' | |
| 1538 | - }], | |
| 1539 | - optionSettings: [{ | |
| 1540 | - required: true, | |
| 1541 | - message: '请设置答案', | |
| 1542 | - trigger: 'change' | |
| 1543 | - }], | |
| 1544 | - | |
| 1545 | - }, | |
| 1546 | - xiajiaId: '', | |
| 1547 | - downShow: false, | |
| 1548 | - opinionDel: { | |
| 1549 | - opinionDelisting: '' | |
| 1550 | - }, | |
| 1551 | - yulanShow: false, | |
| 1552 | - wenjuanUrl: '', | |
| 1553 | - model1: {}, | |
| 1554 | - tongjiSshu: [], | |
| 1555 | - tongjiTu: {}, | |
| 1556 | - daanDui: [], | |
| 1557 | - tuwent: [], | |
| 1558 | - | |
| 1559 | - tongjiMsg: { | |
| 1560 | - plan_Time: [], | |
| 1561 | - userName: '', | |
| 1562 | - pageNumber: 0, | |
| 1563 | - pageSize: 10, | |
| 1564 | - }, | |
| 1565 | - tiNum: 0, | |
| 1566 | - isbutton: false, | |
| 1567 | - currentPageList: 1, | |
| 1568 | - pickerOptions: { | |
| 1569 | - disabledDate(time) { | |
| 1570 | - return time.getTime() < Date.now() - 8.64e7; // 禁用当前时间之前的日期 | |
| 1571 | - } | |
| 1572 | - } | |
| 1573 | - | |
| 1574 | - } | |
| 1575 | - }, | |
| 1576 | - created() { | |
| 1577 | - | |
| 1578 | - this.getAll() | |
| 1579 | - }, | |
| 1580 | - computed: { | |
| 1581 | - | |
| 1582 | - }, | |
| 1583 | - methods: { | |
| 1584 | - chenge(val) { | |
| 1585 | - this.formSel = { | |
| 1586 | - title: '', | |
| 1587 | - questionnaireType: '', | |
| 1588 | - reviewStatus: '', | |
| 1589 | - pageNumber: 0, | |
| 1590 | - pageSize: 10, | |
| 1591 | - } | |
| 1592 | - this.leixing = !this.leixing | |
| 1593 | - this.chengeTatle = val | |
| 1594 | - }, | |
| 1595 | - async getAll() { | |
| 1596 | - const res = await TerminaGetAll(this.pageindex) | |
| 1597 | - this.tableData = res.data.content | |
| 1598 | - this.total = res.data.totalElements | |
| 1599 | - }, | |
| 1600 | - | |
| 1601 | - // 新增确定按钮 | |
| 1602 | - addCheck(val) { | |
| 1603 | - | |
| 1604 | - this.$refs.inlineform.validate((valid) => { | |
| 1605 | - if (valid) { | |
| 1606 | - | |
| 1607 | - if (this.Xin_Time != null) { | |
| 1608 | - this.formInline.startDate = this.Xin_Time[0] | |
| 1609 | - this.formInline.endDate = this.Xin_Time[1] | |
| 1610 | - } else { | |
| 1611 | - this.$message({ | |
| 1612 | - message: '请选择问卷时间', | |
| 1613 | - }) | |
| 1614 | - return false; | |
| 1615 | - } | |
| 1616 | - if (this.formInline.rewardForParticipation == '奖励积分') { | |
| 1617 | - if (this.jifen == '') { | |
| 1618 | - this.$message({ | |
| 1619 | - message: '请输入设置的积分', | |
| 1620 | - }) | |
| 1621 | - return false; | |
| 1622 | - } | |
| 1623 | - } else { | |
| 1624 | - // this.formInline.rewardForParticipation = | |
| 1625 | - } | |
| 1626 | - if (this.formInline.rewardForParticipation == '转盘抽奖') { | |
| 1627 | - if (this.choujiang == '') { | |
| 1628 | - this.$message({ | |
| 1629 | - message: '请输入转盘抽奖次数', | |
| 1630 | - }) | |
| 1631 | - return false; | |
| 1632 | - } | |
| 1633 | - } | |
| 1634 | - let ids = null | |
| 1635 | - if (this.wenConstData.length != 0) { | |
| 1636 | - ids = this.wenConstData.map(item => item.id); | |
| 1637 | - this.formInline.questionId = ids.join(',') | |
| 1638 | - } else { | |
| 1639 | - this.$message({ | |
| 1640 | - message: '请选择问题', | |
| 1641 | - }) | |
| 1642 | - return false; | |
| 1643 | - } | |
| 1644 | - this.formInline.createTime = this.currentTime() | |
| 1645 | - TerminaAdd(this.formInline).then(res => { | |
| 1646 | - if (res.data.code == '500') { | |
| 1647 | - this.$message({ | |
| 1648 | - message: res.data.message, | |
| 1649 | - type: 'error' | |
| 1650 | - }) | |
| 1651 | - } else { | |
| 1652 | - this.$message({ | |
| 1653 | - message: '保存成功', | |
| 1654 | - type: 'success' | |
| 1655 | - }) | |
| 1656 | - this.ggXin = false | |
| 1657 | - this.getAll() | |
| 1658 | - this.$refs.inlineform.resetFields() | |
| 1659 | - this.$refs.ziyuanData.clearSelection(); | |
| 1660 | - this.multipleSelection =[] | |
| 1661 | - } | |
| 1662 | - | |
| 1663 | - | |
| 1664 | - }) | |
| 1665 | - | |
| 1666 | - | |
| 1667 | - } else { | |
| 1668 | - this.$message({ | |
| 1669 | - message: '请填写完整信息', | |
| 1670 | - type: 'error' | |
| 1671 | - }) | |
| 1672 | - return false; | |
| 1673 | - } | |
| 1674 | - }) | |
| 1675 | - }, | |
| 1676 | - // 获取时间 | |
| 1677 | - currentTime() { | |
| 1678 | - let date = new Date(); | |
| 1679 | - let year = date.getFullYear(); | |
| 1680 | - let month = date.getMonth() + 1; // 月份从0~11,所以加一 | |
| 1681 | - let day = date.getDate(); | |
| 1682 | - let hours = date.getHours(); | |
| 1683 | - let minutes = date.getMinutes(); | |
| 1684 | - let seconds = date.getSeconds(); | |
| 1685 | - | |
| 1686 | - // 为月、日、小时、分钟和秒添加前导零(如果需要) | |
| 1687 | - month = month < 10 ? '0' + month : month; | |
| 1688 | - day = day < 10 ? '0' + day : day; | |
| 1689 | - hours = hours < 10 ? '0' + hours : hours; | |
| 1690 | - minutes = minutes < 10 ? '0' + minutes : minutes; | |
| 1691 | - seconds = seconds < 10 ? '0' + seconds : seconds; | |
| 1692 | - | |
| 1693 | - // 返回格式化的日期和时间字符串 | |
| 1694 | - return `${year}-${month}-${day} ${hours}:${minutes}`; | |
| 1695 | - }, | |
| 1696 | -objectToArray(obj) { | |
| 1697 | - return Object.keys(obj).map(key => { | |
| 1698 | - const item = obj[key]; | |
| 1699 | - return { | |
| 1700 | - id: key, | |
| 1701 | - ...item | |
| 1702 | - } | |
| 1703 | - }) | |
| 1704 | -}, | |
| 1705 | - | |
| 1706 | - //详情 | |
| 1707 | - details(val, item) { | |
| 1708 | - | |
| 1709 | - this.detbox = true | |
| 1710 | - this.secondData = item | |
| 1711 | - if(typeof item.question =='string'){ | |
| 1712 | - item.question = JSON.parse(item.question) | |
| 1713 | - | |
| 1714 | - } | |
| 1715 | - const array = this.objectToArray(item.question) | |
| 1716 | - | |
| 1717 | - this.wenData = array | |
| 1718 | - // this.secondData.cereQuestionManagements.map((res, index) => { | |
| 1719 | - // if (typeof res.optionSettings == 'string') { | |
| 1720 | - // res.optionSettings = JSON.parse(res.optionSettings) | |
| 1721 | - | |
| 1722 | - // } | |
| 1723 | - // }) | |
| 1724 | - }, | |
| 1725 | - | |
| 1726 | - addbuss(val, item) { | |
| 1727 | - this.index = val | |
| 1728 | - this.detbox = false | |
| 1729 | - this.ggXin = true | |
| 1730 | - | |
| 1731 | - | |
| 1732 | - }, | |
| 1733 | - | |
| 1734 | - handleCurrentChange1(val) { | |
| 1735 | - this.tongjiMsg.pageNumber = val - 1 | |
| 1736 | - if (this.tongjiMsg.plan_Time.length > 0) { | |
| 1737 | - this.tongjiMsg.createTime = this.tongjiMsg.plan_Time[0] | |
| 1738 | - } | |
| 1739 | - this.tongjiMsg.questionnaireId = this.secondData.id | |
| 1740 | - axios.post(`${this.$API}/cereQuestionnaireAnswering/queryByPage`, this.tongjiMsg) | |
| 1741 | - .then( | |
| 1742 | - response => { | |
| 1743 | - // console.log(response.data.data.) | |
| 1744 | - this.tongjiSshu = response.data.data.content | |
| 1745 | - this.total1 = response.data.data.totalElements | |
| 1746 | - }) | |
| 1747 | - }, | |
| 1748 | - handleSizeChange(val) { | |
| 1749 | - this.pageSize = val | |
| 1750 | - }, | |
| 1751 | - handleCurrentChange(val) { | |
| 1752 | - | |
| 1753 | - this.pageindex = { | |
| 1754 | - pageNumber: val - 1, | |
| 1755 | - pageSize: 10, | |
| 1756 | - } | |
| 1757 | - | |
| 1758 | - TerminaGetAll(this.pageindex).then(res => { | |
| 1759 | - this.tableData = res.data.content | |
| 1760 | - }) | |
| 1761 | - }, | |
| 1762 | - closeFn(val) { | |
| 1763 | - this.bianjiBox = 1 | |
| 1764 | - if (val == 1) { | |
| 1765 | - this.$refs.inlineform.resetFields() | |
| 1766 | - this.ggXin = false | |
| 1767 | - } else { | |
| 1768 | - this.$refs.bianform.resetFields() | |
| 1769 | - this.bainjiBox = false | |
| 1770 | - } | |
| 1771 | - }, | |
| 1772 | - // 详情编辑 | |
| 1773 | - async bianji() { | |
| 1774 | - if (this.bianjiBox == 1) { | |
| 1775 | - this.bianjiBox = 2 | |
| 1776 | - } else { | |
| 1777 | - this.bianjiBox = 1 | |
| 1778 | - | |
| 1779 | - let formList = {} | |
| 1780 | - let res = await TerminaEdit(formList) | |
| 1781 | - | |
| 1782 | - this.detbox = false | |
| 1783 | - } | |
| 1784 | - | |
| 1785 | - }, | |
| 1786 | - //查看合同 | |
| 1787 | - lookHetong(val) { | |
| 1788 | - this.hetongBox = true | |
| 1789 | - }, | |
| 1790 | - // 查询按钮 | |
| 1791 | - async onSubmit() { | |
| 1792 | - this.isbutton = true; | |
| 1793 | - const res = await TerminaGetAll(this.formSel) | |
| 1794 | - this.tableData = res.data.content | |
| 1795 | - this.total = res.data.totalElements | |
| 1796 | - this.isbutton = false; | |
| 1797 | - }, | |
| 1798 | - //重置按钮 | |
| 1799 | - resetting() { | |
| 1800 | - this.formSel = { | |
| 1801 | - title: '', | |
| 1802 | - questionnaireType: '', | |
| 1803 | - reviewStatus: '', | |
| 1804 | - pageNumber: 0, | |
| 1805 | - pageSize: 10, | |
| 1806 | - }, | |
| 1807 | - this.currentPageList = 1 | |
| 1808 | - this.pageindex.pageNumber = 0 | |
| 1809 | - this.getAll() | |
| 1810 | - }, | |
| 1811 | - radioClick(value) { | |
| 1812 | - | |
| 1813 | - if (value === '不设置奖励') { | |
| 1814 | - this.jifen = '' //积分奖励 | |
| 1815 | - this.choujiang = '' //转盘抽奖 | |
| 1816 | - this.yhq = [] //优惠券确定 | |
| 1817 | - } else if (value === '奖励积分') { | |
| 1818 | - this.choujiang = '' //转盘抽奖 | |
| 1819 | - this.yhq = [] //优惠券确定 | |
| 1820 | - } else if (value === '转盘抽奖') { | |
| 1821 | - this.jifen = '' | |
| 1822 | - this.yhq = [] | |
| 1823 | - } else if (value === '优惠券') { | |
| 1824 | - this.jifen = '' //积分奖励 | |
| 1825 | - this.choujiang = '' //转盘抽奖 | |
| 1826 | - } | |
| 1827 | - }, | |
| 1828 | - async selTiku() { | |
| 1829 | - this.tiNum = 0 | |
| 1830 | - // this.zhong = { | |
| 1831 | - // tikuTitle:'', | |
| 1832 | - // questionType:'', | |
| 1833 | - // questionBank:'用户端题库', | |
| 1834 | - // isRequired:'', | |
| 1835 | - // questionDescription:'', | |
| 1836 | - // optionSettings:{}, | |
| 1837 | - // } | |
| 1838 | - this.tikuNie = '用户端题库' | |
| 1839 | - this.tikuBox = true | |
| 1840 | - let page = { | |
| 1841 | - pageNumber: 0, | |
| 1842 | - pageSize: 10, | |
| 1843 | - questionBank: '用户端题库', | |
| 1844 | - } | |
| 1845 | - | |
| 1846 | - const tiku = await QuestionGetAll(page) | |
| 1847 | - this.tikuziyuan = tiku.data.content | |
| 1848 | - | |
| 1849 | - }, | |
| 1850 | - addOption() { | |
| 1851 | - const newOption = { | |
| 1852 | - index: this.options.length + 1, | |
| 1853 | - name: '', | |
| 1854 | - readonly: false | |
| 1855 | - }; | |
| 1856 | - this.options.push(newOption); | |
| 1857 | - }, | |
| 1858 | - deleteOption(index) { | |
| 1859 | - this.options.splice(index, 1); | |
| 1860 | - }, | |
| 1861 | - bianls(item) { | |
| 1862 | - this.secondData = item | |
| 1863 | - Vue.set(this.plan_Time, 0, this.secondData.startDate) | |
| 1864 | - Vue.set(this.plan_Time, 1, this.secondData.endDate) | |
| 1865 | - if (typeof item.question == 'string') { | |
| 1866 | - item.question = JSON.parse(item.question) | |
| 1867 | - } | |
| 1868 | - | |
| 1869 | - console.log(item.question) | |
| 1870 | - this.secondDataTi = item.cereQuestionManagements | |
| 1871 | - this.bainjiBox = true | |
| 1872 | - | |
| 1873 | - }, | |
| 1874 | - bianCheck() { | |
| 1875 | - | |
| 1876 | - if (this.secondData && this.secondData.cereQuestionManagements) { | |
| 1877 | - delete this.secondData.cereQuestionManagements; | |
| 1878 | - } | |
| 1879 | - if (typeof this.secondData.question == 'object') { | |
| 1880 | - this.secondData.question = JSON.stringify(this.secondData.question) | |
| 1881 | - } | |
| 1882 | - if (this.plan_Time.length != 0) { | |
| 1883 | - this.secondData.startDate = this.plan_Time[0] | |
| 1884 | - this.secondData.endDate = this.plan_Time[1] | |
| 1885 | - } | |
| 1886 | - | |
| 1887 | - let ids = [] | |
| 1888 | - if (this.secondDataTi.length != 0) { | |
| 1889 | - ids = this.secondDataTi.map(item => item.id); | |
| 1890 | - } | |
| 1891 | - this.secondData.questionId = ids.join(',') | |
| 1892 | - this.secondData.updateTime = this.currentTime() | |
| 1893 | - TerminaEdit(this.secondData).then(res => { | |
| 1894 | - this.bainjiBox = false | |
| 1895 | - this.getAll() | |
| 1896 | - }) | |
| 1897 | - | |
| 1898 | - | |
| 1899 | - }, | |
| 1900 | - tongji(item) { | |
| 1901 | - this.tongjiMsg = { | |
| 1902 | - plan_Time: [], | |
| 1903 | - userName: '', | |
| 1904 | - pageNumber: 0, | |
| 1905 | - pageSize: 10, | |
| 1906 | - | |
| 1907 | - } | |
| 1908 | - var that = this; | |
| 1909 | - this.secondData = item | |
| 1910 | - this.secondData.cereQuestionManagements.map((res, index) => { | |
| 1911 | - if (typeof res.optionSettings == 'string') { | |
| 1912 | - res.optionSettings = JSON.parse(res.optionSettings) | |
| 1913 | - } | |
| 1914 | - this.secondData.cereQuestionManagements[index].ziduan = [] | |
| 1915 | - }) | |
| 1916 | - | |
| 1917 | - | |
| 1918 | - const postData = { | |
| 1919 | - questionnaireId: item.id, | |
| 1920 | - } | |
| 1921 | - | |
| 1922 | - const postList = { | |
| 1923 | - pageNumber: 0, | |
| 1924 | - pageSize: 10, | |
| 1925 | - questionnaireId: item.id, | |
| 1926 | - } | |
| 1927 | - // axios.post('https://jy.scjysm.asia:18086/meserver/api/cereQuestionnaireAnswering/queryByPage', postData).then( | |
| 1928 | - // axios.post('https://jy.scjysm.asia:18086/meserver/api', postData) | |
| 1929 | - axios.post(`${this.$API}/cereQuestionnaireAnswering/queryByPage`, postList).then( | |
| 1930 | - response => { | |
| 1931 | - | |
| 1932 | - this.tongjiSshu = response.data.data.content | |
| 1933 | - this.total1 = response.data.data.totalElements | |
| 1934 | - }) | |
| 1935 | - axios.post(`${this.$API}/cereQuestionnaireAnswering/statistics`, postData).then( | |
| 1936 | - response => { | |
| 1937 | - | |
| 1938 | - let obj = response.data.data | |
| 1939 | - | |
| 1940 | - | |
| 1941 | - // for(let i =0;i<obj.cereQuestionnaireTable.cereQuestionManages.length;i++){ | |
| 1942 | - // if(obj.cereQuestionnaireTable.cereQuestionManages[i].questionType=='文本'){ | |
| 1943 | - // obj.cereQuestionnaireTable.cereQuestionManages.splice(i, 1) | |
| 1944 | - // } | |
| 1945 | - // } | |
| 1946 | - | |
| 1947 | - | |
| 1948 | - // let NewArr = obj.cereQuestionnaireTable.cereQuestionManagements.filter((res, index) => { | |
| 1949 | - // return res.questionType != '文本'; | |
| 1950 | - // }) | |
| 1951 | - // obj.cereQuestionnaireTable.cereQuestionManagements = NewArr | |
| 1952 | - // let groundkey = response.data.data.groupKeys.filter((res, index) => { | |
| 1953 | - // return res.answer != ''; | |
| 1954 | - // }) | |
| 1955 | - // obj.groupKeys = groundkey | |
| 1956 | - this.tongjiTu = obj | |
| 1957 | - var tuwent = [], | |
| 1958 | - tlist = []; | |
| 1959 | - if (typeof response.data.data.cereQuestionnaireTable.question == 'string') { | |
| 1960 | - this.tuwent = JSON.parse(response.data.data.cereQuestionnaireTable.question) | |
| 1961 | - } | |
| 1962 | - | |
| 1963 | - // console.log('11111111111111111111111',this.tuwent); | |
| 1964 | - // var i = 1; | |
| 1965 | - // for(item in tuwent){ | |
| 1966 | - // var tm = tuwent[item]; | |
| 1967 | - // if(tm.type !='文本') { | |
| 1968 | - // var titem = {}; | |
| 1969 | - // titem[i] = tm; tlist.push(titem); | |
| 1970 | - | |
| 1971 | - // } | |
| 1972 | - // } | |
| 1973 | - this.tongjiBox = true | |
| 1974 | - var that = this; | |
| 1975 | - | |
| 1976 | - this.$nextTick(function() { | |
| 1977 | - try { | |
| 1978 | - if(that.tuwent) | |
| 1979 | - for (var i in that.tuwent) { | |
| 1980 | - try { | |
| 1981 | - that.$refs['chat' + i][0].init(obj) | |
| 1982 | - } catch (e) { | |
| 1983 | - console.error('chat refs init error',e); | |
| 1984 | - } | |
| 1985 | - | |
| 1986 | - } | |
| 1987 | - else { | |
| 1988 | - console.log('tuwent is null',that.tuwent) | |
| 1989 | - } | |
| 1990 | - } catch (e) { | |
| 1991 | - console.error('chat error',e); | |
| 1992 | - } | |
| 1993 | - | |
| 1994 | - | |
| 1995 | - }); | |
| 1996 | - // this.tuwent = tlist; | |
| 1997 | - // console.log('tlist=',tlist); | |
| 1998 | - // this.tuwent = Object.values(this.tuwent).filter(res => res.type !== '文本'); | |
| 1999 | - }) | |
| 2000 | - | |
| 2001 | - }, | |
| 2002 | - xuanxiang(obj) { | |
| 2003 | - const result = []; | |
| 2004 | - | |
| 2005 | - for (const key in obj) { | |
| 2006 | - if (obj.hasOwnProperty(key)) { | |
| 2007 | - const item = obj[key]; | |
| 2008 | - const [type, titleAndOptions] = item.split('$'); | |
| 2009 | - | |
| 2010 | - const [isRequired, options] = titleAndOptions.split('#'); | |
| 2011 | - | |
| 2012 | - const [title, values] = options.split(':'); | |
| 2013 | - | |
| 2014 | - const [optionsPart, valuesPart] = values.split('>'); | |
| 2015 | - | |
| 2016 | - const optionArray = optionsPart.split('^').map(part => part.split('|')[1]); | |
| 2017 | - | |
| 2018 | - const valueArray = valuesPart ? valuesPart.split('^').map(part => part.split('|')[1]) : []; | |
| 2019 | - | |
| 2020 | - result.push({ | |
| 2021 | - type: type.trim(), | |
| 2022 | - ispu: isRequired.trim(), | |
| 2023 | - timu: title.trim(), | |
| 2024 | - xuanxiang: optionArray, | |
| 2025 | - xuanval: valueArray | |
| 2026 | - }); | |
| 2027 | - } | |
| 2028 | - } | |
| 2029 | - | |
| 2030 | - return result; | |
| 2031 | - }, | |
| 2032 | - daxiang(item) { | |
| 2033 | - this.daxiangData = item | |
| 2034 | - | |
| 2035 | - let selectoptions = null | |
| 2036 | - | |
| 2037 | - if (typeof this.daxiangData.question == 'string') { | |
| 2038 | - this.daxiangData.question = JSON.parse(this.daxiangData.question) | |
| 2039 | - } | |
| 2040 | - // this.daxiangData.question = this.xuanxiang(question) | |
| 2041 | - | |
| 2042 | - // for (const key in this.daxiangData.question) { | |
| 2043 | - // if(this.daxiangData.question[key].type=='多选' && typeof this.daxiangData.question[key] =='string'){ | |
| 2044 | - // this.daxiangData.question[key].choose = this.daxiangData.question[key].choose.split(",") | |
| 2045 | - // } | |
| 2046 | - // } | |
| 2047 | - | |
| 2048 | - this.secondData.cereQuestionManagements.map((res, index) => { | |
| 2049 | - | |
| 2050 | - if (this.daanDui[index]) { | |
| 2051 | - let obj = this.daanDui[index].split(',') | |
| 2052 | - res.ziduan = obj | |
| 2053 | - } | |
| 2054 | - | |
| 2055 | - | |
| 2056 | - }) | |
| 2057 | - | |
| 2058 | - | |
| 2059 | - this.daxiangBox = true | |
| 2060 | - }, | |
| 2061 | - | |
| 2062 | - // 新增题库 | |
| 2063 | - Addtiku(val) { | |
| 2064 | - let that = this | |
| 2065 | - | |
| 2066 | - if (this.zhong.tikuTitle == '') { | |
| 2067 | - this.$message({ | |
| 2068 | - message: '请输入题目', | |
| 2069 | - }) | |
| 2070 | - return; | |
| 2071 | - } | |
| 2072 | - if (this.zhong.questionType == '') { | |
| 2073 | - this.$message({ | |
| 2074 | - message: '请选择题型', | |
| 2075 | - }) | |
| 2076 | - return; | |
| 2077 | - } | |
| 2078 | - if (this.zhong.questionType != '文本' && this.options.length == 0) { | |
| 2079 | - this.$message({ | |
| 2080 | - message: '请添加答案选项', | |
| 2081 | - }) | |
| 2082 | - return; | |
| 2083 | - } | |
| 2084 | - for(let i =0;i<this.options.length;i++){ | |
| 2085 | - if(this.options[i].name == ''){ | |
| 2086 | - this.$message({ | |
| 2087 | - message: '答案选项不能为空', | |
| 2088 | - }) | |
| 2089 | - return | |
| 2090 | - } | |
| 2091 | - } | |
| 2092 | - this.zhong.optionSettings = this.options.reduce((accumulator, current) => { | |
| 2093 | - accumulator[current.index] = current.name; | |
| 2094 | - return accumulator; | |
| 2095 | - }, {}) // 初始化累加器为空对象 | |
| 2096 | - | |
| 2097 | - | |
| 2098 | - this.zhong.score = this.options.reduce((accumulator, current) => { | |
| 2099 | - accumulator[current.index] = Number(current.num); | |
| 2100 | - return accumulator; | |
| 2101 | - }, {}) // 初始化累加器为空对象 | |
| 2102 | - | |
| 2103 | - this.zhong.optionSettings = JSON.stringify(this.zhong.optionSettings) | |
| 2104 | - this.zhong.score = JSON.stringify(this.zhong.score) | |
| 2105 | - this.zhong.createDate = this.currentTime() | |
| 2106 | - | |
| 2107 | - QuestionAdd(this.zhong).then((res) => { | |
| 2108 | - | |
| 2109 | - if (val == 1) { | |
| 2110 | - that.wenConstData.push(res.data) | |
| 2111 | - } else { | |
| 2112 | - that.secondDataTi.push(res.data) | |
| 2113 | - } | |
| 2114 | - this.$message({ | |
| 2115 | - message: '保存成功', | |
| 2116 | - type: 'success' | |
| 2117 | - }) | |
| 2118 | - this.getAll() | |
| 2119 | - this.options = [] | |
| 2120 | - | |
| 2121 | - this.multipleSelection =[] | |
| 2122 | - this.tikuAdd = false | |
| 2123 | - }) | |
| 2124 | - | |
| 2125 | - | |
| 2126 | - }, | |
| 2127 | - // 题库切换选择 | |
| 2128 | - async tikuchange(val) { | |
| 2129 | - | |
| 2130 | - let page = { | |
| 2131 | - pageNumber: 0, | |
| 2132 | - pageSize: 10, | |
| 2133 | - questionBank: val, | |
| 2134 | - } | |
| 2135 | - const tiku = await QuestionGetAll(page) | |
| 2136 | - this.tikuziyuan = tiku.data.content | |
| 2137 | - }, | |
| 2138 | - | |
| 2139 | - async tikusous() { | |
| 2140 | - let page = { | |
| 2141 | - pageNumber: 0, | |
| 2142 | - pageSize: 10, | |
| 2143 | - questionBank: this.tikuNie, | |
| 2144 | - questionType: this.danxuan, | |
| 2145 | - tikuTitle: this.timuMsg, | |
| 2146 | - } | |
| 2147 | - const tiku = await QuestionGetAll(page) | |
| 2148 | - this.tikuziyuan = tiku.data.content | |
| 2149 | - }, | |
| 2150 | - async tikuclose() { | |
| 2151 | - | |
| 2152 | - this.tikuNie = '用户端题库' | |
| 2153 | - this.danxuan = '' | |
| 2154 | - this.timuMsg = '' | |
| 2155 | - this.manyi = '' | |
| 2156 | - let page = { | |
| 2157 | - pageNumber: 0, | |
| 2158 | - pageSize: 10, | |
| 2159 | - questionBank: this.tikuNie, | |
| 2160 | - } | |
| 2161 | - const tiku = await QuestionGetAll(page) | |
| 2162 | - this.tikuziyuan = tiku.data.content | |
| 2163 | - }, | |
| 2164 | - gotimuxiang(item) { | |
| 2165 | - this.timuData = item | |
| 2166 | - if (typeof item.optionSettings != 'object') { | |
| 2167 | - this.timuData.optionSettings = JSON.parse(item.optionSettings) | |
| 2168 | - } | |
| 2169 | - this.timuXiang = true | |
| 2170 | - }, | |
| 2171 | - handleSelectionChange(val) { | |
| 2172 | - | |
| 2173 | - // if(this.tikuNie =='用户端题库'){ | |
| 2174 | - // this.listOne = val | |
| 2175 | - // }else if(this.tikuNie =='商户端题库'){ | |
| 2176 | - // this.listTwo = val | |
| 2177 | - | |
| 2178 | - // }else{ | |
| 2179 | - // this.listThree = val | |
| 2180 | - // } | |
| 2181 | - | |
| 2182 | - | |
| 2183 | - | |
| 2184 | - this.multipleSelection = val | |
| 2185 | - | |
| 2186 | - // this.xuanzheData = this.xuanzheData.concat(val) | |
| 2187 | - // this.xuanzheData = [...new Set(this.xuanzheData)] | |
| 2188 | - | |
| 2189 | - }, | |
| 2190 | - tiSelQue(val) { | |
| 2191 | - | |
| 2192 | - if (val == 1) { | |
| 2193 | - // wenConstData secondDataTi | |
| 2194 | - | |
| 2195 | - // this.wenConstData = [...this.listOne, ...this.listTwo, ...this.listThree] | |
| 2196 | - this.multipleSelection.forEach(item => { | |
| 2197 | - const isDuplicate = this.wenConstData.some(existingItem => existingItem.id === item.id); | |
| 2198 | - if (!isDuplicate) { | |
| 2199 | - this.wenConstData.push(item); | |
| 2200 | - } | |
| 2201 | - }) | |
| 2202 | - } else { | |
| 2203 | - | |
| 2204 | - this.multipleSelection.forEach(item => { | |
| 2205 | - const isDuplicate = this.secondDataTi.some(existingItem => existingItem.id === item.id); | |
| 2206 | - if (!isDuplicate) { | |
| 2207 | - this.secondDataTi.push(item); | |
| 2208 | - } | |
| 2209 | - }); | |
| 2210 | - | |
| 2211 | - | |
| 2212 | - } | |
| 2213 | - this.tikuBox = false | |
| 2214 | - }, | |
| 2215 | - delWenCon(val, index) { | |
| 2216 | - if (val == '1') { | |
| 2217 | - this.xuanzheData.splice(index, 1) | |
| 2218 | - this.wenConstData.splice(index, 1) | |
| 2219 | - } else { | |
| 2220 | - this.secondDataTi.splice(index, 1) | |
| 2221 | - } | |
| 2222 | - }, | |
| 2223 | - fabu(val, item) { | |
| 2224 | - const h = this.$createElement; | |
| 2225 | - this.$msgbox({ | |
| 2226 | - title: '消息', | |
| 2227 | - message: h('p', null, [ | |
| 2228 | - h('span', null, '是否提交 '), | |
| 2229 | - ]), | |
| 2230 | - showCancelButton: true, | |
| 2231 | - showClose: false, | |
| 2232 | - confirmButtonText: '确定', | |
| 2233 | - cancelButtonText: '取消', | |
| 2234 | - customClass: 'oe-dialog-btn', | |
| 2235 | - beforeClose: (action, instance, done) => { | |
| 2236 | - if (action === 'confirm') { | |
| 2237 | - TerminaEdit({ | |
| 2238 | - id: item.id, | |
| 2239 | - reviewStatus: val | |
| 2240 | - }).then(res => { | |
| 2241 | - this.getAll() | |
| 2242 | - done(); | |
| 2243 | - }) | |
| 2244 | - } else { | |
| 2245 | - done(); | |
| 2246 | - } | |
| 2247 | - } | |
| 2248 | - }) | |
| 2249 | - }, | |
| 2250 | - downs(item) { | |
| 2251 | - this.xiajiaId = item.id | |
| 2252 | - this.downShow = true | |
| 2253 | - }, | |
| 2254 | - async downShowCheck() { | |
| 2255 | - if (this.opinionDel.opinionDelisting == '') { | |
| 2256 | - this.$message({ | |
| 2257 | - message: '请输入禁用原因', | |
| 2258 | - }) | |
| 2259 | - return; | |
| 2260 | - } | |
| 2261 | - await TerminaEdit({ | |
| 2262 | - id: this.xiajiaId, | |
| 2263 | - reviewStatus: '5', | |
| 2264 | - opinionDelisting: this.opinionDel.opinionDelisting | |
| 2265 | - }) | |
| 2266 | - this.downShow = false | |
| 2267 | - this.getAll() | |
| 2268 | - }, | |
| 2269 | - delwen(item) { | |
| 2270 | - const h = this.$createElement; | |
| 2271 | - this.$msgbox({ | |
| 2272 | - title: '消息', | |
| 2273 | - message: h('p', null, [ | |
| 2274 | - h('span', null, '是否删除 '), | |
| 2275 | - ]), | |
| 2276 | - showCancelButton: true, | |
| 2277 | - showClose: false, | |
| 2278 | - confirmButtonText: '确定', | |
| 2279 | - cancelButtonText: '取消', | |
| 2280 | - customClass: 'oe-dialog-btn', | |
| 2281 | - beforeClose: (action, instance, done) => { | |
| 2282 | - if (action === 'confirm') { | |
| 2283 | - TerminaDel({ | |
| 2284 | - id: item.id | |
| 2285 | - }).then(res => { | |
| 2286 | - this.getAll() | |
| 2287 | - done(); | |
| 2288 | - }) | |
| 2289 | - } else { | |
| 2290 | - done(); | |
| 2291 | - } | |
| 2292 | - } | |
| 2293 | - }) | |
| 2294 | - }, | |
| 2295 | - addyu() { | |
| 2296 | - | |
| 2297 | - }, | |
| 2298 | - parseData(obj) { | |
| 2299 | - const result = []; | |
| 2300 | - | |
| 2301 | - for (const key in obj) { | |
| 2302 | - if (obj.hasOwnProperty(key)) { | |
| 2303 | - | |
| 2304 | - const item = obj[key]; | |
| 2305 | - const [type, titleAndOptions] = item.split('$'); | |
| 2306 | - const [isRequired, options] = titleAndOptions.split('#'); | |
| 2307 | - const [title, dansi] = options.split(':'); | |
| 2308 | - const xuanxiang = dansi.split('^').map(option => { | |
| 2309 | - const [index, value, score] = option.split('|'); | |
| 2310 | - return value; | |
| 2311 | - }); | |
| 2312 | - | |
| 2313 | - result.push({ | |
| 2314 | - timu: title, | |
| 2315 | - type: type, | |
| 2316 | - isphu: isRequired, | |
| 2317 | - xuanxiang: xuanxiang | |
| 2318 | - }); | |
| 2319 | - } | |
| 2320 | - } | |
| 2321 | - | |
| 2322 | - return result; | |
| 2323 | - }, | |
| 2324 | - yulan(item) { | |
| 2325 | - | |
| 2326 | - this.secondData = item | |
| 2327 | - | |
| 2328 | - if (typeof this.secondData.question != 'object') { | |
| 2329 | - this.secondData.question = JSON.parse(this.secondData.question) | |
| 2330 | - } | |
| 2331 | - | |
| 2332 | - const host = window.location.host | |
| 2333 | - if (host == '172.16.61.126:8080' || host == '8.130.38.56:8027') { | |
| 2334 | - this.wenjuanUrl = `http://${host}/cdwlMall/meh5/pages_category_page1/question/question?ids=${item.id}` | |
| 2335 | - // this.wenjuanUrl = `https://${host}/cdwlMall/meh5/pages_category_page1/question/question?ids=${item.id}` | |
| 2336 | - } else { | |
| 2337 | - this.wenjuanUrl = `https://${host}/cdwlMall/meh5/pages_category_page1/question/question?ids=${item.id}` | |
| 2338 | - } | |
| 2339 | - | |
| 2340 | - this.yulanShow = true | |
| 2341 | - }, | |
| 2342 | - addggXin() { | |
| 2343 | - this.formInline = { | |
| 2344 | - createUser: '', | |
| 2345 | - title: '', | |
| 2346 | - startDate: '', | |
| 2347 | - endDate: '', | |
| 2348 | - publishPort: '', | |
| 2349 | - questionnaireType: '', | |
| 2350 | - estimatedTime: null, | |
| 2351 | - remarks: '', | |
| 2352 | - filler: '', | |
| 2353 | - fillingConditions: '可重复填写', | |
| 2354 | - coverImage: '', | |
| 2355 | - rewardForParticipation: '不设置奖励', | |
| 2356 | - questionId: '', | |
| 2357 | - responseStatus: '', | |
| 2358 | - reviewStatus: '1', | |
| 2359 | - needName: '必填', | |
| 2360 | - needPhone: '必填', | |
| 2361 | - needGender: '必填', | |
| 2362 | - needOpinion: '必填', | |
| 2363 | - } | |
| 2364 | - this.xuanzheData = [] | |
| 2365 | - | |
| 2366 | - const today = new Date(); | |
| 2367 | - const startOfToday = new Date(today.getFullYear(), today.getMonth(), today.getDate()); | |
| 2368 | - const endOfToday = new Date(today.getFullYear(), today.getMonth(), today.getDate()); | |
| 2369 | - this.Xin_Time = [this.getCurrentDate(),this.getNextDayDate()] | |
| 2370 | - this.wenConstData = [] | |
| 2371 | - this.ggXin = true | |
| 2372 | - }, | |
| 2373 | - addTikuShow() { | |
| 2374 | - this.zhong = { | |
| 2375 | - tikuTitle: '', | |
| 2376 | - questionType: '', | |
| 2377 | - questionBank: '用户端题库', | |
| 2378 | - isRequired: '必填', | |
| 2379 | - questionDescription: '', | |
| 2380 | - optionSettings: {}, | |
| 2381 | - } | |
| 2382 | - this.options = [] | |
| 2383 | - | |
| 2384 | - this.tikuAdd = true | |
| 2385 | - }, | |
| 2386 | - quxiao(val) { | |
| 2387 | - this.multipleSelection = [] | |
| 2388 | - this.options = [] | |
| 2389 | - if (val == 1) { | |
| 2390 | - this.$refs.tixform.resetFields() | |
| 2391 | - } else { | |
| 2392 | - | |
| 2393 | - this.$refs.form.resetFields() | |
| 2394 | - } | |
| 2395 | - }, | |
| 2396 | - | |
| 2397 | - hangSelchange() { | |
| 2398 | - const postList = { | |
| 2399 | - pageNumber: 0, | |
| 2400 | - pageSize: 10, | |
| 2401 | - questionnaireId: item.id, | |
| 2402 | - } | |
| 2403 | - // axios.post('https://jy.scjysm.asia:18086/meserver/api/cereQuestionnaireAnswering/queryByPage', postData).then( | |
| 2404 | - // axios.post('https://jy.scjysm.asia:18086/meserver/api', postData) | |
| 2405 | - axios.post(`${this.$API}/cereQuestionnaireAnswering/queryByPage`, postList).then( | |
| 2406 | - response => { | |
| 2407 | - | |
| 2408 | - this.tongjiSshu = response.data.data.content | |
| 2409 | - this.total1 = response.data.data.content.length | |
| 2410 | - }) | |
| 2411 | - }, | |
| 2412 | - secondsToMinutesAndSeconds(s) { | |
| 2413 | - // 将输入的秒数转换为数值类型并取整 | |
| 2414 | - s = Math.floor(Number(s)); | |
| 2415 | - | |
| 2416 | - // 计算分钟和剩余的秒数 | |
| 2417 | - const minutes = Math.floor(s / 60); | |
| 2418 | - let remainingSeconds = s % 60; | |
| 2419 | - | |
| 2420 | - // 确保剩余的秒数始终是整数 | |
| 2421 | - remainingSeconds = Math.floor(remainingSeconds); | |
| 2422 | - | |
| 2423 | - // 根据是否有分钟来返回相应的字符串 | |
| 2424 | - if (minutes === 0) { | |
| 2425 | - return `${remainingSeconds} 秒`; | |
| 2426 | - } else { | |
| 2427 | - return `${minutes} 分 ${remainingSeconds} 秒`; | |
| 2428 | - } | |
| 2429 | - }, | |
| 2430 | - | |
| 2431 | - tongjiSubmit() { | |
| 2432 | - | |
| 2433 | - let page = { | |
| 2434 | - pageNumber: 0, | |
| 2435 | - pageSize: 10, | |
| 2436 | - userName: this.tongjiMsg.userName, | |
| 2437 | - questionnaireId: this.secondData.id, | |
| 2438 | - } | |
| 2439 | - | |
| 2440 | - if(this.tongjiMsg.plan_Time.length!=0){ | |
| 2441 | - page.startTime =this.tongjiMsg.plan_Time[0] | |
| 2442 | - page.endTime =this.tongjiMsg.plan_Time[1] | |
| 2443 | - } | |
| 2444 | - | |
| 2445 | - | |
| 2446 | - axios.post(`${this.$API}/cereQuestionnaireAnswering/queryByPage`, page).then( | |
| 2447 | - response => { | |
| 2448 | - | |
| 2449 | - this.tongjiSshu = response.data.data.content | |
| 2450 | - this.total1 = response.data.data.totalElements | |
| 2451 | - }) | |
| 2452 | - }, | |
| 2453 | - tongjiSubmitret() { | |
| 2454 | - this.tongjiMsg = { | |
| 2455 | - plan_Time: [], | |
| 2456 | - userName: '', | |
| 2457 | - pageNumber: 0, | |
| 2458 | - pageSize: 10, | |
| 2459 | - | |
| 2460 | - } | |
| 2461 | - let page = { | |
| 2462 | - pageNumber: 0, | |
| 2463 | - pageSize: 10, | |
| 2464 | - questionnaireId: this.secondData.id, | |
| 2465 | - } | |
| 2466 | - axios.post(`${this.$API}/cereQuestionnaireAnswering/queryByPage`, page).then( | |
| 2467 | - response => { | |
| 2468 | - | |
| 2469 | - this.tongjiSshu = response.data.data.content | |
| 2470 | - this.total1 = response.data.data.totalElements | |
| 2471 | - }) | |
| 2472 | - }, | |
| 2473 | - copyUrl(url) { | |
| 2474 | - const tempTextArea = document.createElement('textarea'); | |
| 2475 | - // 设置 textarea 的值为要复制的 URL | |
| 2476 | - tempTextArea.value = url; | |
| 2477 | - // 将 textarea 添加到 DOM 中 | |
| 2478 | - document.body.appendChild(tempTextArea); | |
| 2479 | - // 选中 textarea 中的内容 | |
| 2480 | - tempTextArea.select(); | |
| 2481 | - // 执行浏览器的复制命令 | |
| 2482 | - document.execCommand('copy'); | |
| 2483 | - // 从 DOM 中移除临时的 textarea 元素 | |
| 2484 | - document.body.removeChild(tempTextArea); | |
| 2485 | - this.$message({ | |
| 2486 | - message: '复制成功', | |
| 2487 | - type: 'success' | |
| 2488 | - }) | |
| 2489 | - }, | |
| 2490 | - tongjiBoxFan() { | |
| 2491 | - this.tongjiBox = false | |
| 2492 | - //this.getAll() | |
| 2493 | - // location.reload(); | |
| 2494 | - | |
| 2495 | - }, | |
| 2496 | - async load() { | |
| 2497 | - | |
| 2498 | - let page = { | |
| 2499 | - pageNumber: this.tiNum + 1, | |
| 2500 | - pageSize: 10, | |
| 2501 | - questionBank: this.tikuNie, | |
| 2502 | - } | |
| 2503 | - | |
| 2504 | - const tiku = await QuestionGetAll(page) | |
| 2505 | - // this.tikuziyuan = this.tikuziyuan.concat(tiku.data.content) | |
| 2506 | - const uniqueIds = new Set(this.tikuziyuan.map(item => item.id)); // 获取当前tikuziyuan中的所有唯一ID | |
| 2507 | - | |
| 2508 | - this.tikuziyuan = this.tikuziyuan.concat( | |
| 2509 | - tiku.data.content.reduce((acc, cur) => { | |
| 2510 | - if (!uniqueIds.has(cur.id)) { // 如果当前元素的ID不在uniqueIds集合中,则将其添加到acc数组中 | |
| 2511 | - acc.push(cur); | |
| 2512 | - uniqueIds.add(cur.id); // 并将ID添加到uniqueIds集合中 | |
| 2513 | - } | |
| 2514 | - return acc; | |
| 2515 | - }, []) | |
| 2516 | - ) | |
| 2517 | - | |
| 2518 | - }, | |
| 2519 | - getCurrentDate() { | |
| 2520 | - const now = new Date(); | |
| 2521 | - const year = now.getFullYear(); | |
| 2522 | - const month = String(now.getMonth() + 1).padStart(2, '0'); // 月份从0开始,所以要+1 | |
| 2523 | - const day = String(now.getDate()).padStart(2, '0'); | |
| 2524 | - return `${year}-${month}-${day}`; | |
| 2525 | -}, | |
| 2526 | - | |
| 2527 | - getNextDayDate() { | |
| 2528 | - const now = new Date(); | |
| 2529 | - now.setDate(now.getDate() + 1); // 设置到下一天 | |
| 2530 | - const year = now.getFullYear(); | |
| 2531 | - const month = String(now.getMonth() + 1).padStart(2, '0'); // 月份从0开始,所以要+1 | |
| 2532 | - const day = String(now.getDate()).padStart(2, '0'); | |
| 2533 | - return `${year}-${month}-${day}`; | |
| 2534 | -}, | |
| 2535 | - | |
| 2536 | - validateScore(row) { | |
| 2537 | - | |
| 2538 | - // 如果输入的不是数字或者是NaN,则重置为1 | |
| 2539 | - if (isNaN(row.num) || row.num < 0) { | |
| 2540 | - row.num = 0; | |
| 2541 | - } | |
| 2542 | - // 如果输入的数字大于100,则重置为100 | |
| 2543 | - if (row.num > 100) { | |
| 2544 | - row.num = 100; | |
| 2545 | - } | |
| 2546 | - }, | |
| 2547 | - | |
| 2548 | - } | |
| 2549 | - | |
| 2550 | - } | |
| 1472 | + import { | |
| 1473 | + async | |
| 1474 | + } from 'q' | |
| 1475 | + import Vue from 'vue' | |
| 1476 | + import axios from 'axios' | |
| 1477 | + import DynamicChartTable from '@/components/dajuanTongji/index.vue' | |
| 1478 | + import tiaoxing from '@/components/dajuanTongji/tiaoxing.vue' | |
| 1479 | + import wangEditor from '@/components/editor/index'; | |
| 1480 | + import { | |
| 1481 | + TerminaGetAll, | |
| 1482 | + TerminaAdd, | |
| 1483 | + TerminaEdit, | |
| 1484 | + TerminaDel, | |
| 1485 | + QuestionGetAll, | |
| 1486 | + QuestionAdd, | |
| 1487 | + } from '../../api/investigation.js' | |
| 1488 | + import upimg from '@/components/ImageUpload/index' | |
| 1489 | + export default { | |
| 1490 | + components: { | |
| 1491 | + upimg, | |
| 1492 | + DynamicChartTable, | |
| 1493 | + tiaoxing, | |
| 1494 | + wangEditor | |
| 1495 | + }, | |
| 1496 | + data() { | |
| 1497 | + return { | |
| 1498 | + | |
| 1499 | + tableHeight: 600, // 设置为你想要的表格高度,单位是像素 | |
| 1500 | + rid: '男', | |
| 1501 | + checkList: ['服务态度差'], | |
| 1502 | + chartTitle: '题目', | |
| 1503 | + chartOptions: {}, | |
| 1504 | + listOne: [], | |
| 1505 | + listTwo: [], | |
| 1506 | + listThree: [], | |
| 1507 | + | |
| 1508 | + hetongBox: false, | |
| 1509 | + detbox: false, // 详情 | |
| 1510 | + leixing: true, // 切换 | |
| 1511 | + index: 1, | |
| 1512 | + currentPage: 1, | |
| 1513 | + total: 0, | |
| 1514 | + flag: false, | |
| 1515 | + flag1: false, | |
| 1516 | + currentPage1: 1, | |
| 1517 | + total1: 0, | |
| 1518 | + pageSize: 10, | |
| 1519 | + totalTi: 0, | |
| 1520 | + currentPageListTi: 1, | |
| 1521 | + pageSizeTi: 10, | |
| 1522 | + ggXin: false, | |
| 1523 | + formInline: { | |
| 1524 | + createUser: '', | |
| 1525 | + title: '', | |
| 1526 | + startDate: '', | |
| 1527 | + endDate: '', | |
| 1528 | + publishPort: '', | |
| 1529 | + questionnaireType: '', | |
| 1530 | + estimatedTime: null, | |
| 1531 | + remarks: '', | |
| 1532 | + filler: '', | |
| 1533 | + fillingConditions: '可重复填写', | |
| 1534 | + coverImage: '', | |
| 1535 | + rewardForParticipation: '', | |
| 1536 | + questionId: '', | |
| 1537 | + responseStatus: '', | |
| 1538 | + reviewStatus: '1', | |
| 1539 | + needName: '必填', | |
| 1540 | + needPhone: '必填', | |
| 1541 | + needGender: '必填', | |
| 1542 | + needOpinion: '必填', | |
| 1543 | + }, | |
| 1544 | + Xin_Time: [], | |
| 1545 | + plan_Time: [], | |
| 1546 | + followUpTime: [], | |
| 1547 | + tableData: [], | |
| 1548 | + secondData: {}, | |
| 1549 | + formSel: { | |
| 1550 | + title: '', | |
| 1551 | + questionnaireType: '', | |
| 1552 | + reviewStatus: '', | |
| 1553 | + pageNumber: 0, | |
| 1554 | + pageSize: 10, | |
| 1555 | + }, | |
| 1556 | + pageindex: { | |
| 1557 | + pageNumber: 0, | |
| 1558 | + pageSize: 10, | |
| 1559 | + }, | |
| 1560 | + bianjiBox: 1, | |
| 1561 | + chengeTatle: 1, | |
| 1562 | + zhong: { | |
| 1563 | + tikuTitle: '', | |
| 1564 | + questionType: '', | |
| 1565 | + questionBank: '用户端题库', | |
| 1566 | + layoutType: 1, | |
| 1567 | + maxChoose: 0, | |
| 1568 | + isRequired: '必填', | |
| 1569 | + questionDescription: '', | |
| 1570 | + optionSettings: {}, | |
| 1571 | + }, | |
| 1572 | + detaiList: {}, | |
| 1573 | + xiangTabs: 'first', | |
| 1574 | + bianjiTabs: 'first', | |
| 1575 | + tongjiTabs: 'qingK', | |
| 1576 | + bainjiBox: false, | |
| 1577 | + radioValue: 'A', // 参与答卷奖励 | |
| 1578 | + jifen: '', // 积分奖励 | |
| 1579 | + choujiang: '', // 转盘抽奖 | |
| 1580 | + yhq: [], // 优惠券确定 | |
| 1581 | + yhqSel: [], // 优惠券选择 | |
| 1582 | + tikuBox: false, // 选择题库框 | |
| 1583 | + tikuNie: '用户端题库', | |
| 1584 | + danxuan: '', | |
| 1585 | + manyi: '', | |
| 1586 | + timuMsg: '', // 题目搜索 | |
| 1587 | + options: [ | |
| 1588 | + // { index: 1, name: '男', readonly: true }, | |
| 1589 | + // { index: 2, name: '女', readonly: true } | |
| 1590 | + ], | |
| 1591 | + tikuAdd: false, // 新增题目 | |
| 1592 | + tongjiBox: false, // 统计 | |
| 1593 | + daxiangData: {}, | |
| 1594 | + daxiangBox: false, | |
| 1595 | + wenData: [], | |
| 1596 | + wenConstData: [], | |
| 1597 | + tikuziyuan: [], // 题目资源 | |
| 1598 | + secondDataTi: [], // 详情题库 | |
| 1599 | + labelStyle: { | |
| 1600 | + width: '250px' | |
| 1601 | + }, | |
| 1602 | + contentStyle: { | |
| 1603 | + width: '246px' | |
| 1604 | + }, | |
| 1605 | + labelStylejiang: { | |
| 1606 | + width: '180px' | |
| 1607 | + }, | |
| 1608 | + contentStylejiang: { | |
| 1609 | + width: '300px' | |
| 1610 | + }, | |
| 1611 | + timuXiang: false, | |
| 1612 | + timuData: {}, | |
| 1613 | + multipleSelection: [], | |
| 1614 | + xuanzheData: [], | |
| 1615 | + rules: { | |
| 1616 | + title: [{ | |
| 1617 | + required: true, | |
| 1618 | + message: '请输入问卷标题', | |
| 1619 | + trigger: 'blur' | |
| 1620 | + }], | |
| 1621 | + startDate: [{ | |
| 1622 | + required: true, | |
| 1623 | + message: '请选择问卷起止时间', | |
| 1624 | + trigger: 'change' | |
| 1625 | + }], | |
| 1626 | + publishPort: [{ | |
| 1627 | + required: true, | |
| 1628 | + message: '请选择发布端口', | |
| 1629 | + trigger: 'change' | |
| 1630 | + }], | |
| 1631 | + questionnaireType: [{ | |
| 1632 | + required: true, | |
| 1633 | + message: '请选择问卷类型', | |
| 1634 | + trigger: 'change' | |
| 1635 | + }], | |
| 1636 | + estimatedTime: [{ | |
| 1637 | + required: true, | |
| 1638 | + message: '请输入预计填写时长' | |
| 1639 | + }, | |
| 1640 | + { | |
| 1641 | + type: 'number', | |
| 1642 | + message: '必须为数字值' | |
| 1643 | + }, | |
| 1644 | + { | |
| 1645 | + validator: (rule, value, callback) => { | |
| 1646 | + if (value <= 0) { | |
| 1647 | + callback(new Error('预计填写时长必须大于0')); | |
| 1648 | + } else { | |
| 1649 | + callback(); | |
| 1650 | + } | |
| 1651 | + } | |
| 1652 | + } | |
| 1653 | + ], | |
| 1654 | + | |
| 1655 | + filler: [{ | |
| 1656 | + required: true, | |
| 1657 | + message: '请选择填写人', | |
| 1658 | + trigger: 'change' | |
| 1659 | + }], | |
| 1660 | + fillingConditions: [{ | |
| 1661 | + required: true, | |
| 1662 | + message: '请选择填写条件', | |
| 1663 | + trigger: 'change' | |
| 1664 | + }], | |
| 1665 | + coverImage: [{ | |
| 1666 | + required: true, | |
| 1667 | + message: '请上传问卷封面', | |
| 1668 | + trigger: 'change' | |
| 1669 | + }], | |
| 1670 | + createUser: [{ | |
| 1671 | + required: true, | |
| 1672 | + message: '请输入创建人', | |
| 1673 | + trigger: 'blur' | |
| 1674 | + }, ], | |
| 1675 | + }, | |
| 1676 | + | |
| 1677 | + tixrules: { | |
| 1678 | + tikuTitle: [{ | |
| 1679 | + required: true, | |
| 1680 | + message: '请输入题目', | |
| 1681 | + trigger: 'blur' | |
| 1682 | + }, ], | |
| 1683 | + questionType: [{ | |
| 1684 | + required: true, | |
| 1685 | + message: '请选择题型', | |
| 1686 | + trigger: 'change' | |
| 1687 | + }], | |
| 1688 | + questionBank: [{ | |
| 1689 | + required: true, | |
| 1690 | + message: '请选择所属题库', | |
| 1691 | + trigger: 'change' | |
| 1692 | + }], | |
| 1693 | + optionSettings: [{ | |
| 1694 | + required: true, | |
| 1695 | + message: '请设置答案', | |
| 1696 | + trigger: 'change' | |
| 1697 | + }], | |
| 1698 | + | |
| 1699 | + }, | |
| 1700 | + pinForm: { | |
| 1701 | + opinionDelisting: [{ | |
| 1702 | + required: true, | |
| 1703 | + message: '请输入禁用原因', | |
| 1704 | + trigger: 'blur' | |
| 1705 | + }] | |
| 1706 | + }, | |
| 1707 | + xiajiaId: '', | |
| 1708 | + downShow: false, | |
| 1709 | + opinionDel: { | |
| 1710 | + opinionDelisting: '' | |
| 1711 | + }, | |
| 1712 | + yulanShow: false, | |
| 1713 | + wenjuanUrl: '', | |
| 1714 | + model1: {}, | |
| 1715 | + tongjiSshu: [], | |
| 1716 | + tongjiTu: {}, | |
| 1717 | + daanDui: [], | |
| 1718 | + tuwent: [], | |
| 1719 | + | |
| 1720 | + tongjiMsg: { | |
| 1721 | + plan_Time: [], | |
| 1722 | + userName: '', | |
| 1723 | + pageNumber: 0, | |
| 1724 | + pageSize: 10, | |
| 1725 | + }, | |
| 1726 | + tiNum: 0, | |
| 1727 | + isbutton: false, | |
| 1728 | + currentPageList: 1, | |
| 1729 | + pickerOptions: { | |
| 1730 | + disabledDate(time) { | |
| 1731 | + return time.getTime() < Date.now() - 8.64e7; // 禁用当前时间之前的日期 | |
| 1732 | + } | |
| 1733 | + }, | |
| 1734 | + loading: false, | |
| 1735 | + shujuloading: false, | |
| 1736 | + iframaUrl: '', | |
| 1737 | + iframaShow: false, | |
| 1738 | + iframeWin: null, | |
| 1739 | + jiangli: { | |
| 1740 | + id: '1895043663592030209', //活动id | |
| 1741 | + actName: '商业测试活动1', //活动名称 | |
| 1742 | + actStyle: '1', //抽奖样式 1:大转盘 2:砸金蛋 3:刮刮卡 4:翻牌乐 5:福袋 6:摇一摇 | |
| 1743 | + // id:'', | |
| 1744 | + // actName:'', | |
| 1745 | + // actStyle:'', //抽奖样式 1:大转盘 2:砸金蛋 3:刮刮卡 4:翻牌乐 5:福袋 6:摇一摇 | |
| 1746 | + }, | |
| 1747 | + radioreward: '不设置奖励' | |
| 1748 | + } | |
| 1749 | + }, | |
| 1750 | + computed: { | |
| 1751 | + | |
| 1752 | + }, | |
| 1753 | + created() { | |
| 1754 | + this.getAll() | |
| 1755 | + }, | |
| 1756 | + mounted() { | |
| 1757 | + // 监听iframe页面点击按钮触发事件 | |
| 1758 | + window.addEventListener('message', (event) => { | |
| 1759 | + const data = event.data | |
| 1760 | + if (data.code === 'success') { | |
| 1761 | + // alert(data.test) | |
| 1762 | + console.log('id', data.id) | |
| 1763 | + console.log('name', data.name) | |
| 1764 | + console.log('styles', data.style) | |
| 1765 | + this.jiangli = { | |
| 1766 | + id: '' + data.id, | |
| 1767 | + actName: data.name, | |
| 1768 | + actStyle: data.style | |
| 1769 | + } | |
| 1770 | + this.iframaShow = false | |
| 1771 | + } | |
| 1772 | + }) | |
| 1773 | + // this.iframeWin = this.$refs.iframe.contentWindow | |
| 1774 | + }, | |
| 1775 | + methods: { | |
| 1776 | + input(e, e1) { | |
| 1777 | + // this.formInline[e1] = e | |
| 1778 | + | |
| 1779 | + if (e1 == '1') { | |
| 1780 | + this.formInline.coverImage = e | |
| 1781 | + } else { | |
| 1782 | + this.secondData.coverImage = e | |
| 1783 | + } | |
| 1784 | + | |
| 1785 | + | |
| 1786 | + }, | |
| 1787 | + chenge(val) { | |
| 1788 | + this.formSel = { | |
| 1789 | + title: '', | |
| 1790 | + questionnaireType: '', | |
| 1791 | + reviewStatus: '', | |
| 1792 | + pageNumber: 0, | |
| 1793 | + pageSize: 10, | |
| 1794 | + } | |
| 1795 | + this.leixing = !this.leixing | |
| 1796 | + this.chengeTatle = val | |
| 1797 | + }, | |
| 1798 | + async getAll() { | |
| 1799 | + const res = await TerminaGetAll(this.pageindex) | |
| 1800 | + this.tableData = res.data.content | |
| 1801 | + this.total = res.data.totalElements | |
| 1802 | + }, | |
| 1803 | + | |
| 1804 | + // 新增确定按钮 | |
| 1805 | + addCheck(val) { | |
| 1806 | + this.$refs.inlineform.validate((valid) => { | |
| 1807 | + if (valid) { | |
| 1808 | + if (this.Xin_Time != null) { | |
| 1809 | + this.formInline.startDate = this.Xin_Time[0] | |
| 1810 | + this.formInline.endDate = this.Xin_Time[1] | |
| 1811 | + } else { | |
| 1812 | + this.$message({ | |
| 1813 | + message: '请选择问卷时间', | |
| 1814 | + }) | |
| 1815 | + return false; | |
| 1816 | + } | |
| 1817 | + if (this.radioreward == '转盘抽奖') { | |
| 1818 | + if (this.jiangli.id && this.jiangli.id == '') { | |
| 1819 | + this.$message({ | |
| 1820 | + message: '请创建转盘活动', | |
| 1821 | + }) | |
| 1822 | + return false; | |
| 1823 | + } | |
| 1824 | + } else { | |
| 1825 | + this.jiangli.id = '' | |
| 1826 | + this.jiangli.actName = '' | |
| 1827 | + this.jiangli.actStyle = '' | |
| 1828 | + } | |
| 1829 | + let ids = null | |
| 1830 | + if (this.wenConstData.length != 0) { | |
| 1831 | + ids = this.wenConstData.map(item => item.id); | |
| 1832 | + this.formInline.questionId = ids.join(',') | |
| 1833 | + } else { | |
| 1834 | + this.$message({ | |
| 1835 | + message: '请选择问题', | |
| 1836 | + }) | |
| 1837 | + return false; | |
| 1838 | + } | |
| 1839 | + this.formInline.rewardForParticipation = this.jiangli.id | |
| 1840 | + this.formInline.actStyle = this.jiangli.actStyle | |
| 1841 | + this.formInline.actName = this.jiangli.actName | |
| 1842 | + this.formInline.createTime = this.currentTime() | |
| 1843 | + TerminaAdd(this.formInline).then(res => { | |
| 1844 | + if (res.data.code == '500') { | |
| 1845 | + this.$message({ | |
| 1846 | + message: res.data.message, | |
| 1847 | + type: 'error' | |
| 1848 | + }) | |
| 1849 | + } else { | |
| 1850 | + this.$message({ | |
| 1851 | + message: '保存成功', | |
| 1852 | + type: 'success' | |
| 1853 | + }) | |
| 1854 | + this.ggXin = false | |
| 1855 | + this.getAll() | |
| 1856 | + this.$refs.inlineform.resetFields() | |
| 1857 | + this.$refs.ziyuanData.clearSelection(); | |
| 1858 | + this.multipleSelection = [] | |
| 1859 | + } | |
| 1860 | + }) | |
| 1861 | + } else { | |
| 1862 | + this.$message({ | |
| 1863 | + message: '请填写完整信息', | |
| 1864 | + type: 'error' | |
| 1865 | + }) | |
| 1866 | + return false; | |
| 1867 | + } | |
| 1868 | + }) | |
| 1869 | + }, | |
| 1870 | + // 获取时间 | |
| 1871 | + currentTime() { | |
| 1872 | + const date = new Date(); | |
| 1873 | + const year = date.getFullYear(); | |
| 1874 | + let month = date.getMonth() + 1; // 月份从0~11,所以加一 | |
| 1875 | + let day = date.getDate(); | |
| 1876 | + let hours = date.getHours(); | |
| 1877 | + let minutes = date.getMinutes(); | |
| 1878 | + let seconds = date.getSeconds(); | |
| 1879 | + | |
| 1880 | + // 为月、日、小时、分钟和秒添加前导零(如果需要) | |
| 1881 | + month = month < 10 ? '0' + month : month; | |
| 1882 | + day = day < 10 ? '0' + day : day; | |
| 1883 | + hours = hours < 10 ? '0' + hours : hours; | |
| 1884 | + minutes = minutes < 10 ? '0' + minutes : minutes; | |
| 1885 | + seconds = seconds < 10 ? '0' + seconds : seconds; | |
| 1886 | + | |
| 1887 | + // 返回格式化的日期和时间字符串 | |
| 1888 | + return `${year}-${month}-${day} ${hours}:${minutes}`; | |
| 1889 | + }, | |
| 1890 | + objectToArray(obj) { | |
| 1891 | + return Object.keys(obj).map(key => { | |
| 1892 | + const item = obj[key]; | |
| 1893 | + return { | |
| 1894 | + id: key, | |
| 1895 | + ...item | |
| 1896 | + } | |
| 1897 | + }) | |
| 1898 | + }, | |
| 1899 | + | |
| 1900 | + // 详情 | |
| 1901 | + details(val, item) { | |
| 1902 | + this.detbox = true | |
| 1903 | + this.secondData = item | |
| 1904 | + if (typeof item.question === 'string') { | |
| 1905 | + item.question = JSON.parse(item.question) | |
| 1906 | + } | |
| 1907 | + const array = this.objectToArray(item.question) | |
| 1908 | + this.jiangli.id = item.rewardForParticipation | |
| 1909 | + this.wenData = array | |
| 1910 | + // this.secondData.cereQuestionManagements.map((res, index) => { | |
| 1911 | + // if (typeof res.optionSettings == 'string') { | |
| 1912 | + // res.optionSettings = JSON.parse(res.optionSettings) | |
| 1913 | + | |
| 1914 | + // } | |
| 1915 | + // }) | |
| 1916 | + }, | |
| 1917 | + | |
| 1918 | + addbuss(val, item) { | |
| 1919 | + this.index = val | |
| 1920 | + this.detbox = false | |
| 1921 | + this.ggXin = true | |
| 1922 | + }, | |
| 1923 | + | |
| 1924 | + handleCurrentChange1(val) { | |
| 1925 | + this.tongjiMsg.pageNumber = val - 1 | |
| 1926 | + if (this.tongjiMsg.plan_Time.length > 0) { | |
| 1927 | + this.tongjiMsg.createTime = this.tongjiMsg.plan_Time[0] | |
| 1928 | + } | |
| 1929 | + this.tongjiMsg.questionnaireId = this.secondData.id | |
| 1930 | + axios.post(`${this.$API}/cereQuestionnaireAnswering/queryByPage`, this.tongjiMsg) | |
| 1931 | + .then( | |
| 1932 | + response => { | |
| 1933 | + this.tongjiSshu = response.data.data.content | |
| 1934 | + this.total1 = response.data.data.totalElements | |
| 1935 | + }) | |
| 1936 | + }, | |
| 1937 | + handleSizeChange(val) { | |
| 1938 | + this.pageSize = val | |
| 1939 | + }, | |
| 1940 | + handleCurrentChange(val) { | |
| 1941 | + this.pageindex = { | |
| 1942 | + pageNumber: val - 1, | |
| 1943 | + pageSize: 10, | |
| 1944 | + } | |
| 1945 | + | |
| 1946 | + TerminaGetAll(this.pageindex).then(res => { | |
| 1947 | + this.tableData = res.data.content | |
| 1948 | + }) | |
| 1949 | + }, | |
| 1950 | + handleSizeChangeTi(val) { | |
| 1951 | + this.pageSizeTi = val | |
| 1952 | + }, | |
| 1953 | + async handleCurrentChangeTi(val) { | |
| 1954 | + const pageindex = { | |
| 1955 | + pageNumber: val - 1, | |
| 1956 | + pageSize: 10, | |
| 1957 | + questionBank: this.tikuNie, | |
| 1958 | + questionType: this.danxuan, | |
| 1959 | + tikuTitle: this.timuMsg, | |
| 1960 | + } | |
| 1961 | + const tiku = await QuestionGetAll(pageindex) | |
| 1962 | + this.tikuziyuan = tiku.data.content | |
| 1963 | + this.totalTi = tiku.data.totalElements | |
| 1964 | + // TerminaGetAll(this.pageindex).then(res => { | |
| 1965 | + // this.tableData = res.data.content | |
| 1966 | + // }) | |
| 1967 | + }, | |
| 1968 | + closeFn(val) { | |
| 1969 | + this.bianjiTabs = 'first' | |
| 1970 | + this.xiangTabs = 'first' | |
| 1971 | + this.bianjiBox = 1 | |
| 1972 | + if (val == 1) { | |
| 1973 | + this.$refs.inlineform.resetFields() | |
| 1974 | + this.ggXin = false | |
| 1975 | + } else { | |
| 1976 | + this.$refs.bianform.resetFields() | |
| 1977 | + this.bainjiBox = false | |
| 1978 | + } | |
| 1979 | + }, | |
| 1980 | + // 详情编辑 | |
| 1981 | + async bianji() { | |
| 1982 | + if (this.bianjiBox == 1) { | |
| 1983 | + this.bianjiBox = 2 | |
| 1984 | + } else { | |
| 1985 | + this.bianjiBox = 1 | |
| 1986 | + | |
| 1987 | + const formList = {} | |
| 1988 | + const res = await TerminaEdit(formList) | |
| 1989 | + | |
| 1990 | + this.detbox = false | |
| 1991 | + } | |
| 1992 | + }, | |
| 1993 | + // 查看合同 | |
| 1994 | + lookHetong(val) { | |
| 1995 | + this.hetongBox = true | |
| 1996 | + }, | |
| 1997 | + // 查询按钮 | |
| 1998 | + async onSubmit() { | |
| 1999 | + this.isbutton = true; | |
| 2000 | + const res = await TerminaGetAll(this.formSel) | |
| 2001 | + this.tableData = res.data.content | |
| 2002 | + this.total = res.data.totalElements | |
| 2003 | + this.isbutton = false; | |
| 2004 | + }, | |
| 2005 | + // 重置按钮 | |
| 2006 | + resetting() { | |
| 2007 | + this.formSel = { | |
| 2008 | + title: '', | |
| 2009 | + questionnaireType: '', | |
| 2010 | + reviewStatus: '', | |
| 2011 | + pageNumber: 0, | |
| 2012 | + pageSize: 10, | |
| 2013 | + }, | |
| 2014 | + this.currentPageList = 1 | |
| 2015 | + this.pageindex.pageNumber = 0 | |
| 2016 | + this.getAll() | |
| 2017 | + }, | |
| 2018 | + radioClick(value) { | |
| 2019 | + if (value === '不设置奖励') { | |
| 2020 | + this.jifen = '' // 积分奖励 | |
| 2021 | + this.choujiang = '' // 转盘抽奖 | |
| 2022 | + this.yhq = [] // 优惠券确定 | |
| 2023 | + } else if (value === '奖励积分') { | |
| 2024 | + this.choujiang = '' // 转盘抽奖 | |
| 2025 | + this.yhq = [] // 优惠券确定 | |
| 2026 | + } else if (value === '转盘抽奖') { | |
| 2027 | + this.jifen = '' | |
| 2028 | + this.yhq = [] | |
| 2029 | + } else if (value === '优惠券') { | |
| 2030 | + this.jifen = '' // 积分奖励 | |
| 2031 | + this.choujiang = '' // 转盘抽奖 | |
| 2032 | + } | |
| 2033 | + }, | |
| 2034 | + async selTiku() { | |
| 2035 | + this.tiNum = 0 | |
| 2036 | + // this.zhong = { | |
| 2037 | + // tikuTitle:'', | |
| 2038 | + // questionType:'', | |
| 2039 | + // questionBank:'用户端题库', | |
| 2040 | + // isRequired:'', | |
| 2041 | + // questionDescription:'', | |
| 2042 | + // optionSettings:{}, | |
| 2043 | + // } | |
| 2044 | + this.tikuNie = '用户端题库' | |
| 2045 | + this.tikuBox = true | |
| 2046 | + const page = { | |
| 2047 | + pageNumber: 0, | |
| 2048 | + pageSize: 10, | |
| 2049 | + questionBank: '用户端题库', | |
| 2050 | + } | |
| 2051 | + | |
| 2052 | + const tiku = await QuestionGetAll(page) | |
| 2053 | + this.tikuziyuan = tiku.data.content | |
| 2054 | + this.totalTi = tiku.data.totalElements | |
| 2055 | + }, | |
| 2056 | + addOption() { | |
| 2057 | + const newOption = { | |
| 2058 | + index: this.options.length + 1, | |
| 2059 | + name: '', | |
| 2060 | + readonly: false | |
| 2061 | + }; | |
| 2062 | + this.options.push(newOption); | |
| 2063 | + }, | |
| 2064 | + deleteOption(index) { | |
| 2065 | + this.options.splice(index, 1); | |
| 2066 | + }, | |
| 2067 | + bianls(item) { | |
| 2068 | + this.secondData = item | |
| 2069 | + Vue.set(this.plan_Time, 0, this.secondData.startDate) | |
| 2070 | + Vue.set(this.plan_Time, 1, this.secondData.endDate) | |
| 2071 | + if (typeof item.question === 'string') { | |
| 2072 | + item.question = JSON.parse(item.question) | |
| 2073 | + } | |
| 2074 | + if (item.rewardForParticipation != '') { | |
| 2075 | + this.radioreward = '转盘抽奖' | |
| 2076 | + } else { | |
| 2077 | + this.radioreward = '不设置奖励' | |
| 2078 | + } | |
| 2079 | + this.jiangli.id = item.rewardForParticipation | |
| 2080 | + this.jiangli.actName = item.actName | |
| 2081 | + this.secondDataTi = item.cereQuestionManagements | |
| 2082 | + this.bainjiBox = true | |
| 2083 | + | |
| 2084 | + }, | |
| 2085 | + bianCheck() { | |
| 2086 | + if (this.secondData && this.secondData.cereQuestionManagements) { | |
| 2087 | + delete this.secondData.cereQuestionManagements; | |
| 2088 | + } | |
| 2089 | + | |
| 2090 | + if (typeof this.secondData.question != 'string') { | |
| 2091 | + this.secondData.question = JSON.stringify(this.secondData.question) | |
| 2092 | + } | |
| 2093 | + | |
| 2094 | + if (this.plan_Time.length != 0) { | |
| 2095 | + this.secondData.startDate = this.plan_Time[0] | |
| 2096 | + this.secondData.endDate = this.plan_Time[1] | |
| 2097 | + } | |
| 2098 | + | |
| 2099 | + let ids = [] | |
| 2100 | + if (this.secondDataTi.length != 0) { | |
| 2101 | + ids = this.secondDataTi.map(item => item.id); | |
| 2102 | + } | |
| 2103 | + if (this.radioreward == '转盘抽奖') { | |
| 2104 | + if (this.jiangli.id && this.jiangli.id == '') { | |
| 2105 | + this.$message({ | |
| 2106 | + message: '请创建转盘活动', | |
| 2107 | + }) | |
| 2108 | + return false; | |
| 2109 | + } | |
| 2110 | + } else { | |
| 2111 | + this.jiangli.id = '' | |
| 2112 | + this.jiangli.actStyle = '' | |
| 2113 | + this.jiangli.actName = '' | |
| 2114 | + } | |
| 2115 | + this.secondData.rewardForParticipation = this.jiangli.id | |
| 2116 | + this.secondData.actStyle = this.jiangli.actStyle | |
| 2117 | + this.secondData.actName = this.jiangli.actName | |
| 2118 | + this.secondData.questionId = ids.join(',') | |
| 2119 | + this.secondData.updateTime = this.currentTime() | |
| 2120 | + | |
| 2121 | + TerminaEdit(this.secondData).then(res => { | |
| 2122 | + this.getAll() | |
| 2123 | + this.bainjiBox = false | |
| 2124 | + }) | |
| 2125 | + }, | |
| 2126 | + tongji(item) { | |
| 2127 | + this.tongjiSshu = [] | |
| 2128 | + this.tongjiTu = {} | |
| 2129 | + this.total1 = 0 | |
| 2130 | + this.tongjiTabs = 'qingK' | |
| 2131 | + this.tongjiMsg = { | |
| 2132 | + plan_Time: [], | |
| 2133 | + userName: '', | |
| 2134 | + pageNumber: 0, | |
| 2135 | + pageSize: 10, | |
| 2136 | + | |
| 2137 | + } | |
| 2138 | + | |
| 2139 | + var that = this; | |
| 2140 | + this.secondData = item | |
| 2141 | + this.secondData.cereQuestionManagements.map((res, index) => { | |
| 2142 | + if (typeof res.optionSettings === 'string') { | |
| 2143 | + res.optionSettings = JSON.parse(res.optionSettings) | |
| 2144 | + } | |
| 2145 | + this.secondData.cereQuestionManagements[index].ziduan = [] | |
| 2146 | + }) | |
| 2147 | + | |
| 2148 | + const postList = { | |
| 2149 | + pageNumber: 0, | |
| 2150 | + pageSize: 10, | |
| 2151 | + questionnaireId: item.id, | |
| 2152 | + } | |
| 2153 | + | |
| 2154 | + this.tongjiBox = true | |
| 2155 | + this.loading = true | |
| 2156 | + | |
| 2157 | + axios.post(`${this.$API}/cereQuestionnaireAnswering/queryByPage`, postList).then( | |
| 2158 | + response => { | |
| 2159 | + if (response.data.code == '200') { | |
| 2160 | + this.loading = false | |
| 2161 | + this.tongjiSshu = response.data.data.content | |
| 2162 | + this.total1 = response.data.data.totalElements | |
| 2163 | + } | |
| 2164 | + }).catch(err => { | |
| 2165 | + this.loading = false | |
| 2166 | + this.$message({ | |
| 2167 | + message: '网络不好,请稍后再试', | |
| 2168 | + type: 'error' | |
| 2169 | + }) | |
| 2170 | + }) | |
| 2171 | + }, | |
| 2172 | + tongjiClick(tab, event) { | |
| 2173 | + | |
| 2174 | + if (tab.index == '1') { | |
| 2175 | + this.shujuloading = true | |
| 2176 | + const postData = { | |
| 2177 | + questionnaireId: this.secondData.id | |
| 2178 | + } | |
| 2179 | + axios.post(`${this.$API}/cereQuestionnaireAnswering/statistics`, postData).then( | |
| 2180 | + response => { | |
| 2181 | + if (Object.keys(response.data.data).length === 0) { | |
| 2182 | + this.shujuloading = false | |
| 2183 | + this.$message({ | |
| 2184 | + message: '数据还在统计中,请稍后再试', | |
| 2185 | + type: 'success' | |
| 2186 | + }) | |
| 2187 | + | |
| 2188 | + return | |
| 2189 | + } | |
| 2190 | + this.shujuloading = false | |
| 2191 | + const obj = response.data.data | |
| 2192 | + | |
| 2193 | + this.tongjiTu = obj | |
| 2194 | + var tuwent = []; | |
| 2195 | + var tlist = []; | |
| 2196 | + if (typeof response.data.data.cereQuestionnaireTable.question === 'string') { | |
| 2197 | + this.tuwent = JSON.parse(response.data.data.cereQuestionnaireTable.question) | |
| 2198 | + } | |
| 2199 | + var that = this; | |
| 2200 | + | |
| 2201 | + this.$nextTick(function() { | |
| 2202 | + try { | |
| 2203 | + if (that.tuwent) { | |
| 2204 | + for (var i in that.tuwent) { | |
| 2205 | + try { | |
| 2206 | + that.$refs['chat' + i][0].init(obj) | |
| 2207 | + } catch (e) { | |
| 2208 | + console.error('chat refs init error', e); | |
| 2209 | + } | |
| 2210 | + } | |
| 2211 | + } else { | |
| 2212 | + console.log('tuwent is null', that.tuwent) | |
| 2213 | + } | |
| 2214 | + } catch (e) { | |
| 2215 | + console.error('chat error', e); | |
| 2216 | + } | |
| 2217 | + }); | |
| 2218 | + // this.tuwent = tlist; | |
| 2219 | + | |
| 2220 | + // this.tuwent = Object.values(this.tuwent).filter(res => res.type !== '文本'); | |
| 2221 | + }).catch(err => { | |
| 2222 | + this.shujuloading = false | |
| 2223 | + this.$message({ | |
| 2224 | + message: '网络不好,请稍后再试', | |
| 2225 | + type: 'error' | |
| 2226 | + }) | |
| 2227 | + }) | |
| 2228 | + } | |
| 2229 | + }, | |
| 2230 | + xuanxiang(obj) { | |
| 2231 | + const result = []; | |
| 2232 | + | |
| 2233 | + for (const key in obj) { | |
| 2234 | + if (obj.hasOwnProperty(key)) { | |
| 2235 | + const item = obj[key]; | |
| 2236 | + const [type, titleAndOptions] = item.split('$'); | |
| 2237 | + | |
| 2238 | + const [isRequired, options] = titleAndOptions.split('#'); | |
| 2239 | + | |
| 2240 | + const [title, values] = options.split(':'); | |
| 2241 | + | |
| 2242 | + const [optionsPart, valuesPart] = values.split('>'); | |
| 2243 | + | |
| 2244 | + const optionArray = optionsPart.split('^').map(part => part.split('|')[1]); | |
| 2245 | + | |
| 2246 | + const valueArray = valuesPart ? valuesPart.split('^').map(part => part.split('|')[1]) : []; | |
| 2247 | + | |
| 2248 | + result.push({ | |
| 2249 | + type: type.trim(), | |
| 2250 | + ispu: isRequired.trim(), | |
| 2251 | + timu: title.trim(), | |
| 2252 | + xuanxiang: optionArray, | |
| 2253 | + xuanval: valueArray | |
| 2254 | + }); | |
| 2255 | + } | |
| 2256 | + } | |
| 2257 | + | |
| 2258 | + return result; | |
| 2259 | + }, | |
| 2260 | + daxiang(item) { | |
| 2261 | + this.daxiangData = item | |
| 2262 | + | |
| 2263 | + const selectoptions = null | |
| 2264 | + | |
| 2265 | + if (typeof this.daxiangData.question === 'string') { | |
| 2266 | + this.daxiangData.question = JSON.parse(this.daxiangData.question) | |
| 2267 | + } | |
| 2268 | + | |
| 2269 | + | |
| 2270 | + for (let key in this.daxiangData.question) { | |
| 2271 | + | |
| 2272 | + if (this.daxiangData.question[key].type == '单选') { | |
| 2273 | + | |
| 2274 | + if (Array.isArray(this.daxiangData.question[key].choose)) { | |
| 2275 | + this.daxiangData.question[key].choose = this.daxiangData.question[key].choose.join(',') | |
| 2276 | + | |
| 2277 | + } | |
| 2278 | + } | |
| 2279 | + if (this.daxiangData.question[key].type == '文本') { | |
| 2280 | + this.daxiangData.question[key].choose = this.daxiangData.question[key].choose[0] | |
| 2281 | + } | |
| 2282 | + } | |
| 2283 | + | |
| 2284 | + // this.daxiangData.question = this.xuanxiang(question) | |
| 2285 | + | |
| 2286 | + // for (const key in this.daxiangData.question) { | |
| 2287 | + // if(this.daxiangData.question[key].type=='多选' && typeof this.daxiangData.question[key] =='string'){ | |
| 2288 | + // this.daxiangData.question[key].choose = this.daxiangData.question[key].choose.split(",") | |
| 2289 | + // } | |
| 2290 | + // } | |
| 2291 | + | |
| 2292 | + this.secondData.cereQuestionManagements.map((res, index) => { | |
| 2293 | + if (this.daanDui[index]) { | |
| 2294 | + const obj = this.daanDui[index].split(',') | |
| 2295 | + res.ziduan = obj | |
| 2296 | + } | |
| 2297 | + }) | |
| 2298 | + | |
| 2299 | + this.daxiangBox = true | |
| 2300 | + }, | |
| 2301 | + | |
| 2302 | + // 新增题库 | |
| 2303 | + Addtiku(val) { | |
| 2304 | + const that = this | |
| 2305 | + | |
| 2306 | + if (this.zhong.tikuTitle == '') { | |
| 2307 | + this.$message({ | |
| 2308 | + message: '请输入题目', | |
| 2309 | + }) | |
| 2310 | + return; | |
| 2311 | + } | |
| 2312 | + if (this.zhong.questionType == '') { | |
| 2313 | + this.$message({ | |
| 2314 | + message: '请选择题型', | |
| 2315 | + }) | |
| 2316 | + return; | |
| 2317 | + } | |
| 2318 | + if (this.zhong.questionType != '文本' && this.options.length == 0) { | |
| 2319 | + this.$message({ | |
| 2320 | + message: '请添加答案选项', | |
| 2321 | + }) | |
| 2322 | + return; | |
| 2323 | + } | |
| 2324 | + for (let i = 0; i < this.options.length; i++) { | |
| 2325 | + if (this.options[i].name == '') { | |
| 2326 | + this.$message({ | |
| 2327 | + message: '答案选项不能为空', | |
| 2328 | + }) | |
| 2329 | + return | |
| 2330 | + } | |
| 2331 | + } | |
| 2332 | + let accumulator = {} | |
| 2333 | + let fenshu = {} | |
| 2334 | + this.options.forEach((item, index) => { | |
| 2335 | + accumulator[index] = item.name | |
| 2336 | + fenshu[index] = Number(item.num) || 0 | |
| 2337 | + }) | |
| 2338 | + // this.zhong.optionSettings = this.options.reduce((accumulator, current) => { | |
| 2339 | + // accumulator[current.index] = current.name; | |
| 2340 | + // return accumulator; | |
| 2341 | + // }, {}) // 初始化累加器为空对象 | |
| 2342 | + | |
| 2343 | + // this.zhong.score = this.options.reduce((accumulator, current) => { | |
| 2344 | + // accumulator[current.index] = Number(current.num); | |
| 2345 | + // return accumulator; | |
| 2346 | + // }, {}) // 初始化累加器为空对象 | |
| 2347 | + this.zhong.optionSettings = JSON.stringify(accumulator) | |
| 2348 | + this.zhong.score = JSON.stringify(fenshu) | |
| 2349 | + | |
| 2350 | + // this.zhong.optionSettings = JSON.stringify(this.zhong.optionSettings) | |
| 2351 | + // this.zhong.score = JSON.stringify(this.zhong.score) | |
| 2352 | + this.zhong.createDate = this.currentTime() | |
| 2353 | + | |
| 2354 | + QuestionAdd(this.zhong).then((res) => { | |
| 2355 | + if (val == 1) { | |
| 2356 | + | |
| 2357 | + that.wenConstData.push(res.data) | |
| 2358 | + | |
| 2359 | + } else { | |
| 2360 | + that.secondDataTi.push(res.data) | |
| 2361 | + } | |
| 2362 | + this.$message({ | |
| 2363 | + message: '保存成功', | |
| 2364 | + type: 'success' | |
| 2365 | + }) | |
| 2366 | + this.getAll() | |
| 2367 | + this.options = [] | |
| 2368 | + | |
| 2369 | + this.multipleSelection = [] | |
| 2370 | + this.tikuAdd = false | |
| 2371 | + }) | |
| 2372 | + }, | |
| 2373 | + // 题库切换选择 | |
| 2374 | + async tikuchange(val) { | |
| 2375 | + const page = { | |
| 2376 | + pageNumber: 0, | |
| 2377 | + pageSize: 10, | |
| 2378 | + questionBank: val, | |
| 2379 | + } | |
| 2380 | + const tiku = await QuestionGetAll(page) | |
| 2381 | + this.tikuziyuan = tiku.data.content | |
| 2382 | + this.totalTi = tiku.data.totalElements | |
| 2383 | + }, | |
| 2384 | + | |
| 2385 | + async tikusous() { | |
| 2386 | + const page = { | |
| 2387 | + pageNumber: 0, | |
| 2388 | + pageSize: 10, | |
| 2389 | + questionBank: this.tikuNie, | |
| 2390 | + questionType: this.danxuan, | |
| 2391 | + tikuTitle: this.timuMsg, | |
| 2392 | + } | |
| 2393 | + const tiku = await QuestionGetAll(page) | |
| 2394 | + this.tikuziyuan = tiku.data.content | |
| 2395 | + this.totalTi = tiku.data.totalElements | |
| 2396 | + }, | |
| 2397 | + async tikuclose() { | |
| 2398 | + this.tikuNie = '用户端题库' | |
| 2399 | + this.danxuan = '' | |
| 2400 | + this.timuMsg = '' | |
| 2401 | + this.manyi = '' | |
| 2402 | + const page = { | |
| 2403 | + pageNumber: 0, | |
| 2404 | + pageSize: 10, | |
| 2405 | + questionBank: this.tikuNie, | |
| 2406 | + } | |
| 2407 | + const tiku = await QuestionGetAll(page) | |
| 2408 | + this.tikuziyuan = tiku.data.content | |
| 2409 | + this.totalTi = tiku.data.totalElements | |
| 2410 | + }, | |
| 2411 | + gotimuxiang(item) { | |
| 2412 | + this.timuData = item | |
| 2413 | + if (typeof item.optionSettings !== 'object') { | |
| 2414 | + this.timuData.optionSettings = JSON.parse(item.optionSettings) | |
| 2415 | + } | |
| 2416 | + this.timuXiang = true | |
| 2417 | + }, | |
| 2418 | + handleSelectionChange(val) { | |
| 2419 | + // if(this.tikuNie =='用户端题库'){ | |
| 2420 | + // this.listOne = val | |
| 2421 | + // }else if(this.tikuNie =='商户端题库'){ | |
| 2422 | + // this.listTwo = val | |
| 2423 | + | |
| 2424 | + // }else{ | |
| 2425 | + // this.listThree = val | |
| 2426 | + // } | |
| 2427 | + | |
| 2428 | + this.multipleSelection = val | |
| 2429 | + | |
| 2430 | + // this.xuanzheData = this.xuanzheData.concat(val) | |
| 2431 | + // this.xuanzheData = [...new Set(this.xuanzheData)] | |
| 2432 | + }, | |
| 2433 | + tiSelQue(val) { | |
| 2434 | + if (val == 1) { | |
| 2435 | + // wenConstData secondDataTi | |
| 2436 | + | |
| 2437 | + // this.wenConstData = [...this.listOne, ...this.listTwo, ...this.listThree] | |
| 2438 | + this.multipleSelection.forEach(item => { | |
| 2439 | + const isDuplicate = this.wenConstData.some(existingItem => existingItem.id === item.id); | |
| 2440 | + if (!isDuplicate) { | |
| 2441 | + this.wenConstData.push(item); | |
| 2442 | + } | |
| 2443 | + }) | |
| 2444 | + } else { | |
| 2445 | + this.multipleSelection.forEach(item => { | |
| 2446 | + const isDuplicate = this.secondDataTi.some(existingItem => existingItem.id === item.id); | |
| 2447 | + | |
| 2448 | + if (!isDuplicate) { | |
| 2449 | + this.secondDataTi.push(item); | |
| 2450 | + } | |
| 2451 | + }); | |
| 2452 | + } | |
| 2453 | + this.tiNum = 0 | |
| 2454 | + this.tikuNie = '' | |
| 2455 | + this.danxuan = '' | |
| 2456 | + this.timuMsg = '' | |
| 2457 | + this.pageSizeTi = 10 | |
| 2458 | + this.currentPageListTi = 1 | |
| 2459 | + this.totalTi = 0 | |
| 2460 | + this.$refs.ziyuanData.clearSelection() | |
| 2461 | + this.tikuBox = false | |
| 2462 | + }, | |
| 2463 | + delWenCon(val, index) { | |
| 2464 | + if (val == '1') { | |
| 2465 | + this.xuanzheData.splice(index, 1) | |
| 2466 | + this.wenConstData.splice(index, 1) | |
| 2467 | + } else { | |
| 2468 | + this.secondDataTi.splice(index, 1) | |
| 2469 | + } | |
| 2470 | + }, | |
| 2471 | + fabu(val, item) { | |
| 2472 | + const h = this.$createElement; | |
| 2473 | + this.$msgbox({ | |
| 2474 | + title: '消息', | |
| 2475 | + message: h('p', null, [ | |
| 2476 | + h('span', null, '是否提交 '), | |
| 2477 | + ]), | |
| 2478 | + showCancelButton: true, | |
| 2479 | + showClose: false, | |
| 2480 | + confirmButtonText: '确定', | |
| 2481 | + cancelButtonText: '取消', | |
| 2482 | + customClass: 'oe-dialog-btn', | |
| 2483 | + beforeClose: (action, instance, done) => { | |
| 2484 | + if (action === 'confirm') { | |
| 2485 | + TerminaEdit({ | |
| 2486 | + id: item.id, | |
| 2487 | + reviewStatus: val | |
| 2488 | + }).then(res => { | |
| 2489 | + this.getAll() | |
| 2490 | + done(); | |
| 2491 | + }) | |
| 2492 | + } else { | |
| 2493 | + done(); | |
| 2494 | + } | |
| 2495 | + } | |
| 2496 | + }) | |
| 2497 | + }, | |
| 2498 | + downs(item) { | |
| 2499 | + this.xiajiaId = item.id | |
| 2500 | + this.downShow = true | |
| 2501 | + }, | |
| 2502 | + async downShowCheck() { | |
| 2503 | + if (this.opinionDel.opinionDelisting == '') { | |
| 2504 | + this.$message({ | |
| 2505 | + message: '请输入禁用原因', | |
| 2506 | + }) | |
| 2507 | + return; | |
| 2508 | + } | |
| 2509 | + await TerminaEdit({ | |
| 2510 | + id: this.xiajiaId, | |
| 2511 | + reviewStatus: '5', | |
| 2512 | + opinionDelisting: this.opinionDel.opinionDelisting | |
| 2513 | + }) | |
| 2514 | + this.downShow = false | |
| 2515 | + this.getAll() | |
| 2516 | + }, | |
| 2517 | + delwen(item) { | |
| 2518 | + const h = this.$createElement; | |
| 2519 | + this.$msgbox({ | |
| 2520 | + title: '消息', | |
| 2521 | + message: h('p', null, [ | |
| 2522 | + h('span', null, '是否删除 '), | |
| 2523 | + ]), | |
| 2524 | + showCancelButton: true, | |
| 2525 | + showClose: false, | |
| 2526 | + confirmButtonText: '确定', | |
| 2527 | + cancelButtonText: '取消', | |
| 2528 | + customClass: 'oe-dialog-btn', | |
| 2529 | + beforeClose: (action, instance, done) => { | |
| 2530 | + if (action === 'confirm') { | |
| 2531 | + TerminaDel({ | |
| 2532 | + id: item.id | |
| 2533 | + }).then(res => { | |
| 2534 | + this.getAll() | |
| 2535 | + done(); | |
| 2536 | + }) | |
| 2537 | + } else { | |
| 2538 | + done(); | |
| 2539 | + } | |
| 2540 | + } | |
| 2541 | + }) | |
| 2542 | + }, | |
| 2543 | + addyu() { | |
| 2544 | + | |
| 2545 | + }, | |
| 2546 | + parseData(obj) { | |
| 2547 | + const result = []; | |
| 2548 | + | |
| 2549 | + for (const key in obj) { | |
| 2550 | + if (obj.hasOwnProperty(key)) { | |
| 2551 | + const item = obj[key]; | |
| 2552 | + const [type, titleAndOptions] = item.split('$'); | |
| 2553 | + const [isRequired, options] = titleAndOptions.split('#'); | |
| 2554 | + const [title, dansi] = options.split(':'); | |
| 2555 | + const xuanxiang = dansi.split('^').map(option => { | |
| 2556 | + const [index, value, score] = option.split('|'); | |
| 2557 | + return value; | |
| 2558 | + }); | |
| 2559 | + | |
| 2560 | + result.push({ | |
| 2561 | + timu: title, | |
| 2562 | + type: type, | |
| 2563 | + isphu: isRequired, | |
| 2564 | + xuanxiang: xuanxiang | |
| 2565 | + }); | |
| 2566 | + } | |
| 2567 | + } | |
| 2568 | + | |
| 2569 | + return result; | |
| 2570 | + }, | |
| 2571 | + yulan(item) { | |
| 2572 | + this.secondData = item | |
| 2573 | + | |
| 2574 | + if (typeof this.secondData.question != 'object') { | |
| 2575 | + this.secondData.question = JSON.parse(this.secondData.question) | |
| 2576 | + } | |
| 2577 | + const host = `${window.location.protocol}//${window.location.host}` | |
| 2578 | + this.wenjuanUrl = `${host}/cdwlMall/meh5/pages_category_page1/question/question?ids=${item.id}` | |
| 2579 | + | |
| 2580 | + this.yulanShow = true | |
| 2581 | + | |
| 2582 | + }, | |
| 2583 | + addggXin() { | |
| 2584 | + this.formInline = { | |
| 2585 | + createUser: '', | |
| 2586 | + title: '', | |
| 2587 | + startDate: '', | |
| 2588 | + endDate: '', | |
| 2589 | + publishPort: '', | |
| 2590 | + questionnaireType: '', | |
| 2591 | + estimatedTime: null, | |
| 2592 | + remarks: '', | |
| 2593 | + filler: '', | |
| 2594 | + fillingConditions: '可重复填写', | |
| 2595 | + coverImage: '', | |
| 2596 | + rewardForParticipation: '', | |
| 2597 | + questionId: '', | |
| 2598 | + responseStatus: '', | |
| 2599 | + reviewStatus: '1', | |
| 2600 | + needName: '必填', | |
| 2601 | + needPhone: '必填', | |
| 2602 | + needGender: '必填', | |
| 2603 | + needOpinion: '必填', | |
| 2604 | + } | |
| 2605 | + this.jiangli = { | |
| 2606 | + id: '', | |
| 2607 | + actName: '', | |
| 2608 | + actStyle: '' | |
| 2609 | + } | |
| 2610 | + this.xuanzheData = [] | |
| 2611 | + this.radioreward = '不设置奖励' | |
| 2612 | + const today = new Date(); | |
| 2613 | + const startOfToday = new Date(today.getFullYear(), today.getMonth(), today.getDate()); | |
| 2614 | + const endOfToday = new Date(today.getFullYear(), today.getMonth(), today.getDate()); | |
| 2615 | + this.Xin_Time = [this.getCurrentDate(), this.getNextDayDate()] | |
| 2616 | + this.wenConstData = [] | |
| 2617 | + this.ggXin = true | |
| 2618 | + }, | |
| 2619 | + addTikuShow() { | |
| 2620 | + this.zhong = { | |
| 2621 | + tikuTitle: '', | |
| 2622 | + questionType: '', | |
| 2623 | + questionBank: '用户端题库', | |
| 2624 | + layoutType: 1, | |
| 2625 | + maxChoose: 0, | |
| 2626 | + isRequired: '必填', | |
| 2627 | + questionDescription: '', | |
| 2628 | + optionSettings: {}, | |
| 2629 | + } | |
| 2630 | + this.options = [] | |
| 2631 | + | |
| 2632 | + this.tikuAdd = true | |
| 2633 | + }, | |
| 2634 | + quxiao(val) { | |
| 2635 | + this.multipleSelection = [] | |
| 2636 | + this.options = [] | |
| 2637 | + this.$refs.tixform.resetFields() | |
| 2638 | + // if (val == 1) { | |
| 2639 | + // this.$refs.tixform.resetFields() | |
| 2640 | + // } else { | |
| 2641 | + | |
| 2642 | + // this.$refs.form.resetFields() | |
| 2643 | + // } | |
| 2644 | + }, | |
| 2645 | + | |
| 2646 | + hangSelchange() { | |
| 2647 | + const postList = { | |
| 2648 | + pageNumber: 0, | |
| 2649 | + pageSize: 10, | |
| 2650 | + questionnaireId: item.id, | |
| 2651 | + } | |
| 2652 | + axios.post(`${this.$API}/cereQuestionnaireAnswering/queryByPage`, postList).then( | |
| 2653 | + response => { | |
| 2654 | + this.tongjiSshu = response.data.data.content | |
| 2655 | + this.total1 = response.data.data.totalElements | |
| 2656 | + }) | |
| 2657 | + }, | |
| 2658 | + secondsToMinutesAndSeconds(s) { | |
| 2659 | + if (s) { | |
| 2660 | + // 将输入的秒数转换为数值类型并取整 | |
| 2661 | + s = Math.floor(Number(s)); | |
| 2662 | + | |
| 2663 | + // 计算分钟和剩余的秒数 | |
| 2664 | + const minutes = Math.floor(s / 60); | |
| 2665 | + let remainingSeconds = s % 60; | |
| 2666 | + | |
| 2667 | + // 确保剩余的秒数始终是整数 | |
| 2668 | + remainingSeconds = Math.floor(remainingSeconds); | |
| 2669 | + | |
| 2670 | + // 根据是否有分钟来返回相应的字符串 | |
| 2671 | + if (minutes === 0) { | |
| 2672 | + return `${remainingSeconds} 秒`; | |
| 2673 | + } else { | |
| 2674 | + return `${minutes} 分 ${remainingSeconds} 秒`; | |
| 2675 | + } | |
| 2676 | + } else { | |
| 2677 | + return 0 | |
| 2678 | + } | |
| 2679 | + }, | |
| 2680 | + | |
| 2681 | + tongjiSubmit() { | |
| 2682 | + const page = { | |
| 2683 | + pageNumber: 0, | |
| 2684 | + pageSize: 10, | |
| 2685 | + userName: this.tongjiMsg.userName, | |
| 2686 | + questionnaireId: this.secondData.id, | |
| 2687 | + } | |
| 2688 | + | |
| 2689 | + if (this.tongjiMsg.plan_Time.length != 0) { | |
| 2690 | + page.startTime = this.tongjiMsg.plan_Time[0] | |
| 2691 | + page.endTime = this.tongjiMsg.plan_Time[1] | |
| 2692 | + } | |
| 2693 | + | |
| 2694 | + axios.post(`${this.$API}/cereQuestionnaireAnswering/queryByPage`, page).then( | |
| 2695 | + response => { | |
| 2696 | + this.tongjiSshu = response.data.data.content | |
| 2697 | + this.total1 = response.data.data.totalElements | |
| 2698 | + }) | |
| 2699 | + }, | |
| 2700 | + tongjiSubmitret() { | |
| 2701 | + this.tongjiMsg = { | |
| 2702 | + plan_Time: [], | |
| 2703 | + userName: '', | |
| 2704 | + pageNumber: 0, | |
| 2705 | + pageSize: 10, | |
| 2706 | + | |
| 2707 | + } | |
| 2708 | + const page = { | |
| 2709 | + pageNumber: 0, | |
| 2710 | + pageSize: 10, | |
| 2711 | + questionnaireId: this.secondData.id, | |
| 2712 | + } | |
| 2713 | + axios.post(`${this.$API}/cereQuestionnaireAnswering/queryByPage`, page).then( | |
| 2714 | + response => { | |
| 2715 | + this.tongjiSshu = response.data.data.content | |
| 2716 | + this.total1 = response.data.data.totalElements | |
| 2717 | + }) | |
| 2718 | + }, | |
| 2719 | + copyUrl(url) { | |
| 2720 | + const tempTextArea = document.createElement('textarea'); | |
| 2721 | + // 设置 textarea 的值为要复制的 URL | |
| 2722 | + tempTextArea.value = url; | |
| 2723 | + // 将 textarea 添加到 DOM 中 | |
| 2724 | + document.body.appendChild(tempTextArea); | |
| 2725 | + // 选中 textarea 中的内容 | |
| 2726 | + tempTextArea.select(); | |
| 2727 | + // 执行浏览器的复制命令 | |
| 2728 | + document.execCommand('copy'); | |
| 2729 | + // 从 DOM 中移除临时的 textarea 元素 | |
| 2730 | + document.body.removeChild(tempTextArea); | |
| 2731 | + this.$message({ | |
| 2732 | + message: '复制成功', | |
| 2733 | + type: 'success' | |
| 2734 | + }) | |
| 2735 | + }, | |
| 2736 | + tongjiBoxFan() { | |
| 2737 | + this.tongjiBox = false | |
| 2738 | + // this.getAll() | |
| 2739 | + // location.reload(); | |
| 2740 | + }, | |
| 2741 | + async load() { | |
| 2742 | + | |
| 2743 | + const page = { | |
| 2744 | + pageNumber: this.tiNum + 1, | |
| 2745 | + pageSize: 10, | |
| 2746 | + questionBank: this.tikuNie, | |
| 2747 | + } | |
| 2748 | + this.tiNum += 1 | |
| 2749 | + const tiku = await QuestionGetAll(page) | |
| 2750 | + // this.tikuziyuan = this.tikuziyuan.concat(tiku.data.content) | |
| 2751 | + const uniqueIds = new Set(this.tikuziyuan.map(item => item.id)); // 获取当前tikuziyuan中的所有唯一ID | |
| 2752 | + | |
| 2753 | + this.tikuziyuan = this.tikuziyuan.concat( | |
| 2754 | + tiku.data.content.reduce((acc, cur) => { | |
| 2755 | + if (!uniqueIds.has(cur.id)) { // 如果当前元素的ID不在uniqueIds集合中,则将其添加到acc数组中 | |
| 2756 | + acc.push(cur); | |
| 2757 | + uniqueIds.add(cur.id); // 并将ID添加到uniqueIds集合中 | |
| 2758 | + } | |
| 2759 | + return acc; | |
| 2760 | + }, []) | |
| 2761 | + ) | |
| 2762 | + }, | |
| 2763 | + getCurrentDate() { | |
| 2764 | + const now = new Date(); | |
| 2765 | + const year = now.getFullYear(); | |
| 2766 | + const month = String(now.getMonth() + 1).padStart(2, '0'); // 月份从0开始,所以要+1 | |
| 2767 | + const day = String(now.getDate()).padStart(2, '0'); | |
| 2768 | + return `${year}-${month}-${day}`; | |
| 2769 | + }, | |
| 2770 | + | |
| 2771 | + getNextDayDate() { | |
| 2772 | + const now = new Date(); | |
| 2773 | + now.setDate(now.getDate() + 1); // 设置到下一天 | |
| 2774 | + const year = now.getFullYear(); | |
| 2775 | + const month = String(now.getMonth() + 1).padStart(2, '0'); // 月份从0开始,所以要+1 | |
| 2776 | + const day = String(now.getDate()).padStart(2, '0'); | |
| 2777 | + return `${year}-${month}-${day}`; | |
| 2778 | + }, | |
| 2779 | + | |
| 2780 | + validateScore(row) { | |
| 2781 | + // 如果输入的不是数字或者是NaN,则重置为1 | |
| 2782 | + if (isNaN(row.num) || row.num < 0) { | |
| 2783 | + row.num = 0; | |
| 2784 | + } | |
| 2785 | + // 如果输入的数字大于100,则重置为100 | |
| 2786 | + if (row.num > 100) { | |
| 2787 | + row.num = 100; | |
| 2788 | + } | |
| 2789 | + }, | |
| 2790 | + | |
| 2791 | + tikuquxiao(val) { | |
| 2792 | + this.tikuBox = false | |
| 2793 | + this.tiNum = 0 | |
| 2794 | + this.tikuNie = '' | |
| 2795 | + this.danxuan = '' | |
| 2796 | + this.timuMsg = '' | |
| 2797 | + this.pageSizeTi = 10 | |
| 2798 | + this.currentPageListTi = 1 | |
| 2799 | + this.totalTi = 0 | |
| 2800 | + this.$refs.ziyuanData.clearSelection() | |
| 2801 | + }, | |
| 2802 | + moveUp(index) { | |
| 2803 | + [this.wenConstData[index], this.wenConstData[index - 1]] = [this.wenConstData[index - 1], this | |
| 2804 | + .wenConstData[index] | |
| 2805 | + ] | |
| 2806 | + this.wenConstData.sort() | |
| 2807 | + }, | |
| 2808 | + moveDown(index) { | |
| 2809 | + [this.wenConstData[index], this.wenConstData[index + 1]] = [this.wenConstData[index + 1], this | |
| 2810 | + .wenConstData[index] | |
| 2811 | + ] | |
| 2812 | + this.wenConstData.sort() | |
| 2813 | + }, | |
| 2814 | + moveUp2(index) { | |
| 2815 | + s | |
| 2816 | + [this.secondDataTi[index], this.secondDataTi[index - 1]] = [this.secondDataTi[index - 1], this | |
| 2817 | + .secondDataTi[index] | |
| 2818 | + ] | |
| 2819 | + this.secondDataTi.sort() | |
| 2820 | + }, | |
| 2821 | + moveDown2(index) { | |
| 2822 | + [this.secondDataTi[index], this.secondDataTi[index + 1]] = [this.secondDataTi[index + 1], this | |
| 2823 | + .secondDataTi[index] | |
| 2824 | + ] | |
| 2825 | + this.secondDataTi.sort() | |
| 2826 | + }, | |
| 2827 | + answerMoveUp(index) { | |
| 2828 | + [this.options[index], this.options[index - 1]] = [this.options[index - 1], this.options[index]] | |
| 2829 | + this.options[index].index = index - 1 | |
| 2830 | + this.options.sort() | |
| 2831 | + }, | |
| 2832 | + answerMoveDown(index) { | |
| 2833 | + [this.options[index], this.options[index + 1]] = [this.options[index + 1], this.options[index]] | |
| 2834 | + this.options[index].index = index + 1 | |
| 2835 | + this.options.sort() | |
| 2836 | + }, | |
| 2837 | + actGo(val) { | |
| 2838 | + let token = localStorage.getItem('token'); | |
| 2839 | + if (token && token.startsWith('Bearer')) { | |
| 2840 | + token = token.substring(7); | |
| 2841 | + } | |
| 2842 | + token = | |
| 2843 | + 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqd3RfdXNlcl9pbmZvIjoie1wiYXBwSWRcIjoxLFwiYXJlYUNvZGVzXCI6W10sXCJjb21wYW55QWRtaW5cIjpmYWxzZSxcImNvbXBhbnlDb2RlXCI6XCJKSkxEXzAwMVwiLFwiZGVwdENvZGVcIjpcIjAwMlwiLFwiZGVwdFRhZ1wiOlwiXCIsXCJsb2dpblR5cGVcIjpcIlBDXCIsXCJtYWluRGVwdENvZGVcIjpcIjAwMlwiLFwibWFuYWdlclwiOnRydWUsXCJuYW1lXCI6XCLotoXnuqfnrqHnkIblkZhcIixcInBob25lXCI6XCIxMzU0MTMwNDkxMFwiLFwicm9sZXNcIjpbXCJyb2xlX3N1cGVyX2FkbWluXCIsXCJ2aXAtYWRtaW5cIl0sXCJzdXBlckFkbWluXCI6dHJ1ZSxcInRvcERlcHRDb2RlXCI6XCIwMDJcIixcInVzZXJJZFwiOjEsXCJ1c2VybmFtZVwiOlwic3VwZXItampsZFwifSIsImp0aSI6ImMxMWQ5ZjJjLTc1ZjItNDM5Yy05NjMzLTliYzU4MTc2NmZmYiIsImV4cCI6MTc0MDY2Mjg2NywiaWF0IjoxNzQwNjQ4NDY3LCJzdWIiOiJDRFdMIiwiaXNzIjoiT0EifQ.-2jv7Vq8pqn8PehIpd1lMXJrSqPsmCfhXp7fddL56qI' | |
| 2844 | + this.iframaShow = true | |
| 2845 | + if (val == 0) { | |
| 2846 | + this.iframaUrl = | |
| 2847 | + `https://jy.scjysm.asia:18086/cdwltool/addEmptyLottery?token=${token}&channel=shangye&thirdPartyUrl=http://localhost:9529/#/investigation/index` | |
| 2848 | + } else if (val == 1) { | |
| 2849 | + this.iframaUrl = | |
| 2850 | + `https://jy.scjysm.asia:18086/cdwltool/addEmptyLottery?token=${token}&id=${this.jiangli.id}&title=活动详情&channel=shangye&thirdPartyUrl=http://localhost:9529/#/investigation/index` | |
| 2851 | + } else if (val == 2) { | |
| 2852 | + this.iframaUrl = | |
| 2853 | + `https://jy.scjysm.asia:18086/cdwltool/addEmptyLottery?token=${token}&id=${this.jiangli.id}&channel=shangye&thirdPartyUrl=http://localhost:9529/#/investigation/index` | |
| 2854 | + } | |
| 2855 | + | |
| 2856 | + // window.location.href = | |
| 2857 | + }, | |
| 2858 | + getStatusText(val) { | |
| 2859 | + switch (val) { | |
| 2860 | + case '1': | |
| 2861 | + return '大转盘'; | |
| 2862 | + case '2': | |
| 2863 | + return '砸金蛋'; | |
| 2864 | + case '3': | |
| 2865 | + return '刮刮卡'; | |
| 2866 | + case '4': | |
| 2867 | + return '翻牌乐'; | |
| 2868 | + case '5': | |
| 2869 | + return '福袋'; | |
| 2870 | + case '6': | |
| 2871 | + return '摇一摇'; | |
| 2872 | + default: | |
| 2873 | + return '无'; | |
| 2874 | + } | |
| 2875 | + } | |
| 2876 | + } | |
| 2877 | + | |
| 2878 | + } | |
| 2551 | 2879 | </script> |
| 2552 | 2880 | |
| 2553 | 2881 | <style scoped> |
| 2554 | - .zhuti { | |
| 2555 | - padding: 0 20px 20px 20px; | |
| 2556 | - min-height: calc(100vh - 50px - 20px); | |
| 2557 | - background-color: #Fff; | |
| 2558 | - | |
| 2559 | - } | |
| 2560 | - | |
| 2561 | - .chengeXia { | |
| 2562 | - border-bottom: 6px solid #3F9B6A; | |
| 2563 | - padding-bottom: 4px; | |
| 2564 | - color: #3F9B6A; | |
| 2565 | - } | |
| 2566 | - | |
| 2567 | - /deep/ .el-form-item__content { | |
| 2568 | - line-height: 0; | |
| 2569 | - } | |
| 2570 | - | |
| 2571 | - .tableBtn { | |
| 2572 | - display: inline-block; | |
| 2573 | - margin-right: 10px; | |
| 2574 | - color: #ACACAC; | |
| 2575 | - cursor: pointer; | |
| 2576 | - } | |
| 2577 | - | |
| 2578 | - .formSearch { | |
| 2579 | - display: flex; | |
| 2580 | - width: 100%; | |
| 2581 | - font-size: 14px; | |
| 2582 | - justify-content: space-between; | |
| 2583 | - } | |
| 2584 | - | |
| 2585 | - .greens { | |
| 2586 | - color: #3F9B6A; | |
| 2587 | - } | |
| 2588 | - | |
| 2589 | - /deep/ .el-table__row { | |
| 2590 | - font-size: 14px; | |
| 2591 | - color: #000000e6; | |
| 2592 | - height: 42px; | |
| 2593 | - } | |
| 2594 | - | |
| 2595 | - .fenye { | |
| 2596 | - margin-top: 20px; | |
| 2597 | - display: flex; | |
| 2598 | - justify-content: flex-end; | |
| 2599 | - } | |
| 2600 | - | |
| 2601 | - /deep/ .el-pagination.is-background .el-pager li:not(.disabled).active { | |
| 2602 | - background-color: #3F9B6A; | |
| 2603 | - } | |
| 2604 | - | |
| 2605 | - .el-row { | |
| 2606 | - margin-bottom: 20px; | |
| 2607 | - | |
| 2608 | - &:last-child { | |
| 2609 | - margin-bottom: 0; | |
| 2610 | - } | |
| 2611 | - } | |
| 2612 | - | |
| 2613 | - .el-col { | |
| 2614 | - border-radius: 4px; | |
| 2615 | - } | |
| 2616 | - | |
| 2617 | - .bg-purple-dark { | |
| 2618 | - background: #99a9bf; | |
| 2619 | - } | |
| 2620 | - | |
| 2621 | - .bg-purple { | |
| 2622 | - background: #d3dce6; | |
| 2623 | - } | |
| 2624 | - | |
| 2625 | - .bg-purple-light { | |
| 2626 | - background: #e5e9f2; | |
| 2627 | - } | |
| 2628 | - | |
| 2629 | - .grid-content { | |
| 2630 | - border-radius: 4px; | |
| 2631 | - min-height: 36px; | |
| 2632 | - } | |
| 2633 | - | |
| 2634 | - .row-bg { | |
| 2635 | - padding: 10px 0; | |
| 2636 | - background-color: #f9fafc; | |
| 2637 | - } | |
| 2638 | - | |
| 2639 | - /deep/ .bg-purple[data-v-0e3fe4ec] { | |
| 2640 | - background: #fff; | |
| 2641 | - height: 50px; | |
| 2642 | - } | |
| 2643 | - | |
| 2644 | - /deep/ .bg-purple[data-v-3bebae82] { | |
| 2645 | - background: #fff; | |
| 2646 | - height: 50px; | |
| 2647 | - } | |
| 2648 | - | |
| 2649 | - ::v-deep .bg-purple { | |
| 2650 | - background: #fff; | |
| 2651 | - height: 50px; | |
| 2652 | - } | |
| 2653 | - | |
| 2654 | - /deep/ .el-form--label-top .el-form-item__label { | |
| 2655 | - padding: 0; | |
| 2656 | - } | |
| 2657 | - | |
| 2658 | - ::v-deep .el-form-item { | |
| 2659 | - margin-bottom: 16px; | |
| 2660 | - } | |
| 2661 | - | |
| 2662 | - .device-form .el-form-item__label::after { | |
| 2663 | - content: "*"; | |
| 2664 | - color: #1A1A1A; | |
| 2665 | - margin-left: 5px; | |
| 2666 | - font-size: 16px; | |
| 2667 | - } | |
| 2668 | - | |
| 2669 | - | |
| 2670 | - ::v-deep .el-dialog__wrapper { | |
| 2671 | - .el-dialog__header { | |
| 2672 | - background-color: #FAFAFA; | |
| 2673 | - } | |
| 2674 | - } | |
| 2675 | - | |
| 2676 | - ::v-deep .el-input__inner:focus { | |
| 2677 | - border: #3F9B6A 1px solid; | |
| 2678 | - } | |
| 2679 | - | |
| 2680 | - .dialog-footer { | |
| 2681 | - display: flex; | |
| 2682 | - justify-content: flex-end; | |
| 2683 | - border-top: solid rgba(209, 209, 209, 0.2) 2px; | |
| 2684 | - padding-top: 20px; | |
| 2685 | - } | |
| 2686 | - | |
| 2687 | - ::v-deep .el-input__inner:focus { | |
| 2688 | - border: #3F9B6A 1px solid; | |
| 2689 | - } | |
| 2690 | - | |
| 2691 | - ::v-deep .el-input__inner:hover { | |
| 2692 | - border: #3F9B6A 1px solid; | |
| 2693 | - } | |
| 2694 | - | |
| 2695 | - ::v-deep .el-select .el-input.is-focus .el-input__inner { | |
| 2696 | - border-color: #3F9B6A | |
| 2697 | - } | |
| 2698 | - | |
| 2699 | - .el-select-dropdown__item.selected { | |
| 2700 | - color: #3F9B6A; | |
| 2701 | - } | |
| 2702 | - | |
| 2703 | - .el-pagination__sizes .el-input .el-input__inner:hover { | |
| 2704 | - border-color: #3F9B6A; | |
| 2705 | - } | |
| 2706 | - | |
| 2707 | - ::v-deep .el-dialog__wrapper { | |
| 2708 | - | |
| 2709 | - .dialog_css { | |
| 2710 | - margin-right: 12px; | |
| 2711 | - margin-top: 61px !important; | |
| 2712 | - | |
| 2713 | - .el-dialog__title { | |
| 2714 | - font-size: 16px !important; | |
| 2715 | - font-weight: 600; | |
| 2716 | - color: #000; | |
| 2717 | - } | |
| 2718 | - } | |
| 2719 | - | |
| 2720 | - .diaslog_zhong { | |
| 2721 | - margin-left: 25%; | |
| 2722 | - margin-top: 61px !important; | |
| 2723 | - } | |
| 2724 | - | |
| 2725 | - } | |
| 2726 | - | |
| 2727 | - ::v-deep .diaslog_zhong { | |
| 2728 | - margin-left: 20%; | |
| 2729 | - margin-top: 61px !important; | |
| 2730 | - | |
| 2731 | - .el-dialog__header { | |
| 2732 | - background-color: #fff; | |
| 2733 | - border-bottom: 1px solid #EFEFEF; | |
| 2734 | - | |
| 2735 | - .el-dialog__title { | |
| 2736 | - font-size: 14px; | |
| 2737 | - color: #000000e6; | |
| 2738 | - } | |
| 2739 | - } | |
| 2740 | - | |
| 2741 | - .el-dialog__body { | |
| 2742 | - padding: 10px 30px 30px 20px | |
| 2743 | - } | |
| 2744 | - } | |
| 2745 | - | |
| 2746 | - /deep/ .el-table_1_column_8 .hetong { | |
| 2747 | - color: #7DBB9A; | |
| 2748 | - text-decoration: underline; | |
| 2749 | - } | |
| 2750 | - | |
| 2751 | - /deep/ .first-column-bg { | |
| 2752 | - background-color: #FAFAFA !important; | |
| 2753 | - } | |
| 2754 | - | |
| 2755 | - ::v-deep .textarea { | |
| 2756 | - width: 85%; | |
| 2757 | - | |
| 2758 | - .el-textarea__inner { | |
| 2759 | - width: 100%; | |
| 2760 | - } | |
| 2761 | - } | |
| 2762 | - | |
| 2763 | - ::v-deep .pass_input { | |
| 2764 | - width: 100%; | |
| 2765 | - | |
| 2766 | - .el-input__inner { | |
| 2767 | - border: none; | |
| 2768 | - padding: 0; | |
| 2769 | - } | |
| 2770 | - } | |
| 2771 | - | |
| 2772 | - ::v-deep .pass_select { | |
| 2773 | - width: 100%; | |
| 2774 | - | |
| 2775 | - .el-input__inner { | |
| 2776 | - border: none; | |
| 2777 | - padding: 0; | |
| 2778 | - } | |
| 2779 | - | |
| 2780 | - .el-icon-arrow-up:before { | |
| 2781 | - content: '' | |
| 2782 | - } | |
| 2783 | - | |
| 2784 | - } | |
| 2785 | - | |
| 2786 | - /deep/ .el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell { | |
| 2787 | - background-color: #fff; | |
| 2788 | - } | |
| 2789 | - | |
| 2790 | - /deep/ .el-radio__label, | |
| 2791 | - /deep/ .el-checkbox__label { | |
| 2792 | - white-space: normal !important; | |
| 2793 | - word-break: break-all !important; | |
| 2794 | - } | |
| 2882 | + .zhuti { | |
| 2883 | + padding: 0 20px 20px 20px; | |
| 2884 | + min-height: calc(100vh - 50px - 20px); | |
| 2885 | + background-color: #Fff; | |
| 2886 | + | |
| 2887 | + } | |
| 2888 | + | |
| 2889 | + .chengeXia { | |
| 2890 | + border-bottom: 6px solid #3F9B6A; | |
| 2891 | + padding-bottom: 4px; | |
| 2892 | + color: #3F9B6A; | |
| 2893 | + } | |
| 2894 | + | |
| 2895 | + /deep/ .el-form-item__content { | |
| 2896 | + line-height: 0; | |
| 2897 | + } | |
| 2898 | + | |
| 2899 | + .tableBtn { | |
| 2900 | + display: inline-block; | |
| 2901 | + margin-right: 10px; | |
| 2902 | + color: #ACACAC; | |
| 2903 | + cursor: pointer; | |
| 2904 | + } | |
| 2905 | + | |
| 2906 | + .formSearch { | |
| 2907 | + display: flex; | |
| 2908 | + width: 100%; | |
| 2909 | + font-size: 14px; | |
| 2910 | + justify-content: space-between; | |
| 2911 | + } | |
| 2912 | + | |
| 2913 | + .greens { | |
| 2914 | + color: #3F9B6A; | |
| 2915 | + } | |
| 2916 | + | |
| 2917 | + /deep/ .el-table__row { | |
| 2918 | + font-size: 14px; | |
| 2919 | + color: #000000e6; | |
| 2920 | + height: 42px; | |
| 2921 | + } | |
| 2922 | + | |
| 2923 | + .fenye { | |
| 2924 | + margin-top: 20px; | |
| 2925 | + display: flex; | |
| 2926 | + justify-content: flex-end; | |
| 2927 | + } | |
| 2928 | + | |
| 2929 | + /deep/ .el-pagination.is-background .el-pager li:not(.disabled).active { | |
| 2930 | + background-color: #3F9B6A; | |
| 2931 | + } | |
| 2932 | + | |
| 2933 | + .el-row { | |
| 2934 | + margin-bottom: 20px; | |
| 2935 | + | |
| 2936 | + &:last-child { | |
| 2937 | + margin-bottom: 0; | |
| 2938 | + } | |
| 2939 | + } | |
| 2940 | + | |
| 2941 | + .el-col { | |
| 2942 | + border-radius: 4px; | |
| 2943 | + } | |
| 2944 | + | |
| 2945 | + .bg-purple-dark { | |
| 2946 | + background: #99a9bf; | |
| 2947 | + } | |
| 2948 | + | |
| 2949 | + .bg-purple { | |
| 2950 | + background: #d3dce6; | |
| 2951 | + } | |
| 2952 | + | |
| 2953 | + .bg-purple-light { | |
| 2954 | + background: #e5e9f2; | |
| 2955 | + } | |
| 2956 | + | |
| 2957 | + .grid-content { | |
| 2958 | + border-radius: 4px; | |
| 2959 | + min-height: 36px; | |
| 2960 | + } | |
| 2961 | + | |
| 2962 | + .row-bg { | |
| 2963 | + padding: 10px 0; | |
| 2964 | + background-color: #f9fafc; | |
| 2965 | + } | |
| 2966 | + | |
| 2967 | + /deep/ .bg-purple[data-v-0e3fe4ec] { | |
| 2968 | + background: #fff; | |
| 2969 | + height: 50px; | |
| 2970 | + } | |
| 2971 | + | |
| 2972 | + /deep/ .bg-purple[data-v-3bebae82] { | |
| 2973 | + background: #fff; | |
| 2974 | + height: 50px; | |
| 2975 | + } | |
| 2976 | + | |
| 2977 | + ::v-deep .bg-purple { | |
| 2978 | + background: #fff; | |
| 2979 | + height: 50px; | |
| 2980 | + } | |
| 2981 | + | |
| 2982 | + /deep/ .el-form--label-top .el-form-item__label { | |
| 2983 | + padding: 0; | |
| 2984 | + } | |
| 2985 | + | |
| 2986 | + ::v-deep .el-form-item { | |
| 2987 | + margin-bottom: 16px; | |
| 2988 | + } | |
| 2989 | + | |
| 2990 | + .device-form .el-form-item__label::after { | |
| 2991 | + content: "*"; | |
| 2992 | + color: #1A1A1A; | |
| 2993 | + margin-left: 5px; | |
| 2994 | + font-size: 16px; | |
| 2995 | + } | |
| 2996 | + | |
| 2997 | + ::v-deep .el-dialog__wrapper { | |
| 2998 | + .el-dialog__header { | |
| 2999 | + background-color: #FAFAFA; | |
| 3000 | + } | |
| 3001 | + } | |
| 3002 | + | |
| 3003 | + ::v-deep .el-input__inner:focus { | |
| 3004 | + border: #3F9B6A 1px solid; | |
| 3005 | + } | |
| 3006 | + | |
| 3007 | + .dialog-footer { | |
| 3008 | + display: flex; | |
| 3009 | + justify-content: flex-end; | |
| 3010 | + border-top: solid rgba(209, 209, 209, 0.2) 2px; | |
| 3011 | + padding-top: 20px; | |
| 3012 | + } | |
| 3013 | + | |
| 3014 | + ::v-deep .el-input__inner:focus { | |
| 3015 | + border: #3F9B6A 1px solid; | |
| 3016 | + } | |
| 3017 | + | |
| 3018 | + ::v-deep .el-input__inner:hover { | |
| 3019 | + border: #3F9B6A 1px solid; | |
| 3020 | + } | |
| 3021 | + | |
| 3022 | + ::v-deep .el-select .el-input.is-focus .el-input__inner { | |
| 3023 | + border-color: #3F9B6A | |
| 3024 | + } | |
| 3025 | + | |
| 3026 | + .el-select-dropdown__item.selected { | |
| 3027 | + color: #3F9B6A; | |
| 3028 | + } | |
| 3029 | + | |
| 3030 | + .el-pagination__sizes .el-input .el-input__inner:hover { | |
| 3031 | + border-color: #3F9B6A; | |
| 3032 | + } | |
| 3033 | + | |
| 3034 | + ::v-deep .el-dialog__wrapper { | |
| 3035 | + | |
| 3036 | + .dialog_css { | |
| 3037 | + margin-right: 12px; | |
| 3038 | + margin-top: 61px !important; | |
| 3039 | + | |
| 3040 | + .el-dialog__title { | |
| 3041 | + font-size: 16px !important; | |
| 3042 | + font-weight: 600; | |
| 3043 | + color: #000; | |
| 3044 | + } | |
| 3045 | + } | |
| 3046 | + | |
| 3047 | + .diaslog_zhong { | |
| 3048 | + margin-left: 25%; | |
| 3049 | + margin-top: 61px !important; | |
| 3050 | + } | |
| 3051 | + | |
| 3052 | + } | |
| 3053 | + | |
| 3054 | + ::v-deep .diaslog_zhong { | |
| 3055 | + margin-left: 20%; | |
| 3056 | + margin-top: 61px !important; | |
| 3057 | + | |
| 3058 | + .el-dialog__header { | |
| 3059 | + background-color: #fff; | |
| 3060 | + border-bottom: 1px solid #EFEFEF; | |
| 3061 | + | |
| 3062 | + .el-dialog__title { | |
| 3063 | + font-size: 14px; | |
| 3064 | + color: #000000e6; | |
| 3065 | + } | |
| 3066 | + } | |
| 3067 | + | |
| 3068 | + .el-dialog__body { | |
| 3069 | + padding: 10px 30px 30px 20px | |
| 3070 | + } | |
| 3071 | + } | |
| 3072 | + | |
| 3073 | + /deep/ .el-table_1_column_8 .hetong { | |
| 3074 | + color: #7DBB9A; | |
| 3075 | + text-decoration: underline; | |
| 3076 | + } | |
| 3077 | + | |
| 3078 | + /deep/ .first-column-bg { | |
| 3079 | + background-color: #FAFAFA !important; | |
| 3080 | + } | |
| 3081 | + | |
| 3082 | + ::v-deep .textarea { | |
| 3083 | + width: 85%; | |
| 3084 | + | |
| 3085 | + .el-textarea__inner { | |
| 3086 | + width: 100%; | |
| 3087 | + } | |
| 3088 | + } | |
| 3089 | + | |
| 3090 | + ::v-deep .pass_input { | |
| 3091 | + width: 100%; | |
| 3092 | + | |
| 3093 | + .el-input__inner { | |
| 3094 | + border: none; | |
| 3095 | + padding: 0; | |
| 3096 | + } | |
| 3097 | + } | |
| 3098 | + | |
| 3099 | + ::v-deep .pass_select { | |
| 3100 | + width: 100%; | |
| 3101 | + | |
| 3102 | + .el-input__inner { | |
| 3103 | + border: none; | |
| 3104 | + padding: 0; | |
| 3105 | + } | |
| 3106 | + | |
| 3107 | + .el-icon-arrow-up:before { | |
| 3108 | + content: '' | |
| 3109 | + } | |
| 3110 | + | |
| 3111 | + } | |
| 3112 | + | |
| 3113 | + /deep/ .el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell { | |
| 3114 | + background-color: #fff; | |
| 3115 | + } | |
| 3116 | + | |
| 3117 | + /deep/ .el-radio__label, | |
| 3118 | + /deep/ .el-checkbox__label { | |
| 3119 | + white-space: normal !important; | |
| 3120 | + word-break: break-all !important; | |
| 3121 | + } | |
| 3122 | + | |
| 3123 | + /deep/ .el-input-number__decrease, | |
| 3124 | + /deep/.el-input-number__increase { | |
| 3125 | + height: 30px !important; | |
| 3126 | + line-height: 32px !important; | |
| 3127 | + margin-top: 3px; | |
| 3128 | + } | |
| 2795 | 3129 | </style> |
| 2796 | 3130 | <style lang="scss" scoped> |
| 2797 | - ::v-deep .bian_css { | |
| 2798 | - .el-dialog__header { | |
| 2799 | - padding: 0px; | |
| 2800 | - } | |
| 2801 | - | |
| 2802 | - .el-input__inner { | |
| 2803 | - height: 18px; | |
| 2804 | - border: 0px; | |
| 2805 | - margin-top: 0px; | |
| 2806 | - } | |
| 2807 | - | |
| 2808 | - .el-input__inner:hover { | |
| 2809 | - border: 0px; | |
| 2810 | - } | |
| 2811 | - | |
| 2812 | - .el-input__inner:focus { | |
| 2813 | - border: 0px; | |
| 2814 | - } | |
| 2815 | - } | |
| 2816 | - | |
| 2817 | - ::v-deep .buttonHover:hover { | |
| 2818 | - color: #3f9b6a !important; | |
| 2819 | - border-color: #c5e1d2 !important; | |
| 2820 | - background-color: #ecf5f0 !important; | |
| 2821 | - outline: none; | |
| 2822 | - } | |
| 2823 | - | |
| 2824 | - ::v-deep .el-pagination__total { | |
| 2825 | - position: absolute; | |
| 2826 | - left: 33px; | |
| 2827 | - } | |
| 2828 | - | |
| 2829 | - ::v-deep .diaslog_zhong { | |
| 2830 | - .el-dialog__body { | |
| 2831 | - padding: 10px 20px 20px 20px; | |
| 2832 | - } | |
| 2833 | - | |
| 2834 | - .el-upload--picture-card { | |
| 2835 | - width: 130px; | |
| 2836 | - height: 130px; | |
| 2837 | - } | |
| 2838 | - } | |
| 2839 | - | |
| 2840 | - ::v-deep .el-radio-group { | |
| 2841 | - .el-radio { | |
| 2842 | - font-weight: 400; | |
| 2843 | - height: 29px; | |
| 2844 | - } | |
| 2845 | - } | |
| 2846 | - | |
| 2847 | - ::v-deep .el-checkbox-group { | |
| 2848 | - .el-checkbox { | |
| 2849 | - height: 29px; | |
| 2850 | - } | |
| 2851 | - | |
| 2852 | - label { | |
| 2853 | - font-weight: 400; | |
| 2854 | - } | |
| 2855 | - } | |
| 2856 | - | |
| 2857 | - .questionnaire { | |
| 2858 | - width: 100%; | |
| 2859 | - flex-grow: 1; | |
| 2860 | - background-color: white; | |
| 2861 | - box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); | |
| 2862 | - border-radius: 5px; | |
| 2863 | - box-sizing: border-box; | |
| 2864 | - } | |
| 2865 | - | |
| 2866 | - .question-title { | |
| 2867 | - // font-size: 18px; | |
| 2868 | - color: #000; | |
| 2869 | - margin-bottom: 10px; | |
| 2870 | - } | |
| 2871 | - | |
| 2872 | - .question { | |
| 2873 | - background-color: white; | |
| 2874 | - padding: 15px; | |
| 2875 | - margin: 10px 0; | |
| 2876 | - border-radius: 10px; | |
| 2877 | - } | |
| 2878 | - | |
| 2879 | - // ::v-deep .tongyong_css { | |
| 2880 | - // max-height: 850px; | |
| 2881 | - | |
| 2882 | - // } | |
| 2883 | - | |
| 2884 | - | |
| 2885 | - // .tongyong_css { | |
| 2886 | - // max-height: calc(100vh - 200px); /* Adjust the 200px to the combined height of your header and footer */ | |
| 2887 | - // overflow-y: auto; | |
| 2888 | - // } | |
| 2889 | -</style> | |
| 3131 | + ::v-deep .bian_css { | |
| 3132 | + .el-dialog__header { | |
| 3133 | + padding: 0px; | |
| 3134 | + } | |
| 3135 | + | |
| 3136 | + .el-input__inner { | |
| 3137 | + height: 18px; | |
| 3138 | + border: 0px; | |
| 3139 | + margin-top: 0px; | |
| 3140 | + } | |
| 3141 | + | |
| 3142 | + .el-input__inner:hover { | |
| 3143 | + border: 0px; | |
| 3144 | + } | |
| 3145 | + | |
| 3146 | + .el-input__inner:focus { | |
| 3147 | + border: 0px; | |
| 3148 | + } | |
| 3149 | + } | |
| 3150 | + | |
| 3151 | + ::v-deep .buttonHover:hover { | |
| 3152 | + color: #3f9b6a !important; | |
| 3153 | + border-color: #c5e1d2 !important; | |
| 3154 | + background-color: #ecf5f0 !important; | |
| 3155 | + outline: none; | |
| 3156 | + } | |
| 3157 | + | |
| 3158 | + ::v-deep .el-pagination__total { | |
| 3159 | + position: absolute; | |
| 3160 | + left: 33px; | |
| 3161 | + } | |
| 3162 | + | |
| 3163 | + ::v-deep .diaslog_zhong { | |
| 3164 | + .el-dialog__body { | |
| 3165 | + padding: 10px 20px 20px 20px; | |
| 3166 | + } | |
| 3167 | + | |
| 3168 | + .el-upload--picture-card { | |
| 3169 | + width: 130px; | |
| 3170 | + height: 130px; | |
| 3171 | + } | |
| 3172 | + } | |
| 3173 | + | |
| 3174 | + ::v-deep .el-radio-group { | |
| 3175 | + .el-radio { | |
| 3176 | + font-weight: 400; | |
| 3177 | + height: 29px; | |
| 3178 | + } | |
| 3179 | + } | |
| 3180 | + | |
| 3181 | + ::v-deep .el-checkbox-group { | |
| 3182 | + .el-checkbox { | |
| 3183 | + height: 29px; | |
| 3184 | + } | |
| 3185 | + | |
| 3186 | + label { | |
| 3187 | + font-weight: 400; | |
| 3188 | + } | |
| 3189 | + } | |
| 3190 | + | |
| 3191 | + .questionnaire { | |
| 3192 | + width: 100%; | |
| 3193 | + flex-grow: 1; | |
| 3194 | + background-color: white; | |
| 3195 | + box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); | |
| 3196 | + border-radius: 5px; | |
| 3197 | + box-sizing: border-box; | |
| 3198 | + } | |
| 3199 | + | |
| 3200 | + .question-title { | |
| 3201 | + // font-size: 18px; | |
| 3202 | + color: #000; | |
| 3203 | + margin-bottom: 10px; | |
| 3204 | + } | |
| 3205 | + | |
| 3206 | + .question { | |
| 3207 | + background-color: white; | |
| 3208 | + padding: 15px; | |
| 3209 | + margin: 10px 0; | |
| 3210 | + border-radius: 10px; | |
| 3211 | + } | |
| 3212 | + | |
| 3213 | + .answerItem { | |
| 3214 | + width: auto; | |
| 3215 | + padding: 10px 15px; | |
| 3216 | + margin: 0 0 5px 10px; | |
| 3217 | + border-radius: 6px; | |
| 3218 | + background-color: #f5f7fa; | |
| 3219 | + display: flex; | |
| 3220 | + align-items: center; | |
| 3221 | + } | |
| 3222 | + | |
| 3223 | + // ::v-deep .tongyong_css { | |
| 3224 | + // max-height: 850px; | |
| 3225 | + | |
| 3226 | + // } | |
| 3227 | + | |
| 3228 | + // .tongyong_css { | |
| 3229 | + // max-height: calc(100vh - 200px); /* Adjust the 200px to the combined height of your header and footer */ | |
| 3230 | + // overflow-y: auto; | |
| 3231 | + // } | |
| 3232 | + ::v-deep .xddTable { | |
| 3233 | + height: 100% !important; | |
| 3234 | + | |
| 3235 | + .el-table__body-wrapper { | |
| 3236 | + overflow: auto !important; | |
| 3237 | + height: 100% !important; | |
| 3238 | + } | |
| 3239 | + | |
| 3240 | + .el-table__body-wrapper is-scrolling-none { | |
| 3241 | + height: 100% !important; | |
| 3242 | + } | |
| 3243 | + | |
| 3244 | + .el-table--scrollable-y .el-table__body-wrapper { | |
| 3245 | + overflow-y: inherit !important; | |
| 3246 | + } | |
| 3247 | + | |
| 3248 | + } | |
| 3249 | +</style> | |
| 2890 | 3250 | \ No newline at end of file | ... | ... |
admin-web-master/src/views/investigation/question.vue
| 1 | 1 | <template> |
| 2 | - <div style="background-color:#f7f7f7;padding:10px 10px;"> | |
| 2 | + <div style="background-color: #f7f7f7; padding: 10px 10px"> | |
| 3 | 3 | <div class="zhuti"> |
| 4 | - <div style="height:58px;line-height:58px;"> | |
| 5 | - <div style="color:#0006"> <span>问卷调查</span> <span style="padding:0 5px;">></span> <span | |
| 6 | - style="color:#000000e6">题库管理</span></div> | |
| 4 | + <div style="height: 58px; line-height: 58px"> | |
| 5 | + <div style="color: #0006"> | |
| 6 | + <span>问卷调查</span> <span style="padding: 0 5px">></span> | |
| 7 | + <span style="color: #000000e6">题库管理</span> | |
| 8 | + </div> | |
| 7 | 9 | </div> |
| 8 | 10 | <!-- 线上 --> |
| 9 | 11 | <div> |
| 10 | 12 | <!-- 搜索 --> |
| 11 | 13 | |
| 12 | 14 | <div class="formSearch"> |
| 13 | - | |
| 14 | 15 | <el-form :inline="true" :model="formSel"> |
| 15 | 16 | <el-form-item label="题库管理"> |
| 16 | - <el-select v-model="formSel.questionBank" placeholder="请选择" style="width:168px;margin-right: 15px" @change="tikuBox"> | |
| 17 | - <el-option label="用户端题库" value="用户端题库" /> | |
| 18 | - <el-option label="商户端题库" value="商户端题库" /> | |
| 19 | - <el-option label="公共端题库" value="公共端题库" /> | |
| 20 | - </el-select> | |
| 17 | + <el-select v-model="formSel.questionBank" placeholder="请选择" style="width: 168px; margin-right: 15px" | |
| 18 | + @change="tikuBox"> | |
| 19 | + <el-option label="用户端题库" value="用户端题库" /> | |
| 20 | + <el-option label="商户端题库" value="商户端题库" /> | |
| 21 | + <el-option label="公共端题库" value="公共端题库" /> | |
| 22 | + </el-select> | |
| 21 | 23 | </el-form-item> |
| 22 | 24 | <el-form-item label="题目"> |
| 23 | - <el-input v-model="formSel.tikuTitle" placeholder="请输入" style="width:168px;" /> | |
| 25 | + <el-input v-model="formSel.tikuTitle" placeholder="请输入" style="width: 168px" /> | |
| 24 | 26 | </el-form-item> |
| 25 | 27 | <el-form-item label="题型"> |
| 26 | - <el-select v-model="formSel.questionType" placeholder="请选择" style="width:168px;margin-right: 15px"> | |
| 28 | + <el-select v-model="formSel.questionType" placeholder="请选择" style="width: 168px; margin-right: 15px"> | |
| 27 | 29 | <el-option label="单选" value="单选" /> |
| 28 | 30 | <el-option label="多选" value="多选" /> |
| 29 | 31 | <el-option label="文本" value="文本" /> |
| 30 | 32 | </el-select> |
| 31 | 33 | </el-form-item> |
| 32 | - | |
| 33 | 34 | </el-form> |
| 34 | 35 | <div> |
| 35 | - <el-button @click="onSubmit" style="background-color: #3F9B6A;color: #fff">查询 | |
| 36 | + <el-button style="background-color: #3f9b6a; color: #fff" @click="onSubmit">查询 | |
| 36 | 37 | </el-button> |
| 37 | - <el-button @click="resetting" class="buttonHover" | |
| 38 | - style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;">重置 | |
| 38 | + <el-button class="buttonHover" style=" | |
| 39 | + color: #606266; | |
| 40 | + border: 1px solid #dddfe5; | |
| 41 | + background-color: #fff; | |
| 42 | + " @click="resetting">重置 | |
| 39 | 43 | </el-button> |
| 40 | 44 | </div> |
| 41 | 45 | </div> |
| 42 | - <div style="margin-bottom: 20px;"> | |
| 46 | + <div style="margin-bottom: 20px"> | |
| 43 | 47 | <div> |
| 44 | - <el-button | |
| 45 | - style="background-color: #3F9B6A;color: #fff;padding:8px 15px;" icon="el-icon-circle-plus-outline" | |
| 46 | - @click="addTimu">新增</el-button> | |
| 48 | + <el-button style="background-color: #3f9b6a; color: #fff; padding: 8px 15px" | |
| 49 | + icon="el-icon-circle-plus-outline" @click="addTimu">新增</el-button> | |
| 47 | 50 | </div> |
| 48 | 51 | </div> |
| 49 | 52 | <!-- 表格 --> |
| 50 | 53 | |
| 51 | - <el-table :data="tableData.slice((currentPage - 1) * pageSize, currentPage * pageSize)" | |
| 52 | - :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}" | |
| 53 | - tooltip-effect="dark custom-tooltip-effect"> | |
| 54 | + <el-table :data="tableData.slice( | |
| 55 | + (currentPage - 1) * pageSize, | |
| 56 | + currentPage * pageSize | |
| 57 | + ) | |
| 58 | + " :header-cell-style="{ | |
| 59 | + fontSize: '14px', | |
| 60 | + color: '#0009', | |
| 61 | + fontWeight: 'normal', | |
| 62 | + backgroundColor: '#F2F3F5', | |
| 63 | + }" tooltip-effect="dark custom-tooltip-effect"> | |
| 54 | 64 | <el-table-column label="序号" min-width="150"> |
| 55 | 65 | <template slot-scope="scope"> |
| 56 | - {{scope.$index +1}} | |
| 66 | + {{ scope.$index + 1 }} | |
| 57 | 67 | </template> |
| 58 | 68 | </el-table-column> |
| 59 | 69 | |
| 60 | - <el-table-column label="题目" prop="tikuTitle" min-width="300" show-overflow-tooltip> | |
| 61 | - </el-table-column> | |
| 62 | - <el-table-column label="题型" prop="questionType" min-width="150"> | |
| 63 | - | |
| 64 | - </el-table-column> | |
| 70 | + <el-table-column label="题目" prop="tikuTitle" min-width="300" show-overflow-tooltip /> | |
| 71 | + <el-table-column label="题型" prop="questionType" min-width="150" /> | |
| 65 | 72 | |
| 66 | 73 | <!-- <el-table-column label="创建人" prop="createUser" min-width="150"> |
| 67 | 74 | </el-table-column> --> |
| 68 | - <el-table-column prop="createDate" label="创建时间" min-width="200"> | |
| 69 | - | |
| 70 | - </el-table-column> | |
| 75 | + <el-table-column prop="createDate" label="创建时间" min-width="200" /> | |
| 71 | 76 | <el-table-column label="操作" min-width="200"> |
| 72 | 77 | <template slot-scope="scope"> |
| 73 | - <div @click="details(0,scope.row)" class="tableBtn greens">查看</div> | |
| 74 | - <div @click="bianls(scope.row)" class="tableBtn greens">编辑</div> | |
| 78 | + <div class="tableBtn greens" @click="details(0, scope.row)"> | |
| 79 | + 查看 | |
| 80 | + </div> | |
| 81 | + <div class="tableBtn greens" @click="bianls(scope.row)">编辑</div> | |
| 75 | 82 | <!-- <div @click="" class="tableBtn greens">发布</div> |
| 76 | 83 | <div @click="" class="tableBtn greens">下架</div> --> |
| 77 | - <div @click="tikuDel(scope.row)" class="tableBtn greens">删除</div> | |
| 84 | + <div class="tableBtn greens" @click="tikuDel(scope.row)"> | |
| 85 | + 删除 | |
| 86 | + </div> | |
| 78 | 87 | <!-- <div @click="addbuss(3,scope.row)" class="tableBtn greens">终止</div> --> |
| 79 | 88 | </template> |
| 80 | 89 | </el-table-column> |
| 81 | 90 | </el-table> |
| 82 | 91 | <div class="fenye"> |
| 83 | - <el-pagination :hide-on-single-page='flag' background small size="mini" :current-page="currentPage" | |
| 84 | - :page-sizes="[10, 20, 50, 100]" layout="prev, pager, next,total" :total="total " | |
| 92 | + <el-pagination :hide-on-single-page="flag" background small size="mini" :current-page="currentPage" | |
| 93 | + :page-sizes="[10, 20, 50, 100]" layout="prev, pager, next,total" :total="total" | |
| 85 | 94 | @size-change="handleSizeChange" @current-change="handleCurrentChange" /> |
| 86 | 95 | </div> |
| 87 | 96 | </div> |
| 88 | - | |
| 89 | 97 | </div> |
| 90 | 98 | <!-- 详情框 --> |
| 91 | - <el-dialog :visible.sync="detbox" custom-class='tongyong_css' style="padding: 0;" width="50%" center | |
| 99 | + <el-dialog :visible.sync="detbox" custom-class="tongyong_css" style="padding: 0" width="50%" center | |
| 92 | 100 | :close-on-click-modal="false" :show-close="false"> |
| 93 | - <div style="padding:20px;"> | |
| 94 | - <div style="font-size: 14px;padding-bottom: 20px;color: #000;">详情页</div> | |
| 101 | + <div style="padding: 20px"> | |
| 102 | + <div style="font-size: 14px; padding-bottom: 20px; color: #000"> | |
| 103 | + 详情页 | |
| 104 | + </div> | |
| 95 | 105 | <div> |
| 96 | - <el-descriptions class="margin-top" :column="1" border :labelStyle="labelStyle" :contentStyle="contentStyle"> | |
| 97 | - <el-descriptions-item> | |
| 98 | - <template slot="label"> | |
| 99 | - 题目 | |
| 100 | - </template> | |
| 101 | - {{secondData.tikuTitle}} | |
| 102 | - </el-descriptions-item> | |
| 103 | - <el-descriptions-item> | |
| 104 | - <template slot="label"> | |
| 105 | - 题型 | |
| 106 | - </template> | |
| 107 | - {{secondData.questionType}} | |
| 108 | - </el-descriptions-item> | |
| 109 | - <el-descriptions-item> | |
| 110 | - <template slot="label"> | |
| 111 | - 隶属题库 | |
| 112 | - </template> | |
| 113 | - {{secondData.questionBank}} | |
| 114 | - </el-descriptions-item> | |
| 115 | - </el-descriptions> | |
| 116 | - <el-descriptions class="margin-top" :column="1" border :labelStyle="labelStyle" :contentStyle="contentStyle" v-if="secondData.questionType!='文本'"> | |
| 117 | - <el-descriptions-item> | |
| 118 | - <template slot="label"> | |
| 119 | - 默认是否必填 | |
| 120 | - </template> | |
| 121 | - {{secondData.isRequired}} | |
| 122 | - </el-descriptions-item> | |
| 123 | - <el-descriptions-item> | |
| 124 | - <template slot="label"> | |
| 125 | - 设置内容 | |
| 126 | - </template> | |
| 127 | - <div v-for="(value, key) in secondData.optionSettings" :key="key"> | |
| 128 | - {{ key }}:{{ value }} | |
| 129 | - </div> | |
| 130 | - </el-descriptions-item> | |
| 131 | - | |
| 132 | - </el-descriptions> | |
| 106 | + <el-descriptions class="margin-top" :column="1" border :label-style="labelStyle" | |
| 107 | + :content-style="contentStyle"> | |
| 108 | + <el-descriptions-item> | |
| 109 | + <template slot="label"> 题目 </template> | |
| 110 | + {{ secondData.tikuTitle }} | |
| 111 | + </el-descriptions-item> | |
| 112 | + <el-descriptions-item> | |
| 113 | + <template slot="label"> 题型 </template> | |
| 114 | + {{ secondData.questionType }} | |
| 115 | + </el-descriptions-item> | |
| 116 | + <el-descriptions-item v-if="secondData.questionType == '多选'"> | |
| 117 | + <template slot="label"> 最多可选 </template> | |
| 118 | + {{ secondData.maxChoose || '0' }} | |
| 119 | + </el-descriptions-item> | |
| 120 | + <el-descriptions-item> | |
| 121 | + <template slot="label"> 隶属题库 </template> | |
| 122 | + {{ secondData.questionBank }} | |
| 123 | + </el-descriptions-item> | |
| 124 | + </el-descriptions> | |
| 125 | + <el-descriptions v-if="secondData.questionType != '文本'" class="margin-top" :column="1" border | |
| 126 | + :label-style="labelStyle" :content-style="contentStyle"> | |
| 127 | + <el-descriptions-item> | |
| 128 | + <template slot="label"> 默认是否必填 </template> | |
| 129 | + {{ secondData.isRequired }} | |
| 130 | + </el-descriptions-item> | |
| 131 | + <el-descriptions-item> | |
| 132 | + <template slot="label"> 设置内容 </template> | |
| 133 | + <div v-for="(value, key) in secondData.optionSettings" :key="key"> | |
| 134 | + {{ key }}:{{ value }} | |
| 135 | + </div> | |
| 136 | + </el-descriptions-item> | |
| 137 | + </el-descriptions> | |
| 133 | 138 | </div> |
| 134 | - <div style="padding-top:20px;display:flex;justify-content: flex-end;"> | |
| 135 | - <el-button class="buttonHover" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 136 | - @click="detbox = false">返回</el-button> | |
| 139 | + <div style="padding-top: 20px; display: flex; justify-content: flex-end"> | |
| 140 | + <el-button class="buttonHover" style=" | |
| 141 | + color: #606266; | |
| 142 | + border: 1px solid #dddfe5; | |
| 143 | + background-color: #fff; | |
| 144 | + " @click="detbox = false">返回</el-button> | |
| 137 | 145 | </div> |
| 138 | 146 | </div> |
| 139 | - | |
| 140 | 147 | </el-dialog> |
| 141 | 148 | |
| 142 | 149 | <!-- 新增 --> |
| 143 | - <el-dialog :visible.sync="ggXin" custom-class="tongyong_css" style="padding: 0;" width="60%" | |
| 144 | - class="dialog_css_Xq" center :close-on-click-modal="false" :show-close="false"> | |
| 145 | - <div style="padding:20px;"> | |
| 146 | - <div style="font-size: 14px;padding-bottom: 20px;color: #000;">新增题目</div> | |
| 147 | - <div style="padding:20px;"> | |
| 148 | - <el-form ref="reform" :model="formInline" label-width="140px" :rules="rules"> | |
| 149 | - <el-form-item label="题目" prop="tikuTitle"> | |
| 150 | - <el-input v-model="formInline.tikuTitle" maxlength="100"></el-input> | |
| 151 | - </el-form-item> | |
| 152 | - <el-form-item label="题型" prop="questionType"> | |
| 153 | - <el-select v-model="formInline.questionType" placeholder="请选择"> | |
| 154 | - <el-option label="单选" value="单选" /> | |
| 155 | - <el-option label="多选" value="多选" /> | |
| 156 | - <el-option label="文本" value="文本" /> | |
| 157 | - </el-select> | |
| 158 | - </el-form-item> | |
| 159 | - <el-form-item label="隶属题库" prop="questionBank"> | |
| 160 | - <el-select v-model="formInline.questionBank" placeholder="请选择"> | |
| 161 | - <el-option label="用户端题库" value="用户端题库" /> | |
| 162 | - <el-option label="商户端题库" value="商户端题库" /> | |
| 163 | - <el-option label="公共端题库" value="公共端题库" /> | |
| 164 | - </el-select> | |
| 165 | - </el-form-item> | |
| 166 | - <el-form-item label="是否必填" prop="isRequired"> | |
| 167 | - <!-- <el-select v-model="formInline.isRequired" placeholder="请选择"> | |
| 150 | + <el-dialog :visible.sync="ggXin" custom-class="tongyong_css" style="padding: 0" width="60%" class="dialog_css_Xq" | |
| 151 | + center :close-on-click-modal="false" :show-close="false"> | |
| 152 | + <div style="padding: 20px"> | |
| 153 | + <div style="font-size: 14px; padding-bottom: 20px; color: #000"> | |
| 154 | + 新增题目 | |
| 155 | + </div> | |
| 156 | + <div style="padding: 20px"> | |
| 157 | + <el-form ref="reform" :model="formInline" label-width="140px" :rules="rules"> | |
| 158 | + <el-form-item label="题目" prop="tikuTitle"> | |
| 159 | + <el-input v-model="formInline.tikuTitle" maxlength="100" /> | |
| 160 | + </el-form-item> | |
| 161 | + <el-form-item label="题型" prop="questionType"> | |
| 162 | + <el-select v-model="formInline.questionType" placeholder="请选择"> | |
| 163 | + <el-option label="单选" value="单选" /> | |
| 164 | + <el-option label="多选" value="多选" /> | |
| 165 | + <el-option label="文本" value="文本" /> | |
| 166 | + </el-select> | |
| 167 | + </el-form-item> | |
| 168 | + <!-- 如果formInline.questionType为多选,那么就显示最多可以选择多少个,计步器来设置,默认是 0 --> | |
| 169 | + <el-form-item v-if="formInline.questionType == '多选'" label="最多可选" prop="maxChoose"> | |
| 170 | + <el-input-number v-model="formInline.maxChoose" :min="0" :max="options.length" />0为不限制填写数量 | |
| 171 | + </el-form-item> | |
| 172 | + <el-form-item label="隶属题库" prop="questionBank"> | |
| 173 | + <el-select v-model="formInline.questionBank" placeholder="请选择"> | |
| 174 | + <el-option label="用户端题库" value="用户端题库" /> | |
| 175 | + <el-option label="商户端题库" value="商户端题库" /> | |
| 176 | + <el-option label="公共端题库" value="公共端题库" /> | |
| 177 | + </el-select> | |
| 178 | + </el-form-item> | |
| 179 | + <el-form-item label="布局类型" prop="layoutType"> | |
| 180 | + <el-radio-group v-model="formInline.layoutType" style="margin-top: 13px"> | |
| 181 | + <el-radio :label="1">垂直布局</el-radio> | |
| 182 | + <el-radio :label="2">自由布局</el-radio> | |
| 183 | + </el-radio-group> | |
| 184 | + </el-form-item> | |
| 185 | + <el-form-item label="是否必填" prop="isRequired"> | |
| 186 | + <!-- <el-select v-model="formInline.isRequired" placeholder="请选择"> | |
| 168 | 187 | <el-option label="必填" value="必填" /> |
| 169 | 188 | <el-option label="非必填" value="非必填" /> |
| 170 | 189 | </el-select> --> |
| 171 | - <el-radio-group v-model="formInline.isRequired" style="margin-top:13px;"> | |
| 172 | - <el-radio label="必填">必填</el-radio> | |
| 173 | - <el-radio label="非必填">非必填</el-radio> | |
| 174 | - | |
| 175 | - </el-radio-group> | |
| 176 | - </el-form-item> | |
| 177 | - <el-form-item label="答案设置" v-if="formInline.questionType !='文本'" prop="optionSettings"> | |
| 178 | - <el-table :data="options" :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}"> | |
| 179 | - <el-table-column prop="index" label="序号" width="80"> | |
| 180 | - <template #default="scope"> | |
| 181 | - {{scope.$index + 1}} | |
| 182 | - </template> | |
| 183 | - </el-table-column> | |
| 184 | - <el-table-column prop="name" label="选项名称" width="300"> | |
| 185 | - <template #default="scope"> | |
| 186 | - <el-input v-model="scope.row.name" :readonly="scope.row.readonly" maxlength="50"></el-input> | |
| 187 | - </template> | |
| 188 | - </el-table-column> | |
| 189 | - <el-table-column prop="name" label="分数"> | |
| 190 | - <template #default="scope"> | |
| 191 | - <el-input | |
| 192 | - v-model.number="scope.row.num" | |
| 193 | - :min="0" | |
| 194 | - :max="100" | |
| 195 | - @input="validateScore(scope.row)" | |
| 196 | - :readonly="scope.row.readonly" | |
| 197 | - ></el-input> | |
| 198 | - </template> | |
| 199 | - </el-table-column> | |
| 200 | - <el-table-column label="操作"> | |
| 201 | - <template #default="scope"> | |
| 202 | - <div class="tableBtn greens" @click="deleteOption(scope.$index)">删除</div> | |
| 203 | - </template> | |
| 204 | - </el-table-column> | |
| 205 | - </el-table> | |
| 206 | - <el-button @click="addOption" style="width:100%;background-color: #3F9B6A;color: #fff">+ 添加</el-button> | |
| 207 | - </el-form-item> | |
| 208 | - </el-form> | |
| 209 | - </div> | |
| 210 | - | |
| 211 | - <div style="padding-top:20px;display:flex;justify-content: flex-end;"> | |
| 212 | - <el-button class="buttonHover" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 213 | - @click="closeFn(1)">返回</el-button> | |
| 214 | - <el-button @click="addCheck(2)" style="background-color: #3F9B6A;color: #fff">确认</el-button> | |
| 190 | + <el-radio-group v-model="formInline.isRequired" style="margin-top: 13px"> | |
| 191 | + <el-radio label="必填">必填</el-radio> | |
| 192 | + <el-radio label="非必填">非必填</el-radio> | |
| 193 | + </el-radio-group> | |
| 194 | + </el-form-item> | |
| 195 | + <el-form-item v-if="formInline.questionType != '文本'" label="答案设置" prop="optionSettings"> | |
| 196 | + <el-table :data="options" :header-cell-style="{ | |
| 197 | + fontSize: '14px', | |
| 198 | + color: '#0009', | |
| 199 | + fontWeight: 'normal', | |
| 200 | + backgroundColor: '#F2F3F5', | |
| 201 | + }"> | |
| 202 | + <el-table-column prop="index" label="序号" width="80"> | |
| 203 | + <template #default="scope"> | |
| 204 | + {{ scope.$index + 1 }} | |
| 205 | + </template> | |
| 206 | + </el-table-column> | |
| 207 | + <el-table-column prop="name" label="选项名称" width="300"> | |
| 208 | + <template #default="scope"> | |
| 209 | + <el-input v-model="scope.row.name" :readonly="scope.row.readonly" maxlength="50" /> | |
| 210 | + </template> | |
| 211 | + </el-table-column> | |
| 212 | + <el-table-column prop="name" label="分数"> | |
| 213 | + <template #default="scope"> | |
| 214 | + <el-input v-model.number="scope.row.num" :min="0" :max="100" :readonly="scope.row.readonly" | |
| 215 | + @input="validateScore(scope.row)" /> | |
| 216 | + </template> | |
| 217 | + </el-table-column> | |
| 218 | + <el-table-column label="" min-width="120"> | |
| 219 | + <template #default="{ $index }"> | |
| 220 | + <span style="cursor: pointer;margin-right: 5px; color: #3F9B6A;" @click="answerMoveUp($index)" | |
| 221 | + v-if="$index != 0">↑</span> | |
| 222 | + <span style="cursor: pointer; color: #3F9B6A;" @click="answerMoveDown($index)" | |
| 223 | + v-if="$index != (options.length - 1)">↓</span> | |
| 224 | + </template> | |
| 225 | + </el-table-column> | |
| 226 | + <el-table-column label="操作"> | |
| 227 | + <template #default="scope"> | |
| 228 | + <div class="tableBtn greens" @click="deleteOption(scope.$index)"> | |
| 229 | + 删除 | |
| 230 | + </div> | |
| 231 | + </template> | |
| 232 | + </el-table-column> | |
| 233 | + </el-table> | |
| 234 | + <el-button style="width: 100%; background-color: #3f9b6a; color: #fff" @click="addOption">+ | |
| 235 | + 添加</el-button> | |
| 236 | + </el-form-item> | |
| 237 | + </el-form> | |
| 238 | + </div> | |
| 215 | 239 | |
| 240 | + <div style="padding-top: 20px; display: flex; justify-content: flex-end"> | |
| 241 | + <el-button class="buttonHover" style=" | |
| 242 | + color: #606266; | |
| 243 | + border: 1px solid #dddfe5; | |
| 244 | + background-color: #fff; | |
| 245 | + " @click="closeFn(1)">返回</el-button> | |
| 246 | + <el-button style="background-color: #3f9b6a; color: #fff" @click="addCheck(2)">确认</el-button> | |
| 216 | 247 | </div> |
| 217 | 248 | </div> |
| 218 | - | |
| 219 | 249 | </el-dialog> |
| 220 | 250 | <!-- 编辑 --> |
| 221 | - <el-dialog :visible.sync="bainjiBox" custom-class="tongyong_css" style="padding: 0;" width="60%" | |
| 222 | - center :close-on-click-modal="false" :show-close="false"> | |
| 223 | - <div style="padding:20px;"> | |
| 224 | - <div style="font-size: 14px;padding-bottom: 20px;color: #000;">编辑问卷</div> | |
| 225 | - <div style="padding:20px;"> | |
| 226 | - <el-form ref="bianform" :model="secondData" :rules="rules" label-width="140px"> | |
| 227 | - <el-form-item label="题目" prop="tikuTitle"> | |
| 228 | - <el-input v-model="secondData.tikuTitle" maxlength="100"></el-input> | |
| 229 | - </el-form-item> | |
| 230 | - <el-form-item label="题型" prop="questionType"> | |
| 231 | - <el-select v-model="secondData.questionType" placeholder="请选择" disabled> | |
| 232 | - <el-option label="单选" value="单选" /> | |
| 233 | - <el-option label="多选" value="多选" /> | |
| 234 | - <el-option label="文本" value="文本" /> | |
| 235 | - </el-select> | |
| 236 | - </el-form-item> | |
| 237 | - <el-form-item label="隶属题库" prop="questionBank"> | |
| 238 | - <el-select v-model="secondData.questionBank" placeholder="请选择"> | |
| 239 | - <el-option label="用户端题库" value="用户端题库" /> | |
| 240 | - <el-option label="商户端题库" value="商户端题库" /> | |
| 241 | - <el-option label="公共端题库" value="公共端题库" /> | |
| 242 | - </el-select> | |
| 243 | - </el-form-item> | |
| 244 | - <el-form-item label="是否必填" prop="isRequired"> | |
| 245 | - <!-- <el-select v-model="secondData.isRequired" placeholder="请选择"> | |
| 251 | + <el-dialog :visible.sync="bainjiBox" custom-class="tongyong_css" style="padding: 0" width="60%" center | |
| 252 | + :close-on-click-modal="false" :show-close="false"> | |
| 253 | + <div style="padding: 20px"> | |
| 254 | + <div style="font-size: 14px; padding-bottom: 20px; color: #000"> | |
| 255 | + 编辑题目 | |
| 256 | + </div> | |
| 257 | + <div style="padding: 20px"> | |
| 258 | + <el-form ref="bianform" :model="secondData" :rules="rules" label-width="140px"> | |
| 259 | + <el-form-item label="题目" prop="tikuTitle"> | |
| 260 | + <el-input v-model="secondData.tikuTitle" maxlength="100" /> | |
| 261 | + </el-form-item> | |
| 262 | + <el-form-item label="题型" prop="questionType"> | |
| 263 | + <el-select v-model="secondData.questionType" placeholder="请选择" disabled> | |
| 264 | + <el-option label="单选" value="单选" /> | |
| 265 | + <el-option label="多选" value="多选" /> | |
| 266 | + <el-option label="文本" value="文本" /> | |
| 267 | + </el-select> | |
| 268 | + </el-form-item> | |
| 269 | + <!-- 如果formInline.questionType为多选,那么就显示最多可以选择多少个,计步器来设置,默认是 0 --> | |
| 270 | + <el-form-item v-if="secondData.questionType == '多选'" label="最多可选" prop="maxChoose"> | |
| 271 | + <el-input-number v-model="secondData.maxChoose" :min="0" :max="options.length" /> 0为不限制填写数量 | |
| 272 | + </el-form-item> | |
| 273 | + <el-form-item label="隶属题库" prop="questionBank"> | |
| 274 | + <el-select v-model="secondData.questionBank" placeholder="请选择"> | |
| 275 | + <el-option label="用户端题库" value="用户端题库" /> | |
| 276 | + <el-option label="商户端题库" value="商户端题库" /> | |
| 277 | + <el-option label="公共端题库" value="公共端题库" /> | |
| 278 | + </el-select> | |
| 279 | + </el-form-item> | |
| 280 | + <el-form-item label="布局类型" prop="layoutType"> | |
| 281 | + <el-radio-group v-model="secondData.layoutType" style="margin-top: 13px"> | |
| 282 | + <el-radio :label="1">垂直布局</el-radio> | |
| 283 | + <el-radio :label="2">自由布局</el-radio> | |
| 284 | + </el-radio-group> | |
| 285 | + </el-form-item> | |
| 286 | + <el-form-item label="是否必填" prop="isRequired"> | |
| 287 | + <!-- <el-select v-model="secondData.isRequired" placeholder="请选择"> | |
| 246 | 288 | <el-option label="必填" value="必填" /> |
| 247 | 289 | <el-option label="非必填" value="非必填" /> |
| 248 | 290 | </el-select> --> |
| 249 | - <el-radio-group v-model="secondData.isRequired" style="margin-top:13px;"> | |
| 250 | - <el-radio label="必填">必填</el-radio> | |
| 251 | - <el-radio label="非必填">非必填</el-radio> | |
| 252 | - | |
| 253 | - </el-radio-group> | |
| 254 | - </el-form-item> | |
| 255 | - <el-form-item label="答案设置" v-if="secondData.questionType !='文本'"> | |
| 256 | - <el-table :data="options" :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}"> | |
| 257 | - <el-table-column prop="index" label="序号" width="180"> | |
| 258 | - <template #default="scope"> | |
| 259 | - {{scope.$index + 1}} | |
| 260 | - </template> | |
| 261 | - </el-table-column> | |
| 262 | - <el-table-column prop="name" label="选项名称"> | |
| 263 | - <template #default="scope"> | |
| 264 | - <el-input v-model="scope.row.name" :readonly="scope.row.readonly"></el-input> | |
| 265 | - </template> | |
| 266 | - </el-table-column> | |
| 267 | - <el-table-column prop="name" label="分数"> | |
| 268 | - <template #default="scope"> | |
| 269 | - <el-input v-model="scope.row.num" :min="0" | |
| 270 | - :max="100" | |
| 271 | - @input="validateScore(scope.row)" | |
| 272 | - :readonly="scope.row.readonly"></el-input> | |
| 273 | - </template> | |
| 274 | - </el-table-column> | |
| 275 | - <el-table-column label="操作"> | |
| 276 | - <template #default="scope"> | |
| 277 | - <div class="tableBtn greens" @click="deleteOption(scope.$index)">删除</div> | |
| 278 | - </template> | |
| 279 | - </el-table-column> | |
| 280 | - </el-table> | |
| 281 | - <el-button @click="addOption" style="width:100%;background-color: #3F9B6A;color: #fff">+ 添加</el-button> | |
| 282 | - </el-form-item> | |
| 283 | - </el-form> | |
| 284 | - </div> | |
| 285 | - | |
| 286 | - <div style="padding-top:20px;display:flex;justify-content: flex-end;"> | |
| 287 | - <el-button class="buttonHover" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | |
| 288 | - @click="closeFn(2)">返回</el-button> | |
| 289 | - <el-button @click="bianCheck" style="background-color: #3F9B6A;color: #fff">确认</el-button> | |
| 291 | + <el-radio-group v-model="secondData.isRequired" style="margin-top: 13px"> | |
| 292 | + <el-radio label="必填">必填</el-radio> | |
| 293 | + <el-radio label="非必填">非必填</el-radio> | |
| 294 | + </el-radio-group> | |
| 295 | + </el-form-item> | |
| 296 | + <el-form-item v-if="secondData.questionType != '文本'" label="答案设置"> | |
| 297 | + <el-table :data="options" :header-cell-style="{ | |
| 298 | + fontSize: '14px', | |
| 299 | + color: '#0009', | |
| 300 | + fontWeight: 'normal', | |
| 301 | + backgroundColor: '#F2F3F5', | |
| 302 | + }"> | |
| 303 | + | |
| 304 | + <el-table-column prop="index" label="序号" width="180"> | |
| 305 | + <template #default="scope"> | |
| 306 | + {{ scope.$index + 1 }} | |
| 307 | + </template> | |
| 308 | + </el-table-column> | |
| 309 | + <el-table-column prop="name" label="选项名称"> | |
| 310 | + <template #default="scope"> | |
| 311 | + <el-input v-model="scope.row.name" :readonly="scope.row.readonly" /> | |
| 312 | + </template> | |
| 313 | + </el-table-column> | |
| 314 | + <el-table-column prop="name" label="分数"> | |
| 315 | + <template #default="scope"> | |
| 316 | + <el-input v-model="scope.row.num" :min="0" :max="100" :readonly="scope.row.readonly" | |
| 317 | + @input="validateScore(scope.row)" /> | |
| 318 | + </template> | |
| 319 | + </el-table-column> | |
| 320 | + <el-table-column label="" min-width="120"> | |
| 321 | + <template #default="{ $index }"> | |
| 322 | + <span style="cursor: pointer;margin-right: 5px; color: #3F9B6A;" | |
| 323 | + @click="answerMoveUp($index)" v-if="$index != 0">↑</span> | |
| 324 | + <span style="cursor: pointer; color: #3F9B6A;" @click="answerMoveDown($index)" | |
| 325 | + v-if="$index != (options.length - 1)">↓</span> | |
| 326 | + </template> | |
| 327 | + </el-table-column> | |
| 328 | + <el-table-column label="操作"> | |
| 329 | + <template #default="scope"> | |
| 330 | + <div class="tableBtn greens" @click="deleteOption(scope.$index)"> | |
| 331 | + 删除 | |
| 332 | + </div> | |
| 333 | + </template> | |
| 334 | + </el-table-column> | |
| 335 | + | |
| 336 | + </el-table> | |
| 337 | + | |
| 338 | + <el-button style="width: 100%; background-color: #3f9b6a; color: #fff" @click="addOption">+ | |
| 339 | + 添加</el-button> | |
| 340 | + </el-form-item> | |
| 341 | + </el-form> | |
| 342 | + </div> | |
| 343 | + | |
| 344 | + <div style="padding-top: 20px; display: flex; justify-content: flex-end"> | |
| 345 | + <el-button class="buttonHover" style=" | |
| 346 | + color: #606266; | |
| 347 | + border: 1px solid #dddfe5; | |
| 348 | + background-color: #fff; | |
| 349 | + " @click="closeFn(2)">返回</el-button> | |
| 350 | + <el-button style="background-color: #3f9b6a; color: #fff" @click="bianCheck">确认</el-button> | |
| 290 | 351 | </div> |
| 291 | 352 | </div> |
| 292 | 353 | </el-dialog> |
| 293 | 354 | </div> |
| 294 | - | |
| 295 | - | |
| 296 | 355 | </template> |
| 297 | 356 | |
| 298 | 357 | <script> |
| 299 | 358 | import { |
| 300 | 359 | async |
| 301 | - } from 'q' | |
| 302 | - import axios from 'axios' | |
| 303 | - import { | |
| 304 | - QuestionGetAll, | |
| 305 | - QuestionAdd, | |
| 306 | - QuestionEdit, | |
| 307 | - QuestionDel, | |
| 308 | - } from '../../api/question.js' | |
| 309 | - import upimg from "@/components/ImageUpload/index" | |
| 360 | + } from "q"; | |
| 361 | + import axios from "axios"; | |
| 362 | + import { | |
| 363 | + QuestionGetAll, | |
| 364 | + QuestionAdd, | |
| 365 | + QuestionEdit, | |
| 366 | + QuestionDel, | |
| 367 | + } from "../../api/question.js"; | |
| 368 | + import upimg from "@/components/ImageUpload/index"; | |
| 310 | 369 | export default { |
| 311 | 370 | components: { |
| 312 | - upimg | |
| 371 | + upimg, | |
| 313 | 372 | }, |
| 314 | 373 | data() { |
| 315 | 374 | return { |
| 316 | - detbox: false, //详情 | |
| 375 | + detbox: false, // 详情 | |
| 317 | 376 | currentPage: 1, |
| 318 | 377 | total: 10, |
| 319 | 378 | flag: false, |
| 320 | 379 | pageSize: 10, |
| 321 | 380 | ggXin: false, |
| 322 | 381 | formInline: { |
| 323 | - tikuTitle:'', | |
| 324 | - questionType:'', | |
| 325 | - questionBank:'用户端题库', | |
| 326 | - isRequired:'必填', | |
| 327 | - questionDescription:'', | |
| 328 | - optionSettings:{}, | |
| 382 | + tikuTitle: "", | |
| 383 | + questionType: "", | |
| 384 | + questionBank: "用户端题库", | |
| 385 | + isRequired: "必填", | |
| 386 | + maxChoose: 0, | |
| 387 | + questionDescription: "", | |
| 388 | + optionSettings: {}, | |
| 329 | 389 | }, |
| 330 | - tableData: [ | |
| 331 | - ], | |
| 390 | + tableData: [], | |
| 332 | 391 | secondData: {}, |
| 333 | 392 | formSel: { |
| 334 | - questionBank:'用户端题库', | |
| 335 | - tikuTitle:'', | |
| 336 | - questionType:'', | |
| 337 | - pageNumber: 0, | |
| 338 | - pageSize: 10, | |
| 393 | + questionBank: "用户端题库", | |
| 394 | + tikuTitle: "", | |
| 395 | + questionType: "", | |
| 396 | + pageNumber: 0, | |
| 397 | + pageSize: 10, | |
| 339 | 398 | }, |
| 340 | 399 | pageindex: { |
| 341 | 400 | pageNumber: 0, |
| 342 | 401 | pageSize: 10, |
| 343 | - questionBank:'用户端题库', | |
| 402 | + questionBank: "用户端题库", | |
| 344 | 403 | }, |
| 345 | - bainjiBox:false, | |
| 346 | -options:[ | |
| 347 | - | |
| 348 | -], | |
| 349 | -labelStyle :{ | |
| 350 | - width:'160px' | |
| 351 | -}, | |
| 352 | -contentStyle:{ | |
| 353 | - width:'246px' | |
| 354 | -}, | |
| 355 | -rules:{ | |
| 356 | - | |
| 357 | - tikuTitle: [ | |
| 358 | - { required: true, message: '请输入题目', trigger: 'blur' }, | |
| 359 | - ], | |
| 360 | - questionType: [ | |
| 361 | - { required: true, message: '请选择题型', trigger: 'change' } | |
| 362 | - ], | |
| 363 | - questionBank: [ | |
| 364 | - { required: true, message: '请选择所属题库', trigger: 'change' } | |
| 365 | - ], | |
| 366 | - optionSettings: [ | |
| 367 | - { required: true, message: '请设置答案', trigger: 'change' } | |
| 368 | - ], | |
| 369 | -} | |
| 370 | - | |
| 371 | - } | |
| 404 | + bainjiBox: false, | |
| 405 | + options: [], | |
| 406 | + labelStyle: { | |
| 407 | + width: "160px", | |
| 408 | + }, | |
| 409 | + contentStyle: { | |
| 410 | + width: "246px", | |
| 411 | + }, | |
| 412 | + rules: { | |
| 413 | + tikuTitle: [{ | |
| 414 | + required: true, | |
| 415 | + message: "请输入题目", | |
| 416 | + trigger: "blur" | |
| 417 | + }], | |
| 418 | + questionType: [{ | |
| 419 | + required: true, | |
| 420 | + message: "请选择题型", | |
| 421 | + trigger: "change" | |
| 422 | + }, ], | |
| 423 | + questionBank: [{ | |
| 424 | + required: true, | |
| 425 | + message: "请选择所属题库", | |
| 426 | + trigger: "change" | |
| 427 | + }, ], | |
| 428 | + layoutType: [{ | |
| 429 | + required: true, | |
| 430 | + message: "请选择布局类型", | |
| 431 | + trigger: "change" | |
| 432 | + }, ], | |
| 433 | + optionSettings: [{ | |
| 434 | + required: true, | |
| 435 | + message: "请设置答案", | |
| 436 | + trigger: "change" | |
| 437 | + }, ], | |
| 438 | + }, | |
| 439 | + }; | |
| 372 | 440 | }, |
| 441 | + computed: {}, | |
| 373 | 442 | mounted() { |
| 374 | - this.getAll() | |
| 375 | - }, | |
| 376 | - computed: { | |
| 377 | - | |
| 443 | + this.getAll(); | |
| 378 | 444 | }, |
| 379 | 445 | methods: { |
| 380 | 446 | chenge(val) { |
| 381 | 447 | this.formSel = { |
| 382 | - questionBank:'用户端题库', | |
| 383 | - tikuTitle:'', | |
| 384 | - questionType:'', | |
| 385 | - pageNumber: 0, | |
| 386 | - pageSize: 10, | |
| 387 | - } | |
| 448 | + questionBank: "用户端题库", | |
| 449 | + tikuTitle: "", | |
| 450 | + questionType: "", | |
| 451 | + pageNumber: 0, | |
| 452 | + pageSize: 10, | |
| 453 | + }; | |
| 388 | 454 | }, |
| 389 | - getAll() { | |
| 390 | - | |
| 391 | - QuestionGetAll(this.pageindex).then(res=>{ | |
| 392 | - this.tableData = res.data.content | |
| 393 | - this.total = res.data.totalElements | |
| 394 | - }) | |
| 395 | - | |
| 396 | - | |
| 397 | - | |
| 455 | + getAll() { | |
| 456 | + QuestionGetAll(this.pageindex).then((res) => { | |
| 457 | + this.tableData = res.data.content; | |
| 458 | + this.total = res.data.totalElements; | |
| 459 | + }); | |
| 398 | 460 | }, |
| 399 | 461 | |
| 400 | 462 | // 新增确定按钮 |
| 401 | - addCheck(val) { | |
| 402 | - this.$refs.reform.validate((valid) => { | |
| 403 | - if (valid) { | |
| 404 | - if(this.formInline.questionType != '文本' && this.options.length == 0){ | |
| 405 | - this.$message({ | |
| 406 | - message: '请添加答案选项', | |
| 407 | - }) | |
| 408 | - return | |
| 409 | - } | |
| 410 | - for(let i =0;i<this.options.length;i++){ | |
| 411 | - if(this.options[i].name == ''){ | |
| 412 | - this.$message({ | |
| 413 | - message: '答案选项不能为空', | |
| 414 | - }) | |
| 415 | - return | |
| 416 | - } | |
| 417 | - } | |
| 418 | - this.formInline.optionSettings = this.options.reduce((accumulator, current) => { | |
| 419 | - accumulator[current.index] = current.name; | |
| 420 | - return accumulator; | |
| 421 | - }, {}) // 初始化累加器为空对象 | |
| 422 | - this.formInline.score = this.options.reduce((accumulator, current) => { | |
| 423 | - accumulator[current.index] = Number(current.num); | |
| 424 | - return accumulator; | |
| 425 | - }, {}) // 初始化累加器为空对象 | |
| 426 | - this.formInline.optionSettings = JSON.stringify(this.formInline.optionSettings) | |
| 427 | - this.formInline.score = JSON.stringify(this.formInline.score) | |
| 428 | - this.formInline.createDate = this.currentTime() | |
| 429 | - QuestionAdd(this.formInline).then(res => { | |
| 430 | - this.$message({ | |
| 431 | - message: '保存成功', | |
| 432 | - type: 'success' | |
| 433 | - }) | |
| 434 | - this.formInline = { | |
| 435 | - tikuTitle:'', | |
| 436 | - questionType:'', | |
| 437 | - questionBank:'用户端题库', | |
| 438 | - isRequired:'必填', | |
| 439 | - questionDescription:'', | |
| 440 | - optionSettings:{}, | |
| 441 | - | |
| 442 | - } | |
| 443 | - this.getAll() | |
| 444 | - }) | |
| 445 | - | |
| 446 | - this.ggXin = false | |
| 447 | - | |
| 448 | - }else{ | |
| 449 | - | |
| 450 | - return false; | |
| 463 | + addCheck(val) { | |
| 464 | + this.$refs.reform.validate((valid) => { | |
| 465 | + if (valid) { | |
| 466 | + if ( | |
| 467 | + this.formInline.questionType != "文本" && | |
| 468 | + this.options.length == 0 | |
| 469 | + ) { | |
| 470 | + this.$message({ | |
| 471 | + message: "请添加答案选项", | |
| 472 | + }); | |
| 473 | + return; | |
| 474 | + } | |
| 475 | + for (let i = 0; i < this.options.length; i++) { | |
| 476 | + if (this.options[i].name == "") { | |
| 477 | + this.$message({ | |
| 478 | + message: "答案选项不能为空", | |
| 479 | + }); | |
| 480 | + return; | |
| 451 | 481 | } |
| 482 | + } | |
| 483 | + let accumulator = {} | |
| 484 | + let fenshu = {} | |
| 485 | + this.options.forEach((item, index) => { | |
| 486 | + accumulator[index] = item.name | |
| 487 | + fenshu[index] = Number(item.num) || 0 | |
| 452 | 488 | }) |
| 453 | - | |
| 489 | + this.formInline.optionSettings = accumulator | |
| 490 | + this.formInline.score = fenshu | |
| 491 | + this.formInline.optionSettings = JSON.stringify( | |
| 492 | + this.formInline.optionSettings | |
| 493 | + ); | |
| 494 | + this.formInline.score = JSON.stringify(this.formInline.score); | |
| 495 | + this.formInline.createDate = this.currentTime(); | |
| 496 | + console.log({...this.formInline}) | |
| 497 | + // return | |
| 498 | + QuestionAdd(this.formInline).then((res) => { | |
| 499 | + this.$message({ | |
| 500 | + message: "保存成功", | |
| 501 | + type: "success", | |
| 502 | + }); | |
| 503 | + this.formInline = { | |
| 504 | + tikuTitle: "", | |
| 505 | + questionType: "", | |
| 506 | + questionBank: "用户端题库", | |
| 507 | + isRequired: "必填", | |
| 508 | + questionDescription: "", | |
| 509 | + optionSettings: {}, | |
| 510 | + }; | |
| 511 | + this.getAll(); | |
| 512 | + }); | |
| 513 | + | |
| 514 | + this.ggXin = false; | |
| 515 | + } else { | |
| 516 | + return false; | |
| 517 | + } | |
| 518 | + }); | |
| 454 | 519 | }, |
| 455 | 520 | // 编辑确定 |
| 456 | - async bianCheck(){ | |
| 457 | - this.$refs.bianform.validate((valid) => { | |
| 458 | - if (valid) { | |
| 459 | - if(this.secondData.questionType != '文本' && this.options.length == 0){ | |
| 460 | - this.$message({ | |
| 461 | - message: '请添加答案选项', | |
| 462 | - }) | |
| 463 | - return | |
| 464 | - } | |
| 465 | - for(let i =0;i<this.options.length;i++){ | |
| 466 | - if(this.options[i].name == ''){ | |
| 467 | - this.$message({ | |
| 468 | - message: '答案选项不能为空', | |
| 469 | - }) | |
| 470 | - return | |
| 471 | - } | |
| 472 | - } | |
| 473 | - this.secondData.optionSettings = this.options.reduce((accumulator, current) => { | |
| 474 | - accumulator[current.index] = current.name; | |
| 475 | - return accumulator; | |
| 476 | - }, {}) // 初始化累加器为空对象 | |
| 477 | - this.secondData.score = this.options.reduce((accumulator, current) => { | |
| 478 | - accumulator[current.index] = Number(current.num); | |
| 479 | - return accumulator | |
| 480 | - }, {}) // 初始化累加器为空对象 | |
| 481 | - | |
| 482 | - this.secondData.optionSettings = JSON.stringify(this.secondData.optionSettings) | |
| 483 | - this.secondData.score = JSON.stringify(this.secondData.score) | |
| 484 | - | |
| 485 | - QuestionEdit(this.secondData).then(res => { | |
| 486 | - this.$message({ | |
| 487 | - message: '保存成功', | |
| 488 | - type: 'success' | |
| 489 | - }) | |
| 490 | - | |
| 491 | - this.getAll() | |
| 492 | - }) | |
| 493 | - | |
| 494 | - this.bainjiBox = false | |
| 495 | - | |
| 496 | - }else{ | |
| 497 | - this.$message({ | |
| 498 | - message: '请填写完整信息', | |
| 499 | - type: 'error' | |
| 500 | - }) | |
| 501 | - return false; | |
| 521 | + async bianCheck() { | |
| 522 | + this.$refs.bianform.validate((valid) => { | |
| 523 | + if (valid) { | |
| 524 | + if ( | |
| 525 | + this.secondData.questionType != "文本" && | |
| 526 | + this.options.length == 0 | |
| 527 | + ) { | |
| 528 | + this.$message({ | |
| 529 | + message: "请添加答案选项", | |
| 530 | + }); | |
| 531 | + return; | |
| 502 | 532 | } |
| 503 | - }) | |
| 533 | + for (let i = 0; i < this.options.length; i++) { | |
| 534 | + if (this.options[i].name == "") { | |
| 535 | + this.$message({ | |
| 536 | + message: "答案选项不能为空", | |
| 537 | + }); | |
| 538 | + return; | |
| 539 | + } | |
| 540 | + } | |
| 541 | + let accumulator = {} | |
| 542 | + let fenshu = {} | |
| 543 | + this.options.forEach((item, index) => { | |
| 544 | + | |
| 545 | + accumulator[index] = item.name | |
| 546 | + fenshu[index] = Number(item.num) || 0 | |
| 547 | + }) | |
| 548 | + this.secondData.optionSettings = JSON.stringify( | |
| 549 | + accumulator | |
| 550 | + ); | |
| 551 | + this.secondData.score = JSON.stringify(fenshu); | |
| 552 | + console.log({...this.secondData}) | |
| 553 | + // return | |
| 554 | + QuestionEdit(this.secondData).then((res) => { | |
| 555 | + this.$message({ | |
| 556 | + message: "保存成功", | |
| 557 | + type: "success", | |
| 558 | + }); | |
| 559 | + | |
| 560 | + this.getAll(); | |
| 561 | + }); | |
| 562 | + | |
| 563 | + this.bainjiBox = false; | |
| 564 | + } else { | |
| 565 | + this.$message({ | |
| 566 | + message: "请填写完整信息", | |
| 567 | + type: "error", | |
| 568 | + }); | |
| 569 | + return false; | |
| 570 | + } | |
| 571 | + }); | |
| 504 | 572 | }, |
| 505 | 573 | // 获取时间 |
| 506 | 574 | currentTime() { |
| 507 | - let date = new Date(); | |
| 508 | - let year = date.getFullYear(); | |
| 575 | + const date = new Date(); | |
| 576 | + const year = date.getFullYear(); | |
| 509 | 577 | let month = date.getMonth() + 1; // 月份从0~11,所以加一 |
| 510 | 578 | let day = date.getDate(); |
| 511 | 579 | let hours = date.getHours(); |
| ... | ... | @@ -513,147 +581,155 @@ rules:{ |
| 513 | 581 | let seconds = date.getSeconds(); |
| 514 | 582 | |
| 515 | 583 | // 为月、日、小时、分钟和秒添加前导零(如果需要) |
| 516 | - month = month < 10 ? '0' + month : month; | |
| 517 | - day = day < 10 ? '0' + day : day; | |
| 518 | - hours = hours < 10 ? '0' + hours : hours; | |
| 519 | - minutes = minutes < 10 ? '0' + minutes : minutes; | |
| 520 | - seconds = seconds < 10 ? '0' + seconds : seconds; | |
| 584 | + month = month < 10 ? "0" + month : month; | |
| 585 | + day = day < 10 ? "0" + day : day; | |
| 586 | + hours = hours < 10 ? "0" + hours : hours; | |
| 587 | + minutes = minutes < 10 ? "0" + minutes : minutes; | |
| 588 | + seconds = seconds < 10 ? "0" + seconds : seconds; | |
| 521 | 589 | |
| 522 | 590 | // 返回格式化的日期和时间字符串 |
| 523 | 591 | return `${year}-${month}-${day} ${hours}:${minutes}`; |
| 524 | 592 | }, |
| 525 | 593 | |
| 526 | - //详情 | |
| 527 | - details(val, item) { | |
| 528 | - this.secondData =item | |
| 529 | - console.log(item.optionSettings) | |
| 530 | - if(typeof item.optionSettings == 'string'){ | |
| 531 | - this.secondData.optionSettings = JSON.parse(item.optionSettings) | |
| 594 | + // 详情 | |
| 595 | + details(val, item) { | |
| 596 | + this.secondData = item; | |
| 597 | + | |
| 598 | + if (typeof item.optionSettings === "string") { | |
| 599 | + this.secondData.optionSettings = JSON.parse(item.optionSettings); | |
| 532 | 600 | } |
| 533 | - this.detbox = true | |
| 601 | + this.detbox = true; | |
| 534 | 602 | }, |
| 535 | 603 | addbuss(val, item) { |
| 536 | - this.detbox = false | |
| 537 | - this.ggXin = true | |
| 604 | + this.detbox = false; | |
| 605 | + this.ggXin = true; | |
| 538 | 606 | }, |
| 539 | 607 | handleSizeChange(val) { |
| 540 | - this.pageSize = val | |
| 608 | + this.pageSize = val; | |
| 541 | 609 | }, |
| 542 | 610 | handleCurrentChange(val) { |
| 543 | 611 | // this.currentPage = val |
| 544 | - this.pageindex.pageNumber = val- 1 | |
| 545 | - QuestionGetAll(this.pageindex).then(res=>{ | |
| 546 | - this.tableData = res.data.content | |
| 547 | - }) | |
| 548 | - | |
| 549 | - | |
| 612 | + this.pageindex.pageNumber = val - 1; | |
| 613 | + QuestionGetAll(this.pageindex).then((res) => { | |
| 614 | + this.tableData = res.data.content; | |
| 615 | + }); | |
| 550 | 616 | }, |
| 551 | 617 | |
| 552 | 618 | closeFn(val) { |
| 553 | 619 | if (val == 1) { |
| 554 | - this.ggXin = false | |
| 620 | + this.ggXin = false; | |
| 555 | 621 | } else { |
| 556 | - this.bainjiBox = false | |
| 622 | + this.bainjiBox = false; | |
| 557 | 623 | } |
| 558 | 624 | }, |
| 559 | 625 | |
| 560 | 626 | // 查询按钮 |
| 561 | 627 | async onSubmit() { |
| 562 | - const res = await QuestionGetAll(this.formSel) | |
| 563 | - this.tableData = res.data.content | |
| 564 | - this.total = res.data.totalElements | |
| 565 | - | |
| 628 | + const res = await QuestionGetAll(this.formSel); | |
| 629 | + this.tableData = res.data.content; | |
| 630 | + this.total = res.data.totalElements; | |
| 566 | 631 | }, |
| 567 | - //重置按钮 | |
| 632 | + // 重置按钮 | |
| 568 | 633 | resetting() { |
| 569 | 634 | this.formSel = { |
| 570 | - questionBank:'用户端题库', | |
| 571 | - pageNumber: 0, | |
| 572 | - pageSize: 10, | |
| 573 | - } | |
| 574 | - this.currentPage = 1 | |
| 575 | -this.pageindex.pageNumber = 0 | |
| 576 | - this.getAll() | |
| 635 | + questionBank: "用户端题库", | |
| 636 | + pageNumber: 0, | |
| 637 | + pageSize: 10, | |
| 638 | + }; | |
| 639 | + this.currentPage = 1; | |
| 640 | + this.pageindex.pageNumber = 0; | |
| 641 | + this.getAll(); | |
| 577 | 642 | }, |
| 578 | - addOption() { | |
| 579 | - const newOption = { index: this.options.length + 1, name: '', readonly: false }; | |
| 580 | - this.options.push(newOption); | |
| 581 | - }, | |
| 582 | - deleteOption(index) { | |
| 583 | - this.options.splice(index, 1); | |
| 584 | - }, | |
| 585 | - bianls(item){ | |
| 586 | - let settings = null | |
| 587 | - let socer = null | |
| 588 | - if(typeof item.optionSettings != 'object'){ | |
| 589 | - settings = JSON.parse(item.optionSettings) | |
| 590 | - }else{ | |
| 591 | - settings = item.optionSettings | |
| 592 | - } | |
| 593 | - if(typeof item.score != 'object'){ | |
| 594 | - socer = JSON.parse(item.score) | |
| 595 | - }else{ | |
| 596 | - socer = item.score | |
| 597 | - } | |
| 643 | + addOption() { | |
| 644 | + const newOption = { | |
| 645 | + index: this.options.length + 1, | |
| 646 | + name: "", | |
| 647 | + readonly: false, | |
| 648 | + }; | |
| 649 | + this.options.push(newOption); | |
| 650 | + }, | |
| 651 | + deleteOption(index) { | |
| 652 | + this.options.splice(index, 1); | |
| 653 | + }, | |
| 654 | + bianls(item) { | |
| 655 | + let settings = null; | |
| 656 | + let socer = null; | |
| 657 | + if (typeof item.optionSettings !== "object") { | |
| 658 | + settings = JSON.parse(item.optionSettings); | |
| 659 | + } else { | |
| 660 | + settings = item.optionSettings; | |
| 661 | + } | |
| 662 | + if (typeof item.score !== "object") { | |
| 663 | + socer = JSON.parse(item.score); | |
| 664 | + } else { | |
| 665 | + socer = item.score; | |
| 666 | + } | |
| 667 | + console.log("我是点击后的数据", item) | |
| 598 | 668 | const keys = Object.keys(settings); |
| 599 | - this.options = keys.map(key => ({ | |
| 600 | - index: parseInt(key), // 将字符串键转换为整数 | |
| 601 | - name: settings[key], | |
| 602 | - num: socer[key] // 添加 socer 的值 | |
| 603 | - })); | |
| 604 | - | |
| 605 | - this.bainjiBox =true | |
| 606 | - this.secondData =item | |
| 669 | + this.options = keys.map((key) => ({ | |
| 670 | + index: parseInt(key), // 将字符串键转换为整数 | |
| 671 | + name: settings[key], | |
| 672 | + num: socer[key], // 添加 socer 的值 | |
| 673 | + })); | |
| 674 | + | |
| 675 | + this.bainjiBox = true; | |
| 676 | + //判断item.maxChoose是undefined的话,默认为0 | |
| 677 | + | |
| 678 | + this.secondData = item; | |
| 679 | + | |
| 680 | + console.error({...this.secondData} ) | |
| 681 | + // 刷新渲染层 | |
| 682 | + this.$nextTick(() => { | |
| 683 | + this.secondData.maxChoose = item.maxChoose || 0; | |
| 684 | + }); | |
| 607 | 685 | }, |
| 608 | - tikuDel(item){ | |
| 609 | - const h = this.$createElement; | |
| 610 | - this.$msgbox({ | |
| 611 | - title: '消息', | |
| 612 | - message: h('p', null, [ | |
| 613 | - h('span', null, '是否删除 '), | |
| 614 | - ]), | |
| 615 | - showCancelButton: true, | |
| 616 | - showClose: false, | |
| 617 | - confirmButtonText: '确定', | |
| 618 | - cancelButtonText: '取消', | |
| 619 | - customClass: 'oe-dialog-btn', | |
| 620 | - beforeClose: (action, instance, done) => { | |
| 621 | - if (action === 'confirm') { | |
| 622 | - QuestionDel({ | |
| 623 | - id: item.id | |
| 624 | - }).then(res => { | |
| 625 | - this.getAll() | |
| 626 | - done(); | |
| 627 | - }) | |
| 628 | - } else { | |
| 629 | - done(); | |
| 630 | - } | |
| 631 | - } | |
| 632 | - }) | |
| 686 | + tikuDel(item) { | |
| 687 | + const h = this.$createElement; | |
| 688 | + this.$msgbox({ | |
| 689 | + title: "消息", | |
| 690 | + message: h("p", null, [h("span", null, "是否删除 ")]), | |
| 691 | + showCancelButton: true, | |
| 692 | + showClose: false, | |
| 693 | + confirmButtonText: "确定", | |
| 694 | + cancelButtonText: "取消", | |
| 695 | + customClass: "oe-dialog-btn", | |
| 696 | + beforeClose: (action, instance, done) => { | |
| 697 | + if (action === "confirm") { | |
| 698 | + QuestionDel({ | |
| 699 | + id: item.id, | |
| 700 | + }).then((res) => { | |
| 701 | + this.getAll(); | |
| 702 | + done(); | |
| 703 | + }); | |
| 704 | + } else { | |
| 705 | + done(); | |
| 706 | + } | |
| 707 | + }, | |
| 708 | + }); | |
| 633 | 709 | }, |
| 634 | - async tikuBox(val){ | |
| 635 | - this.pageindex.questionBank = val | |
| 636 | - | |
| 637 | - const res = await QuestionGetAll(this.pageindex) | |
| 638 | - this.tableData = res.data.content | |
| 639 | - this.total = res.data.totalElements | |
| 710 | + async tikuBox(val) { | |
| 711 | + this.pageindex.questionBank = val; | |
| 640 | 712 | |
| 713 | + const res = await QuestionGetAll(this.pageindex); | |
| 714 | + this.tableData = res.data.content; | |
| 715 | + this.total = res.data.totalElements; | |
| 641 | 716 | }, |
| 642 | - addTimu(){ | |
| 643 | - this.formInline={ | |
| 644 | - tikuTitle:'', | |
| 645 | - questionType:'', | |
| 646 | - questionBank:'用户端题库', | |
| 647 | - isRequired:'必填', | |
| 648 | - questionDescription:'', | |
| 649 | - optionSettings:{}, | |
| 650 | - } | |
| 651 | - this.options=[] | |
| 717 | + addTimu() { | |
| 718 | + this.formInline = { | |
| 719 | + tikuTitle: "", | |
| 720 | + questionType: "", | |
| 721 | + questionBank: "用户端题库", | |
| 722 | + isRequired: "必填", | |
| 723 | + maxChoose: 0, | |
| 724 | + layoutType: 1, | |
| 725 | + questionDescription: "", | |
| 726 | + optionSettings: {}, | |
| 727 | + }; | |
| 728 | + this.options = []; | |
| 652 | 729 | // this.$refs.reform.resetFields() |
| 653 | - this.ggXin = true | |
| 730 | + this.ggXin = true; | |
| 654 | 731 | }, |
| 655 | - validateScore(row) { | |
| 656 | - | |
| 732 | + validateScore(row) { | |
| 657 | 733 | // 如果输入的不是数字或者是NaN,则重置为1 |
| 658 | 734 | if (isNaN(row.num) || row.num < 0) { |
| 659 | 735 | row.num = 0; |
| ... | ... | @@ -663,22 +739,35 @@ this.pageindex.pageNumber = 0 |
| 663 | 739 | row.num = 100; |
| 664 | 740 | } |
| 665 | 741 | }, |
| 666 | - } | |
| 667 | - } | |
| 742 | + answerMoveUp(index) { | |
| 743 | + [this.options[index], this.options[index - 1]] = [this.options[index - 1], this.options[index]] | |
| 744 | + console.log(this.options[index]) | |
| 745 | + this.options[index].index = index - 1 | |
| 746 | + this.options.sort() | |
| 747 | + | |
| 748 | + | |
| 749 | + }, | |
| 750 | + answerMoveDown(index) { | |
| 751 | + [this.options[index], this.options[index + 1]] = [this.options[index + 1], this.options[index]] | |
| 752 | + this.options[index].index = index + 1 | |
| 753 | + this.options.sort() | |
| 754 | + | |
| 755 | + }, | |
| 756 | + }, | |
| 757 | + }; | |
| 668 | 758 | </script> |
| 669 | 759 | |
| 670 | 760 | <style scoped> |
| 671 | 761 | .zhuti { |
| 672 | 762 | padding: 0 20px 20px 20px; |
| 673 | 763 | min-height: calc(100vh - 50px - 20px); |
| 674 | - background-color: #Fff; | |
| 675 | - | |
| 764 | + background-color: #fff; | |
| 676 | 765 | } |
| 677 | 766 | |
| 678 | 767 | .chengeXia { |
| 679 | - border-bottom: 6px solid #3F9B6A; | |
| 768 | + border-bottom: 6px solid #3f9b6a; | |
| 680 | 769 | padding-bottom: 4px; |
| 681 | - color: #3F9B6A; | |
| 770 | + color: #3f9b6a; | |
| 682 | 771 | } |
| 683 | 772 | |
| 684 | 773 | /deep/ .el-form-item__content { |
| ... | ... | @@ -688,8 +777,8 @@ this.pageindex.pageNumber = 0 |
| 688 | 777 | .tableBtn { |
| 689 | 778 | display: inline-block; |
| 690 | 779 | margin-right: 10px; |
| 691 | - color: #ACACAC; | |
| 692 | - cursor:pointer; | |
| 780 | + color: #acacac; | |
| 781 | + cursor: pointer; | |
| 693 | 782 | } |
| 694 | 783 | |
| 695 | 784 | .formSearch { |
| ... | ... | @@ -700,7 +789,7 @@ this.pageindex.pageNumber = 0 |
| 700 | 789 | } |
| 701 | 790 | |
| 702 | 791 | .greens { |
| 703 | - color: #3F9B6A; | |
| 792 | + color: #3f9b6a; | |
| 704 | 793 | } |
| 705 | 794 | |
| 706 | 795 | /deep/ .el-table__row { |
| ... | ... | @@ -716,7 +805,7 @@ this.pageindex.pageNumber = 0 |
| 716 | 805 | } |
| 717 | 806 | |
| 718 | 807 | /deep/ .el-pagination.is-background .el-pager li:not(.disabled).active { |
| 719 | - background-color: #3F9B6A; | |
| 808 | + background-color: #3f9b6a; | |
| 720 | 809 | } |
| 721 | 810 | |
| 722 | 811 | .el-row { |
| ... | ... | @@ -778,20 +867,19 @@ this.pageindex.pageNumber = 0 |
| 778 | 867 | |
| 779 | 868 | .device-form .el-form-item__label::after { |
| 780 | 869 | content: "*"; |
| 781 | - color: #1A1A1A; | |
| 870 | + color: #1a1a1a; | |
| 782 | 871 | margin-left: 5px; |
| 783 | 872 | font-size: 16px; |
| 784 | 873 | } |
| 785 | 874 | |
| 786 | - | |
| 787 | 875 | ::v-deep .el-dialog__wrapper { |
| 788 | 876 | .el-dialog__header { |
| 789 | - background-color: #FAFAFA; | |
| 877 | + background-color: #fafafa; | |
| 790 | 878 | } |
| 791 | 879 | } |
| 792 | 880 | |
| 793 | 881 | ::v-deep .el-input__inner:focus { |
| 794 | - border: #3F9B6A 1px solid; | |
| 882 | + border: #3f9b6a 1px solid; | |
| 795 | 883 | } |
| 796 | 884 | |
| 797 | 885 | .dialog-footer { |
| ... | ... | @@ -802,27 +890,26 @@ this.pageindex.pageNumber = 0 |
| 802 | 890 | } |
| 803 | 891 | |
| 804 | 892 | ::v-deep .el-input__inner:focus { |
| 805 | - border: #3F9B6A 1px solid; | |
| 893 | + border: #3f9b6a 1px solid; | |
| 806 | 894 | } |
| 807 | 895 | |
| 808 | 896 | ::v-deep .el-input__inner:hover { |
| 809 | - border: #3F9B6A 1px solid; | |
| 897 | + border: #3f9b6a 1px solid; | |
| 810 | 898 | } |
| 811 | 899 | |
| 812 | 900 | ::v-deep .el-select .el-input.is-focus .el-input__inner { |
| 813 | - border-color: #3F9B6A | |
| 901 | + border-color: #3f9b6a; | |
| 814 | 902 | } |
| 815 | 903 | |
| 816 | 904 | .el-select-dropdown__item.selected { |
| 817 | - color: #3F9B6A; | |
| 905 | + color: #3f9b6a; | |
| 818 | 906 | } |
| 819 | 907 | |
| 820 | 908 | .el-pagination__sizes .el-input .el-input__inner:hover { |
| 821 | - border-color: #3F9B6A; | |
| 909 | + border-color: #3f9b6a; | |
| 822 | 910 | } |
| 823 | 911 | |
| 824 | 912 | ::v-deep .el-dialog__wrapper { |
| 825 | - | |
| 826 | 913 | .dialog_css { |
| 827 | 914 | margin-right: 12px; |
| 828 | 915 | margin-top: 61px !important; |
| ... | ... | @@ -838,7 +925,6 @@ this.pageindex.pageNumber = 0 |
| 838 | 925 | margin-left: 25%; |
| 839 | 926 | margin-top: 61px !important; |
| 840 | 927 | } |
| 841 | - | |
| 842 | 928 | } |
| 843 | 929 | |
| 844 | 930 | ::v-deep .diaslog_zhong { |
| ... | ... | @@ -847,7 +933,7 @@ this.pageindex.pageNumber = 0 |
| 847 | 933 | |
| 848 | 934 | .el-dialog__header { |
| 849 | 935 | background-color: #fff; |
| 850 | - border-bottom: 1px solid #EFEFEF; | |
| 936 | + border-bottom: 1px solid #efefef; | |
| 851 | 937 | |
| 852 | 938 | .el-dialog__title { |
| 853 | 939 | font-size: 14px; |
| ... | ... | @@ -856,17 +942,17 @@ this.pageindex.pageNumber = 0 |
| 856 | 942 | } |
| 857 | 943 | |
| 858 | 944 | .el-dialog__body { |
| 859 | - padding: 10px 30px 30px 20px | |
| 945 | + padding: 10px 30px 30px 20px; | |
| 860 | 946 | } |
| 861 | 947 | } |
| 862 | 948 | |
| 863 | 949 | /deep/ .el-table_1_column_8 .hetong { |
| 864 | - color: #7DBB9A; | |
| 950 | + color: #7dbb9a; | |
| 865 | 951 | text-decoration: underline; |
| 866 | 952 | } |
| 867 | 953 | |
| 868 | 954 | /deep/ .first-column-bg { |
| 869 | - background-color: #FAFAFA !important; | |
| 955 | + background-color: #fafafa !important; | |
| 870 | 956 | } |
| 871 | 957 | |
| 872 | 958 | ::v-deep .textarea { |
| ... | ... | @@ -895,14 +981,20 @@ this.pageindex.pageNumber = 0 |
| 895 | 981 | } |
| 896 | 982 | |
| 897 | 983 | .el-icon-arrow-up:before { |
| 898 | - content: '' | |
| 984 | + content: ""; | |
| 899 | 985 | } |
| 900 | - | |
| 901 | 986 | } |
| 902 | 987 | |
| 903 | 988 | /deep/ .el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell { |
| 904 | 989 | background-color: #fff; |
| 905 | 990 | } |
| 991 | + | |
| 992 | + /deep/ .el-input-number__decrease, | |
| 993 | + /deep/.el-input-number__increase { | |
| 994 | + height: 30px !important; | |
| 995 | + line-height: 32px !important; | |
| 996 | + margin-top: 3px; | |
| 997 | + } | |
| 906 | 998 | </style> |
| 907 | 999 | <style lang="scss" scoped> |
| 908 | 1000 | ::v-deep .bian_css { | ... | ... |
ceres-uniapp-master/config/api.js
| 1 | 1 | |
| 2 | -const DOMAIN_PREFIXPING = 'https://jy.scjysm.asia:18086/cdwlMall/meserver/admin-server' | |
| 3 | -const DOMAIN_PREFIX = 'https://jy.scjysm.asia:18086/cdwlMall/meserver/api' | |
| 2 | +// const DOMAIN_PREFIXPING = 'https://jy.scjysm.asia:18086/cdwlMall/meserver/admin-server' | |
| 3 | +// const DOMAIN_PREFIX = 'https://jy.scjysm.asia:18086/cdwlMall/meserver/api' | |
| 4 | 4 | const TIAOZHUAN = 'https://jy.scjysm.asia:18086/cdwlMall/' |
| 5 | -// const DOMAIN_PREFIXPING = 'http://128.10.250.134:9003' | |
| 6 | -// const DOMAIN_PREFIX = 'http://128.10.250.134:9007' | |
| 5 | +const DOMAIN_PREFIXPING = 'http://128.10.249.21:9003' | |
| 6 | +const DOMAIN_PREFIX = 'http://128.10.249.21:9007' | |
| 7 | 7 | const LIULIANG = 'https://jy.scjysm.asia:18086/liuliang' |
| 8 | 8 | // const host = `${window.location.protocol}//${window.location.host}` |
| 9 | 9 | // const DOMAIN_PREFIXPING = `${host}/cdwlMall/meserver/admin-server` | ... | ... |
ceres-uniapp-master/pages/tabbar/user/index.data.js
| ... | ... | @@ -59,7 +59,7 @@ export const fastCardOneList = [ |
| 59 | 59 | { |
| 60 | 60 | id:3, |
| 61 | 61 | label:'分销中心', |
| 62 | - icon:'https://jy.scjysm.asia:18086/cdwlMall/questionnaire/file/static/img//user/fenxiao.png', | |
| 62 | + icon:'../../../static/images/fxzx.png', | |
| 63 | 63 | jumpUrl:'../../../pages_category_page1/distributionModule/index' |
| 64 | 64 | }, |
| 65 | 65 | { |
| ... | ... | @@ -83,7 +83,7 @@ export const fastCardOneList = [ |
| 83 | 83 | { |
| 84 | 84 | id:7, |
| 85 | 85 | label:'常见问题', |
| 86 | - icon:'https://jy.scjysm.asia:18086/cdwlMall/questionnaire/file/static/img//user/kaquan.png', | |
| 86 | + icon:'../../../static/images/cjwt.png', | |
| 87 | 87 | jumpUrl:'../../../pages_category_page1/askedquestion/askedquestion' |
| 88 | 88 | }, |
| 89 | 89 | { | ... | ... |
ceres-uniapp-master/pages_category_page1/question/question copy.vue
0 → 100644
| 1 | +<template> | |
| 2 | + <view class="questionnaire"> | |
| 3 | + | |
| 4 | + <!-- 单选问题 --> | |
| 5 | + <view style="padding:20px;background-color: #f6f6f6;"> | |
| 6 | + <view> | |
| 7 | + <h2 | |
| 8 | + style="color: #000;overflow: hidden; text-overflow: ellipsis; display: -webkit-box;-webkit-box-orient: vertical;word-break: break-all;text-align:center"> | |
| 9 | + {{ wenjuan.title }} | |
| 10 | + </h2> | |
| 11 | + <!-- <h5 style="padding: 10px 0;color: #000;">请您认真作答以下题目</h5> --> | |
| 12 | + <view class="" style="padding: 10px 0; height: 200px;"> | |
| 13 | + <image :src="this.$hostUrl + wenjuan.coverImage" mode="scaleToFill" | |
| 14 | + style="width:100%;height: 100%;border-radius: 10px;"></image> | |
| 15 | + </view> | |
| 16 | + </view> | |
| 17 | + <view style="padding: 15px;background-color: #fff;border-radius: 10px;"> | |
| 18 | + <view> | |
| 19 | + <!-- <u-parse :content="wenjuan.remarks"></u-parse> --> | |
| 20 | + <rich-text :nodes="wenjuan.remarks"></rich-text> | |
| 21 | + <!-- {{wenjuan.remarks}} --> | |
| 22 | + <!-- <view> | |
| 23 | + <view style="display:flex;padding:10px 0;justify-content: space-between;"> | |
| 24 | + <view style="display:flex;"> | |
| 25 | + {{wenjuan.createUser}} | |
| 26 | + </view> | |
| 27 | + <view> | |
| 28 | + {{wenjuan.createTime}} | |
| 29 | + </view> | |
| 30 | + </view> | |
| 31 | + </view> --> | |
| 32 | + <!-- <view>预计答题时间:{{this.wenjuan.estimatedTime}}分钟</view> --> | |
| 33 | + </view> | |
| 34 | + </view> | |
| 35 | + <view class="question" v-for="(item, index) in wenjuan.question" style=""> | |
| 36 | + <p class="question-title" | |
| 37 | + style="font-weight:600;overflow: hidden; text-overflow: ellipsis; display: -webkit-box;-webkit-box-orient: vertical;word-break: break-all;"> | |
| 38 | + <span v-if="item.required == '必填'" style="color: red;">*</span>{{ index }}.<span | |
| 39 | + style="color:#0FBB59;padding:0 3px;">({{ item.type }})</span> | |
| 40 | + {{ item.title }} | |
| 41 | + </p> | |
| 42 | + <view> | |
| 43 | + | |
| 44 | + <!-- <radio-group @change="radioChange" v-model="item.choose" | |
| 45 | + v-if="item.type =='单选'" > | |
| 46 | + <label :class="item.choose == val ?'option green':'option gary' " :key="val.answer" v-for="(val, idx) in item.options"> | |
| 47 | + <view> | |
| 48 | + <radio :value="val.answer" activeBackgroundColor="#E5FFF0" | |
| 49 | + activeBorderColor="#4FCF86" iconColor="#0FBB59" /> | |
| 50 | + </view> | |
| 51 | + <view>{{val.answer}}</view> | |
| 52 | + </label> | |
| 53 | + </radio-group> --> | |
| 54 | + <u-radio-group v-model="item.choose" v-if="item.type == '单选'" style="width: 100%;"> | |
| 55 | + <view v-if="item.layoutType != 2"> | |
| 56 | + <u-radio v-for="(val, idx) in item.options" style="width: 100%;" | |
| 57 | + :class="val.answer == item.choose ? 'option green' : 'option gary'" :name="val.answer" | |
| 58 | + :disabled="item.disabled" :key="idx" :label-disabled="false" active-color="#4FCF86"> | |
| 59 | + {{ val.answer }} | |
| 60 | + </u-radio> | |
| 61 | + </view> | |
| 62 | + <view v-else-if="item.layoutType == 2" class="myMultiple"> | |
| 63 | + <div v-for="(val, idx) in item.options" | |
| 64 | + :class="['myOption gary', { optionActive: myChoose.answer == val.answer }]" :key="idx" | |
| 65 | + @click="chooseAnswerOne(item.options, val, idx)"> | |
| 66 | + <p class="chooseTag" v-if="myChoose.answer == val.answer"><u-icon name="checkbox-mark" | |
| 67 | + color="#fff" size="8pt"></u-icon></p> | |
| 68 | + {{ val.answer }} | |
| 69 | + </div> | |
| 70 | + </view> | |
| 71 | + </u-radio-group> | |
| 72 | + | |
| 73 | + <u-checkbox-group v-model="item.choose" v-if="item.type == '多选'" style="width: 100%;"> | |
| 74 | + {{item}} | |
| 75 | + <view v-if="item.layoutType != 2"> | |
| 76 | + <u-checkbox v-for="(val, idx) in item.options" style="width: 100%;" | |
| 77 | + :class="val.disabled ? 'option green' : 'option gary'" v-model="val.disabled" | |
| 78 | + :label-disabled="false" :name="val.answer" :key="idx" | |
| 79 | + active-color="#4FCF86">{{ val.answer }}</u-checkbox> | |
| 80 | + </view> | |
| 81 | + <view v-else-if="item.layoutType == 2" class="myMultiple"> | |
| 82 | + <div v-for="(val, index) in item.options" | |
| 83 | + :class="['myOption gary', { optionActive: val.disabled == true }]" :key="index" | |
| 84 | + @click="chooseAnswerMore(val, index,item)"> | |
| 85 | + <p class="chooseTag" v-if="val.disabled == true"><u-icon name="checkbox-mark" | |
| 86 | + color="#fff" size="8pt"></u-icon></p> | |
| 87 | + {{ val.answer }} | |
| 88 | + </div> | |
| 89 | + </view> | |
| 90 | + </u-checkbox-group> | |
| 91 | + <!-- <checkbox-group @change="checkboxChange(index,$event,item,idx)" | |
| 92 | + v-model="item.choose" | |
| 93 | + > | |
| 94 | + | |
| 95 | + <label :class="item.choose == val.answer ?'option green':'option gary' " > | |
| 96 | + <view style="margin-bottom:5px;"> | |
| 97 | + | |
| 98 | + <checkbox :name="val.answer" activeBackgroundColor="#E5FFF0" | |
| 99 | + activeBorderColor="#4FCF86" iconColor="#0FBB59" /> | |
| 100 | + <span>{{val.answer}}</span > | |
| 101 | + </view> | |
| 102 | + | |
| 103 | + </label> | |
| 104 | + </checkbox-group> --> | |
| 105 | + <view v-if="item.type == '文本'"> | |
| 106 | + <u-input type="textarea" v-model="item.choose" placeholder="请输入" :border="true"></u-input> | |
| 107 | + </view> | |
| 108 | + </view> | |
| 109 | + </view> | |
| 110 | + | |
| 111 | + <!-- 文本填写问题 --> | |
| 112 | + <view class=""> | |
| 113 | + <!-- <p class="question-title">您的建议:</p > | |
| 114 | + <textarea v-model="suggestion"></textarea> --> | |
| 115 | + <u-form labelPosition="left" :model="model1" :rules="rules" ref="uForm" validate-on-rule-change="false" | |
| 116 | + style="background-color:#fff;border-radius: 10px;"> | |
| 117 | + <u-form-item label="姓名" prop="name" borderBottom ref="item1" v-if="wenjuan.needName == '必填'" | |
| 118 | + style="padding:10px 20px 0;"> | |
| 119 | + <u-input v-model="model1.name" placeholder="请输入姓名"></u-input> | |
| 120 | + </u-form-item> | |
| 121 | + <u-form-item label="电话" prop="phone" borderBottom v-if="wenjuan.needPhone == '必填'" | |
| 122 | + style="padding: 0 20px;"> | |
| 123 | + <u-input v-model="model1.phone" placeholder="请输入电话"></u-input> | |
| 124 | + </u-form-item> | |
| 125 | + <u-form-item label="性别" prop="sexl" borderBottom v-if="wenjuan.needGender == '必填'" | |
| 126 | + style="padding: 0 20px ;"> | |
| 127 | + <!-- <u-input v-model="model1.sexl" placeholder="请输入性别"></u-input> --> | |
| 128 | + <u-radio-group v-model="model1.sexl"> | |
| 129 | + <u-radio active-color="#0FBB59" @change="radioChange" v-for="(item, index) in SexList" | |
| 130 | + :key="index" :name="item.name" :disabled="item.disabled"> | |
| 131 | + {{ item.name }} | |
| 132 | + </u-radio> | |
| 133 | + </u-radio-group> | |
| 134 | + </u-form-item> | |
| 135 | + | |
| 136 | + | |
| 137 | + <view v-if="wenjuan.needOpinion == '必填'" style="padding:0 20px 10px 20px;"> | |
| 138 | + <view style="margin-bottom:10px;">意见</view> | |
| 139 | + | |
| 140 | + <u-input v-model="model1.opinion" type="textarea" :border="true" :maxlength="maxLength" /> | |
| 141 | + <div class="char-count" style="font-size:12px;"> | |
| 142 | + {{ currentLength }} / {{ maxLength }} | |
| 143 | + </div> | |
| 144 | + </view> | |
| 145 | + | |
| 146 | + </u-form> | |
| 147 | + | |
| 148 | + </view> | |
| 149 | + | |
| 150 | + <button class="submit-btn" @click="submit">提交问卷</button> | |
| 151 | + </view> | |
| 152 | + <u-mask :show="show"> | |
| 153 | + <view class="warp"> | |
| 154 | + <view class="rect" @tap.stop> | |
| 155 | + <image src="../../static/images/tijiao.png" style="position: absolute;top:40%;width:80%;left:10%" | |
| 156 | + mode="aspectFit"></image> | |
| 157 | + </view> | |
| 158 | + </view> | |
| 159 | + </u-mask> | |
| 160 | + | |
| 161 | + | |
| 162 | + <u-toast ref="uToast" /> | |
| 163 | + </view> | |
| 164 | +</template> | |
| 165 | + | |
| 166 | +<script> | |
| 167 | + const NET = require('@/utils/request') | |
| 168 | + const API = require('@/config/api') | |
| 169 | + export default { | |
| 170 | + data() { | |
| 171 | + return { | |
| 172 | + show: false, | |
| 173 | + maxLength: 500, // 假设最大字数为500 | |
| 174 | + suggestion: '', | |
| 175 | + model1: { | |
| 176 | + name: '', | |
| 177 | + phone: '', | |
| 178 | + sexl: '', | |
| 179 | + opinion: '', | |
| 180 | + socialSecurityCardNumber: '' | |
| 181 | + }, | |
| 182 | + wenjuan: { | |
| 183 | + | |
| 184 | + }, | |
| 185 | + wentile: [], | |
| 186 | + rules: { | |
| 187 | + name: [{ | |
| 188 | + type: 'string', | |
| 189 | + required: true, | |
| 190 | + message: '请填写姓名', | |
| 191 | + trigger: ['blur', 'change'] | |
| 192 | + }], | |
| 193 | + phone: [{ | |
| 194 | + required: true, | |
| 195 | + message: '请输入电话' | |
| 196 | + }, | |
| 197 | + { | |
| 198 | + type: 'number', | |
| 199 | + message: '必须为数字值' | |
| 200 | + } | |
| 201 | + ], | |
| 202 | + }, | |
| 203 | + | |
| 204 | + current: [], | |
| 205 | + pageTime: null, | |
| 206 | + duoxuan: [], | |
| 207 | + danAnswers: [], | |
| 208 | + selectedAnswers: [], | |
| 209 | + panduanId: [], | |
| 210 | + wenjuanIds: '', | |
| 211 | + scoreList: [], | |
| 212 | + SexList: [{ | |
| 213 | + name: '男', | |
| 214 | + disabled: false | |
| 215 | + }, | |
| 216 | + { | |
| 217 | + name: '女', | |
| 218 | + disabled: false | |
| 219 | + }, | |
| 220 | + ], | |
| 221 | + timeLeft: null, | |
| 222 | + token: '', | |
| 223 | + myChoose: {}, | |
| 224 | + myChooseItem: [ | |
| 225 | + | |
| 226 | + ], | |
| 227 | + panduan: false | |
| 228 | + }; | |
| 229 | + }, | |
| 230 | + computed: { | |
| 231 | + currentLength() { | |
| 232 | + return this.model1.opinion.length; | |
| 233 | + } | |
| 234 | + }, | |
| 235 | + onLoad(options) { | |
| 236 | + | |
| 237 | + if (options.ids != '') { | |
| 238 | + if (options.src && options.token) { | |
| 239 | + | |
| 240 | + this.token = options.token | |
| 241 | + let obj = { | |
| 242 | + token: options.token | |
| 243 | + } | |
| 244 | + NET.request(API.jietoken, obj, 'get').then(res => { | |
| 245 | + if (typeof res.data == 'string') { | |
| 246 | + | |
| 247 | + if (JSON.parse(res.data).phone) { | |
| 248 | + this.model1.phone = Number(JSON.parse(res.data).phone) | |
| 249 | + } | |
| 250 | + if (JSON.parse(res.data).aac003Mask) { | |
| 251 | + this.model1.name = JSON.parse(res.data).aac003Mask | |
| 252 | + } | |
| 253 | + if (JSON.parse(res.data).aac004) { | |
| 254 | + this.model1.sexl = JSON.parse(res.data).aac004 | |
| 255 | + this.panduan = true | |
| 256 | + } | |
| 257 | + if (JSON.parse(res.data).aac002Mask) { | |
| 258 | + this.model1.socialSecurityCardNumber = JSON.parse(res.data).aac002Mask | |
| 259 | + } | |
| 260 | + } | |
| 261 | + | |
| 262 | + }) | |
| 263 | + | |
| 264 | + // if (options.token != undefined) {} | |
| 265 | + | |
| 266 | + } else if (options.phone != undefined) { | |
| 267 | + this.model1.phone = options.phone | |
| 268 | + } | |
| 269 | + | |
| 270 | + this.wenjuanIds = options.ids | |
| 271 | + NET.request(API.wenjuanList, { | |
| 272 | + id: options.ids, | |
| 273 | + // reviewStatus: '3', | |
| 274 | + }, 'post').then(res => { | |
| 275 | + if (res.data.id) { | |
| 276 | + this.wenjuan = res.data | |
| 277 | + this.wenjuan.question = JSON.parse(res.data.question) | |
| 278 | + //检查this.wenjuan.question这个list的每个里面是否有maxChoose参数,没有的话就加一个 | |
| 279 | + this.wenjuan.question.forEach(item => { | |
| 280 | + if (!item.maxChoose) { | |
| 281 | + item.maxChoose = 0 | |
| 282 | + } | |
| 283 | + }) | |
| 284 | + | |
| 285 | + | |
| 286 | + this.timeLeft = parseInt(this.wenjuan.estimatedTime, 10) * 60; // 将分钟转换为秒 | |
| 287 | + this.updateCountdownDisplay() | |
| 288 | + | |
| 289 | + if (res.data.reviewStatus == '5' || res.data.reviewStatus == '4') { | |
| 290 | + uni.reLaunch({ | |
| 291 | + url: `/pages_category_page1/question/succe?flag=3` | |
| 292 | + }) | |
| 293 | + } | |
| 294 | + } else { | |
| 295 | + uni.reLaunch({ | |
| 296 | + url: `/pages_category_page1/question/succe?flag=1` | |
| 297 | + }) | |
| 298 | + } | |
| 299 | + | |
| 300 | + // if (res.data.cereQuestionManagements.length > 0) { | |
| 301 | + // for (let i = 0; i < res.data.cereQuestionManagements.length; i++) { | |
| 302 | + // this.$set(res.data.cereQuestionManagements[i], 'value', []) | |
| 303 | + // } | |
| 304 | + // } | |
| 305 | + | |
| 306 | + // this.wentile = res.data.cereQuestionManagements | |
| 307 | + | |
| 308 | + // this.wenjuan.cereQuestionManagements.map(item => { | |
| 309 | + | |
| 310 | + // item.optionSettings = JSON.parse(item.optionSettings) | |
| 311 | + // item.score = JSON.parse(item.score) | |
| 312 | + // }) | |
| 313 | + | |
| 314 | + }) | |
| 315 | + } else { | |
| 316 | + uni.reLaunch({ | |
| 317 | + url: `/pages_category_page1/question/succe?flag=1` | |
| 318 | + }) | |
| 319 | + } | |
| 320 | + // 设置倒计时定时器 | |
| 321 | + // const countdownInterval = setInterval(() => { | |
| 322 | + // if (this.timeLeft > 0) { | |
| 323 | + // this.timeLeft--; | |
| 324 | + // this.updateCountdownDisplay(); | |
| 325 | + // } else { | |
| 326 | + // clearInterval(countdownInterval); | |
| 327 | + // location.reload(true); | |
| 328 | + // // console.log('倒计时结束'); | |
| 329 | + // // 这里可以添加倒计时结束时的处理代码 | |
| 330 | + // } | |
| 331 | + // }, 1000); // 每秒更新一次 | |
| 332 | + this.pageTime = this.getCurrentTimestamp() | |
| 333 | + | |
| 334 | + }, | |
| 335 | + watch: {}, | |
| 336 | + methods: { | |
| 337 | + // 获取时间 | |
| 338 | + currentTime() { | |
| 339 | + let date = new Date(); | |
| 340 | + let year = date.getFullYear(); | |
| 341 | + let month = date.getMonth() + 1; // 月份从0~11,所以加一 | |
| 342 | + let day = date.getDate(); | |
| 343 | + let hours = date.getHours(); | |
| 344 | + let minutes = date.getMinutes(); | |
| 345 | + let seconds = date.getSeconds(); | |
| 346 | + | |
| 347 | + // 为月、日、小时、分钟和秒添加前导零(如果需要) | |
| 348 | + month = month < 10 ? '0' + month : month; | |
| 349 | + day = day < 10 ? '0' + day : day; | |
| 350 | + hours = hours < 10 ? '0' + hours : hours; | |
| 351 | + minutes = minutes < 10 ? '0' + minutes : minutes; | |
| 352 | + seconds = seconds < 10 ? '0' + seconds : seconds; | |
| 353 | + | |
| 354 | + // 返回格式化的日期和时间字符串 | |
| 355 | + return `${year}-${month}-${day} ${hours}:${minutes}`; | |
| 356 | + }, | |
| 357 | + updateCountdownDisplay() { | |
| 358 | + const minutes = Math.floor(this.timeLeft / 60); | |
| 359 | + const seconds = this.timeLeft % 60; | |
| 360 | + // console.log(`${minutes} 分 ${seconds} 秒`); | |
| 361 | + // 这里可以替换为更新DOM元素的代码 | |
| 362 | + }, | |
| 363 | + // formatTime(seconds) { | |
| 364 | + // const minutes = Math.floor(seconds / 60); | |
| 365 | + // const remainingSeconds = seconds % 60; | |
| 366 | + // return `${minutes}分${remainingSeconds < 10 ? '0' : ''}${remainingSeconds}秒`; | |
| 367 | + // }, | |
| 368 | + getCurrentTimestamp() { | |
| 369 | + let Times = Date.now(); | |
| 370 | + return Times // 或者 new Date().getTime(); | |
| 371 | + }, | |
| 372 | + checkRequiredQuestions(qust) { | |
| 373 | + for (let key in qust) { | |
| 374 | + | |
| 375 | + let question = qust[key]; | |
| 376 | + if (question.required === '必填') { | |
| 377 | + if (question.type === '文本' || question.type === '单选') { | |
| 378 | + if (question.choose === '') { | |
| 379 | + | |
| 380 | + this.$refs.uToast.show({ | |
| 381 | + title: '请填写所有必填题目', | |
| 382 | + }) | |
| 383 | + | |
| 384 | + return false; // 返回false表示有未填写的必填题目 | |
| 385 | + } | |
| 386 | + } else if (question.type === '多选') { | |
| 387 | + | |
| 388 | + | |
| 389 | + let hasEnabledOption = question.options.some(option => option.disabled); | |
| 390 | + | |
| 391 | + if (!hasEnabledOption) { | |
| 392 | + this.$refs.uToast.show({ | |
| 393 | + title: '请填写所有必填题目', | |
| 394 | + }) | |
| 395 | + | |
| 396 | + return false; // 返回false表示有未填写的必填题目 | |
| 397 | + } | |
| 398 | + } | |
| 399 | + } | |
| 400 | + } | |
| 401 | + return true; // 返回true表示所有必填题目都已填写 | |
| 402 | + }, | |
| 403 | + submit() { | |
| 404 | + let putTime = this.getCurrentTimestamp() - this.pageTime | |
| 405 | + putTime = (putTime / 1000).toFixed(2) | |
| 406 | + if (!this.checkRequiredQuestions(this.wenjuan.question)) { | |
| 407 | + return | |
| 408 | + } | |
| 409 | + if (this.model1.name == '' && this.wenjuan.needName == '必填') { | |
| 410 | + this.$refs.uToast.show({ | |
| 411 | + title: '请输入姓名', | |
| 412 | + }) | |
| 413 | + return; | |
| 414 | + } | |
| 415 | + if (this.wenjuan.needName == '不填' && this.token == '') { | |
| 416 | + | |
| 417 | + this.model1.name = '匿名' | |
| 418 | + | |
| 419 | + } | |
| 420 | + if (this.model1.phone == '' && this.wenjuan.needPhone == '必填') { | |
| 421 | + this.$refs.uToast.show({ | |
| 422 | + title: '电话号码不能为空' | |
| 423 | + }); | |
| 424 | + return; | |
| 425 | + } | |
| 426 | + if (this.wenjuan.needPhone == '必填' && this.isChineseOrPunctuation(this.model1.phone)) { | |
| 427 | + this.$refs.uToast.show({ | |
| 428 | + title: '请输入电话且不能包含汉字或标点特殊符号', | |
| 429 | + }) | |
| 430 | + return; | |
| 431 | + } | |
| 432 | + | |
| 433 | + // if(this.wenjuan.needPhone =='不填' && this.wenjuan.fillingConditions == '可重复填写'){ | |
| 434 | + // this.model1.phone = '' | |
| 435 | + // } | |
| 436 | + | |
| 437 | + if (this.model1.sexl != '男' && this.model1.sexl != '女' && this.wenjuan.needGender == '必填') { | |
| 438 | + this.$refs.uToast.show({ | |
| 439 | + title: '请选择性别', | |
| 440 | + }) | |
| 441 | + return; | |
| 442 | + } | |
| 443 | + if (this.wenjuan.needGender == '不填' && this.panduan == false) { | |
| 444 | + | |
| 445 | + this.model1.sexl = '未知' | |
| 446 | + | |
| 447 | + } | |
| 448 | + if (this.model1.opinion == '' && this.wenjuan.needOpinion == '必填') { | |
| 449 | + this.$refs.uToast.show({ | |
| 450 | + title: '请输入意见', | |
| 451 | + }) | |
| 452 | + return; | |
| 453 | + } | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
| 457 | + // JSON.stringify(danAnswers) | |
| 458 | + // let array = this.danAnswers.concat(this.selectedAnswers) | |
| 459 | + // obj.answerOptions = JSON.stringify(array) | |
| 460 | + var arr = [] | |
| 461 | + // for (let i = 0; i < this.wentile.length; i++) { | |
| 462 | + // var info = { | |
| 463 | + // id: "", | |
| 464 | + // value: [], | |
| 465 | + // cores:0, | |
| 466 | + // } | |
| 467 | + // if (this.wentile[i].questionType == '单选' || this.wentile[i].questionType == '文本' ) { | |
| 468 | + | |
| 469 | + // info.id = this.wentile[i].id | |
| 470 | + // info.value = this.wentile[i].value | |
| 471 | + // let index =this.wentile[i].value | |
| 472 | + // if(this.wentile[i].score){ | |
| 473 | + | |
| 474 | + // for (const key in this.wentile[i].score) { | |
| 475 | + // if (this.wentile[i].score.hasOwnProperty(key)) { // 确保只获取对象自身的属性,而不是继承的属性 | |
| 476 | + | |
| 477 | + // if(key == index){ | |
| 478 | + // info.cores = this.wentile[i].score[key]; // 设置 info.cores 为当前键对应的值 | |
| 479 | + // break; // 如果找到了匹配的键,可以提前退出循环 | |
| 480 | + // } | |
| 481 | + // } | |
| 482 | + // } | |
| 483 | + // } | |
| 484 | + // // console.log(this.wentile[i].cores[index]) | |
| 485 | + // // info.cores.this.wentile[i].value = | |
| 486 | + | |
| 487 | + // arr.push(info) | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + // // if (this.wentile[i].value != '' && this.wentile[i].value != null && this.wentile[i].value != | |
| 492 | + // // undefined) { | |
| 493 | + // // info.id = this.wentile[i].id | |
| 494 | + // // info.value = this.wentile[i].value | |
| 495 | + // // let index =this.wentile[i].value | |
| 496 | + // // if(this.wentile[i].score){ | |
| 497 | + | |
| 498 | + // // for (const key in this.wentile[i].score) { | |
| 499 | + // // if (this.wentile[i].score.hasOwnProperty(key)) { // 确保只获取对象自身的属性,而不是继承的属性 | |
| 500 | + | |
| 501 | + // // if(key == index){ | |
| 502 | + // // info.cores = this.wentile[i].score[key]; // 设置 info.cores 为当前键对应的值 | |
| 503 | + // // break; // 如果找到了匹配的键,可以提前退出循环 | |
| 504 | + // // } | |
| 505 | + // // } | |
| 506 | + // // } | |
| 507 | + // // } | |
| 508 | + // // // console.log(this.wentile[i].cores[index]) | |
| 509 | + // // // info.cores.this.wentile[i].value = | |
| 510 | + | |
| 511 | + // // arr.push(info) | |
| 512 | + | |
| 513 | + // // } | |
| 514 | + // } else { | |
| 515 | + // if (this.wentile[i].value.length > 0) { | |
| 516 | + // info.id = this.wentile[i].id | |
| 517 | + // info.value = this.wentile[i].value | |
| 518 | + // let index =this.wentile[i].value | |
| 519 | + // console.log(this.wentile[i].score); | |
| 520 | + // if(this.wentile[i].score){ | |
| 521 | + | |
| 522 | + // for (const key in this.wentile[i].score) { | |
| 523 | + // if (this.wentile[i].score.hasOwnProperty(key)) { // 确保只获取对象自身的属性,而不是继承的属性 | |
| 524 | + // console.log('1111111111111111111',key,index) | |
| 525 | + // for(let j=0;j<index.length;j++){ | |
| 526 | + // if(key == index[j]){ | |
| 527 | + // console.log(info.cores,this.wentile[i].score[key]) | |
| 528 | + // info.cores += this.wentile[i].score[key]; // 设置 info.cores 为当前键对应的值 | |
| 529 | + | |
| 530 | + // } | |
| 531 | + // } | |
| 532 | + | |
| 533 | + // } | |
| 534 | + // } | |
| 535 | + // } | |
| 536 | + // arr.push(info) | |
| 537 | + | |
| 538 | + // } | |
| 539 | + // } | |
| 540 | + | |
| 541 | + | |
| 542 | + // } | |
| 543 | + console.log(this.wenjuan) | |
| 544 | + | |
| 545 | + // let obj = { | |
| 546 | + // questionnaireId: this.wenjuanIds, | |
| 547 | + // userName: this.model1.name, | |
| 548 | + // contactNumber: this.model1.phone, | |
| 549 | + // gender: this.model1.sexl, | |
| 550 | + // responseTime: putTime, | |
| 551 | + // opinion:this.model1.opinion, | |
| 552 | + // createTime: this.currentTime(), | |
| 553 | + // answerOptions: {}, | |
| 554 | + // answeringScore: '', | |
| 555 | + // questionnaireScore: null, | |
| 556 | + | |
| 557 | + // } | |
| 558 | + // obj.answeringScore = [] | |
| 559 | + | |
| 560 | + // for(let i=0;i<arr.length;i++){ | |
| 561 | + // console.log() | |
| 562 | + // if(arr[i].cores ==null){ | |
| 563 | + // obj.answerOptions[i+1] = arr[i].value | |
| 564 | + // }else{ | |
| 565 | + // obj.questionnaireScore +=arr[i].cores | |
| 566 | + // obj.answeringScore.push(arr[i].cores) | |
| 567 | + // if(typeof arr[i].value !='string'){ | |
| 568 | + | |
| 569 | + // arr[i].value.sort((a, b) => a - b) | |
| 570 | + // obj.answerOptions[i+1] = arr[i].value.join(',') | |
| 571 | + // }else{ | |
| 572 | + // obj.answerOptions[i+1]=arr[i].value | |
| 573 | + // } | |
| 574 | + // } | |
| 575 | + | |
| 576 | + | |
| 577 | + // } | |
| 578 | + // obj.answerOptions= JSON.stringify(obj.answerOptions) | |
| 579 | + // obj.answeringScore = obj.answeringScore.join(',') | |
| 580 | + | |
| 581 | + var obj = { | |
| 582 | + ...this.wenjuan | |
| 583 | + } | |
| 584 | + | |
| 585 | + | |
| 586 | + for (var key in obj.question) { | |
| 587 | + console.log(obj.question[key]) | |
| 588 | + if (obj.question[key].type == '多选') { | |
| 589 | + obj.question[key].choose = [] | |
| 590 | + obj.question[key].options.map(res => { | |
| 591 | + if (res.disabled) { | |
| 592 | + obj.question[key].choose.push(res.answer) | |
| 593 | + } | |
| 594 | + | |
| 595 | + }) | |
| 596 | + obj.question[key].choose = obj.question[key].choose.join(',') | |
| 597 | + } | |
| 598 | + } | |
| 599 | + const result = Object.keys(obj.question).reduce((acc, key) => { | |
| 600 | + const question = obj.question[key]; | |
| 601 | + const chooseAnswers = question.choose.split(","); // 处理多选的情况 | |
| 602 | + const indexes = chooseAnswers.map((choose) => { | |
| 603 | + const optionIndex = question.options.findIndex( | |
| 604 | + (option) => option.answer === choose | |
| 605 | + ); | |
| 606 | + return optionIndex >= 0 ? optionIndex + 1 : null; // 序号从1开始 | |
| 607 | + }); | |
| 608 | + | |
| 609 | + acc[key] = indexes.filter((index) => index !== null).join(","); // 只保留有效序号 | |
| 610 | + return acc; | |
| 611 | + }, {}); | |
| 612 | + | |
| 613 | + // 计算总分数 | |
| 614 | + const totalScore = Object.keys(obj.question).reduce((sum, key) => { | |
| 615 | + const question = obj.question[key] | |
| 616 | + if (question.type === "单选" || question.type === "多选") { | |
| 617 | + const chooseAnswers = question.choose.split(","); // 多选时拆分答案 | |
| 618 | + chooseAnswers.forEach((choose) => { | |
| 619 | + const matchedOption = question.options.find( | |
| 620 | + (option) => option.answer === choose | |
| 621 | + ); | |
| 622 | + if (matchedOption) { | |
| 623 | + sum += parseFloat(matchedOption.score || 0); // 累加分数 | |
| 624 | + } | |
| 625 | + }); | |
| 626 | + } | |
| 627 | + return sum; | |
| 628 | + }, 0); | |
| 629 | + | |
| 630 | + // console.log(obj.question,totalScore,result) | |
| 631 | + // return | |
| 632 | + obj.questionnaireId = this.wenjuanIds | |
| 633 | + obj.userName = this.model1.name | |
| 634 | + obj.contactNumber = this.model1.phone | |
| 635 | + obj.gender = this.model1.sexl | |
| 636 | + obj.responseTime = putTime | |
| 637 | + obj.answerOptions = JSON.stringify(result) | |
| 638 | + obj.createTime = this.currentTime() | |
| 639 | + obj.opinion = this.model1.opinion | |
| 640 | + obj.questionnaireScore = totalScore | |
| 641 | + | |
| 642 | + // let obj = { | |
| 643 | + // questionnaireId: this.wenjuanIds, | |
| 644 | + // userName: this.model1.name, | |
| 645 | + // contactNumber: this.model1.phone, | |
| 646 | + // gender: this.model1.sexl, | |
| 647 | + // responseTime: putTime, | |
| 648 | + // opinion:this.model1.opinion, | |
| 649 | + // createTime: this.currentTime(), | |
| 650 | + // answerOptions: {}, | |
| 651 | + // answeringScore: '', | |
| 652 | + // questionnaireScore: null, | |
| 653 | + | |
| 654 | + // } | |
| 655 | + obj.question = JSON.stringify(obj.question) | |
| 656 | + let tijiaoObj = { | |
| 657 | + questionnaireId: this.wenjuanIds, | |
| 658 | + userName: this.model1.name, | |
| 659 | + contactNumber: this.model1.phone, | |
| 660 | + gender: this.model1.sexl, | |
| 661 | + responseTime: putTime, | |
| 662 | + answerOptions: JSON.stringify(result), | |
| 663 | + socialSecurityCardNumber: this.model1.socialSecurityCardNumber, | |
| 664 | + createTime: this.currentTime(), | |
| 665 | + opinion: this.model1.opinion, | |
| 666 | + questionnaireScore: totalScore, | |
| 667 | + question: obj.question | |
| 668 | + } | |
| 669 | + | |
| 670 | + console.log(tijiaoObj) | |
| 671 | + | |
| 672 | + NET.request(API.wenjuanUp, tijiaoObj, 'post').then(res => { | |
| 673 | + // this.show =true | |
| 674 | + | |
| 675 | + if (res.data == 'false') { | |
| 676 | + uni.reLaunch({ | |
| 677 | + url: `/pages_category_page1/question/succe?chonfu=true` | |
| 678 | + }) | |
| 679 | + } else { | |
| 680 | + uni.reLaunch({ | |
| 681 | + url: `/pages_category_page1/question/succe?ids=${this.wenjuanIds}` | |
| 682 | + }) | |
| 683 | + } | |
| 684 | + | |
| 685 | + }) | |
| 686 | + | |
| 687 | + }, | |
| 688 | + | |
| 689 | + isChineseOrPunctuation(str) { | |
| 690 | + const regex = /[^\d]/; | |
| 691 | + return regex.test(str); | |
| 692 | + }, | |
| 693 | + | |
| 694 | + | |
| 695 | + // radioChange(index, e, item, idx) { | |
| 696 | + // console.log(index, e, item, idx) | |
| 697 | + | |
| 698 | + // // item.value = idx; | |
| 699 | + // // this.$forceUpdate(); | |
| 700 | + | |
| 701 | + // }, | |
| 702 | + radioChange(ind) { | |
| 703 | + // console.log(index, e, item, idx) | |
| 704 | + // console.error(this.items) | |
| 705 | + // for (let i = 0; i < this.items.length; i++) { | |
| 706 | + // if (this.items[i].value === evt.detail.value) { | |
| 707 | + // this.current = i; | |
| 708 | + // break; | |
| 709 | + // } | |
| 710 | + // } | |
| 711 | + // item.value = idx; | |
| 712 | + // this.$forceUpdate(); | |
| 713 | + | |
| 714 | + }, | |
| 715 | + checkboxChange(index, e, item, idx) { | |
| 716 | + | |
| 717 | + // const index1 = item.value.indexOf(idx) | |
| 718 | + // if (index1 !== -1) { | |
| 719 | + // item.value.splice(index1, 1); | |
| 720 | + // } else { | |
| 721 | + // item.value.push(idx) | |
| 722 | + // } | |
| 723 | + // this.$forceUpdate(); | |
| 724 | + }, | |
| 725 | + chooseAnswerOne(options, chooseItem, idx) { | |
| 726 | + | |
| 727 | + options.forEach(item => { | |
| 728 | + item.disabled = false | |
| 729 | + }) | |
| 730 | + | |
| 731 | + for (let key in this.wenjuan.question) { | |
| 732 | + this.wenjuan.question[key].options.map(res => { | |
| 733 | + if (res.answer == chooseItem.answer) { | |
| 734 | + this.wenjuan.question[key].choose = chooseItem.answer | |
| 735 | + } | |
| 736 | + }) | |
| 737 | + | |
| 738 | + | |
| 739 | + } | |
| 740 | + | |
| 741 | + this.myChoose = { | |
| 742 | + ...chooseItem | |
| 743 | + } | |
| 744 | + chooseItem.disabled = true | |
| 745 | + }, | |
| 746 | + chooseAnswerMore(chooseItem, idx, item) { | |
| 747 | + if (item.maxChoose && item.maxChoose > 0) { | |
| 748 | + // 获取当前题目的已选中选项数量 | |
| 749 | + const selectedCount = item.options.filter(option => option.disabled).length; | |
| 750 | + // 如果已选中到达 maxChoose,并且当前项未被选中,则不允许选择 | |
| 751 | + if (selectedCount >= item.maxChoose && !chooseItem.disabled) { | |
| 752 | + uni.showToast({ | |
| 753 | + title: `最多只能选择 ${item.maxChoose} 个选项`, | |
| 754 | + icon: 'none', | |
| 755 | + duration: 2000 | |
| 756 | + }); | |
| 757 | + return; | |
| 758 | + } | |
| 759 | + } | |
| 760 | + | |
| 761 | + | |
| 762 | + | |
| 763 | + if (chooseItem.disabled) { | |
| 764 | + chooseItem.disabled = false | |
| 765 | + for (let key in this.wenjuan.question) { | |
| 766 | + this.wenjuan.question[key].options.map(res => { | |
| 767 | + if (res.answer == chooseItem.answer) { | |
| 768 | + this.wenjuan.question[key].choose = '' | |
| 769 | + } | |
| 770 | + }) | |
| 771 | + } | |
| 772 | + } else { | |
| 773 | + for (let key in this.wenjuan.question) { | |
| 774 | + this.wenjuan.question[key].options.map(res => { | |
| 775 | + if (res.answer == chooseItem.answer) { | |
| 776 | + this.wenjuan.question[key].choose = chooseItem.answer | |
| 777 | + } | |
| 778 | + }) | |
| 779 | + } | |
| 780 | + chooseItem.disabled = true | |
| 781 | + } | |
| 782 | + }, | |
| 783 | + chooseAnswer(item) { | |
| 784 | + console.log(1111); | |
| 785 | + } | |
| 786 | + // chooseAnswerMore(chooseItem, idx) { | |
| 787 | + // // 获取所有已选中的选项数量 | |
| 788 | + | |
| 789 | + // if (chooseItem.disabled) { | |
| 790 | + // chooseItem.disabled = false | |
| 791 | + // for (let key in this.wenjuan.question) { | |
| 792 | + // this.wenjuan.question[key].options.map(res => { | |
| 793 | + // if (res.answer == chooseItem.answer) { | |
| 794 | + // this.wenjuan.question[key].choose = '' | |
| 795 | + // } | |
| 796 | + // }) | |
| 797 | + // } | |
| 798 | + // } else { | |
| 799 | + // for (let key in this.wenjuan.question) { | |
| 800 | + // this.wenjuan.question[key].options.map(res => { | |
| 801 | + // if (res.answer == chooseItem.answer) { | |
| 802 | + // this.wenjuan.question[key].choose = chooseItem.answer | |
| 803 | + // } | |
| 804 | + // }) | |
| 805 | + // } | |
| 806 | + // chooseItem.disabled = true | |
| 807 | + // } | |
| 808 | + // } | |
| 809 | + | |
| 810 | + } | |
| 811 | + }; | |
| 812 | +</script> | |
| 813 | + | |
| 814 | +<style> | |
| 815 | + /* 整体页面背景渐变颜色设置 */ | |
| 816 | + body { | |
| 817 | + background: linear-gradient(to bottom, #e9f2f8, #d0e0ea); | |
| 818 | + font-family: Arial, sans-serif; | |
| 819 | + line-height: 1.6; | |
| 820 | + height: 100vh; | |
| 821 | + display: flex; | |
| 822 | + flex-direction: column; | |
| 823 | + align-items: center; | |
| 824 | + justify-content: flex-start; | |
| 825 | + margin: 0; | |
| 826 | + padding: 0; | |
| 827 | + } | |
| 828 | + | |
| 829 | + .question { | |
| 830 | + background-color: white; | |
| 831 | + padding: 15px; | |
| 832 | + margin: 10px 0; | |
| 833 | + border-radius: 10px; | |
| 834 | + } | |
| 835 | + | |
| 836 | + /* 问卷容器样式,确保宽度自适应且不超出屏幕,设置内边距和背景等 */ | |
| 837 | + .questionnaire { | |
| 838 | + width: 100%; | |
| 839 | + max-width: 600px; | |
| 840 | + flex-grow: 1; | |
| 841 | + margin: auto; | |
| 842 | + /* padding: 30px; */ | |
| 843 | + background-color: white; | |
| 844 | + box-shadow: 0 0 10px rgba(0, 0, 0, 0.1); | |
| 845 | + border-radius: 5px; | |
| 846 | + box-sizing: border-box; | |
| 847 | + } | |
| 848 | + | |
| 849 | + /* 页面标题样式,设置背景色、文字颜色、宽度及内边距等 */ | |
| 850 | + h3 { | |
| 851 | + text-align: center; | |
| 852 | + color: #000; | |
| 853 | + /* background-color: #007BFF; */ | |
| 854 | + margin: 0; | |
| 855 | + padding: 10px 0; | |
| 856 | + width: 100%; | |
| 857 | + box-sizing: border-box; | |
| 858 | + } | |
| 859 | + | |
| 860 | + /* 问题标题样式,设置字体大小、颜色及下边框 */ | |
| 861 | + .question-title { | |
| 862 | + font-size: 18px; | |
| 863 | + color: #000; | |
| 864 | + margin-bottom: 10px; | |
| 865 | + } | |
| 866 | + | |
| 867 | + /* 选项样式,设置列表样式及光标样式 */ | |
| 868 | + .option { | |
| 869 | + list-style-type: none; | |
| 870 | + margin: 0; | |
| 871 | + cursor: pointer; | |
| 872 | + display: flex; | |
| 873 | + align-items: center; | |
| 874 | + margin-bottom: 10px; | |
| 875 | + color: black; | |
| 876 | + padding: 10px 20px; | |
| 877 | + border-radius: 3px; | |
| 878 | + transition: background-color 0.3s ease; | |
| 879 | + margin-right: 10px; | |
| 880 | + font-size: 15px; | |
| 881 | + font-weight: 500; | |
| 882 | + | |
| 883 | + .u-radio__label { | |
| 884 | + color: #000000; | |
| 885 | + font-size: 15px; | |
| 886 | + font-weight: 500; | |
| 887 | + } | |
| 888 | + } | |
| 889 | + | |
| 890 | + .myOption { | |
| 891 | + margin: 0; | |
| 892 | + cursor: pointer; | |
| 893 | + display: flex; | |
| 894 | + align-items: center; | |
| 895 | + margin-bottom: 10px; | |
| 896 | + padding: 15px 20px; | |
| 897 | + border-radius: 3px; | |
| 898 | + transition: background-color 0.3s ease; | |
| 899 | + margin-right: 10px; | |
| 900 | + font-size: 16px; | |
| 901 | + color: #000; | |
| 902 | + font-family: 'Alibaba PuHuiTi 2.0-55 Regular'; | |
| 903 | + letter-spacing: 1px; | |
| 904 | + overflow: hidden; | |
| 905 | + position: relative; | |
| 906 | + | |
| 907 | + .chooseTag { | |
| 908 | + position: absolute; | |
| 909 | + top: 0; | |
| 910 | + right: 0; | |
| 911 | + width: 20px; | |
| 912 | + height: 20px; | |
| 913 | + background-color: #0fbb59; | |
| 914 | + border-radius: 0 0 0 20px; | |
| 915 | + display: flex; | |
| 916 | + align-items: center; | |
| 917 | + justify-content: center; | |
| 918 | + | |
| 919 | + .u-icon__icon { | |
| 920 | + margin-left: 4px; | |
| 921 | + margin-bottom: 2px; | |
| 922 | + } | |
| 923 | + } | |
| 924 | + } | |
| 925 | + | |
| 926 | + .green { | |
| 927 | + background-color: #cff4de; | |
| 928 | + | |
| 929 | + .u-radio__label { | |
| 930 | + color: #12ad55; | |
| 931 | + } | |
| 932 | + } | |
| 933 | + | |
| 934 | + .gary { | |
| 935 | + | |
| 936 | + background-color: #f5f5f5; | |
| 937 | + | |
| 938 | + } | |
| 939 | + | |
| 940 | + .optionActive { | |
| 941 | + background-color: #cff4de; | |
| 942 | + color: #12ad55; | |
| 943 | + } | |
| 944 | + | |
| 945 | + | |
| 946 | + /* 文本域样式,设置宽度、高度、边框及内边距 */ | |
| 947 | + textarea { | |
| 948 | + width: 100%; | |
| 949 | + height: 100px; | |
| 950 | + border: 1px solid #ccc; | |
| 951 | + border-radius: 3px; | |
| 952 | + padding: 10px; | |
| 953 | + resize: vertical; | |
| 954 | + box-sizing: border-box; | |
| 955 | + } | |
| 956 | + | |
| 957 | + /* 提交按钮样式,设置背景色、颜色、边框、内边距、光标及过渡效果 */ | |
| 958 | + .submit-btn { | |
| 959 | + background-color: #3F9B6A; | |
| 960 | + color: white; | |
| 961 | + border: none; | |
| 962 | + padding: 0px 20px; | |
| 963 | + border-radius: 3px; | |
| 964 | + cursor: pointer; | |
| 965 | + margin-top: 20px; | |
| 966 | + transition: background-color 0.3s ease; | |
| 967 | + width: 100%; | |
| 968 | + box-sizing: border-box; | |
| 969 | + } | |
| 970 | + | |
| 971 | + /* 提交按钮悬停效果,改变背景色 */ | |
| 972 | + .submit-btn:hover { | |
| 973 | + background-color: #3F9B6A; | |
| 974 | + } | |
| 975 | + | |
| 976 | + .uni-checkbox-input { | |
| 977 | + width: 15px; | |
| 978 | + height: 15px; | |
| 979 | + } | |
| 980 | + | |
| 981 | + .uni-radio-input { | |
| 982 | + width: 15px; | |
| 983 | + height: 15px; | |
| 984 | + } | |
| 985 | + | |
| 986 | + ::v-deep .u-radio__label { | |
| 987 | + white-space: normal !important; | |
| 988 | + /* 允许文本换行 */ | |
| 989 | + word-break: break-all !important; | |
| 990 | + /* 当内容过长时,自动换行 */ | |
| 991 | + } | |
| 992 | + | |
| 993 | + ::v-deep .myMultiple { | |
| 994 | + display: flex; | |
| 995 | + width: 100%; | |
| 996 | + flex-wrap: wrap; | |
| 997 | + | |
| 998 | + } | |
| 999 | +</style> | |
| 0 | 1000 | \ No newline at end of file | ... | ... |
ceres-uniapp-master/pages_category_page1/question/question.vue
| ... | ... | @@ -697,12 +697,12 @@ |
| 697 | 697 | // console.log(result) |
| 698 | 698 | // console.log(JSON.stringify(result)) |
| 699 | 699 | // console.log(tijiaoObj) |
| 700 | - // console.log(JSON.stringify(tijiaoObj)) | |
| 700 | + // console.log(this.wenjuan) | |
| 701 | 701 | // return |
| 702 | 702 | |
| 703 | 703 | NET.request(API.wenjuanUp, tijiaoObj, 'post').then(res => { |
| 704 | 704 | // this.show =true |
| 705 | - | |
| 705 | + | |
| 706 | 706 | if (res.data == 'false') { |
| 707 | 707 | uni.reLaunch({ |
| 708 | 708 | url: `/pages_category_page1/question/succe?chonfu=true` |
| ... | ... | @@ -711,6 +711,11 @@ |
| 711 | 711 | uni.reLaunch({ |
| 712 | 712 | url: `/pages_category_page1/question/succe?ids=${this.wenjuanIds}` |
| 713 | 713 | }) |
| 714 | + if(this.wenjuan.rewardForParticipation !=''){ | |
| 715 | + // window.location.replace( `https://jy.scjysm.asia:18086/h5-web/#/activity/pages/lottery/index?detailId=${this.wenjuan.rewardForParticipation}&style=${this.wenjuan.style}`); | |
| 716 | + window.location.replace( `https://jy.scjysm.asia:18086/h5-web/#/activity/pages/lottery/index?detailId=${this.wenjuan.rewardForParticipation}&style=${this.wenjuan.actStyle}`); | |
| 717 | + | |
| 718 | + } | |
| 714 | 719 | } |
| 715 | 720 | |
| 716 | 721 | }) | ... | ... |
ceres-uniapp-master/static/images/cjwt.png
0 → 100644
1.56 KB
ceres-uniapp-master/static/images/fxzx.png
0 → 100644
1.57 KB
ceres-uniapp-master/static/images/llzj.png
ceres-uniapp-master/static/images/sjrz.png
ceres-uniapp-master/static/images/wdsc.png
ceres-uniapp-master/static/images/yhq.png
lvdao-miniapp/pages/shops/shops.vue
| 1 | 1 | <template> |
| 2 | 2 | <view class="page"> |
| 3 | 3 | <!-- 搜索 --> |
| 4 | -<!-- <view class="head-search"> | |
| 4 | + <!-- <view class="head-search"> | |
| 5 | 5 | <u-search bg-color="#fff" placeholder="请输入" v-model="query.shopName" :show-action="false" @search="search" @clear="clearGet"></u-search> |
| 6 | 6 | <u-button type="success" @click="search" style="height:32px;">搜索</u-button> |
| 7 | 7 | </view> --> |
| 8 | - <view style="margin: 20rpx 0;background-color: #FFFFFF;border-radius: 18rpx;border: 2rpx solid #E8E8E8; margin: 22rpx 24rpx;overflow: hidden;" > | |
| 9 | - <u-search :action-style="{'background':'#19be6b','color':'#fff','height':'32px','line-height':'32px','border-radius':'18rpx'}" bg-color="#fff" placeholder="请输入关键词" v-model="query.shopName" action-text="搜索" @clear="search" @search="search" @custom="search"></u-search> | |
| 8 | + <view | |
| 9 | + style="margin: 20rpx 0;background-color: #FFFFFF;border-radius: 18rpx;border: 2rpx solid #E8E8E8; margin: 22rpx 24rpx;overflow: hidden;"> | |
| 10 | + <u-search | |
| 11 | + :action-style="{'background':'#19be6b','color':'#fff','height':'32px','line-height':'32px','border-radius':'18rpx'}" | |
| 12 | + bg-color="#fff" placeholder="请输入关键词" v-model="query.shopName" action-text="搜索" @clear="search" | |
| 13 | + @search="search" @custom="search"></u-search> | |
| 10 | 14 | </view> |
| 11 | 15 | <view class="screen-list"> |
| 12 | 16 | <view class="list" @click="show = true"> |
| 13 | 17 | <text>区域</text> |
| 14 | - <image :src="$imgUrl('/down.png')"></image> | |
| 15 | - <u-select v-model="show" :list="areList" @confirm="(v) => {queryChange('belongingRegion', v)}"></u-select> | |
| 18 | + <image :src="$imgUrl('/down.png')"></image> | |
| 19 | + <u-select v-model="show" :list="areList" | |
| 20 | + @confirm="(v) => {queryChange('belongingRegion', v)}"></u-select> | |
| 16 | 21 | </view> |
| 17 | - <!-- <view class="list" @click="setList(1)"> | |
| 22 | + <!-- <view class="list" @click="setList(1)"> | |
| 18 | 23 | <text>租金</text> |
| 19 | 24 | <image :src="$imgUrl('/down.png')"></image> |
| 20 | 25 | </view> |
| ... | ... | @@ -33,7 +38,8 @@ |
| 33 | 38 | <view class="goods-list"> |
| 34 | 39 | <view class="list" v-for="(item,index) in tableData" :key="index" @click="reconciliationdetail(item)"> |
| 35 | 40 | <view class="thumb"> |
| 36 | - <u-image width="25vw" height="25vw" border-radius="20" :src="$img + (item.displayMainImage || item.locationDiagram || item.displayImage) | getimgurl"></u-image> | |
| 41 | + <u-image width="25vw" height="25vw" border-radius="20" | |
| 42 | + :src="$img + (item.displayMainImage || item.locationDiagram || item.displayImage) | getimgurl"></u-image> | |
| 37 | 43 | <!-- <image :src="item.displayMainImage" mode=""></image> --> |
| 38 | 44 | </view> |
| 39 | 45 | <view class="item"> |
| ... | ... | @@ -45,78 +51,81 @@ |
| 45 | 51 | <text>标签标签</text> --> |
| 46 | 52 | </view> |
| 47 | 53 | <view class="introduce"> |
| 48 | - <image :src="$imgUrl('/kefu.png')"></image> | |
| 54 | + <image :src="$imgUrl('/kefu.png')"></image> | |
| 49 | 55 | <text class="one-omit">{{item.detailedLocation}}</text> |
| 50 | 56 | </view> |
| 51 | 57 | <view class="like-goods"> |
| 52 | 58 | <view class="retail-price" v-if="item.belongingRegion"> |
| 53 | - <text>所属区域:</text> | |
| 54 | - <text class="max">{{item.belongingRegion}}</text> | |
| 55 | - </view> | |
| 56 | - <view class="retail-price" > | |
| 57 | - <!-- <text>租金:</text> | |
| 59 | + <text>所属区域:</text> | |
| 60 | + <text class="max">{{item.belongingRegion}}</text> | |
| 61 | + </view> | |
| 62 | + <view class="retail-price"> | |
| 63 | + <!-- <text>租金:</text> | |
| 58 | 64 | <text class="min">¥</text> |
| 59 | 65 | <text class="max">{{item.id * 10}}</text> |
| 60 | 66 | <text class="min">/月</text> |
| 61 | 67 | <text class="line"></text> --> |
| 62 | 68 | <text>面积:</text> |
| 63 | 69 | <text class="max">{{item.actualUsableArea}}</text> |
| 64 | - <text class="min" >/m²</text> | |
| 70 | + <text class="min">/m²</text> | |
| 65 | 71 | </view> |
| 66 | 72 | </view> |
| 67 | 73 | </view> |
| 68 | 74 | </view> |
| 69 | 75 | </view> |
| 70 | 76 | </view> |
| 71 | - <u-popup v-model="zidongS" mode="center" width="90%" border-radius="20" :mask-close-able="false" :closeable="true" close-icon-pos="top-right"> | |
| 77 | + <u-popup v-model="zidongS" mode="center" width="90%" border-radius="20" :mask-close-able="false" | |
| 78 | + :closeable="true" close-icon-pos="top-right"> | |
| 72 | 79 | <view class="zulinY"> |
| 73 | 80 | <view style="font-size: 32rpx;font-weight: 600;margin-bottom: 20rpx;">请填写您的租赁意向</view> |
| 74 | - <view class="" style="display: flex;justify-content: space-between;border-bottom:1px solid #F6F9FA;padding: 20rpx 0;"> | |
| 75 | - <text class="sc" style="color: #979797;font-size: 30rpx;">意向区域</text> | |
| 76 | - <view @click="showS(2)"> | |
| 77 | - <text class="mc" style="margin-right: 10rpx;"> {{formList.belongingRegion ==''?'请选择':formList.belongingRegion}}</text> | |
| 78 | - <u-icon name="arrow-down"></u-icon> | |
| 79 | - </view> | |
| 80 | - </view> | |
| 81 | - <view class="" style="display: flex;justify-content: space-between;border-bottom:1px solid #F6F9FA;padding: 20rpx 0;"> | |
| 82 | - <text class="sc" style="color: #979797;font-size: 30rpx;">租金周期</text> | |
| 83 | - <view @click="showS(3)"> | |
| 84 | - <text class="mc" style="margin-right: 10rpx;"> {{formList.zhouqi ==''?'请选择':formList.zhouqi}}</text> | |
| 85 | - <u-icon name="arrow-down"></u-icon> | |
| 86 | - </view> | |
| 81 | + <view class="" | |
| 82 | + style="display: flex;justify-content: space-between;border-bottom:1px solid #F6F9FA;padding: 20rpx 0;"> | |
| 83 | + <text class="sc" style="color: #979797;font-size: 30rpx;"><span style="color: red;">*</span> | |
| 84 | + 意向区域</text> | |
| 85 | + <view @click="showS(2)"> | |
| 86 | + <text class="mc" style="margin-right: 10rpx;"> | |
| 87 | + {{formList.belongingRegion ==''?'请选择':formList.belongingRegion}}</text> | |
| 88 | + <u-icon name="arrow-down"></u-icon> | |
| 89 | + </view> | |
| 87 | 90 | </view> |
| 88 | - <view class="" style="display: flex;justify-content: space-between;border-bottom:1px solid #F6F9FA;padding: 20rpx 0;"> | |
| 89 | - <text class="sc" style="color: #979797;font-size: 30rpx;">意向租金</text> | |
| 90 | - <view @click="showS(4)"> | |
| 91 | - <text class="mc" style="margin-right: 10rpx;"> {{formList.zujin ==''?'请选择':formList.zujin}}</text> | |
| 92 | - <u-icon name="arrow-down"></u-icon> | |
| 93 | - </view> | |
| 91 | + <view class="" | |
| 92 | + style="display: flex;justify-content: space-between;border-bottom:1px solid #F6F9FA;padding: 20rpx 0;"> | |
| 93 | + <text class="sc" style="color: #979797;font-size: 30rpx;"><span | |
| 94 | + style="color: red;">*</span>租金周期</text> | |
| 95 | + <view @click="showS(3)"> | |
| 96 | + <text class="mc" style="margin-right: 10rpx;"> | |
| 97 | + {{formList.leaseTerm ==''?'请选择':formList.leaseTerm}}</text> | |
| 98 | + <u-icon name="arrow-down"></u-icon> | |
| 99 | + </view> | |
| 94 | 100 | </view> |
| 95 | - <view class="" style="display: flex;justify-content: space-between;border-bottom:1px solid #F6F9FA;padding: 20rpx 0;"> | |
| 96 | - <text class="sc" style="color: #979797;font-size: 30rpx;">意向面积</text> | |
| 97 | - <view @click="showS(5)"> | |
| 98 | - <text class="mc" style="margin-right: 10rpx;"> {{formList.mianji ==''?'请选择':formList.mianji}}</text> | |
| 99 | - <u-icon name="arrow-down"></u-icon> | |
| 100 | - </view> | |
| 101 | + <view class="" | |
| 102 | + style="display: flex;justify-content: space-between;border-bottom:1px solid #F6F9FA;padding: 20rpx 0;"> | |
| 103 | + <text class="sc" style="color: #979797;font-size: 30rpx;"><span | |
| 104 | + style="color: red;">*</span>意向租金</text> | |
| 105 | + <view @click="showS(4)"> | |
| 106 | + <text class="mc" style="margin-right: 10rpx;"> | |
| 107 | + {{formList.zujin ==''?'请选择':formList.zujin}}</text> | |
| 108 | + <u-icon name="arrow-down"></u-icon> | |
| 109 | + </view> | |
| 101 | 110 | </view> |
| 102 | - <!-- <view class="" style="display: flex;justify-content: space-between;border-bottom:1px solid #F6F9FA;padding: 20rpx 0;"> | |
| 103 | - <view class="sc" style="color: #979797;font-size: 30rpx;line-height: 200%;">租赁人姓名</view> | |
| 104 | - <view style="width: 20%"> | |
| 105 | - <u-input v-model="formList.name" type="text" :border="false" placeholder="请输入" :clearable="false" /> | |
| 106 | - </view> | |
| 111 | + <view class="" | |
| 112 | + style="display: flex;justify-content: space-between;border-bottom:1px solid #F6F9FA;padding: 20rpx 0;"> | |
| 113 | + <text class="sc" style="color: #979797;font-size: 30rpx;"><span | |
| 114 | + style="color: red;">*</span>意向面积</text> | |
| 115 | + <view @click="showS(5)"> | |
| 116 | + <text class="mc" style="margin-right: 10rpx;"> | |
| 117 | + {{formList.actualUsableArea ==''?'请选择':formList.actualUsableArea}}</text> | |
| 118 | + <u-icon name="arrow-down"></u-icon> | |
| 119 | + </view> | |
| 107 | 120 | </view> |
| 108 | - <view class="" style="display: flex;justify-content: space-between;border-bottom:1px solid #F6F9FA;padding: 20rpx 0;"> | |
| 109 | - <view class="sc" style="color: #979797;font-size: 30rpx;line-height: 200%;">联系电话</view> | |
| 110 | - <view style="width: 20%"> | |
| 111 | - <u-input v-model="formList.phone" type="text" :border="false" placeholder="请输入" :clearable="false"/> | |
| 112 | - </view> | |
| 113 | - </view> --> | |
| 114 | - <view class="" style="text-align: center;padding: 16rpx 0;background-color: #00BE4B;color: #fff;border-radius: 20rpx;margin: 20rpx 0;" @click="request"> | |
| 121 | + <view class="" | |
| 122 | + style="text-align: center;padding: 16rpx 0;background-color: #00BE4B;color: #fff;border-radius: 20rpx;margin: 20rpx 0;" | |
| 123 | + @click="request"> | |
| 115 | 124 | 确定 |
| 116 | 125 | </view> |
| 117 | 126 | </view> |
| 118 | 127 | <u-select v-model="showList" :list="companys" @confirm="handleCompanyConfirm" mini borderless></u-select> |
| 119 | - | |
| 128 | + | |
| 120 | 129 | </u-popup> |
| 121 | 130 | |
| 122 | 131 | </view> |
| ... | ... | @@ -127,53 +136,71 @@ |
| 127 | 136 | data() { |
| 128 | 137 | return { |
| 129 | 138 | query: { |
| 130 | - shopName:'', | |
| 139 | + shopName: '', | |
| 131 | 140 | belongingRegion: '', |
| 132 | - pageNumber: 0, | |
| 133 | - pageSize: 10 , | |
| 134 | - publishStatus:2, | |
| 135 | - minPrice:0, | |
| 136 | - maxPrice:1000000 | |
| 141 | + pageNumber: 0, | |
| 142 | + pageSize: 10, | |
| 143 | + publishStatus: 2, | |
| 144 | + minPrice: 0, | |
| 145 | + maxPrice: 1000000 | |
| 137 | 146 | }, |
| 138 | 147 | pageindex: { |
| 139 | 148 | pageNumber: 0, |
| 140 | 149 | pageSize: 10, |
| 141 | - publishStatus:2, | |
| 142 | - minPrice:0, | |
| 143 | - maxPrice:1000000 | |
| 150 | + publishStatus: 2, | |
| 151 | + minPrice: 0, | |
| 152 | + maxPrice: 1000000 | |
| 144 | 153 | }, |
| 145 | 154 | tableData: [], |
| 146 | - areList: [ | |
| 147 | - {value: '武侯区', label: '武侯区'}, | |
| 148 | - {value: '锦江区', label: '锦江区'}, | |
| 149 | - {value: '青羊区', label: '青羊区'}, | |
| 150 | - {value: '金牛区', label: '金牛区'}, | |
| 151 | - {value: '双流区', label: '双流区'}, | |
| 152 | - {value: '郫都区', label: '郫都区'}, | |
| 153 | - {value: '龙泉驿区', label: '龙泉驿区'}, | |
| 154 | - {value: '温江区', label: '温江区'}, | |
| 155 | + areList: [{ | |
| 156 | + value: '武侯区', | |
| 157 | + label: '武侯区' | |
| 158 | + }, | |
| 159 | + { | |
| 160 | + value: '锦江区', | |
| 161 | + label: '锦江区' | |
| 162 | + }, | |
| 163 | + { | |
| 164 | + value: '青羊区', | |
| 165 | + label: '青羊区' | |
| 166 | + }, | |
| 167 | + { | |
| 168 | + value: '金牛区', | |
| 169 | + label: '金牛区' | |
| 170 | + }, | |
| 171 | + { | |
| 172 | + value: '双流区', | |
| 173 | + label: '双流区' | |
| 174 | + }, | |
| 175 | + { | |
| 176 | + value: '郫都区', | |
| 177 | + label: '郫都区' | |
| 178 | + }, | |
| 179 | + { | |
| 180 | + value: '龙泉驿区', | |
| 181 | + label: '龙泉驿区' | |
| 182 | + }, | |
| 183 | + { | |
| 184 | + value: '温江区', | |
| 185 | + label: '温江区' | |
| 186 | + }, | |
| 155 | 187 | ], // 区域列表 |
| 156 | - | |
| 157 | - showList:false, | |
| 188 | + | |
| 189 | + showList: false, | |
| 158 | 190 | zidongS: false, |
| 159 | 191 | formList: { |
| 160 | - zulei: '', | |
| 161 | 192 | belongingRegion: '', |
| 162 | - zuqi:'', | |
| 163 | 193 | zujin: '', |
| 164 | - mianji:'', | |
| 165 | - name:'', | |
| 166 | - phone:'', | |
| 167 | - zhouqi:'', | |
| 194 | + actualUsableArea: '', | |
| 195 | + leaseTerm: '', | |
| 168 | 196 | pageNumber: 0, |
| 169 | 197 | pageSize: 10, |
| 170 | - publishStatus:2 | |
| 198 | + publishStatus: 2 | |
| 171 | 199 | }, |
| 172 | 200 | showSex: false, |
| 173 | - show:false, | |
| 174 | - index:1, | |
| 175 | - companys: [ | |
| 176 | - { | |
| 201 | + show: false, | |
| 202 | + index: 1, | |
| 203 | + companys: [{ | |
| 177 | 204 | value: '1', |
| 178 | 205 | label: '商铺' |
| 179 | 206 | }, |
| ... | ... | @@ -186,9 +213,9 @@ |
| 186 | 213 | label: '广告位' |
| 187 | 214 | } |
| 188 | 215 | ], |
| 189 | - show1:false, | |
| 190 | - list:[], | |
| 191 | - xuanval:0, | |
| 216 | + show1: false, | |
| 217 | + list: [], | |
| 218 | + xuanval: 0, | |
| 192 | 219 | } |
| 193 | 220 | }, |
| 194 | 221 | filters: { |
| ... | ... | @@ -215,10 +242,10 @@ |
| 215 | 242 | }, |
| 216 | 243 | // 查询 |
| 217 | 244 | search() { |
| 218 | - this.$http.sendRequest('/cereBasicInformationShop/queryByPage', 'POST', this.query, 1).then(res => { | |
| 219 | - //成功回调 | |
| 220 | - this.tableData = res.data.data.content | |
| 221 | - }) | |
| 245 | + this.$http.sendRequest('/cereBasicInformationShop/queryByPage', 'POST', this.query, 1).then(res => { | |
| 246 | + //成功回调 | |
| 247 | + this.tableData = res.data.data.content | |
| 248 | + }) | |
| 222 | 249 | }, |
| 223 | 250 | queryChange(key, val) { |
| 224 | 251 | this.query[`${key}`] = val[0].value; |
| ... | ... | @@ -230,223 +257,250 @@ |
| 230 | 257 | url: `/pages/details/details?item=${items}` |
| 231 | 258 | }) |
| 232 | 259 | }, |
| 233 | - | |
| 234 | - | |
| 260 | + | |
| 261 | + | |
| 235 | 262 | // 自动匹配 |
| 236 | 263 | zidong() { |
| 237 | - this.zidongS = true | |
| 264 | + this.zidongS = true | |
| 238 | 265 | }, |
| 239 | - showS(val){ | |
| 240 | - this.index = val | |
| 241 | - if(val == 1){ | |
| 242 | - this.companys = [ | |
| 243 | - { | |
| 244 | - value: '1', | |
| 245 | - label: '商铺' | |
| 246 | - }, | |
| 247 | - // { | |
| 248 | - // value: '2', | |
| 249 | - // label: '临铺' | |
| 250 | - // }, | |
| 251 | - // { | |
| 252 | - // value: '3', | |
| 253 | - // label: '广告位' | |
| 254 | - // } | |
| 255 | - ] | |
| 256 | - | |
| 257 | - }else if(val ==2 ){ | |
| 258 | - this.companys = [ | |
| 259 | - { | |
| 260 | - value: '1', | |
| 261 | - label: '成华区' | |
| 262 | - }, | |
| 263 | - { | |
| 264 | - value: '2', | |
| 265 | - label: '武侯区' | |
| 266 | - }, | |
| 267 | - { | |
| 268 | - value: '3', | |
| 269 | - label: '锦江区' | |
| 270 | - }, | |
| 271 | - { | |
| 272 | - value: '4', | |
| 273 | - label: '青羊区' | |
| 274 | - }, | |
| 275 | - { | |
| 276 | - value: '5', | |
| 277 | - label: '金牛区' | |
| 278 | - }, | |
| 279 | - { | |
| 280 | - value: '6', | |
| 281 | - label: '双流区' | |
| 282 | - }, | |
| 283 | - { | |
| 284 | - value: '7', | |
| 285 | - label: '郫都区' | |
| 286 | - }, | |
| 287 | - { | |
| 288 | - value: '8', | |
| 289 | - label: '龙泉驿区' | |
| 290 | - }, | |
| 291 | - { | |
| 292 | - value: '9', | |
| 293 | - label: '温江区' | |
| 294 | - } | |
| 295 | - | |
| 296 | - | |
| 297 | - ] | |
| 298 | - }else if(val == 3){ | |
| 299 | - this.companys = [ | |
| 300 | - { | |
| 301 | - value: '1', | |
| 302 | - label: '年' | |
| 303 | - }, | |
| 304 | - { | |
| 305 | - value: '2', | |
| 306 | - label: '季' | |
| 307 | - }, | |
| 308 | - { | |
| 309 | - value: '3', | |
| 310 | - label: '月' | |
| 311 | - }, | |
| 312 | - { | |
| 313 | - value: '4', | |
| 314 | - label: '日' | |
| 315 | - } | |
| 316 | - ] | |
| 317 | - }else if(val == 4){ | |
| 318 | - this.companys = [ | |
| 319 | - { | |
| 320 | - value: '1', | |
| 321 | - label: '0-2000' | |
| 322 | - }, | |
| 323 | - { | |
| 324 | - value: '2', | |
| 325 | - label: '2000-5000' | |
| 326 | - }, | |
| 327 | - { | |
| 328 | - value: '3', | |
| 329 | - label: '5000-10000' | |
| 330 | - } | |
| 331 | - ] | |
| 332 | - }else{ | |
| 333 | - this.companys = [ | |
| 334 | - { | |
| 335 | - value: '1', | |
| 336 | - label: '0-100' | |
| 337 | - }, | |
| 338 | - { | |
| 339 | - value: '2', | |
| 340 | - label: '100-200' | |
| 341 | - }, | |
| 342 | - { | |
| 343 | - value: '3', | |
| 344 | - label: '200-300' | |
| 345 | - } | |
| 346 | - ] | |
| 347 | - } | |
| 348 | - this.showList = true | |
| 349 | - }, | |
| 350 | - handleCompanyConfirm(e){ | |
| 351 | - if(this.index == 1){ | |
| 352 | - this.formList.zulei = e[0].label | |
| 353 | - }else if(this.index == 2){ | |
| 354 | - this.formList.belongingRegion = e[0].label | |
| 355 | - }else if(this.index == 3){ | |
| 356 | - this.formList.zhouqi = e[0].label | |
| 357 | - }else if(this.index == 4){ | |
| 358 | - this.formList.zujin = e[0].label | |
| 359 | - if(e[0].value == 1){ | |
| 360 | - this.formList.minPrice = 0 | |
| 361 | - this.formList.maxPrice = 2000 | |
| 362 | - }else if(e[0].value == 2){ | |
| 363 | - this.formList.minPrice = 2000 | |
| 364 | - this.formList.maxPrice = 5000 | |
| 365 | - }else{ | |
| 366 | - this.formList.minPrice = 5000 | |
| 367 | - this.formList.maxPrice = 10000 | |
| 368 | - } | |
| 369 | - }else{ | |
| 370 | - this.formList.mianji = e[0].label | |
| 371 | - if(e[0].value == 1){ | |
| 372 | - this.formList.minActualUsableArea = 0 | |
| 373 | - this.formList.maxActualUsableArea = 100 | |
| 374 | - }else if(e[0].value == 2){ | |
| 375 | - this.formList.minActualUsableArea = 100 | |
| 376 | - this.formList.maxActualUsableArea = 200 | |
| 377 | - }else{ | |
| 378 | - this.formList.minActualUsableArea = 200 | |
| 379 | - this.formList.maxActualUsableArea = 300 | |
| 266 | + showS(val) { | |
| 267 | + this.index = val | |
| 268 | + if (val == 1) { | |
| 269 | + this.companys = [{ | |
| 270 | + value: '1', | |
| 271 | + label: '商铺' | |
| 272 | + }, | |
| 273 | + // { | |
| 274 | + // value: '2', | |
| 275 | + // label: '临铺' | |
| 276 | + // }, | |
| 277 | + // { | |
| 278 | + // value: '3', | |
| 279 | + // label: '广告位' | |
| 280 | + // } | |
| 281 | + ] | |
| 282 | + | |
| 283 | + } else if (val == 2) { | |
| 284 | + this.companys = [{ | |
| 285 | + value: '1', | |
| 286 | + label: '成华区' | |
| 287 | + }, | |
| 288 | + { | |
| 289 | + value: '2', | |
| 290 | + label: '武侯区' | |
| 291 | + }, | |
| 292 | + { | |
| 293 | + value: '3', | |
| 294 | + label: '锦江区' | |
| 295 | + }, | |
| 296 | + { | |
| 297 | + value: '4', | |
| 298 | + label: '青羊区' | |
| 299 | + }, | |
| 300 | + { | |
| 301 | + value: '5', | |
| 302 | + label: '金牛区' | |
| 303 | + }, | |
| 304 | + { | |
| 305 | + value: '6', | |
| 306 | + label: '双流区' | |
| 307 | + }, | |
| 308 | + { | |
| 309 | + value: '7', | |
| 310 | + label: '郫都区' | |
| 311 | + }, | |
| 312 | + { | |
| 313 | + value: '8', | |
| 314 | + label: '龙泉驿区' | |
| 315 | + }, | |
| 316 | + { | |
| 317 | + value: '9', | |
| 318 | + label: '温江区' | |
| 319 | + } | |
| 320 | + | |
| 321 | + | |
| 322 | + ] | |
| 323 | + } else if (val == 3) { | |
| 324 | + this.companys = [{ | |
| 325 | + value: '1', | |
| 326 | + label: '年' | |
| 327 | + }, | |
| 328 | + { | |
| 329 | + value: '2', | |
| 330 | + label: '季' | |
| 331 | + }, | |
| 332 | + { | |
| 333 | + value: '3', | |
| 334 | + label: '月' | |
| 335 | + }, | |
| 336 | + { | |
| 337 | + value: '4', | |
| 338 | + label: '日' | |
| 339 | + } | |
| 340 | + ] | |
| 341 | + } else if (val == 4) { | |
| 342 | + this.companys = [{ | |
| 343 | + value: '1', | |
| 344 | + label: '0-2000' | |
| 345 | + }, | |
| 346 | + { | |
| 347 | + value: '2', | |
| 348 | + label: '2000-5000' | |
| 349 | + }, | |
| 350 | + { | |
| 351 | + value: '3', | |
| 352 | + label: '5000-10000' | |
| 353 | + } | |
| 354 | + ] | |
| 355 | + } else { | |
| 356 | + this.companys = [{ | |
| 357 | + value: '1', | |
| 358 | + label: '0-100' | |
| 359 | + }, | |
| 360 | + { | |
| 361 | + value: '2', | |
| 362 | + label: '100-200' | |
| 363 | + }, | |
| 364 | + { | |
| 365 | + value: '3', | |
| 366 | + label: '200-300' | |
| 367 | + } | |
| 368 | + ] | |
| 380 | 369 | } |
| 381 | - | |
| 382 | - } | |
| 383 | - | |
| 384 | - }, | |
| 385 | - setList(val){ | |
| 386 | - this.xuanval = val | |
| 387 | - if(val == 0){ | |
| 388 | - const filteredTableData = this.tableData.filter(item => item.hasOwnProperty('belongingRegion')); | |
| 389 | - | |
| 390 | - // 提取 belongingRegion 字段并进行去重 | |
| 391 | - const labeledBelongingRegions = filteredTableData.map(item => ({ | |
| 392 | - label: item.belongingRegion | |
| 393 | - })); | |
| 394 | - | |
| 395 | - const uniqueBelongingRegions = [...new Set(labeledBelongingRegions)]; | |
| 396 | - console.log(uniqueBelongingRegions) | |
| 397 | - this.list = uniqueBelongingRegions | |
| 398 | - }else if(val == 1){ | |
| 399 | - this.list = [] | |
| 400 | - }else if(val == 2){ | |
| 401 | - this.list = [] | |
| 402 | - } | |
| 403 | - this.show1 = true | |
| 404 | - }, | |
| 405 | - confirm(val){ | |
| 406 | - let page = { | |
| 407 | - pageNumber: 0, | |
| 408 | - pageSize: 10, | |
| 409 | - belongingRegion:val[0].label | |
| 410 | - } | |
| 411 | - this.$http.sendRequest('/cereBasicInformationShop/queryByPage', 'POST', page, 1).then(res => { | |
| 412 | - //成功回调 | |
| 413 | - this.tableData = res.data.data.content | |
| 414 | - }) | |
| 415 | - }, | |
| 416 | - clearGet(){ | |
| 417 | - this.$http.sendRequest('/cereBasicInformationShop/queryByPage', 'POST', this.pageindex, 1).then(res => { | |
| 418 | - //成功回调 | |
| 419 | - this.tableData = res.data.data.content | |
| 420 | - }) | |
| 421 | - }, | |
| 422 | - request(){ | |
| 423 | - this.$http.sendRequest('/cereBasicInformationShop/queryByPage', 'POST', this.formList, 1).then(res => { | |
| 424 | - //成功回调 | |
| 425 | - this.tableData = res.data.data.content | |
| 426 | - if(res.data.data.content.length!=0){ | |
| 427 | - let obj={ | |
| 428 | - type:2, | |
| 429 | - matchingRecord:JSON.stringify(res.data.data.content) | |
| 370 | + this.showList = true | |
| 371 | + }, | |
| 372 | + handleCompanyConfirm(e) { | |
| 373 | + if (this.index == 1) { | |
| 374 | + this.formList.zulei = e[0].label | |
| 375 | + } else if (this.index == 2) { | |
| 376 | + this.formList.belongingRegion = e[0].label | |
| 377 | + } else if (this.index == 3) { | |
| 378 | + this.formList.leaseTerm = e[0].label | |
| 379 | + } else if (this.index == 4) { | |
| 380 | + this.formList.zujin = e[0].label | |
| 381 | + if (e[0].value == 1) { | |
| 382 | + this.formList.minPrice = 0 | |
| 383 | + this.formList.maxPrice = 2000 | |
| 384 | + } else if (e[0].value == 2) { | |
| 385 | + this.formList.minPrice = 2000 | |
| 386 | + this.formList.maxPrice = 5000 | |
| 387 | + } else { | |
| 388 | + this.formList.minPrice = 5000 | |
| 389 | + this.formList.maxPrice = 10000 | |
| 430 | 390 | } |
| 431 | - this.$http.sendRequest('/resourceStrategyMatchingRecord/insert', 'POST', obj, 1).then(res => { | |
| 432 | - }) | |
| 391 | + } else { | |
| 392 | + this.formList.actualUsableArea = e[0].label | |
| 393 | + // if (e[0].value == 1) { | |
| 394 | + // this.formList.minActualUsableArea = 0 | |
| 395 | + // this.formList.maxActualUsableArea = 100 | |
| 396 | + // } else if (e[0].value == 2) { | |
| 397 | + // this.formList.minActualUsableArea = 100 | |
| 398 | + // this.formList.maxActualUsableArea = 200 | |
| 399 | + // } else { | |
| 400 | + // this.formList.minActualUsableArea = 200 | |
| 401 | + // this.formList.maxActualUsableArea = 300 | |
| 402 | + // } | |
| 403 | + | |
| 433 | 404 | } |
| 434 | - | |
| 435 | - }) | |
| 436 | - this.formList = { | |
| 437 | - zulei: '', | |
| 438 | - belongingRegion: '', | |
| 439 | - zujin: '', | |
| 440 | - mianji:'', | |
| 441 | - name:'', | |
| 442 | - phone:'', | |
| 405 | + | |
| 406 | + }, | |
| 407 | + setList(val) { | |
| 408 | + this.xuanval = val | |
| 409 | + if (val == 0) { | |
| 410 | + const filteredTableData = this.tableData.filter(item => item.hasOwnProperty('belongingRegion')); | |
| 411 | + | |
| 412 | + // 提取 belongingRegion 字段并进行去重 | |
| 413 | + const labeledBelongingRegions = filteredTableData.map(item => ({ | |
| 414 | + label: item.belongingRegion | |
| 415 | + })); | |
| 416 | + | |
| 417 | + const uniqueBelongingRegions = [...new Set(labeledBelongingRegions)]; | |
| 418 | + console.log(uniqueBelongingRegions) | |
| 419 | + this.list = uniqueBelongingRegions | |
| 420 | + } else if (val == 1) { | |
| 421 | + this.list = [] | |
| 422 | + } else if (val == 2) { | |
| 423 | + this.list = [] | |
| 424 | + } | |
| 425 | + this.show1 = true | |
| 426 | + }, | |
| 427 | + confirm(val) { | |
| 428 | + let page = { | |
| 443 | 429 | pageNumber: 0, |
| 444 | 430 | pageSize: 10, |
| 445 | - publishStatus:2 | |
| 446 | - | |
| 431 | + belongingRegion: val[0].label | |
| 432 | + } | |
| 433 | + this.$http.sendRequest('/cereBasicInformationShop/queryByPage', 'POST', page, 1).then(res => { | |
| 434 | + //成功回调 | |
| 435 | + this.tableData = res.data.data.content | |
| 436 | + }) | |
| 437 | + }, | |
| 438 | + clearGet() { | |
| 439 | + this.$http.sendRequest('/cereBasicInformationShop/queryByPage', 'POST', this.pageindex, 1).then(res => { | |
| 440 | + //成功回调 | |
| 441 | + this.tableData = res.data.data.content | |
| 442 | + }) | |
| 443 | + }, | |
| 444 | + request() { | |
| 445 | + if (!this.formList.belongingRegion) { | |
| 446 | + uni.showToast({ | |
| 447 | + icon: 'none', | |
| 448 | + title: '请选择意向区域' | |
| 449 | + }); | |
| 450 | + return false; | |
| 451 | + } | |
| 452 | + if (!this.formList.leaseTerm) { | |
| 453 | + uni.showToast({ | |
| 454 | + icon: 'none', | |
| 455 | + title: '请选择租金周期' | |
| 456 | + }); | |
| 457 | + return false; | |
| 458 | + } | |
| 459 | + if (!this.formList.zujin) { | |
| 460 | + uni.showToast({ | |
| 461 | + icon: 'none', | |
| 462 | + title: '请选择意向租金' | |
| 463 | + }); | |
| 464 | + return false; | |
| 465 | + } | |
| 466 | + if (!this.formList.actualUsableArea) { | |
| 467 | + uni.showToast({ | |
| 468 | + icon: 'none', | |
| 469 | + title: '请选择意向面积' | |
| 470 | + }); | |
| 471 | + return false; | |
| 472 | + } | |
| 473 | + this.$http.sendRequest('/cereBasicInformationShop/queryByPage', 'POST', this.formList, 1).then(res => { | |
| 474 | + //成功回调 | |
| 475 | + this.tableData = res.data.data.content | |
| 476 | + if (res.data.data.content.length != 0) { | |
| 477 | + let obj = { | |
| 478 | + leaseTerm: this.formList.leaseTerm, | |
| 479 | + rentalPrice:this.formList.zujin, | |
| 480 | + actualUsableArea:this.formList.actualUsableArea, | |
| 481 | + belongingRegion:this.formList.belongingRegion, | |
| 482 | + applicableResources:'商铺', | |
| 483 | + matchingRecord: JSON.stringify(res.data.data.content), | |
| 484 | + type:2 | |
| 485 | + } | |
| 486 | + this.$http.sendRequest('/resourceStrategyMatchingRecord/insert', 'POST', obj, 1).then( | |
| 487 | + res => { | |
| 488 | + this.formList = { | |
| 489 | + belongingRegion: '', | |
| 490 | + zujin: '', | |
| 491 | + actualUsableArea: '', | |
| 492 | + leaseTerm: '', | |
| 493 | + pageNumber: 0, | |
| 494 | + pageSize: 10, | |
| 495 | + publishStatus: 2 | |
| 496 | + } | |
| 497 | + }) | |
| 498 | + } | |
| 499 | + | |
| 500 | + }) | |
| 501 | + | |
| 502 | + this.zidongS = false | |
| 447 | 503 | } |
| 448 | - this.zidongS = false | |
| 449 | - } | |
| 450 | 504 | } |
| 451 | 505 | } |
| 452 | 506 | </script> | ... | ... |
wenjuan-h5/pages_category_page1/question/question.vue
| ... | ... | @@ -697,14 +697,12 @@ |
| 697 | 697 | // console.log(result) |
| 698 | 698 | // console.log(JSON.stringify(result)) |
| 699 | 699 | // console.log(tijiaoObj) |
| 700 | - // console.log(JSON.stringify(tijiaoObj)) | |
| 700 | + // console.log(this.wenjuan) | |
| 701 | 701 | // return |
| 702 | 702 | |
| 703 | 703 | NET.request(API.wenjuanUp, tijiaoObj, 'post').then(res => { |
| 704 | 704 | // this.show =true |
| 705 | - // if(){ | |
| 706 | - // https://jy.scjysm.asia:18086/h5-web/#/activity/pages/lottery/index?detailId=1892112909937541122&style=2 | |
| 707 | - // } | |
| 705 | + | |
| 708 | 706 | if (res.data == 'false') { |
| 709 | 707 | uni.reLaunch({ |
| 710 | 708 | url: `/pages_category_page1/question/succe?chonfu=true` |
| ... | ... | @@ -713,6 +711,11 @@ |
| 713 | 711 | uni.reLaunch({ |
| 714 | 712 | url: `/pages_category_page1/question/succe?ids=${this.wenjuanIds}` |
| 715 | 713 | }) |
| 714 | + if(this.wenjuan.rewardForParticipation !=''){ | |
| 715 | + // window.location.replace( `https://jy.scjysm.asia:18086/h5-web/#/activity/pages/lottery/index?detailId=${this.wenjuan.rewardForParticipation}&style=${this.wenjuan.style}`); | |
| 716 | + window.location.replace( `https://jy.scjysm.asia:18086/h5-web/#/activity/pages/lottery/index?detailId=${this.wenjuan.rewardForParticipation}&style=${this.wenjuan.actStyle}`); | |
| 717 | + | |
| 718 | + } | |
| 716 | 719 | } |
| 717 | 720 | |
| 718 | 721 | }) | ... | ... |
wenjuan-pc/src/views/investigation/index.vue
| ... | ... | @@ -189,7 +189,8 @@ |
| 189 | 189 | <div style="text-align: center;"> |
| 190 | 190 | <div style="margin-bottom:10px;">平均答题时长</div> |
| 191 | 191 | <div style="font-size:16px;"> |
| 192 | - {{ secondsToMinutesAndSeconds(tongjiTu.averageDuration) }}</div> | |
| 192 | + {{ secondsToMinutesAndSeconds(tongjiTu.averageDuration) }} | |
| 193 | + </div> | |
| 193 | 194 | </div> |
| 194 | 195 | </div> |
| 195 | 196 | <div style="margin: 20px 0;font-size: 18px;">题目统计</div> |
| ... | ... | @@ -365,6 +366,7 @@ |
| 365 | 366 | <template slot="label"> |
| 366 | 367 | 提交问卷后 |
| 367 | 368 | </template> |
| 369 | + | |
| 368 | 370 | {{ secondData.rewardForParticipation!=''?'转盘抽奖':'不设置奖励'}} |
| 369 | 371 | </el-descriptions-item> |
| 370 | 372 | <el-descriptions-item> |
| ... | ... | @@ -372,8 +374,9 @@ |
| 372 | 374 | 奖励 |
| 373 | 375 | </template> |
| 374 | 376 | <div> |
| 375 | - <span>{{ secondData.rewardForParticipation!=''?'转盘抽奖活动':''}}</span> | |
| 376 | - <span v-if="jiangli.id && jiangli.id!=''" style="padding: 0 20px;color: #3F9B6A;cursor: pointer;" @click="actGo(1)">查看</span> | |
| 377 | + <span>{{ secondData.rewardForParticipation!=''?getStatusText(secondData.actStyle):'无'}}</span> | |
| 378 | + <span v-if="jiangli.id && jiangli.id!=''" | |
| 379 | + style="padding: 0 20px;color: #3F9B6A;cursor: pointer;" @click="actGo(1)">查看</span> | |
| 377 | 380 | </div> |
| 378 | 381 | </el-descriptions-item> |
| 379 | 382 | </el-descriptions> |
| ... | ... | @@ -569,8 +572,7 @@ |
| 569 | 572 | </div> |
| 570 | 573 | <el-form ref="form" :model="formInline" label-width="140px" |
| 571 | 574 | style="padding:20px;"> |
| 572 | - <el-radio-group v-model="radioreward" | |
| 573 | - @change="radioClick"> | |
| 575 | + <el-radio-group v-model="radioreward" @change="radioClick"> | |
| 574 | 576 | <el-radio label="不设置奖励" value="不设置奖励">不设置奖励</el-radio> |
| 575 | 577 | <!-- <el-radio label="奖励积分" value="奖励积分">奖励积分</el-radio> --> |
| 576 | 578 | <el-radio label="转盘抽奖" value="转盘抽奖">转盘抽奖</el-radio> |
| ... | ... | @@ -583,16 +585,16 @@ |
| 583 | 585 | 奖励 <el-input v-model="jifen" style="width:50px;" />积分 |
| 584 | 586 | </div> |
| 585 | 587 | </div> --> |
| 586 | - <div v-if="radioreward === '转盘抽奖'" | |
| 587 | - style="padding: 0 0 20px 20px;"> | |
| 588 | - <div v-if="jiangli.id && jiangli.id!=''" style="padding: 10px 0;"> | |
| 589 | - <span>{{jiangli.name}}</span> | |
| 590 | - <span style="padding: 0 20px;color: #3F9B6A;cursor: pointer;" @click="actGo(1)">查看</span> | |
| 591 | - <span style="color: #3F9B6A;cursor: pointer;" @click="actGo(2)">编辑</span> | |
| 588 | + <div v-if="radioreward === '转盘抽奖'" style="padding: 0 0 20px 20px;"> | |
| 589 | + <div v-if="jiangli.id && jiangli.id!=''" style="padding: 10px 0;"> | |
| 590 | + <span>{{jiangli.actName}}</span> | |
| 591 | + <span style="padding: 0 20px;color: #3F9B6A;cursor: pointer;" | |
| 592 | + @click="actGo(1)">查看</span> | |
| 593 | + <span style="color: #3F9B6A;cursor: pointer;" | |
| 594 | + @click="actGo(2)">编辑</span> | |
| 592 | 595 | </div> |
| 593 | - <div v-else> | |
| 594 | - <el-button | |
| 595 | - style="color: #fff;background-color: #3F9B6A;" | |
| 596 | + <div v-else> | |
| 597 | + <el-button style="color: #fff;background-color: #3F9B6A;" | |
| 596 | 598 | @click="actGo(0)">创建活动</el-button> |
| 597 | 599 | </div> |
| 598 | 600 | </div> |
| ... | ... | @@ -996,23 +998,22 @@ |
| 996 | 998 | <div>参与答卷奖励</div> |
| 997 | 999 | </div> |
| 998 | 1000 | <el-form ref="form" :model="secondData" label-width="140px" style="padding:20px;"> |
| 999 | - <el-radio-group v-model="radioreward" | |
| 1000 | - @change="radioClick"> | |
| 1001 | + <el-radio-group v-model="radioreward" @change="radioClick"> | |
| 1001 | 1002 | <el-radio label="不设置奖励" value="不设置奖励">不设置奖励</el-radio> |
| 1002 | 1003 | <!-- <el-radio label="奖励积分" value="奖励积分">奖励积分</el-radio> --> |
| 1003 | 1004 | <el-radio label="转盘抽奖" value="转盘抽奖">转盘抽奖</el-radio> |
| 1004 | 1005 | <!-- <el-radio label="优惠券" value="优惠券">优惠券</el-radio> --> |
| 1005 | 1006 | </el-radio-group> |
| 1006 | - <div v-if="radioreward === '转盘抽奖'" | |
| 1007 | - style="padding: 0 0 20px 20px;"> | |
| 1008 | - <div v-if="jiangli.id && jiangli.id!=''" style="padding: 10px 0;"> | |
| 1009 | - <span>{{jiangli.name}}</span> | |
| 1010 | - <span style="padding: 0 20px;color: #3F9B6A;cursor: pointer;" @click="actGo(1)">查看</span> | |
| 1011 | - <span style="color: #3F9B6A;cursor: pointer;" @click="actGo(2)">编辑</span> | |
| 1007 | + <div v-if="radioreward === '转盘抽奖'" style="padding: 0 0 20px 20px;"> | |
| 1008 | + <div v-if="jiangli.id && jiangli.id!=''" style="padding: 10px 0;"> | |
| 1009 | + <span>{{jiangli.actName}}</span> | |
| 1010 | + <span style="padding: 0 20px;color: #3F9B6A;cursor: pointer;" | |
| 1011 | + @click="actGo(1)">查看</span> | |
| 1012 | + <span style="color: #3F9B6A;cursor: pointer;" | |
| 1013 | + @click="actGo(2)">编辑</span> | |
| 1012 | 1014 | </div> |
| 1013 | 1015 | <div v-else> |
| 1014 | - <el-button | |
| 1015 | - style="color: #fff;background-color: #3F9B6A;" | |
| 1016 | + <el-button style="color: #fff;background-color: #3F9B6A;" | |
| 1016 | 1017 | @click="actGo(0)">创建活动</el-button> |
| 1017 | 1018 | </div> |
| 1018 | 1019 | |
| ... | ... | @@ -1365,7 +1366,8 @@ |
| 1365 | 1366 | <div v-if="item.type == '单选' && item.layoutType == 2" |
| 1366 | 1367 | style="display: flex;width: 100%;flex-wrap: wrap;"> |
| 1367 | 1368 | <div class="answerItem" v-for="(val, idx) in item.options" :key="idx"> |
| 1368 | - {{ val.answer }}</div> | |
| 1369 | + {{ val.answer }} | |
| 1370 | + </div> | |
| 1369 | 1371 | </div> |
| 1370 | 1372 | <el-checkbox-group v-for="(val, idx) in item.options" |
| 1371 | 1373 | v-if="item.type == '多选' && item.layoutType != 2" :key="idx" |
| ... | ... | @@ -1381,7 +1383,8 @@ |
| 1381 | 1383 | <div v-if="item.type == '多选' && item.layoutType == 2" |
| 1382 | 1384 | style="display: flex;width: 100%;flex-wrap: wrap;"> |
| 1383 | 1385 | <div class="answerItem" v-for="(val, idx) in item.options" :key="idx"> |
| 1384 | - {{ val.answer }}</div> | |
| 1386 | + {{ val.answer }} | |
| 1387 | + </div> | |
| 1385 | 1388 | </div> |
| 1386 | 1389 | <div v-if="item.type == '文本'"> |
| 1387 | 1390 | <el-input v-model="model1.name" placeholder="请输入" disabled style="width:80%" /> |
| ... | ... | @@ -1452,8 +1455,8 @@ |
| 1452 | 1455 | </div> |
| 1453 | 1456 | </div> |
| 1454 | 1457 | </el-dialog> |
| 1455 | - <el-dialog :visible.sync="iframaShow" title="创建活动" width="90%" center top="1%" | |
| 1456 | - :close-on-click-modal="false" append-to-body> | |
| 1458 | + <el-dialog :visible.sync="iframaShow" title="创建活动" width="90%" center top="1%" :close-on-click-modal="false" | |
| 1459 | + append-to-body> | |
| 1457 | 1460 | <div style="padding:20px;"> |
| 1458 | 1461 | <iframe :src="iframaUrl" ref="iframe" frameborder="0" width="100%" height="700px" /> |
| 1459 | 1462 | <div style="padding-top:20px;display:flex;justify-content: flex-end;"> |
| ... | ... | @@ -1732,15 +1735,16 @@ |
| 1732 | 1735 | shujuloading: false, |
| 1733 | 1736 | iframaUrl: '', |
| 1734 | 1737 | iframaShow: false, |
| 1735 | - iframeWin:null, | |
| 1736 | - jiangli:{ | |
| 1737 | - id:'1894944771529637890', //活动id | |
| 1738 | - name:'商业抽奖活动', //活动名称 | |
| 1739 | - styles:'1', //抽奖样式 1:大转盘 2:砸金蛋 3:刮刮卡 4:翻牌乐 5:福袋 6:摇一摇 | |
| 1738 | + iframeWin: null, | |
| 1739 | + jiangli: { | |
| 1740 | + id: '1895043663592030209', //活动id | |
| 1741 | + actName: '商业测试活动1', //活动名称 | |
| 1742 | + actStyle: '1', //抽奖样式 1:大转盘 2:砸金蛋 3:刮刮卡 4:翻牌乐 5:福袋 6:摇一摇 | |
| 1740 | 1743 | // id:'', |
| 1741 | - // name:'' | |
| 1744 | + // actName:'', | |
| 1745 | + // actStyle:'', //抽奖样式 1:大转盘 2:砸金蛋 3:刮刮卡 4:翻牌乐 5:福袋 6:摇一摇 | |
| 1742 | 1746 | }, |
| 1743 | - radioreward:'不设置奖励' | |
| 1747 | + radioreward: '不设置奖励' | |
| 1744 | 1748 | } |
| 1745 | 1749 | }, |
| 1746 | 1750 | computed: { |
| ... | ... | @@ -1749,24 +1753,25 @@ |
| 1749 | 1753 | created() { |
| 1750 | 1754 | this.getAll() |
| 1751 | 1755 | }, |
| 1752 | - mounted() { | |
| 1753 | - // 监听iframe页面点击按钮触发事件 | |
| 1754 | - window.addEventListener('message', (event) => { | |
| 1755 | - const data = event.data | |
| 1756 | - if (data.code === 'success') { | |
| 1757 | - // alert(data.test) | |
| 1758 | - console.log('id',data.id) | |
| 1759 | - console.log('name',data.name) | |
| 1760 | - this.jiangli = { | |
| 1761 | - id:''+data.id, | |
| 1762 | - name:data.name, | |
| 1763 | - styles:data.style | |
| 1764 | - } | |
| 1765 | - this.iframaShow = false | |
| 1766 | - } | |
| 1767 | - }) | |
| 1768 | - // this.iframeWin = this.$refs.iframe.contentWindow | |
| 1769 | - }, | |
| 1756 | + mounted() { | |
| 1757 | + // 监听iframe页面点击按钮触发事件 | |
| 1758 | + window.addEventListener('message', (event) => { | |
| 1759 | + const data = event.data | |
| 1760 | + if (data.code === 'success') { | |
| 1761 | + // alert(data.test) | |
| 1762 | + console.log('id', data.id) | |
| 1763 | + console.log('name', data.name) | |
| 1764 | + console.log('styles', data.style) | |
| 1765 | + this.jiangli = { | |
| 1766 | + id: '' + data.id, | |
| 1767 | + actName: data.name, | |
| 1768 | + actStyle: data.style | |
| 1769 | + } | |
| 1770 | + this.iframaShow = false | |
| 1771 | + } | |
| 1772 | + }) | |
| 1773 | + // this.iframeWin = this.$refs.iframe.contentWindow | |
| 1774 | + }, | |
| 1770 | 1775 | methods: { |
| 1771 | 1776 | input(e, e1) { |
| 1772 | 1777 | // this.formInline[e1] = e |
| ... | ... | @@ -1810,14 +1815,16 @@ |
| 1810 | 1815 | return false; |
| 1811 | 1816 | } |
| 1812 | 1817 | if (this.radioreward == '转盘抽奖') { |
| 1813 | - if (this.jiangli.id && this.jiangli.id== '') { | |
| 1818 | + if (this.jiangli.id && this.jiangli.id == '') { | |
| 1814 | 1819 | this.$message({ |
| 1815 | 1820 | message: '请创建转盘活动', |
| 1816 | 1821 | }) |
| 1817 | 1822 | return false; |
| 1818 | 1823 | } |
| 1819 | - }else{ | |
| 1824 | + } else { | |
| 1820 | 1825 | this.jiangli.id = '' |
| 1826 | + this.jiangli.actName = '' | |
| 1827 | + this.jiangli.actStyle = '' | |
| 1821 | 1828 | } |
| 1822 | 1829 | let ids = null |
| 1823 | 1830 | if (this.wenConstData.length != 0) { |
| ... | ... | @@ -1830,6 +1837,8 @@ |
| 1830 | 1837 | return false; |
| 1831 | 1838 | } |
| 1832 | 1839 | this.formInline.rewardForParticipation = this.jiangli.id |
| 1840 | + this.formInline.actStyle = this.jiangli.actStyle | |
| 1841 | + this.formInline.actName = this.jiangli.actName | |
| 1833 | 1842 | this.formInline.createTime = this.currentTime() |
| 1834 | 1843 | TerminaAdd(this.formInline).then(res => { |
| 1835 | 1844 | if (res.data.code == '500') { |
| ... | ... | @@ -1896,7 +1905,7 @@ |
| 1896 | 1905 | item.question = JSON.parse(item.question) |
| 1897 | 1906 | } |
| 1898 | 1907 | const array = this.objectToArray(item.question) |
| 1899 | - this.jiangli.id = item.rewardForParticipation | |
| 1908 | + this.jiangli.id = item.rewardForParticipation | |
| 1900 | 1909 | this.wenData = array |
| 1901 | 1910 | // this.secondData.cereQuestionManagements.map((res, index) => { |
| 1902 | 1911 | // if (typeof res.optionSettings == 'string') { |
| ... | ... | @@ -2062,12 +2071,13 @@ |
| 2062 | 2071 | if (typeof item.question === 'string') { |
| 2063 | 2072 | item.question = JSON.parse(item.question) |
| 2064 | 2073 | } |
| 2065 | - if(item.rewardForParticipation!=''){ | |
| 2066 | - this.radioreward='转盘抽奖' | |
| 2067 | - }else{ | |
| 2068 | - this.radioreward='不设置奖励' | |
| 2074 | + if (item.rewardForParticipation != '') { | |
| 2075 | + this.radioreward = '转盘抽奖' | |
| 2076 | + } else { | |
| 2077 | + this.radioreward = '不设置奖励' | |
| 2069 | 2078 | } |
| 2070 | - this.jiangli.id = item.rewardForParticipation | |
| 2079 | + this.jiangli.id = item.rewardForParticipation | |
| 2080 | + this.jiangli.actName = item.actName | |
| 2071 | 2081 | this.secondDataTi = item.cereQuestionManagements |
| 2072 | 2082 | this.bainjiBox = true |
| 2073 | 2083 | |
| ... | ... | @@ -2091,16 +2101,20 @@ |
| 2091 | 2101 | ids = this.secondDataTi.map(item => item.id); |
| 2092 | 2102 | } |
| 2093 | 2103 | if (this.radioreward == '转盘抽奖') { |
| 2094 | - if (this.jiangli.id &&this.jiangli.id== '') { | |
| 2104 | + if (this.jiangli.id && this.jiangli.id == '') { | |
| 2095 | 2105 | this.$message({ |
| 2096 | 2106 | message: '请创建转盘活动', |
| 2097 | 2107 | }) |
| 2098 | 2108 | return false; |
| 2099 | 2109 | } |
| 2100 | - }else{ | |
| 2110 | + } else { | |
| 2101 | 2111 | this.jiangli.id = '' |
| 2112 | + this.jiangli.actStyle = '' | |
| 2113 | + this.jiangli.actName = '' | |
| 2102 | 2114 | } |
| 2103 | 2115 | this.secondData.rewardForParticipation = this.jiangli.id |
| 2116 | + this.secondData.actStyle = this.jiangli.actStyle | |
| 2117 | + this.secondData.actName = this.jiangli.actName | |
| 2104 | 2118 | this.secondData.questionId = ids.join(',') |
| 2105 | 2119 | this.secondData.updateTime = this.currentTime() |
| 2106 | 2120 | |
| ... | ... | @@ -2588,13 +2602,13 @@ |
| 2588 | 2602 | needGender: '必填', |
| 2589 | 2603 | needOpinion: '必填', |
| 2590 | 2604 | } |
| 2591 | - // this.jiangli={ | |
| 2592 | - // id:'', | |
| 2593 | - // name:'', | |
| 2594 | - // styles:'' | |
| 2595 | - // } | |
| 2605 | + this.jiangli = { | |
| 2606 | + id: '', | |
| 2607 | + actName: '', | |
| 2608 | + actStyle: '' | |
| 2609 | + } | |
| 2596 | 2610 | this.xuanzheData = [] |
| 2597 | - this.radioreward='不设置奖励' | |
| 2611 | + this.radioreward = '不设置奖励' | |
| 2598 | 2612 | const today = new Date(); |
| 2599 | 2613 | const startOfToday = new Date(today.getFullYear(), today.getMonth(), today.getDate()); |
| 2600 | 2614 | const endOfToday = new Date(today.getFullYear(), today.getMonth(), today.getDate()); |
| ... | ... | @@ -2825,22 +2839,40 @@ |
| 2825 | 2839 | if (token && token.startsWith('Bearer')) { |
| 2826 | 2840 | token = token.substring(7); |
| 2827 | 2841 | } |
| 2828 | - token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqd3RfdXNlcl9pbmZvIjoie1wiYXBwSWRcIjoxLFwiYXJlYUNvZGVzXCI6W10sXCJjb21wYW55QWRtaW5cIjpmYWxzZSxcImNvbXBhbnlDb2RlXCI6XCJKSkxEXzAwMVwiLFwiZGVwdENvZGVcIjpcIjAwMlwiLFwiZGVwdFRhZ1wiOlwiXCIsXCJsb2dpblR5cGVcIjpcIlBDXCIsXCJtYWluRGVwdENvZGVcIjpcIjAwMlwiLFwibWFuYWdlclwiOnRydWUsXCJuYW1lXCI6XCLotoXnuqfnrqHnkIblkZhcIixcInBob25lXCI6XCIxMzU0MTMwNDkxMFwiLFwicm9sZXNcIjpbXCJyb2xlX3N1cGVyX2FkbWluXCIsXCJ2aXAtYWRtaW5cIl0sXCJzdXBlckFkbWluXCI6dHJ1ZSxcInRvcERlcHRDb2RlXCI6XCIwMDJcIixcInVzZXJJZFwiOjEsXCJ1c2VybmFtZVwiOlwic3VwZXItampsZFwifSIsImp0aSI6IjA4ZWVmYzQyLWRmNzktNDc5Zi05MjcwLTdkNGI5OTcwM2I5NSIsImV4cCI6MTc0MDYzOTI1OSwiaWF0IjoxNzQwNjI0ODU5LCJzdWIiOiJDRFdMIiwiaXNzIjoiT0EifQ.t4sL7LQ7pQrVBl1juvV6crqsYZUmrHsINH78YsYpgi4' | |
| 2842 | + token = | |
| 2843 | + 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqd3RfdXNlcl9pbmZvIjoie1wiYXBwSWRcIjoxLFwiYXJlYUNvZGVzXCI6W10sXCJjb21wYW55QWRtaW5cIjpmYWxzZSxcImNvbXBhbnlDb2RlXCI6XCJKSkxEXzAwMVwiLFwiZGVwdENvZGVcIjpcIjAwMlwiLFwiZGVwdFRhZ1wiOlwiXCIsXCJsb2dpblR5cGVcIjpcIlBDXCIsXCJtYWluRGVwdENvZGVcIjpcIjAwMlwiLFwibWFuYWdlclwiOnRydWUsXCJuYW1lXCI6XCLotoXnuqfnrqHnkIblkZhcIixcInBob25lXCI6XCIxMzU0MTMwNDkxMFwiLFwicm9sZXNcIjpbXCJyb2xlX3N1cGVyX2FkbWluXCIsXCJ2aXAtYWRtaW5cIl0sXCJzdXBlckFkbWluXCI6dHJ1ZSxcInRvcERlcHRDb2RlXCI6XCIwMDJcIixcInVzZXJJZFwiOjEsXCJ1c2VybmFtZVwiOlwic3VwZXItampsZFwifSIsImp0aSI6ImMxMWQ5ZjJjLTc1ZjItNDM5Yy05NjMzLTliYzU4MTc2NmZmYiIsImV4cCI6MTc0MDY2Mjg2NywiaWF0IjoxNzQwNjQ4NDY3LCJzdWIiOiJDRFdMIiwiaXNzIjoiT0EifQ.-2jv7Vq8pqn8PehIpd1lMXJrSqPsmCfhXp7fddL56qI' | |
| 2829 | 2844 | this.iframaShow = true |
| 2830 | - if(val == 0){ | |
| 2845 | + if (val == 0) { | |
| 2831 | 2846 | this.iframaUrl = |
| 2832 | 2847 | `https://jy.scjysm.asia:18086/cdwltool/addEmptyLottery?token=${token}&channel=shangye&thirdPartyUrl=http://localhost:9529/#/investigation/index` |
| 2833 | - }else if(val == 1){ | |
| 2848 | + } else if (val == 1) { | |
| 2834 | 2849 | this.iframaUrl = |
| 2835 | 2850 | `https://jy.scjysm.asia:18086/cdwltool/addEmptyLottery?token=${token}&id=${this.jiangli.id}&title=活动详情&channel=shangye&thirdPartyUrl=http://localhost:9529/#/investigation/index` |
| 2836 | - }else if(val == 2){ | |
| 2851 | + } else if (val == 2) { | |
| 2837 | 2852 | this.iframaUrl = |
| 2838 | 2853 | `https://jy.scjysm.asia:18086/cdwltool/addEmptyLottery?token=${token}&id=${this.jiangli.id}&channel=shangye&thirdPartyUrl=http://localhost:9529/#/investigation/index` |
| 2839 | 2854 | } |
| 2840 | 2855 | |
| 2841 | 2856 | // window.location.href = |
| 2842 | 2857 | }, |
| 2843 | - | |
| 2858 | + getStatusText(val) { | |
| 2859 | + switch (val) { | |
| 2860 | + case '1': | |
| 2861 | + return '大转盘'; | |
| 2862 | + case '2': | |
| 2863 | + return '砸金蛋'; | |
| 2864 | + case '3': | |
| 2865 | + return '刮刮卡'; | |
| 2866 | + case '4': | |
| 2867 | + return '翻牌乐'; | |
| 2868 | + case '5': | |
| 2869 | + return '福袋'; | |
| 2870 | + case '6': | |
| 2871 | + return '摇一摇'; | |
| 2872 | + default: | |
| 2873 | + return '无'; | |
| 2874 | + } | |
| 2875 | + } | |
| 2844 | 2876 | } |
| 2845 | 2877 | |
| 2846 | 2878 | } |
| ... | ... | @@ -3214,4 +3246,4 @@ |
| 3214 | 3246 | } |
| 3215 | 3247 | |
| 3216 | 3248 | } |
| 3217 | 3249 | -</style> |
| 3250 | +</style> | |
| 3218 | 3251 | \ No newline at end of file | ... | ... |
yanshouban/src/views/customer/yixiang/index.vue
| ... | ... | @@ -348,8 +348,13 @@ |
| 348 | 348 | 匹配记录 |
| 349 | 349 | </div> |
| 350 | 350 | <div style="padding: 0 20px"> |
| 351 | - <div style=""> | |
| 352 | - <el-form ref="form" :inline="true" :model="pipeiSel" style="padding-top: 10px;" class="formcontainer"> | |
| 351 | + <div style=" | |
| 352 | + display: flex; | |
| 353 | + justify-content: space-between; | |
| 354 | + font-size: 14px; | |
| 355 | + | |
| 356 | + "> | |
| 357 | + <el-form ref="form" :inline="true" :model="pipeiSel" style="padding-top: 10px;" > | |
| 353 | 358 | <el-form-item label="意向资源类型"> |
| 354 | 359 | <el-select v-model="pipeiSel.resources.cereRentalPolicies.businessType" placeholder="请选择" style="width:168px"> |
| 355 | 360 | <el-option label="商铺" value="sp" /> |
| ... | ... | @@ -1126,11 +1131,7 @@ async getshen(item){ |
| 1126 | 1131 | </script> |
| 1127 | 1132 | <style src="@wangeditor/editor/dist/css/style.css"></style> |
| 1128 | 1133 | <style scoped> |
| 1129 | - .formcontainer{ | |
| 1130 | - display: grid; | |
| 1131 | - grid-template-columns: repeat(2, 1fr); | |
| 1132 | - grid-gap: 10px; /* 可选,设置列之间的间隙 */ | |
| 1133 | - } | |
| 1134 | + | |
| 1134 | 1135 | /deep/ .first-column-bg { |
| 1135 | 1136 | background-color: #f4f4f5 !important; |
| 1136 | 1137 | } | ... | ... |