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
| @@ -57,6 +57,6 @@ export function recordInsert(data) { | @@ -57,6 +57,6 @@ export function recordInsert(data) { | ||
| 57 | export function recordEdit(data) { | 57 | export function recordEdit(data) { |
| 58 | return request({ | 58 | return request({ |
| 59 | url: `/resourceStrategyMatchingRecord/edit/${data.id}`, | 59 | url: `/resourceStrategyMatchingRecord/edit/${data.id}`, |
| 60 | - method: 'get' | 60 | + method: 'delete' |
| 61 | }) | 61 | }) |
| 62 | } | 62 | } |
admin-web-master/src/layout/index.vue
| @@ -202,7 +202,7 @@ | @@ -202,7 +202,7 @@ | ||
| 202 | // msg: ['招商服务系统'], | 202 | // msg: ['招商服务系统'], |
| 203 | msg: ['招商服务系统', '推广策划系统', '在线商城系统', '支付服务模块', '票务'], | 203 | msg: ['招商服务系统', '推广策划系统', '在线商城系统', '支付服务模块', '票务'], |
| 204 | list: [ | 204 | list: [ |
| 205 | - ['招商资源监测', '商家管理', '商铺租赁服务', '招商方案管理', '招商租赁管理', '广告服务', '轮播图设置', '商户意向管理', '客服服务管理', '系统设置'], | 205 | + ['招商资源监测', '商家管理', '商铺租赁服务', '招商方案管理', '招商租赁管理', '广告服务', '轮播图设置', '商户意向管理', '问卷调查','客服服务管理', '系统设置'], |
| 206 | ['品牌策划', '活动策划', '氛围策划', '媒体推广'], | 206 | ['品牌策划', '活动策划', '氛围策划', '媒体推广'], |
| 207 | ['订单管理', '积分管理', '消息中心', '会员管理', '评论管理', '商品管理', '库存管理', '销售统计', '优惠券管理', '商城商家管理'], | 207 | ['订单管理', '积分管理', '消息中心', '会员管理', '评论管理', '商品管理', '库存管理', '销售统计', '优惠券管理', '商城商家管理'], |
| 208 | ['联机交易', '对账处理', '日志管理', '商户服务'], | 208 | ['联机交易', '对账处理', '日志管理', '商户服务'], |
| @@ -775,7 +775,7 @@ | @@ -775,7 +775,7 @@ | ||
| 775 | this.index = index | 775 | this.index = index |
| 776 | this.listMune = [] | 776 | this.listMune = [] |
| 777 | this.list = [ | 777 | this.list = [ |
| 778 | - ['招商资源监测', '商家管理', '商铺租赁服务', '招商方案管理', '招商租赁管理', '广告服务', '轮播图设置', '商户意向管理', '客服服务管理', '系统设置'], | 778 | + ['招商资源监测', '商家管理', '商铺租赁服务', '招商方案管理', '招商租赁管理', '广告服务', '轮播图设置', '商户意向管理', '问卷调查','客服服务管理', '系统设置'], |
| 779 | ['品牌策划', '活动策划', '氛围策划', '媒体推广'], | 779 | ['品牌策划', '活动策划', '氛围策划', '媒体推广'], |
| 780 | ['订单管理', '积分管理', '消息中心', '会员管理', '评论管理', '商品管理', '库存管理', '销售统计', '优惠券管理', '商城商家管理'], | 780 | ['订单管理', '积分管理', '消息中心', '会员管理', '评论管理', '商品管理', '库存管理', '销售统计', '优惠券管理', '商城商家管理'], |
| 781 | ['联机交易', '对账处理', '日志管理', '商户服务'], | 781 | ['联机交易', '对账处理', '日志管理', '商户服务'], |
admin-web-master/src/views/activity/activityHis.vue
| @@ -91,9 +91,9 @@ | @@ -91,9 +91,9 @@ | ||
| 91 | </el-table-column> | 91 | </el-table-column> |
| 92 | <el-table-column label="创建时间" prop="createDate" min-width="15%" > | 92 | <el-table-column label="创建时间" prop="createDate" min-width="15%" > |
| 93 | </el-table-column> | 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 | <el-table-column label="操作" min-width="39%" fixed="right"> | 97 | <el-table-column label="操作" min-width="39%" fixed="right"> |
| 98 | <template slot-scope="scope"> | 98 | <template slot-scope="scope"> |
| 99 | <div @click="actBian(scope.row)" class="tableBtn greens" v-if="scope.row.state == ''">调整</div> | 99 | <div @click="actBian(scope.row)" class="tableBtn greens" v-if="scope.row.state == ''">调整</div> |
| @@ -812,27 +812,13 @@ | @@ -812,27 +812,13 @@ | ||
| 812 | <el-dialog title="调整对比" :visible.sync="tiaozhengShow" custom-class='xiang_css' style="padding: 0;" width="80%" center | 812 | <el-dialog title="调整对比" :visible.sync="tiaozhengShow" custom-class='xiang_css' style="padding: 0;" width="80%" center |
| 813 | :close-on-click-modal="false" :close-on-press-escape="false" @close="reshData"> | 813 | :close-on-click-modal="false" :close-on-press-escape="false" @close="reshData"> |
| 814 | <div> | 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 | <div style="display: flex;"> | 815 | <div style="display: flex;"> |
| 830 | <div style="width: 50%;"> | 816 | <div style="width: 50%;"> |
| 831 | <div style="width: 100%;"> | 817 | <div style="width: 100%;"> |
| 832 | <div style="font-size: 14px;padding: 10px 20px 0px 20px;">修改后</div> | 818 | <div style="font-size: 14px;padding: 10px 20px 0px 20px;">修改后</div> |
| 833 | <div style="padding: 10px 20px;"> | 819 | <div style="padding: 10px 20px;"> |
| 834 | <el-table :data="tableData1" | 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 | style="width: 100%;margin: auto;"> | 822 | style="width: 100%;margin: auto;"> |
| 837 | <el-table-column class-name="first-column-bg" label="方案编号" prop="name" min-width="15%"> | 823 | <el-table-column class-name="first-column-bg" label="方案编号" prop="name" min-width="15%"> |
| 838 | </el-table-column> | 824 | </el-table-column> |
| @@ -963,7 +949,7 @@ | @@ -963,7 +949,7 @@ | ||
| 963 | <div style="width: 100%;"> | 949 | <div style="width: 100%;"> |
| 964 | <div style="font-size: 14px;padding: 10px 20px 0px 20px;">修改前</div> | 950 | <div style="font-size: 14px;padding: 10px 20px 0px 20px;">修改前</div> |
| 965 | <div style="padding: 10px 20px;"> | 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 | <el-descriptions-item> | 953 | <el-descriptions-item> |
| 968 | <template slot="label"> | 954 | <template slot="label"> |
| 969 | 方案编号 | 955 | 方案编号 |
| @@ -1716,10 +1702,14 @@ | @@ -1716,10 +1702,14 @@ | ||
| 1716 | height:'42px', | 1702 | height:'42px', |
| 1717 | }, | 1703 | }, |
| 1718 | labelStyleOne:{ | 1704 | labelStyleOne:{ |
| 1719 | - width:'110px', | 1705 | + width:'94px', |
| 1720 | height:'42px', | 1706 | height:'42px', |
| 1721 | color:'#000', | 1707 | color:'#000', |
| 1722 | }, | 1708 | }, |
| 1709 | + contentClassNameOne:{ | ||
| 1710 | + width:'219px', | ||
| 1711 | + // height:'42px', | ||
| 1712 | + }, | ||
| 1723 | lidata:[], | 1713 | lidata:[], |
| 1724 | lixiang:{}, | 1714 | lixiang:{}, |
| 1725 | duibiList:{}, | 1715 | duibiList:{}, |
admin-web-master/src/views/atmosphere/atmosphereHis.vue
| @@ -90,9 +90,9 @@ | @@ -90,9 +90,9 @@ | ||
| 90 | </el-table-column> | 90 | </el-table-column> |
| 91 | <el-table-column label="创建时间" prop="createDate" min-width="15%" > | 91 | <el-table-column label="创建时间" prop="createDate" min-width="15%" > |
| 92 | </el-table-column> | 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 | <el-table-column label="操作" min-width="35%"> | 96 | <el-table-column label="操作" min-width="35%"> |
| 97 | <template slot-scope="scope"> | 97 | <template slot-scope="scope"> |
| 98 | <div @click="actBian(scope.row)" class="tableBtn greens" v-if="scope.row.state == ''">调整</div> | 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 | <template> | 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 | </div> --> | 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 | background-color: #fafafa; | 64 | background-color: #fafafa; |
| 76 | border: 1px solid #eaeaea; | 65 | border: 1px solid #eaeaea; |
| 77 | height: 42px; | 66 | height: 42px; |
| @@ -79,634 +68,732 @@ | @@ -79,634 +68,732 @@ | ||
| 79 | padding: 0 20px; | 68 | padding: 0 20px; |
| 80 | line-height: 42px; | 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 | pipData.slice( | 137 | pipData.slice( |
| 139 | - (currentPage - 1) * pageSize, | ||
| 140 | - currentPage * pageSize | 138 | + (pipcurrentPage - 1) * 10, |
| 139 | + pipcurrentPage * 10 | ||
| 141 | ) | 140 | ) |
| 142 | " :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}"> | 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 | </template> | 183 | </template> |
| 175 | 184 | ||
| 176 | <script> | 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 | </script> | 420 | </script> |
| 341 | <style src="@wangeditor/editor/dist/css/style.css"></style> | 421 | <style src="@wangeditor/editor/dist/css/style.css"></style> |
| 342 | <style scoped> | 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 | background-color: red; /* 修改为你想要的颜色 */ | 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 | </style> | 769 | </style> |
| 683 | <style lang="scss" scoped> | 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 | \ No newline at end of file | 800 | \ No newline at end of file |
admin-web-master/src/views/investigation/answerSheet.vue
| @@ -3,7 +3,8 @@ | @@ -3,7 +3,8 @@ | ||
| 3 | <div class="zhuti"> | 3 | <div class="zhuti"> |
| 4 | <div style="height:58px;line-height:58px;"> | 4 | <div style="height:58px;line-height:58px;"> |
| 5 | <div style="color:#0006"> <span>问卷调查</span> <span style="padding:0 5px;">></span> <span | 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 | </div> | 8 | </div> |
| 8 | <!-- 线上 --> | 9 | <!-- 线上 --> |
| 9 | <div> | 10 | <div> |
| @@ -26,143 +27,161 @@ | @@ -26,143 +27,161 @@ | ||
| 26 | <el-option label="待审核" value="2" /> | 27 | <el-option label="待审核" value="2" /> |
| 27 | <el-option label="已通过" value="3" /> | 28 | <el-option label="已通过" value="3" /> |
| 28 | <el-option label="不通过" value="4" /> | 29 | <el-option label="不通过" value="4" /> |
| 29 | - <el-option label="已下架" value="5" /> | 30 | + <el-option label="已禁用" value="5" /> |
| 30 | </el-select> | 31 | </el-select> |
| 31 | </el-form-item> | 32 | </el-form-item> |
| 32 | </el-form> | 33 | </el-form> |
| 33 | <div> | 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 | </el-button> | 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 | </el-button> | 42 | </el-button> |
| 39 | </div> | 43 | </div> |
| 40 | </div> | 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 | <el-table-column label="操作" min-width="280"> | 69 | <el-table-column label="操作" min-width="280"> |
| 73 | <template slot-scope="scope"> | 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 | <!-- <div @click="bianls(scope.row)" class="tableBtn greens" v-if="scope.row.reviewStatus =='2'">审核</div> --> | 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 | </template> | 74 | </template> |
| 78 | </el-table-column> | 75 | </el-table-column> |
| 79 | </el-table> | 76 | </el-table> |
| 80 | <div class="fenye"> | 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 | </div> | 90 | </div> |
| 85 | </div> | 91 | </div> |
| 86 | 92 | ||
| 87 | </div> | 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 | <div style="padding:20px;"> | 104 | <div style="padding:20px;"> |
| 92 | <div style="font-size: 14px;padding-bottom: 20px;color: #000;">详情页</div> | 105 | <div style="font-size: 14px;padding-bottom: 20px;color: #000;">详情页</div> |
| 93 | <div> | 106 | <div> |
| 94 | <div style="padding: 10px 0 20px 0;">基本信息</div> | 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 | <el-descriptions-item :span="2"> | 110 | <el-descriptions-item :span="2"> |
| 98 | <template slot="label"> | 111 | <template slot="label"> |
| 99 | 问卷标题 | 112 | 问卷标题 |
| 100 | </template> | 113 | </template> |
| 101 | - {{secondData.title}} | 114 | + {{ secondData.title }} |
| 102 | </el-descriptions-item> | 115 | </el-descriptions-item> |
| 103 | <el-descriptions-item> | 116 | <el-descriptions-item> |
| 104 | <template slot="label"> | 117 | <template slot="label"> |
| 105 | 状态 | 118 | 状态 |
| 106 | </template> | 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 | </el-descriptions-item> | 121 | </el-descriptions-item> |
| 109 | 122 | ||
| 110 | <el-descriptions-item> | 123 | <el-descriptions-item> |
| 111 | <template slot="label"> | 124 | <template slot="label"> |
| 112 | 开始时间 | 125 | 开始时间 |
| 113 | </template> | 126 | </template> |
| 114 | - {{secondData.startDate}} | 127 | + {{ secondData.startDate }} |
| 115 | </el-descriptions-item> | 128 | </el-descriptions-item> |
| 116 | <el-descriptions-item> | 129 | <el-descriptions-item> |
| 117 | <template slot="label"> | 130 | <template slot="label"> |
| 118 | 结束时间 | 131 | 结束时间 |
| 119 | </template> | 132 | </template> |
| 120 | - {{secondData.endDate}} | 133 | + {{ secondData.endDate }} |
| 121 | </el-descriptions-item> | 134 | </el-descriptions-item> |
| 122 | 135 | ||
| 123 | <el-descriptions-item> | 136 | <el-descriptions-item> |
| 124 | <template slot="label"> | 137 | <template slot="label"> |
| 125 | 预计填写时长 | 138 | 预计填写时长 |
| 126 | </template> | 139 | </template> |
| 127 | - {{secondData.estimatedTime}} | 140 | + {{ secondData.estimatedTime }} |
| 128 | </el-descriptions-item> | 141 | </el-descriptions-item> |
| 129 | <el-descriptions-item> | 142 | <el-descriptions-item> |
| 130 | <template slot="label"> | 143 | <template slot="label"> |
| 131 | 发布端口 | 144 | 发布端口 |
| 132 | </template> | 145 | </template> |
| 133 | - {{secondData.publishPort}} | 146 | + {{ secondData.publishPort }} |
| 134 | </el-descriptions-item> | 147 | </el-descriptions-item> |
| 135 | <el-descriptions-item> | 148 | <el-descriptions-item> |
| 136 | <template slot="label"> | 149 | <template slot="label"> |
| 137 | 问卷类型 | 150 | 问卷类型 |
| 138 | </template> | 151 | </template> |
| 139 | - {{secondData.questionnaireType}} | 152 | + {{ secondData.questionnaireType }} |
| 140 | </el-descriptions-item> | 153 | </el-descriptions-item> |
| 141 | <el-descriptions-item> | 154 | <el-descriptions-item> |
| 142 | <template slot="label"> | 155 | <template slot="label"> |
| 143 | 填写条件 | 156 | 填写条件 |
| 144 | </template> | 157 | </template> |
| 145 | - {{secondData.fillingConditions}} | 158 | + {{ secondData.fillingConditions }} |
| 146 | </el-descriptions-item> | 159 | </el-descriptions-item> |
| 147 | <el-descriptions-item> | 160 | <el-descriptions-item> |
| 148 | <template slot="label"> | 161 | <template slot="label"> |
| 149 | 问卷介绍 | 162 | 问卷介绍 |
| 150 | </template> | 163 | </template> |
| 151 | - {{secondData.remarks}} | 164 | + {{ secondData.remarks }} |
| 152 | </el-descriptions-item> | 165 | </el-descriptions-item> |
| 153 | 166 | ||
| 154 | </el-descriptions> | 167 | </el-descriptions> |
| 155 | <div style="padding: 20px 0;">问卷封面</div> | 168 | <div style="padding: 20px 0;">问卷封面</div> |
| 169 | + | ||
| 156 | <div> | 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 | </div> | 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 | <el-descriptions-item> | 180 | <el-descriptions-item> |
| 162 | <template slot="label"> | 181 | <template slot="label"> |
| 163 | 提交问卷后 | 182 | 提交问卷后 |
| 164 | </template> | 183 | </template> |
| 165 | - {{secondData.rewardForParticipation}} | 184 | + {{ secondData.rewardForParticipation }} |
| 166 | </el-descriptions-item> | 185 | </el-descriptions-item> |
| 167 | <el-descriptions-item> | 186 | <el-descriptions-item> |
| 168 | <template slot="label"> | 187 | <template slot="label"> |
| @@ -172,24 +191,21 @@ | @@ -172,24 +191,21 @@ | ||
| 172 | </el-descriptions-item> | 191 | </el-descriptions-item> |
| 173 | </el-descriptions> | 192 | </el-descriptions> |
| 174 | <div style="padding: 20px 0 ;">问卷题目</div> | 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 | <el-table-column label="序号" min-width="100"> | 198 | <el-table-column label="序号" min-width="100"> |
| 178 | <template slot-scope="scope"> | 199 | <template slot-scope="scope"> |
| 179 | - {{scope.$index +1}} | 200 | + {{ scope.$index +1 }} |
| 180 | </template> | 201 | </template> |
| 181 | </el-table-column> | 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 | <el-table-column label="选项" min-width="120"> | 206 | <el-table-column label="选项" min-width="120"> |
| 191 | <template slot-scope="scope"> | 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 | {{ index +1 }}:{{ value.answer }} | 209 | {{ index +1 }}:{{ value.answer }} |
| 194 | </div> | 210 | </div> |
| 195 | <div v-else> | 211 | <div v-else> |
| @@ -201,84 +217,103 @@ | @@ -201,84 +217,103 @@ | ||
| 201 | 217 | ||
| 202 | </el-table> | 218 | </el-table> |
| 203 | <div style="padding: 20px 0 ;">系统信息</div> | 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 | <el-descriptions-item> | 221 | <el-descriptions-item> |
| 206 | <template slot="label"> | 222 | <template slot="label"> |
| 207 | 创建人 | 223 | 创建人 |
| 208 | </template> | 224 | </template> |
| 209 | - {{secondData.createUser}} | 225 | + {{ secondData.createUser }} |
| 210 | </el-descriptions-item> | 226 | </el-descriptions-item> |
| 211 | <el-descriptions-item> | 227 | <el-descriptions-item> |
| 212 | <template slot="label"> | 228 | <template slot="label"> |
| 213 | 创建时间 | 229 | 创建时间 |
| 214 | </template> | 230 | </template> |
| 215 | - {{secondData.createTime}} | 231 | + {{ secondData.createTime }} |
| 216 | </el-descriptions-item> | 232 | </el-descriptions-item> |
| 217 | <el-descriptions-item> | 233 | <el-descriptions-item> |
| 218 | <template slot="label"> | 234 | <template slot="label"> |
| 219 | 更新时间 | 235 | 更新时间 |
| 220 | </template> | 236 | </template> |
| 221 | -{{secondData.updateTime}} | 237 | + {{ secondData.updateTime }} |
| 222 | </el-descriptions-item> | 238 | </el-descriptions-item> |
| 223 | </el-descriptions> | 239 | </el-descriptions> |
| 224 | </div> | 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 | <div style="padding-top:20px;display:flex;justify-content: flex-end;"> | 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 | </div> | 263 | </div> |
| 245 | </div> | 264 | </div> |
| 246 | 265 | ||
| 247 | </el-dialog> | 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 | center :close-on-click-modal="false" :show-close="false" :close-on-press-escape="false"> | 317 | center :close-on-click-modal="false" :show-close="false" :close-on-press-escape="false"> |
| 283 | <div style="padding:10px 20px;"> | 318 | <div style="padding:10px 20px;"> |
| 284 | <div style="display: flex;justify-content: space-between;border-bottom: 1px solid #E5E5E5;padding: 0 0 10px 0;"> | 319 | <div style="display: flex;justify-content: space-between;border-bottom: 1px solid #E5E5E5;padding: 0 0 10px 0;"> |
| @@ -468,7 +503,6 @@ | @@ -468,7 +503,6 @@ | ||
| 468 | </div> | 503 | </div> |
| 469 | </div> | 504 | </div> |
| 470 | 505 | ||
| 471 | - | ||
| 472 | </div> | 506 | </div> |
| 473 | <div style="display:flex;justify-content: flex-end;padding:20px;"> | 507 | <div style="display:flex;justify-content: flex-end;padding:20px;"> |
| 474 | <el-button @click="MsgSp=false" | 508 | <el-button @click="MsgSp=false" |
| @@ -660,210 +694,202 @@ | @@ -660,210 +694,202 @@ | ||
| 660 | </el-dialog> --> | 694 | </el-dialog> --> |
| 661 | </div> | 695 | </div> |
| 662 | 696 | ||
| 663 | - | ||
| 664 | </template> | 697 | </template> |
| 665 | 698 | ||
| 666 | <script> | 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 | pageSize: 10, | 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 | this.detbox = false | 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 | // if(this.liuYe == 1){ | 893 | // if(this.liuYe == 1){ |
| 868 | // TerminaEdit({id:this.secondData.id,reviewStatus:'3'}).then(res=>{ | 894 | // TerminaEdit({id:this.secondData.id,reviewStatus:'3'}).then(res=>{ |
| 869 | // this.getAll() | 895 | // this.getAll() |
| @@ -874,16 +900,15 @@ OAshen(){ | @@ -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 | </script> | 912 | </script> |
| 888 | 913 | ||
| 889 | <style scoped> | 914 | <style scoped> |
| @@ -1002,7 +1027,6 @@ quxiao(){ | @@ -1002,7 +1027,6 @@ quxiao(){ | ||
| 1002 | font-size: 16px; | 1027 | font-size: 16px; |
| 1003 | } | 1028 | } |
| 1004 | 1029 | ||
| 1005 | - | ||
| 1006 | ::v-deep .el-dialog__wrapper { | 1030 | ::v-deep .el-dialog__wrapper { |
| 1007 | .el-dialog__header { | 1031 | .el-dialog__header { |
| 1008 | background-color: #FAFAFA; | 1032 | background-color: #FAFAFA; |
| @@ -1311,7 +1335,6 @@ quxiao(){ | @@ -1311,7 +1335,6 @@ quxiao(){ | ||
| 1311 | } | 1335 | } |
| 1312 | } | 1336 | } |
| 1313 | 1337 | ||
| 1314 | - | ||
| 1315 | } | 1338 | } |
| 1316 | } | 1339 | } |
| 1317 | </style> | 1340 | </style> |
admin-web-master/src/views/investigation/index.vue
| 1 | <template> | 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 | </el-table-column> --> | 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 | <el-pagination :hide-on-single-page='flag' background small size="mini" :current-page="currentPageList" | 103 | <el-pagination :hide-on-single-page='flag' background small size="mini" :current-page="currentPageList" |
| 98 | :page-sizes="[10, 20, 50, 100]" layout="prev, pager, next,total" :total="total " | 104 | :page-sizes="[10, 20, 50, 100]" layout="prev, pager, next,total" :total="total " |
| 99 | @size-change="handleSizeChange" @current-change="handleCurrentChange" /> | 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 | <template slot="label"> | 348 | <template slot="label"> |
| 324 | 问卷介绍 | 349 | 问卷介绍 |
| 325 | </template> | 350 | </template> |
| 326 | {{secondData.remarks}} | 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 | overflow-y: auto;"> | 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 | <el-button class="buttonHover" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" | 667 | <el-button class="buttonHover" style="color: #606266;border: 1px solid #dddfe5;background-color: #fff;" |
| 612 | @click="closeFn(1)">返回</el-button> | 668 | @click="closeFn(1)">返回</el-button> |
| 613 | <el-button @click="addCheck(2)" style="background-color: #3F9B6A;color: #fff">确认</el-button> | 669 | <el-button @click="addCheck(2)" style="background-color: #3F9B6A;color: #fff">确认</el-button> |
| 614 | 670 | ||
| 615 | </span> --> | 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 | <el-option label="物业满意度" value="物业满意度" /> | 692 | <el-option label="物业满意度" value="物业满意度" /> |
| 637 | </el-select> --> | 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 | <el-option label="必填" value="必填" /> | 834 | <el-option label="必填" value="必填" /> |
| 761 | <el-option label="非必填" value="非必填" /> | 835 | <el-option label="非必填" value="非必填" /> |
| 762 | </el-select> --> | 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 | overflow-y: auto;"> | 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 | <div style="display:flex;padding:10px 0;justify-content: space-between;"> | 1334 | <div style="display:flex;padding:10px 0;justify-content: space-between;"> |
| 1221 | <div style="display:flex;"> | 1335 | <div style="display:flex;"> |
| 1222 | 1336 | ||
| @@ -1226,44 +1340,59 @@ | @@ -1226,44 +1340,59 @@ | ||
| 1226 | {{secondData.createTime}} | 1340 | {{secondData.createTime}} |
| 1227 | </div> | 1341 | </div> |
| 1228 | </div> | 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 | word-break: break-all !important;"> | 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 | word-break: break-all !important;"> | 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 | <p class="question-title"><span v-if="item.isRequired.includes('必填')" | 1396 | <p class="question-title"><span v-if="item.isRequired.includes('必填')" |
| 1268 | style="color: red;">*</span>{{index + 1}}.<span style="">({{item.questionType}})</span> | 1397 | style="color: red;">*</span>{{index + 1}}.<span style="">({{item.questionType}})</span> |
| 1269 | {{item.tikuTitle}} | 1398 | {{item.tikuTitle}} |
| @@ -1286,1604 +1415,1835 @@ | @@ -1286,1604 +1415,1835 @@ | ||
| 1286 | </div> | 1415 | </div> |
| 1287 | </div> --> | 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 | <textarea v-model="suggestion"></textarea> --> | 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 | </template> | 1469 | </template> |
| 1330 | 1470 | ||
| 1331 | <script> | 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 | </script> | 2879 | </script> |
| 2552 | 2880 | ||
| 2553 | <style scoped> | 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 | </style> | 3129 | </style> |
| 2796 | <style lang="scss" scoped> | 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 | \ No newline at end of file | 3250 | \ No newline at end of file |
admin-web-master/src/views/investigation/question.vue
| 1 | <template> | 1 | <template> |
| 2 | - <div style="background-color:#f7f7f7;padding:10px 10px;"> | 2 | + <div style="background-color: #f7f7f7; padding: 10px 10px"> |
| 3 | <div class="zhuti"> | 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 | </div> | 9 | </div> |
| 8 | <!-- 线上 --> | 10 | <!-- 线上 --> |
| 9 | <div> | 11 | <div> |
| 10 | <!-- 搜索 --> | 12 | <!-- 搜索 --> |
| 11 | 13 | ||
| 12 | <div class="formSearch"> | 14 | <div class="formSearch"> |
| 13 | - | ||
| 14 | <el-form :inline="true" :model="formSel"> | 15 | <el-form :inline="true" :model="formSel"> |
| 15 | <el-form-item label="题库管理"> | 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 | </el-form-item> | 23 | </el-form-item> |
| 22 | <el-form-item label="题目"> | 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 | </el-form-item> | 26 | </el-form-item> |
| 25 | <el-form-item label="题型"> | 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 | <el-option label="单选" value="单选" /> | 29 | <el-option label="单选" value="单选" /> |
| 28 | <el-option label="多选" value="多选" /> | 30 | <el-option label="多选" value="多选" /> |
| 29 | <el-option label="文本" value="文本" /> | 31 | <el-option label="文本" value="文本" /> |
| 30 | </el-select> | 32 | </el-select> |
| 31 | </el-form-item> | 33 | </el-form-item> |
| 32 | - | ||
| 33 | </el-form> | 34 | </el-form> |
| 34 | <div> | 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 | </el-button> | 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 | </el-button> | 43 | </el-button> |
| 40 | </div> | 44 | </div> |
| 41 | </div> | 45 | </div> |
| 42 | - <div style="margin-bottom: 20px;"> | 46 | + <div style="margin-bottom: 20px"> |
| 43 | <div> | 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 | </div> | 50 | </div> |
| 48 | </div> | 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 | <el-table-column label="序号" min-width="150"> | 64 | <el-table-column label="序号" min-width="150"> |
| 55 | <template slot-scope="scope"> | 65 | <template slot-scope="scope"> |
| 56 | - {{scope.$index +1}} | 66 | + {{ scope.$index + 1 }} |
| 57 | </template> | 67 | </template> |
| 58 | </el-table-column> | 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 | <!-- <el-table-column label="创建人" prop="createUser" min-width="150"> | 73 | <!-- <el-table-column label="创建人" prop="createUser" min-width="150"> |
| 67 | </el-table-column> --> | 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 | <el-table-column label="操作" min-width="200"> | 76 | <el-table-column label="操作" min-width="200"> |
| 72 | <template slot-scope="scope"> | 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 | <!-- <div @click="" class="tableBtn greens">发布</div> | 82 | <!-- <div @click="" class="tableBtn greens">发布</div> |
| 76 | <div @click="" class="tableBtn greens">下架</div> --> | 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 | <!-- <div @click="addbuss(3,scope.row)" class="tableBtn greens">终止</div> --> | 87 | <!-- <div @click="addbuss(3,scope.row)" class="tableBtn greens">终止</div> --> |
| 79 | </template> | 88 | </template> |
| 80 | </el-table-column> | 89 | </el-table-column> |
| 81 | </el-table> | 90 | </el-table> |
| 82 | <div class="fenye"> | 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 | @size-change="handleSizeChange" @current-change="handleCurrentChange" /> | 94 | @size-change="handleSizeChange" @current-change="handleCurrentChange" /> |
| 86 | </div> | 95 | </div> |
| 87 | </div> | 96 | </div> |
| 88 | - | ||
| 89 | </div> | 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 | :close-on-click-modal="false" :show-close="false"> | 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 | <div> | 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 | </div> | 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 | </div> | 145 | </div> |
| 138 | </div> | 146 | </div> |
| 139 | - | ||
| 140 | </el-dialog> | 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 | <el-option label="必填" value="必填" /> | 187 | <el-option label="必填" value="必填" /> |
| 169 | <el-option label="非必填" value="非必填" /> | 188 | <el-option label="非必填" value="非必填" /> |
| 170 | </el-select> --> | 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 | </div> | 247 | </div> |
| 217 | </div> | 248 | </div> |
| 218 | - | ||
| 219 | </el-dialog> | 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 | <el-option label="必填" value="必填" /> | 288 | <el-option label="必填" value="必填" /> |
| 247 | <el-option label="非必填" value="非必填" /> | 289 | <el-option label="非必填" value="非必填" /> |
| 248 | </el-select> --> | 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 | </div> | 351 | </div> |
| 291 | </div> | 352 | </div> |
| 292 | </el-dialog> | 353 | </el-dialog> |
| 293 | </div> | 354 | </div> |
| 294 | - | ||
| 295 | - | ||
| 296 | </template> | 355 | </template> |
| 297 | 356 | ||
| 298 | <script> | 357 | <script> |
| 299 | import { | 358 | import { |
| 300 | async | 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 | export default { | 369 | export default { |
| 311 | components: { | 370 | components: { |
| 312 | - upimg | 371 | + upimg, |
| 313 | }, | 372 | }, |
| 314 | data() { | 373 | data() { |
| 315 | return { | 374 | return { |
| 316 | - detbox: false, //详情 | 375 | + detbox: false, // 详情 |
| 317 | currentPage: 1, | 376 | currentPage: 1, |
| 318 | total: 10, | 377 | total: 10, |
| 319 | flag: false, | 378 | flag: false, |
| 320 | pageSize: 10, | 379 | pageSize: 10, |
| 321 | ggXin: false, | 380 | ggXin: false, |
| 322 | formInline: { | 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 | secondData: {}, | 391 | secondData: {}, |
| 333 | formSel: { | 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 | pageindex: { | 399 | pageindex: { |
| 341 | pageNumber: 0, | 400 | pageNumber: 0, |
| 342 | pageSize: 10, | 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 | mounted() { | 442 | mounted() { |
| 374 | - this.getAll() | ||
| 375 | - }, | ||
| 376 | - computed: { | ||
| 377 | - | 443 | + this.getAll(); |
| 378 | }, | 444 | }, |
| 379 | methods: { | 445 | methods: { |
| 380 | chenge(val) { | 446 | chenge(val) { |
| 381 | this.formSel = { | 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 | currentTime() { | 574 | currentTime() { |
| 507 | - let date = new Date(); | ||
| 508 | - let year = date.getFullYear(); | 575 | + const date = new Date(); |
| 576 | + const year = date.getFullYear(); | ||
| 509 | let month = date.getMonth() + 1; // 月份从0~11,所以加一 | 577 | let month = date.getMonth() + 1; // 月份从0~11,所以加一 |
| 510 | let day = date.getDate(); | 578 | let day = date.getDate(); |
| 511 | let hours = date.getHours(); | 579 | let hours = date.getHours(); |
| @@ -513,147 +581,155 @@ rules:{ | @@ -513,147 +581,155 @@ rules:{ | ||
| 513 | let seconds = date.getSeconds(); | 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 | return `${year}-${month}-${day} ${hours}:${minutes}`; | 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 | addbuss(val, item) { | 603 | addbuss(val, item) { |
| 536 | - this.detbox = false | ||
| 537 | - this.ggXin = true | 604 | + this.detbox = false; |
| 605 | + this.ggXin = true; | ||
| 538 | }, | 606 | }, |
| 539 | handleSizeChange(val) { | 607 | handleSizeChange(val) { |
| 540 | - this.pageSize = val | 608 | + this.pageSize = val; |
| 541 | }, | 609 | }, |
| 542 | handleCurrentChange(val) { | 610 | handleCurrentChange(val) { |
| 543 | // this.currentPage = val | 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 | closeFn(val) { | 618 | closeFn(val) { |
| 553 | if (val == 1) { | 619 | if (val == 1) { |
| 554 | - this.ggXin = false | 620 | + this.ggXin = false; |
| 555 | } else { | 621 | } else { |
| 556 | - this.bainjiBox = false | 622 | + this.bainjiBox = false; |
| 557 | } | 623 | } |
| 558 | }, | 624 | }, |
| 559 | 625 | ||
| 560 | // 查询按钮 | 626 | // 查询按钮 |
| 561 | async onSubmit() { | 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 | resetting() { | 633 | resetting() { |
| 569 | this.formSel = { | 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 | const keys = Object.keys(settings); | 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 | // this.$refs.reform.resetFields() | 729 | // this.$refs.reform.resetFields() |
| 653 | - this.ggXin = true | 730 | + this.ggXin = true; |
| 654 | }, | 731 | }, |
| 655 | - validateScore(row) { | ||
| 656 | - | 732 | + validateScore(row) { |
| 657 | // 如果输入的不是数字或者是NaN,则重置为1 | 733 | // 如果输入的不是数字或者是NaN,则重置为1 |
| 658 | if (isNaN(row.num) || row.num < 0) { | 734 | if (isNaN(row.num) || row.num < 0) { |
| 659 | row.num = 0; | 735 | row.num = 0; |
| @@ -663,22 +739,35 @@ this.pageindex.pageNumber = 0 | @@ -663,22 +739,35 @@ this.pageindex.pageNumber = 0 | ||
| 663 | row.num = 100; | 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 | </script> | 758 | </script> |
| 669 | 759 | ||
| 670 | <style scoped> | 760 | <style scoped> |
| 671 | .zhuti { | 761 | .zhuti { |
| 672 | padding: 0 20px 20px 20px; | 762 | padding: 0 20px 20px 20px; |
| 673 | min-height: calc(100vh - 50px - 20px); | 763 | min-height: calc(100vh - 50px - 20px); |
| 674 | - background-color: #Fff; | ||
| 675 | - | 764 | + background-color: #fff; |
| 676 | } | 765 | } |
| 677 | 766 | ||
| 678 | .chengeXia { | 767 | .chengeXia { |
| 679 | - border-bottom: 6px solid #3F9B6A; | 768 | + border-bottom: 6px solid #3f9b6a; |
| 680 | padding-bottom: 4px; | 769 | padding-bottom: 4px; |
| 681 | - color: #3F9B6A; | 770 | + color: #3f9b6a; |
| 682 | } | 771 | } |
| 683 | 772 | ||
| 684 | /deep/ .el-form-item__content { | 773 | /deep/ .el-form-item__content { |
| @@ -688,8 +777,8 @@ this.pageindex.pageNumber = 0 | @@ -688,8 +777,8 @@ this.pageindex.pageNumber = 0 | ||
| 688 | .tableBtn { | 777 | .tableBtn { |
| 689 | display: inline-block; | 778 | display: inline-block; |
| 690 | margin-right: 10px; | 779 | margin-right: 10px; |
| 691 | - color: #ACACAC; | ||
| 692 | - cursor:pointer; | 780 | + color: #acacac; |
| 781 | + cursor: pointer; | ||
| 693 | } | 782 | } |
| 694 | 783 | ||
| 695 | .formSearch { | 784 | .formSearch { |
| @@ -700,7 +789,7 @@ this.pageindex.pageNumber = 0 | @@ -700,7 +789,7 @@ this.pageindex.pageNumber = 0 | ||
| 700 | } | 789 | } |
| 701 | 790 | ||
| 702 | .greens { | 791 | .greens { |
| 703 | - color: #3F9B6A; | 792 | + color: #3f9b6a; |
| 704 | } | 793 | } |
| 705 | 794 | ||
| 706 | /deep/ .el-table__row { | 795 | /deep/ .el-table__row { |
| @@ -716,7 +805,7 @@ this.pageindex.pageNumber = 0 | @@ -716,7 +805,7 @@ this.pageindex.pageNumber = 0 | ||
| 716 | } | 805 | } |
| 717 | 806 | ||
| 718 | /deep/ .el-pagination.is-background .el-pager li:not(.disabled).active { | 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 | .el-row { | 811 | .el-row { |
| @@ -778,20 +867,19 @@ this.pageindex.pageNumber = 0 | @@ -778,20 +867,19 @@ this.pageindex.pageNumber = 0 | ||
| 778 | 867 | ||
| 779 | .device-form .el-form-item__label::after { | 868 | .device-form .el-form-item__label::after { |
| 780 | content: "*"; | 869 | content: "*"; |
| 781 | - color: #1A1A1A; | 870 | + color: #1a1a1a; |
| 782 | margin-left: 5px; | 871 | margin-left: 5px; |
| 783 | font-size: 16px; | 872 | font-size: 16px; |
| 784 | } | 873 | } |
| 785 | 874 | ||
| 786 | - | ||
| 787 | ::v-deep .el-dialog__wrapper { | 875 | ::v-deep .el-dialog__wrapper { |
| 788 | .el-dialog__header { | 876 | .el-dialog__header { |
| 789 | - background-color: #FAFAFA; | 877 | + background-color: #fafafa; |
| 790 | } | 878 | } |
| 791 | } | 879 | } |
| 792 | 880 | ||
| 793 | ::v-deep .el-input__inner:focus { | 881 | ::v-deep .el-input__inner:focus { |
| 794 | - border: #3F9B6A 1px solid; | 882 | + border: #3f9b6a 1px solid; |
| 795 | } | 883 | } |
| 796 | 884 | ||
| 797 | .dialog-footer { | 885 | .dialog-footer { |
| @@ -802,27 +890,26 @@ this.pageindex.pageNumber = 0 | @@ -802,27 +890,26 @@ this.pageindex.pageNumber = 0 | ||
| 802 | } | 890 | } |
| 803 | 891 | ||
| 804 | ::v-deep .el-input__inner:focus { | 892 | ::v-deep .el-input__inner:focus { |
| 805 | - border: #3F9B6A 1px solid; | 893 | + border: #3f9b6a 1px solid; |
| 806 | } | 894 | } |
| 807 | 895 | ||
| 808 | ::v-deep .el-input__inner:hover { | 896 | ::v-deep .el-input__inner:hover { |
| 809 | - border: #3F9B6A 1px solid; | 897 | + border: #3f9b6a 1px solid; |
| 810 | } | 898 | } |
| 811 | 899 | ||
| 812 | ::v-deep .el-select .el-input.is-focus .el-input__inner { | 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 | .el-select-dropdown__item.selected { | 904 | .el-select-dropdown__item.selected { |
| 817 | - color: #3F9B6A; | 905 | + color: #3f9b6a; |
| 818 | } | 906 | } |
| 819 | 907 | ||
| 820 | .el-pagination__sizes .el-input .el-input__inner:hover { | 908 | .el-pagination__sizes .el-input .el-input__inner:hover { |
| 821 | - border-color: #3F9B6A; | 909 | + border-color: #3f9b6a; |
| 822 | } | 910 | } |
| 823 | 911 | ||
| 824 | ::v-deep .el-dialog__wrapper { | 912 | ::v-deep .el-dialog__wrapper { |
| 825 | - | ||
| 826 | .dialog_css { | 913 | .dialog_css { |
| 827 | margin-right: 12px; | 914 | margin-right: 12px; |
| 828 | margin-top: 61px !important; | 915 | margin-top: 61px !important; |
| @@ -838,7 +925,6 @@ this.pageindex.pageNumber = 0 | @@ -838,7 +925,6 @@ this.pageindex.pageNumber = 0 | ||
| 838 | margin-left: 25%; | 925 | margin-left: 25%; |
| 839 | margin-top: 61px !important; | 926 | margin-top: 61px !important; |
| 840 | } | 927 | } |
| 841 | - | ||
| 842 | } | 928 | } |
| 843 | 929 | ||
| 844 | ::v-deep .diaslog_zhong { | 930 | ::v-deep .diaslog_zhong { |
| @@ -847,7 +933,7 @@ this.pageindex.pageNumber = 0 | @@ -847,7 +933,7 @@ this.pageindex.pageNumber = 0 | ||
| 847 | 933 | ||
| 848 | .el-dialog__header { | 934 | .el-dialog__header { |
| 849 | background-color: #fff; | 935 | background-color: #fff; |
| 850 | - border-bottom: 1px solid #EFEFEF; | 936 | + border-bottom: 1px solid #efefef; |
| 851 | 937 | ||
| 852 | .el-dialog__title { | 938 | .el-dialog__title { |
| 853 | font-size: 14px; | 939 | font-size: 14px; |
| @@ -856,17 +942,17 @@ this.pageindex.pageNumber = 0 | @@ -856,17 +942,17 @@ this.pageindex.pageNumber = 0 | ||
| 856 | } | 942 | } |
| 857 | 943 | ||
| 858 | .el-dialog__body { | 944 | .el-dialog__body { |
| 859 | - padding: 10px 30px 30px 20px | 945 | + padding: 10px 30px 30px 20px; |
| 860 | } | 946 | } |
| 861 | } | 947 | } |
| 862 | 948 | ||
| 863 | /deep/ .el-table_1_column_8 .hetong { | 949 | /deep/ .el-table_1_column_8 .hetong { |
| 864 | - color: #7DBB9A; | 950 | + color: #7dbb9a; |
| 865 | text-decoration: underline; | 951 | text-decoration: underline; |
| 866 | } | 952 | } |
| 867 | 953 | ||
| 868 | /deep/ .first-column-bg { | 954 | /deep/ .first-column-bg { |
| 869 | - background-color: #FAFAFA !important; | 955 | + background-color: #fafafa !important; |
| 870 | } | 956 | } |
| 871 | 957 | ||
| 872 | ::v-deep .textarea { | 958 | ::v-deep .textarea { |
| @@ -895,14 +981,20 @@ this.pageindex.pageNumber = 0 | @@ -895,14 +981,20 @@ this.pageindex.pageNumber = 0 | ||
| 895 | } | 981 | } |
| 896 | 982 | ||
| 897 | .el-icon-arrow-up:before { | 983 | .el-icon-arrow-up:before { |
| 898 | - content: '' | 984 | + content: ""; |
| 899 | } | 985 | } |
| 900 | - | ||
| 901 | } | 986 | } |
| 902 | 987 | ||
| 903 | /deep/ .el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell { | 988 | /deep/ .el-table--enable-row-hover .el-table__body tr:hover>td.el-table__cell { |
| 904 | background-color: #fff; | 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 | </style> | 998 | </style> |
| 907 | <style lang="scss" scoped> | 999 | <style lang="scss" scoped> |
| 908 | ::v-deep .bian_css { | 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 | const TIAOZHUAN = 'https://jy.scjysm.asia:18086/cdwlMall/' | 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 | const LIULIANG = 'https://jy.scjysm.asia:18086/liuliang' | 7 | const LIULIANG = 'https://jy.scjysm.asia:18086/liuliang' |
| 8 | // const host = `${window.location.protocol}//${window.location.host}` | 8 | // const host = `${window.location.protocol}//${window.location.host}` |
| 9 | // const DOMAIN_PREFIXPING = `${host}/cdwlMall/meserver/admin-server` | 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,7 +59,7 @@ export const fastCardOneList = [ | ||
| 59 | { | 59 | { |
| 60 | id:3, | 60 | id:3, |
| 61 | label:'分销中心', | 61 | label:'分销中心', |
| 62 | - icon:'https://jy.scjysm.asia:18086/cdwlMall/questionnaire/file/static/img//user/fenxiao.png', | 62 | + icon:'../../../static/images/fxzx.png', |
| 63 | jumpUrl:'../../../pages_category_page1/distributionModule/index' | 63 | jumpUrl:'../../../pages_category_page1/distributionModule/index' |
| 64 | }, | 64 | }, |
| 65 | { | 65 | { |
| @@ -83,7 +83,7 @@ export const fastCardOneList = [ | @@ -83,7 +83,7 @@ export const fastCardOneList = [ | ||
| 83 | { | 83 | { |
| 84 | id:7, | 84 | id:7, |
| 85 | label:'常见问题', | 85 | label:'常见问题', |
| 86 | - icon:'https://jy.scjysm.asia:18086/cdwlMall/questionnaire/file/static/img//user/kaquan.png', | 86 | + icon:'../../../static/images/cjwt.png', |
| 87 | jumpUrl:'../../../pages_category_page1/askedquestion/askedquestion' | 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 | \ No newline at end of file | 1000 | \ No newline at end of file |
ceres-uniapp-master/pages_category_page1/question/question.vue
| @@ -697,12 +697,12 @@ | @@ -697,12 +697,12 @@ | ||
| 697 | // console.log(result) | 697 | // console.log(result) |
| 698 | // console.log(JSON.stringify(result)) | 698 | // console.log(JSON.stringify(result)) |
| 699 | // console.log(tijiaoObj) | 699 | // console.log(tijiaoObj) |
| 700 | - // console.log(JSON.stringify(tijiaoObj)) | 700 | + // console.log(this.wenjuan) |
| 701 | // return | 701 | // return |
| 702 | 702 | ||
| 703 | NET.request(API.wenjuanUp, tijiaoObj, 'post').then(res => { | 703 | NET.request(API.wenjuanUp, tijiaoObj, 'post').then(res => { |
| 704 | // this.show =true | 704 | // this.show =true |
| 705 | - | 705 | + |
| 706 | if (res.data == 'false') { | 706 | if (res.data == 'false') { |
| 707 | uni.reLaunch({ | 707 | uni.reLaunch({ |
| 708 | url: `/pages_category_page1/question/succe?chonfu=true` | 708 | url: `/pages_category_page1/question/succe?chonfu=true` |
| @@ -711,6 +711,11 @@ | @@ -711,6 +711,11 @@ | ||
| 711 | uni.reLaunch({ | 711 | uni.reLaunch({ |
| 712 | url: `/pages_category_page1/question/succe?ids=${this.wenjuanIds}` | 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 | <template> | 1 | <template> |
| 2 | <view class="page"> | 2 | <view class="page"> |
| 3 | <!-- 搜索 --> | 3 | <!-- 搜索 --> |
| 4 | -<!-- <view class="head-search"> | 4 | + <!-- <view class="head-search"> |
| 5 | <u-search bg-color="#fff" placeholder="请输入" v-model="query.shopName" :show-action="false" @search="search" @clear="clearGet"></u-search> | 5 | <u-search bg-color="#fff" placeholder="请输入" v-model="query.shopName" :show-action="false" @search="search" @clear="clearGet"></u-search> |
| 6 | <u-button type="success" @click="search" style="height:32px;">搜索</u-button> | 6 | <u-button type="success" @click="search" style="height:32px;">搜索</u-button> |
| 7 | </view> --> | 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 | </view> | 14 | </view> |
| 11 | <view class="screen-list"> | 15 | <view class="screen-list"> |
| 12 | <view class="list" @click="show = true"> | 16 | <view class="list" @click="show = true"> |
| 13 | <text>区域</text> | 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 | </view> | 21 | </view> |
| 17 | - <!-- <view class="list" @click="setList(1)"> | 22 | + <!-- <view class="list" @click="setList(1)"> |
| 18 | <text>租金</text> | 23 | <text>租金</text> |
| 19 | <image :src="$imgUrl('/down.png')"></image> | 24 | <image :src="$imgUrl('/down.png')"></image> |
| 20 | </view> | 25 | </view> |
| @@ -33,7 +38,8 @@ | @@ -33,7 +38,8 @@ | ||
| 33 | <view class="goods-list"> | 38 | <view class="goods-list"> |
| 34 | <view class="list" v-for="(item,index) in tableData" :key="index" @click="reconciliationdetail(item)"> | 39 | <view class="list" v-for="(item,index) in tableData" :key="index" @click="reconciliationdetail(item)"> |
| 35 | <view class="thumb"> | 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 | <!-- <image :src="item.displayMainImage" mode=""></image> --> | 43 | <!-- <image :src="item.displayMainImage" mode=""></image> --> |
| 38 | </view> | 44 | </view> |
| 39 | <view class="item"> | 45 | <view class="item"> |
| @@ -45,78 +51,81 @@ | @@ -45,78 +51,81 @@ | ||
| 45 | <text>标签标签</text> --> | 51 | <text>标签标签</text> --> |
| 46 | </view> | 52 | </view> |
| 47 | <view class="introduce"> | 53 | <view class="introduce"> |
| 48 | - <image :src="$imgUrl('/kefu.png')"></image> | 54 | + <image :src="$imgUrl('/kefu.png')"></image> |
| 49 | <text class="one-omit">{{item.detailedLocation}}</text> | 55 | <text class="one-omit">{{item.detailedLocation}}</text> |
| 50 | </view> | 56 | </view> |
| 51 | <view class="like-goods"> | 57 | <view class="like-goods"> |
| 52 | <view class="retail-price" v-if="item.belongingRegion"> | 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 | <text class="min">¥</text> | 64 | <text class="min">¥</text> |
| 59 | <text class="max">{{item.id * 10}}</text> | 65 | <text class="max">{{item.id * 10}}</text> |
| 60 | <text class="min">/月</text> | 66 | <text class="min">/月</text> |
| 61 | <text class="line"></text> --> | 67 | <text class="line"></text> --> |
| 62 | <text>面积:</text> | 68 | <text>面积:</text> |
| 63 | <text class="max">{{item.actualUsableArea}}</text> | 69 | <text class="max">{{item.actualUsableArea}}</text> |
| 64 | - <text class="min" >/m²</text> | 70 | + <text class="min">/m²</text> |
| 65 | </view> | 71 | </view> |
| 66 | </view> | 72 | </view> |
| 67 | </view> | 73 | </view> |
| 68 | </view> | 74 | </view> |
| 69 | </view> | 75 | </view> |
| 70 | </view> | 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 | <view class="zulinY"> | 79 | <view class="zulinY"> |
| 73 | <view style="font-size: 32rpx;font-weight: 600;margin-bottom: 20rpx;">请填写您的租赁意向</view> | 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 | </view> | 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 | </view> | 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 | </view> | 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 | </view> | 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 | </view> | 125 | </view> |
| 117 | </view> | 126 | </view> |
| 118 | <u-select v-model="showList" :list="companys" @confirm="handleCompanyConfirm" mini borderless></u-select> | 127 | <u-select v-model="showList" :list="companys" @confirm="handleCompanyConfirm" mini borderless></u-select> |
| 119 | - | 128 | + |
| 120 | </u-popup> | 129 | </u-popup> |
| 121 | 130 | ||
| 122 | </view> | 131 | </view> |
| @@ -127,53 +136,71 @@ | @@ -127,53 +136,71 @@ | ||
| 127 | data() { | 136 | data() { |
| 128 | return { | 137 | return { |
| 129 | query: { | 138 | query: { |
| 130 | - shopName:'', | 139 | + shopName: '', |
| 131 | belongingRegion: '', | 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 | pageindex: { | 147 | pageindex: { |
| 139 | pageNumber: 0, | 148 | pageNumber: 0, |
| 140 | pageSize: 10, | 149 | pageSize: 10, |
| 141 | - publishStatus:2, | ||
| 142 | - minPrice:0, | ||
| 143 | - maxPrice:1000000 | 150 | + publishStatus: 2, |
| 151 | + minPrice: 0, | ||
| 152 | + maxPrice: 1000000 | ||
| 144 | }, | 153 | }, |
| 145 | tableData: [], | 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 | zidongS: false, | 190 | zidongS: false, |
| 159 | formList: { | 191 | formList: { |
| 160 | - zulei: '', | ||
| 161 | belongingRegion: '', | 192 | belongingRegion: '', |
| 162 | - zuqi:'', | ||
| 163 | zujin: '', | 193 | zujin: '', |
| 164 | - mianji:'', | ||
| 165 | - name:'', | ||
| 166 | - phone:'', | ||
| 167 | - zhouqi:'', | 194 | + actualUsableArea: '', |
| 195 | + leaseTerm: '', | ||
| 168 | pageNumber: 0, | 196 | pageNumber: 0, |
| 169 | pageSize: 10, | 197 | pageSize: 10, |
| 170 | - publishStatus:2 | 198 | + publishStatus: 2 |
| 171 | }, | 199 | }, |
| 172 | showSex: false, | 200 | showSex: false, |
| 173 | - show:false, | ||
| 174 | - index:1, | ||
| 175 | - companys: [ | ||
| 176 | - { | 201 | + show: false, |
| 202 | + index: 1, | ||
| 203 | + companys: [{ | ||
| 177 | value: '1', | 204 | value: '1', |
| 178 | label: '商铺' | 205 | label: '商铺' |
| 179 | }, | 206 | }, |
| @@ -186,9 +213,9 @@ | @@ -186,9 +213,9 @@ | ||
| 186 | label: '广告位' | 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 | filters: { | 221 | filters: { |
| @@ -215,10 +242,10 @@ | @@ -215,10 +242,10 @@ | ||
| 215 | }, | 242 | }, |
| 216 | // 查询 | 243 | // 查询 |
| 217 | search() { | 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 | queryChange(key, val) { | 250 | queryChange(key, val) { |
| 224 | this.query[`${key}`] = val[0].value; | 251 | this.query[`${key}`] = val[0].value; |
| @@ -230,223 +257,250 @@ | @@ -230,223 +257,250 @@ | ||
| 230 | url: `/pages/details/details?item=${items}` | 257 | url: `/pages/details/details?item=${items}` |
| 231 | }) | 258 | }) |
| 232 | }, | 259 | }, |
| 233 | - | ||
| 234 | - | 260 | + |
| 261 | + | ||
| 235 | // 自动匹配 | 262 | // 自动匹配 |
| 236 | zidong() { | 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 | pageNumber: 0, | 429 | pageNumber: 0, |
| 444 | pageSize: 10, | 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 | </script> | 506 | </script> |
wenjuan-h5/pages_category_page1/question/question.vue
| @@ -697,14 +697,12 @@ | @@ -697,14 +697,12 @@ | ||
| 697 | // console.log(result) | 697 | // console.log(result) |
| 698 | // console.log(JSON.stringify(result)) | 698 | // console.log(JSON.stringify(result)) |
| 699 | // console.log(tijiaoObj) | 699 | // console.log(tijiaoObj) |
| 700 | - // console.log(JSON.stringify(tijiaoObj)) | 700 | + // console.log(this.wenjuan) |
| 701 | // return | 701 | // return |
| 702 | 702 | ||
| 703 | NET.request(API.wenjuanUp, tijiaoObj, 'post').then(res => { | 703 | NET.request(API.wenjuanUp, tijiaoObj, 'post').then(res => { |
| 704 | // this.show =true | 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 | if (res.data == 'false') { | 706 | if (res.data == 'false') { |
| 709 | uni.reLaunch({ | 707 | uni.reLaunch({ |
| 710 | url: `/pages_category_page1/question/succe?chonfu=true` | 708 | url: `/pages_category_page1/question/succe?chonfu=true` |
| @@ -713,6 +711,11 @@ | @@ -713,6 +711,11 @@ | ||
| 713 | uni.reLaunch({ | 711 | uni.reLaunch({ |
| 714 | url: `/pages_category_page1/question/succe?ids=${this.wenjuanIds}` | 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,7 +189,8 @@ | ||
| 189 | <div style="text-align: center;"> | 189 | <div style="text-align: center;"> |
| 190 | <div style="margin-bottom:10px;">平均答题时长</div> | 190 | <div style="margin-bottom:10px;">平均答题时长</div> |
| 191 | <div style="font-size:16px;"> | 191 | <div style="font-size:16px;"> |
| 192 | - {{ secondsToMinutesAndSeconds(tongjiTu.averageDuration) }}</div> | 192 | + {{ secondsToMinutesAndSeconds(tongjiTu.averageDuration) }} |
| 193 | + </div> | ||
| 193 | </div> | 194 | </div> |
| 194 | </div> | 195 | </div> |
| 195 | <div style="margin: 20px 0;font-size: 18px;">题目统计</div> | 196 | <div style="margin: 20px 0;font-size: 18px;">题目统计</div> |
| @@ -365,6 +366,7 @@ | @@ -365,6 +366,7 @@ | ||
| 365 | <template slot="label"> | 366 | <template slot="label"> |
| 366 | 提交问卷后 | 367 | 提交问卷后 |
| 367 | </template> | 368 | </template> |
| 369 | + | ||
| 368 | {{ secondData.rewardForParticipation!=''?'转盘抽奖':'不设置奖励'}} | 370 | {{ secondData.rewardForParticipation!=''?'转盘抽奖':'不设置奖励'}} |
| 369 | </el-descriptions-item> | 371 | </el-descriptions-item> |
| 370 | <el-descriptions-item> | 372 | <el-descriptions-item> |
| @@ -372,8 +374,9 @@ | @@ -372,8 +374,9 @@ | ||
| 372 | 奖励 | 374 | 奖励 |
| 373 | </template> | 375 | </template> |
| 374 | <div> | 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 | </div> | 380 | </div> |
| 378 | </el-descriptions-item> | 381 | </el-descriptions-item> |
| 379 | </el-descriptions> | 382 | </el-descriptions> |
| @@ -569,8 +572,7 @@ | @@ -569,8 +572,7 @@ | ||
| 569 | </div> | 572 | </div> |
| 570 | <el-form ref="form" :model="formInline" label-width="140px" | 573 | <el-form ref="form" :model="formInline" label-width="140px" |
| 571 | style="padding:20px;"> | 574 | style="padding:20px;"> |
| 572 | - <el-radio-group v-model="radioreward" | ||
| 573 | - @change="radioClick"> | 575 | + <el-radio-group v-model="radioreward" @change="radioClick"> |
| 574 | <el-radio label="不设置奖励" value="不设置奖励">不设置奖励</el-radio> | 576 | <el-radio label="不设置奖励" value="不设置奖励">不设置奖励</el-radio> |
| 575 | <!-- <el-radio label="奖励积分" value="奖励积分">奖励积分</el-radio> --> | 577 | <!-- <el-radio label="奖励积分" value="奖励积分">奖励积分</el-radio> --> |
| 576 | <el-radio label="转盘抽奖" value="转盘抽奖">转盘抽奖</el-radio> | 578 | <el-radio label="转盘抽奖" value="转盘抽奖">转盘抽奖</el-radio> |
| @@ -583,16 +585,16 @@ | @@ -583,16 +585,16 @@ | ||
| 583 | 奖励 <el-input v-model="jifen" style="width:50px;" />积分 | 585 | 奖励 <el-input v-model="jifen" style="width:50px;" />积分 |
| 584 | </div> | 586 | </div> |
| 585 | </div> --> | 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 | </div> | 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 | @click="actGo(0)">创建活动</el-button> | 598 | @click="actGo(0)">创建活动</el-button> |
| 597 | </div> | 599 | </div> |
| 598 | </div> | 600 | </div> |
| @@ -996,23 +998,22 @@ | @@ -996,23 +998,22 @@ | ||
| 996 | <div>参与答卷奖励</div> | 998 | <div>参与答卷奖励</div> |
| 997 | </div> | 999 | </div> |
| 998 | <el-form ref="form" :model="secondData" label-width="140px" style="padding:20px;"> | 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 | <el-radio label="不设置奖励" value="不设置奖励">不设置奖励</el-radio> | 1002 | <el-radio label="不设置奖励" value="不设置奖励">不设置奖励</el-radio> |
| 1002 | <!-- <el-radio label="奖励积分" value="奖励积分">奖励积分</el-radio> --> | 1003 | <!-- <el-radio label="奖励积分" value="奖励积分">奖励积分</el-radio> --> |
| 1003 | <el-radio label="转盘抽奖" value="转盘抽奖">转盘抽奖</el-radio> | 1004 | <el-radio label="转盘抽奖" value="转盘抽奖">转盘抽奖</el-radio> |
| 1004 | <!-- <el-radio label="优惠券" value="优惠券">优惠券</el-radio> --> | 1005 | <!-- <el-radio label="优惠券" value="优惠券">优惠券</el-radio> --> |
| 1005 | </el-radio-group> | 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 | </div> | 1014 | </div> |
| 1013 | <div v-else> | 1015 | <div v-else> |
| 1014 | - <el-button | ||
| 1015 | - style="color: #fff;background-color: #3F9B6A;" | 1016 | + <el-button style="color: #fff;background-color: #3F9B6A;" |
| 1016 | @click="actGo(0)">创建活动</el-button> | 1017 | @click="actGo(0)">创建活动</el-button> |
| 1017 | </div> | 1018 | </div> |
| 1018 | 1019 | ||
| @@ -1365,7 +1366,8 @@ | @@ -1365,7 +1366,8 @@ | ||
| 1365 | <div v-if="item.type == '单选' && item.layoutType == 2" | 1366 | <div v-if="item.type == '单选' && item.layoutType == 2" |
| 1366 | style="display: flex;width: 100%;flex-wrap: wrap;"> | 1367 | style="display: flex;width: 100%;flex-wrap: wrap;"> |
| 1367 | <div class="answerItem" v-for="(val, idx) in item.options" :key="idx"> | 1368 | <div class="answerItem" v-for="(val, idx) in item.options" :key="idx"> |
| 1368 | - {{ val.answer }}</div> | 1369 | + {{ val.answer }} |
| 1370 | + </div> | ||
| 1369 | </div> | 1371 | </div> |
| 1370 | <el-checkbox-group v-for="(val, idx) in item.options" | 1372 | <el-checkbox-group v-for="(val, idx) in item.options" |
| 1371 | v-if="item.type == '多选' && item.layoutType != 2" :key="idx" | 1373 | v-if="item.type == '多选' && item.layoutType != 2" :key="idx" |
| @@ -1381,7 +1383,8 @@ | @@ -1381,7 +1383,8 @@ | ||
| 1381 | <div v-if="item.type == '多选' && item.layoutType == 2" | 1383 | <div v-if="item.type == '多选' && item.layoutType == 2" |
| 1382 | style="display: flex;width: 100%;flex-wrap: wrap;"> | 1384 | style="display: flex;width: 100%;flex-wrap: wrap;"> |
| 1383 | <div class="answerItem" v-for="(val, idx) in item.options" :key="idx"> | 1385 | <div class="answerItem" v-for="(val, idx) in item.options" :key="idx"> |
| 1384 | - {{ val.answer }}</div> | 1386 | + {{ val.answer }} |
| 1387 | + </div> | ||
| 1385 | </div> | 1388 | </div> |
| 1386 | <div v-if="item.type == '文本'"> | 1389 | <div v-if="item.type == '文本'"> |
| 1387 | <el-input v-model="model1.name" placeholder="请输入" disabled style="width:80%" /> | 1390 | <el-input v-model="model1.name" placeholder="请输入" disabled style="width:80%" /> |
| @@ -1452,8 +1455,8 @@ | @@ -1452,8 +1455,8 @@ | ||
| 1452 | </div> | 1455 | </div> |
| 1453 | </div> | 1456 | </div> |
| 1454 | </el-dialog> | 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 | <div style="padding:20px;"> | 1460 | <div style="padding:20px;"> |
| 1458 | <iframe :src="iframaUrl" ref="iframe" frameborder="0" width="100%" height="700px" /> | 1461 | <iframe :src="iframaUrl" ref="iframe" frameborder="0" width="100%" height="700px" /> |
| 1459 | <div style="padding-top:20px;display:flex;justify-content: flex-end;"> | 1462 | <div style="padding-top:20px;display:flex;justify-content: flex-end;"> |
| @@ -1732,15 +1735,16 @@ | @@ -1732,15 +1735,16 @@ | ||
| 1732 | shujuloading: false, | 1735 | shujuloading: false, |
| 1733 | iframaUrl: '', | 1736 | iframaUrl: '', |
| 1734 | iframaShow: false, | 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 | // id:'', | 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 | computed: { | 1750 | computed: { |
| @@ -1749,24 +1753,25 @@ | @@ -1749,24 +1753,25 @@ | ||
| 1749 | created() { | 1753 | created() { |
| 1750 | this.getAll() | 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 | methods: { | 1775 | methods: { |
| 1771 | input(e, e1) { | 1776 | input(e, e1) { |
| 1772 | // this.formInline[e1] = e | 1777 | // this.formInline[e1] = e |
| @@ -1810,14 +1815,16 @@ | @@ -1810,14 +1815,16 @@ | ||
| 1810 | return false; | 1815 | return false; |
| 1811 | } | 1816 | } |
| 1812 | if (this.radioreward == '转盘抽奖') { | 1817 | if (this.radioreward == '转盘抽奖') { |
| 1813 | - if (this.jiangli.id && this.jiangli.id== '') { | 1818 | + if (this.jiangli.id && this.jiangli.id == '') { |
| 1814 | this.$message({ | 1819 | this.$message({ |
| 1815 | message: '请创建转盘活动', | 1820 | message: '请创建转盘活动', |
| 1816 | }) | 1821 | }) |
| 1817 | return false; | 1822 | return false; |
| 1818 | } | 1823 | } |
| 1819 | - }else{ | 1824 | + } else { |
| 1820 | this.jiangli.id = '' | 1825 | this.jiangli.id = '' |
| 1826 | + this.jiangli.actName = '' | ||
| 1827 | + this.jiangli.actStyle = '' | ||
| 1821 | } | 1828 | } |
| 1822 | let ids = null | 1829 | let ids = null |
| 1823 | if (this.wenConstData.length != 0) { | 1830 | if (this.wenConstData.length != 0) { |
| @@ -1830,6 +1837,8 @@ | @@ -1830,6 +1837,8 @@ | ||
| 1830 | return false; | 1837 | return false; |
| 1831 | } | 1838 | } |
| 1832 | this.formInline.rewardForParticipation = this.jiangli.id | 1839 | this.formInline.rewardForParticipation = this.jiangli.id |
| 1840 | + this.formInline.actStyle = this.jiangli.actStyle | ||
| 1841 | + this.formInline.actName = this.jiangli.actName | ||
| 1833 | this.formInline.createTime = this.currentTime() | 1842 | this.formInline.createTime = this.currentTime() |
| 1834 | TerminaAdd(this.formInline).then(res => { | 1843 | TerminaAdd(this.formInline).then(res => { |
| 1835 | if (res.data.code == '500') { | 1844 | if (res.data.code == '500') { |
| @@ -1896,7 +1905,7 @@ | @@ -1896,7 +1905,7 @@ | ||
| 1896 | item.question = JSON.parse(item.question) | 1905 | item.question = JSON.parse(item.question) |
| 1897 | } | 1906 | } |
| 1898 | const array = this.objectToArray(item.question) | 1907 | const array = this.objectToArray(item.question) |
| 1899 | - this.jiangli.id = item.rewardForParticipation | 1908 | + this.jiangli.id = item.rewardForParticipation |
| 1900 | this.wenData = array | 1909 | this.wenData = array |
| 1901 | // this.secondData.cereQuestionManagements.map((res, index) => { | 1910 | // this.secondData.cereQuestionManagements.map((res, index) => { |
| 1902 | // if (typeof res.optionSettings == 'string') { | 1911 | // if (typeof res.optionSettings == 'string') { |
| @@ -2062,12 +2071,13 @@ | @@ -2062,12 +2071,13 @@ | ||
| 2062 | if (typeof item.question === 'string') { | 2071 | if (typeof item.question === 'string') { |
| 2063 | item.question = JSON.parse(item.question) | 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 | this.secondDataTi = item.cereQuestionManagements | 2081 | this.secondDataTi = item.cereQuestionManagements |
| 2072 | this.bainjiBox = true | 2082 | this.bainjiBox = true |
| 2073 | 2083 | ||
| @@ -2091,16 +2101,20 @@ | @@ -2091,16 +2101,20 @@ | ||
| 2091 | ids = this.secondDataTi.map(item => item.id); | 2101 | ids = this.secondDataTi.map(item => item.id); |
| 2092 | } | 2102 | } |
| 2093 | if (this.radioreward == '转盘抽奖') { | 2103 | if (this.radioreward == '转盘抽奖') { |
| 2094 | - if (this.jiangli.id &&this.jiangli.id== '') { | 2104 | + if (this.jiangli.id && this.jiangli.id == '') { |
| 2095 | this.$message({ | 2105 | this.$message({ |
| 2096 | message: '请创建转盘活动', | 2106 | message: '请创建转盘活动', |
| 2097 | }) | 2107 | }) |
| 2098 | return false; | 2108 | return false; |
| 2099 | } | 2109 | } |
| 2100 | - }else{ | 2110 | + } else { |
| 2101 | this.jiangli.id = '' | 2111 | this.jiangli.id = '' |
| 2112 | + this.jiangli.actStyle = '' | ||
| 2113 | + this.jiangli.actName = '' | ||
| 2102 | } | 2114 | } |
| 2103 | this.secondData.rewardForParticipation = this.jiangli.id | 2115 | this.secondData.rewardForParticipation = this.jiangli.id |
| 2116 | + this.secondData.actStyle = this.jiangli.actStyle | ||
| 2117 | + this.secondData.actName = this.jiangli.actName | ||
| 2104 | this.secondData.questionId = ids.join(',') | 2118 | this.secondData.questionId = ids.join(',') |
| 2105 | this.secondData.updateTime = this.currentTime() | 2119 | this.secondData.updateTime = this.currentTime() |
| 2106 | 2120 | ||
| @@ -2588,13 +2602,13 @@ | @@ -2588,13 +2602,13 @@ | ||
| 2588 | needGender: '必填', | 2602 | needGender: '必填', |
| 2589 | needOpinion: '必填', | 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 | this.xuanzheData = [] | 2610 | this.xuanzheData = [] |
| 2597 | - this.radioreward='不设置奖励' | 2611 | + this.radioreward = '不设置奖励' |
| 2598 | const today = new Date(); | 2612 | const today = new Date(); |
| 2599 | const startOfToday = new Date(today.getFullYear(), today.getMonth(), today.getDate()); | 2613 | const startOfToday = new Date(today.getFullYear(), today.getMonth(), today.getDate()); |
| 2600 | const endOfToday = new Date(today.getFullYear(), today.getMonth(), today.getDate()); | 2614 | const endOfToday = new Date(today.getFullYear(), today.getMonth(), today.getDate()); |
| @@ -2825,22 +2839,40 @@ | @@ -2825,22 +2839,40 @@ | ||
| 2825 | if (token && token.startsWith('Bearer')) { | 2839 | if (token && token.startsWith('Bearer')) { |
| 2826 | token = token.substring(7); | 2840 | token = token.substring(7); |
| 2827 | } | 2841 | } |
| 2828 | - token = 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqd3RfdXNlcl9pbmZvIjoie1wiYXBwSWRcIjoxLFwiYXJlYUNvZGVzXCI6W10sXCJjb21wYW55QWRtaW5cIjpmYWxzZSxcImNvbXBhbnlDb2RlXCI6XCJKSkxEXzAwMVwiLFwiZGVwdENvZGVcIjpcIjAwMlwiLFwiZGVwdFRhZ1wiOlwiXCIsXCJsb2dpblR5cGVcIjpcIlBDXCIsXCJtYWluRGVwdENvZGVcIjpcIjAwMlwiLFwibWFuYWdlclwiOnRydWUsXCJuYW1lXCI6XCLotoXnuqfnrqHnkIblkZhcIixcInBob25lXCI6XCIxMzU0MTMwNDkxMFwiLFwicm9sZXNcIjpbXCJyb2xlX3N1cGVyX2FkbWluXCIsXCJ2aXAtYWRtaW5cIl0sXCJzdXBlckFkbWluXCI6dHJ1ZSxcInRvcERlcHRDb2RlXCI6XCIwMDJcIixcInVzZXJJZFwiOjEsXCJ1c2VybmFtZVwiOlwic3VwZXItampsZFwifSIsImp0aSI6IjA4ZWVmYzQyLWRmNzktNDc5Zi05MjcwLTdkNGI5OTcwM2I5NSIsImV4cCI6MTc0MDYzOTI1OSwiaWF0IjoxNzQwNjI0ODU5LCJzdWIiOiJDRFdMIiwiaXNzIjoiT0EifQ.t4sL7LQ7pQrVBl1juvV6crqsYZUmrHsINH78YsYpgi4' | 2842 | + token = |
| 2843 | + 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJqd3RfdXNlcl9pbmZvIjoie1wiYXBwSWRcIjoxLFwiYXJlYUNvZGVzXCI6W10sXCJjb21wYW55QWRtaW5cIjpmYWxzZSxcImNvbXBhbnlDb2RlXCI6XCJKSkxEXzAwMVwiLFwiZGVwdENvZGVcIjpcIjAwMlwiLFwiZGVwdFRhZ1wiOlwiXCIsXCJsb2dpblR5cGVcIjpcIlBDXCIsXCJtYWluRGVwdENvZGVcIjpcIjAwMlwiLFwibWFuYWdlclwiOnRydWUsXCJuYW1lXCI6XCLotoXnuqfnrqHnkIblkZhcIixcInBob25lXCI6XCIxMzU0MTMwNDkxMFwiLFwicm9sZXNcIjpbXCJyb2xlX3N1cGVyX2FkbWluXCIsXCJ2aXAtYWRtaW5cIl0sXCJzdXBlckFkbWluXCI6dHJ1ZSxcInRvcERlcHRDb2RlXCI6XCIwMDJcIixcInVzZXJJZFwiOjEsXCJ1c2VybmFtZVwiOlwic3VwZXItampsZFwifSIsImp0aSI6ImMxMWQ5ZjJjLTc1ZjItNDM5Yy05NjMzLTliYzU4MTc2NmZmYiIsImV4cCI6MTc0MDY2Mjg2NywiaWF0IjoxNzQwNjQ4NDY3LCJzdWIiOiJDRFdMIiwiaXNzIjoiT0EifQ.-2jv7Vq8pqn8PehIpd1lMXJrSqPsmCfhXp7fddL56qI' | ||
| 2829 | this.iframaShow = true | 2844 | this.iframaShow = true |
| 2830 | - if(val == 0){ | 2845 | + if (val == 0) { |
| 2831 | this.iframaUrl = | 2846 | this.iframaUrl = |
| 2832 | `https://jy.scjysm.asia:18086/cdwltool/addEmptyLottery?token=${token}&channel=shangye&thirdPartyUrl=http://localhost:9529/#/investigation/index` | 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 | this.iframaUrl = | 2849 | this.iframaUrl = |
| 2835 | `https://jy.scjysm.asia:18086/cdwltool/addEmptyLottery?token=${token}&id=${this.jiangli.id}&title=活动详情&channel=shangye&thirdPartyUrl=http://localhost:9529/#/investigation/index` | 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 | this.iframaUrl = | 2852 | this.iframaUrl = |
| 2838 | `https://jy.scjysm.asia:18086/cdwltool/addEmptyLottery?token=${token}&id=${this.jiangli.id}&channel=shangye&thirdPartyUrl=http://localhost:9529/#/investigation/index` | 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 | // window.location.href = | 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,4 +3246,4 @@ | ||
| 3214 | } | 3246 | } |
| 3215 | 3247 | ||
| 3216 | } | 3248 | } |
| 3217 | -</style> | 3249 | -</style> |
| 3250 | +</style> | ||
| 3218 | \ No newline at end of file | 3251 | \ No newline at end of file |
yanshouban/src/views/customer/yixiang/index.vue
| @@ -348,8 +348,13 @@ | @@ -348,8 +348,13 @@ | ||
| 348 | 匹配记录 | 348 | 匹配记录 |
| 349 | </div> | 349 | </div> |
| 350 | <div style="padding: 0 20px"> | 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 | <el-form-item label="意向资源类型"> | 358 | <el-form-item label="意向资源类型"> |
| 354 | <el-select v-model="pipeiSel.resources.cereRentalPolicies.businessType" placeholder="请选择" style="width:168px"> | 359 | <el-select v-model="pipeiSel.resources.cereRentalPolicies.businessType" placeholder="请选择" style="width:168px"> |
| 355 | <el-option label="商铺" value="sp" /> | 360 | <el-option label="商铺" value="sp" /> |
| @@ -1126,11 +1131,7 @@ async getshen(item){ | @@ -1126,11 +1131,7 @@ async getshen(item){ | ||
| 1126 | </script> | 1131 | </script> |
| 1127 | <style src="@wangeditor/editor/dist/css/style.css"></style> | 1132 | <style src="@wangeditor/editor/dist/css/style.css"></style> |
| 1128 | <style scoped> | 1133 | <style scoped> |
| 1129 | - .formcontainer{ | ||
| 1130 | - display: grid; | ||
| 1131 | - grid-template-columns: repeat(2, 1fr); | ||
| 1132 | - grid-gap: 10px; /* 可选,设置列之间的间隙 */ | ||
| 1133 | - } | 1134 | + |
| 1134 | /deep/ .first-column-bg { | 1135 | /deep/ .first-column-bg { |
| 1135 | background-color: #f4f4f5 !important; | 1136 | background-color: #f4f4f5 !important; |
| 1136 | } | 1137 | } |