Commit 44e10667bc54a00bc579a357568fd43db80be471
1 parent
3f535f30
'最新'
Showing
9 changed files
with
467 additions
and
345 deletions
admin-web-master/src/components/dajuanTongji/index.vue
| @@ -55,7 +55,7 @@ | @@ -55,7 +55,7 @@ | ||
| 55 | required: true | 55 | required: true |
| 56 | }, | 56 | }, |
| 57 | index: { | 57 | index: { |
| 58 | - type: Number, | 58 | + type: String, |
| 59 | required: true | 59 | required: true |
| 60 | }, | 60 | }, |
| 61 | }, | 61 | }, |
| @@ -83,254 +83,255 @@ | @@ -83,254 +83,255 @@ | ||
| 83 | }, | 83 | }, |
| 84 | mounted() { | 84 | mounted() { |
| 85 | 85 | ||
| 86 | - // this.initChart() | 86 | + |
| 87 | 87 | ||
| 88 | this.loadQuestionByIndex(this.index) | 88 | this.loadQuestionByIndex(this.index) |
| 89 | this.tubiao() | 89 | this.tubiao() |
| 90 | // this.processData() | 90 | // this.processData() |
| 91 | }, | 91 | }, |
| 92 | - onload(){ | 92 | + onload() { |
| 93 | 93 | ||
| 94 | }, | 94 | }, |
| 95 | methods: { | 95 | methods: { |
| 96 | - // init(){ | ||
| 97 | - // this.tubiao() | ||
| 98 | - // this.loadQuestionByIndex(this.index) | ||
| 99 | - // }, | ||
| 100 | - initChart() { | ||
| 101 | - // this.dataList = this.tableData.groupKeys | ||
| 102 | - // answer | ||
| 103 | - // countAnswer | ||
| 104 | - // percentage | ||
| 105 | - // questionNumber | ||
| 106 | - var groupkeys = this.tableData.groupKeys; | ||
| 107 | - var groupkeylist = [] | ||
| 108 | - var tiIndex = this.index + 1 | ||
| 109 | - for (var key in groupkeys) { | ||
| 110 | - | ||
| 111 | - if (groupkeys[key] == tiIndex) { | ||
| 112 | - var item = groupkeys[key]; | ||
| 113 | - groupkeylist.push(item); | ||
| 114 | - } | ||
| 115 | - | ||
| 116 | - } | ||
| 117 | - | ||
| 118 | - | ||
| 119 | - | ||
| 120 | - | ||
| 121 | - let info2 = {} | ||
| 122 | - let xzvalue = {...JSON.parse(this.tableData.cereQuestionnaireTable.cereQuestionManagements[this.index].optionSettings)} | ||
| 123 | - var optionlist = [] | ||
| 124 | - | ||
| 125 | - for (var key in xzvalue) { | ||
| 126 | - info2 = { | ||
| 127 | - id: '', | ||
| 128 | - tihao: 0, | ||
| 129 | - title: '', | ||
| 130 | - numci: 0, | ||
| 131 | - baifenbi: 0 | ||
| 132 | - } | ||
| 133 | - info2.id = this.index | ||
| 134 | - info2.tihao = key | ||
| 135 | - info2.title = xzvalue[key] | ||
| 136 | - info2.numci = 0 | ||
| 137 | - info2.baifenbi = 0 | ||
| 138 | - optionlist.push(info2); | ||
| 139 | - | ||
| 140 | - } | ||
| 141 | - | ||
| 142 | - | ||
| 143 | - for (let i = 0; i < groupkeys.length; i++) { | ||
| 144 | - | ||
| 145 | - for (let j = 0; j < optionlist.length; j++) { | ||
| 146 | - if (this.index == groupkeys[i].questionNumber) { | ||
| 147 | - | ||
| 148 | - if (optionlist[j].tihao == groupkeys[i].answer) { | ||
| 149 | - optionlist[j].numci += groupkeys[i].countAnswer | ||
| 150 | - optionlist[j].baifenbi = groupkeys[i].percentage | ||
| 151 | - break | ||
| 152 | - } | ||
| 153 | - } | ||
| 154 | - } | ||
| 155 | - } | ||
| 156 | - | ||
| 157 | - this.tiList = optionlist; | ||
| 158 | - | ||
| 159 | - | ||
| 160 | - // var data = this.tableData.cereQuestionnaireTable.cereQuestionManagements.map((res, index) => { | ||
| 161 | - // // if (typeof res.optionSettings == 'string') { | ||
| 162 | - // // res.optionSettings = JSON.parse(res.optionSettings) | ||
| 163 | - | ||
| 164 | - // // var optionlist = [] | ||
| 165 | - // // for (var key in res.optionSettings){ | ||
| 166 | - | ||
| 167 | - // // optionlist.push({ | ||
| 168 | - // // id: key, | ||
| 169 | - // // title: res.optionSettings[key], | ||
| 170 | - // // answer:groupkeylist.filter(o=>o.questionNumber == key) | ||
| 171 | - // // }); | ||
| 172 | - | ||
| 173 | - // // } | ||
| 174 | - | ||
| 175 | - // return optionlist; | ||
| 176 | - // // if (index == this.index) { | ||
| 177 | - // // this.tiList[this.index] = Object.values(res.optionSettings) | ||
| 178 | - // // } | ||
| 179 | - | ||
| 180 | - // } | ||
| 181 | - | ||
| 182 | - | ||
| 183 | - // }) | ||
| 184 | - | ||
| 185 | - | ||
| 186 | - // this.dataList = this.tableData.cereQuestionnaireTable.cereQuestionManagements | ||
| 187 | - | ||
| 188 | - | ||
| 189 | - | 96 | + init(data){ |
| 97 | + this.tableData = data; | ||
| 98 | + console.log('initdata',data); | ||
| 99 | + this.loadQuestionByIndex(this.index) | ||
| 100 | + this.tubiao() | ||
| 190 | }, | 101 | }, |
| 191 | loadQuestionByIndex(index) { | 102 | loadQuestionByIndex(index) { |
| 192 | 103 | ||
| 193 | - var tiIndex = this.index + 1 | 104 | + var tiIndex = Number(index); |
| 194 | const { | 105 | const { |
| 195 | groupKeys, | 106 | groupKeys, |
| 196 | cereQuestionnaireTable | 107 | cereQuestionnaireTable |
| 197 | } = this.tableData; | 108 | } = this.tableData; |
| 198 | 109 | ||
| 199 | - // 查找指定index的问题 | ||
| 200 | - const question = cereQuestionnaireTable.cereQuestionManagements[this.index]; // 索引是从1开始的 | ||
| 201 | - const optionStats = this.initOptionStats(question.optionSettings); | ||
| 202 | - | ||
| 203 | - // 统计选项选择次数 | ||
| 204 | - groupKeys.forEach((group) => { | ||
| 205 | - console.log(group.questionNumber) | ||
| 206 | - if (group.questionNumber == tiIndex) { | ||
| 207 | - const optionId = group.answer; | ||
| 208 | - const countAnswer = group.countAnswer; | ||
| 209 | - | ||
| 210 | - // 如果选项存在,将选择次数累加,并计算百分比 | ||
| 211 | - if (optionStats[optionId]) { | ||
| 212 | - optionStats[optionId].countAnswer += countAnswer; | ||
| 213 | - } else { | ||
| 214 | - optionStats[optionId] = { | ||
| 215 | - countAnswer, | ||
| 216 | - percentage: group.percentage | ||
| 217 | - }; | ||
| 218 | - } | ||
| 219 | - } | 110 | + var list = []; // 用于存储结果 |
| 111 | + | ||
| 112 | + var table = JSON.parse(cereQuestionnaireTable.question); // 解析问卷中的问题数据 | ||
| 113 | + | ||
| 114 | + console.log(JSON.parse(cereQuestionnaireTable.question)); // 打印问题的原始数据 | ||
| 115 | + // 遍历 groupKeys 中的每个条目 | ||
| 116 | + // for (let i = 0; i < groupKeys.length; i++) { | ||
| 117 | + // for (var key in table) { | ||
| 118 | + // if (groupKeys[i].questionNumber == key) { // 匹配 questionNumber | ||
| 119 | + // console.log(table[key]); // 打印当前匹配的问题 | ||
| 120 | + | ||
| 121 | + // // 确保该问题有选项,并且 options 数组不为空 | ||
| 122 | + // if (table[key].options && table[key].options.length != 0) { | ||
| 123 | + // // 遍历每个选项 | ||
| 124 | + // for (let j = 0; j < table[key].options.length; j++) { | ||
| 125 | + // // 如果当前选项索引和 groupKeys[i].answer 匹配 | ||
| 126 | + // if (j + 1 == groupKeys[i].answer) { | ||
| 127 | + // var info1 = {}; // 创建一个新的 info1 对象,避免引用问题 | ||
| 128 | + // info1.title = table[key].options[j].answer; // 选项的答案 | ||
| 129 | + // info1.numci = groupKeys[i].countAnswer; // 统计该选项的回答次数 | ||
| 130 | + // info1.baifenbi = groupKeys[i].percentage; // 该选项的百分比 | ||
| 131 | + // list.push(info1); // 将 info1 添加到 list 数组 | ||
| 132 | + // } | ||
| 133 | + // } | ||
| 134 | + // } | ||
| 135 | + // } | ||
| 136 | + // } | ||
| 137 | + // } | ||
| 138 | + | ||
| 139 | + var list = [{}]; | ||
| 140 | + for (let key in table) { | ||
| 141 | + | ||
| 142 | + var itemdata = {}; | ||
| 143 | + var timu = table[parseInt(key)]; | ||
| 144 | + var option = {}; | ||
| 145 | + // if(timu.type =='文本') continue; | ||
| 146 | + for (let o in timu.options) | ||
| 147 | + { | ||
| 148 | + option[parseInt( o )+ 1] = timu.options[o].answer; | ||
| 149 | + } | ||
| 150 | + // option.push({ | ||
| 151 | + // index: parseInt( o )+ 1, | ||
| 152 | + // answer: timu.options[o].answer | ||
| 153 | + // }); | ||
| 154 | + // itemdata[key] = {tikuTitle:timu.title,optionSettings: JSON.stringify(option)}; | ||
| 155 | + list.push({tikuTitle:timu.title,optionSettings: JSON.stringify(option)}) | ||
| 156 | + // list.push(itemdata) | ||
| 220 | 157 | ||
| 221 | - }); | ||
| 222 | 158 | ||
| 223 | - // 设置为当前选择的问题 | ||
| 224 | - this.selectedQuestion = { | ||
| 225 | - ...question, | ||
| 226 | - optionStats | 159 | + } |
| 160 | + console.log('list',list) | ||
| 161 | + | ||
| 162 | + // var querytabel = Object.keys(table).map((key, index) => { | ||
| 163 | + // const item = table[key]; | ||
| 164 | + | ||
| 165 | + // const optionSettings = item.options.map((acc, index) => { | ||
| 166 | + // index = acc.answer; | ||
| 167 | + // return acc; | ||
| 168 | + // }, {}); | ||
| 169 | + // const score = item.options.reduce((acc, option) => { | ||
| 170 | + // acc[option.score] = option.score; | ||
| 171 | + // return acc; | ||
| 172 | + // }, {}); | ||
| 173 | + | ||
| 174 | + | ||
| 175 | + | ||
| 176 | + | ||
| 177 | + // return { | ||
| 178 | + // id: (index + 1).toString(), | ||
| 179 | + // questionType: item.type, | ||
| 180 | + // questionBank: index === 0 ? "用户端题库" : "公共端题库", | ||
| 181 | + // isRequired: item.required, | ||
| 182 | + // questionDescription: "", | ||
| 183 | + // optionSettings: JSON.stringify(optionSettings), | ||
| 184 | + // tikuTitle: item.title, | ||
| 185 | + // createDate: new Date().toISOString().slice(0, 19).replace("T", " "), | ||
| 186 | + // createUser: "", | ||
| 187 | + // questionCode: "", | ||
| 188 | + // score: JSON.stringify(score), | ||
| 189 | + // pageSize: 0, | ||
| 190 | + // pageNumber: 0 | ||
| 191 | + // }; | ||
| 192 | + // }); | ||
| 193 | + | ||
| 194 | + // const filteredQueryTable = Object.values(querytabel); | ||
| 195 | + // 假设 this.index 是从1开始的序号 | ||
| 196 | + const arrayIndex = Number(this.index); // 将序号转换为数组索引 | ||
| 197 | + | ||
| 198 | + const question = list[arrayIndex]; // 索引是从1开始的 | ||
| 199 | + | ||
| 200 | + const optionStats = this.initOptionStats(question.optionSettings); | ||
| 201 | + | ||
| 202 | + // 统计选项选择次数 | ||
| 203 | + groupKeys.forEach((group) => { | ||
| 204 | + | ||
| 205 | + if (group.questionNumber == tiIndex) { | ||
| 206 | + const optionId = group.answer; | ||
| 207 | + const countAnswer = group.countAnswer; | ||
| 208 | + | ||
| 209 | + // 如果选项存在,将选择次数累加,并计算百分比 | ||
| 210 | + if (optionStats[optionId]) { | ||
| 211 | + optionStats[optionId].countAnswer += countAnswer; | ||
| 212 | + } else { | ||
| 213 | + optionStats[optionId] = { | ||
| 214 | + countAnswer, | ||
| 215 | + percentage: group.percentage | ||
| 216 | + }; | ||
| 217 | + } | ||
| 227 | } | 218 | } |
| 228 | 219 | ||
| 229 | - const optionlist = [] | ||
| 230 | - this.selectedQuestion.optionStats | ||
| 231 | - for (var key in this.selectedQuestion.optionStats) { | ||
| 232 | - const info2 = { | ||
| 233 | - tihao: 0, | ||
| 234 | - title: '', | ||
| 235 | - numci: 0, | ||
| 236 | - baifenbi: 0 | ||
| 237 | - } | 220 | + }); |
| 238 | 221 | ||
| 239 | - const optionSettings ={...JSON.parse(this.selectedQuestion.optionSettings)} | ||
| 240 | - info2.tihao = key | ||
| 241 | - info2.title = optionSettings[key] | ||
| 242 | - info2.numci = this.selectedQuestion.optionStats[key] | 222 | + // 设置为当前选择的问题 |
| 223 | + this.selectedQuestion = { | ||
| 224 | + ...question, | ||
| 225 | + optionStats | ||
| 226 | + } | ||
| 243 | 227 | ||
| 244 | - optionlist.push(info2); | 228 | + const optionlist = [] |
| 229 | + // this.selectedQuestion.optionStats | ||
| 230 | + for (var key in this.selectedQuestion.optionStats) { | ||
| 245 | 231 | ||
| 232 | + const info2 = { | ||
| 233 | + tihao: 0, | ||
| 234 | + title: '', | ||
| 235 | + numci: 0, | ||
| 236 | + baifenbi: 0 | ||
| 246 | } | 237 | } |
| 238 | + const optionSettings = { | ||
| 239 | + ...JSON.parse(this.selectedQuestion.optionSettings) | ||
| 240 | + } | ||
| 241 | + info2.tihao = key | ||
| 242 | + info2.title = optionSettings[key] | ||
| 243 | + info2.numci = this.selectedQuestion.optionStats[key] | ||
| 244 | + console.log(this.selectedQuestion.optionStats[key], info2) | ||
| 245 | + optionlist.push(info2); | ||
| 247 | 246 | ||
| 248 | - this.tiList =[]; | ||
| 249 | - this.tiList = optionlist | ||
| 250 | - | ||
| 251 | - }, | ||
| 252 | - // 初始化选项统计,确保每个选项都有统计数据 | ||
| 253 | - initOptionStats(optionSettings) { | 247 | + } |
| 254 | 248 | ||
| 255 | - const options = JSON.parse(optionSettings); // 解析 JSON 字符串 | 249 | + this.tiList = []; |
| 250 | + this.tiList = optionlist | ||
| 256 | 251 | ||
| 257 | - const optionStats = {}; | ||
| 258 | - for (const key in options) { | ||
| 259 | - optionStats[key] = 0; // 初始值为0 | ||
| 260 | - } | 252 | + }, |
| 253 | + // 初始化选项统计,确保每个选项都有统计数据 | ||
| 254 | + initOptionStats(optionSettings) { | ||
| 255 | + console.log('1111111111111111111', optionSettings) | ||
| 256 | + const options = JSON.parse(optionSettings); // 解析 JSON 字符串 | ||
| 257 | + | ||
| 258 | + const optionStats = {}; | ||
| 259 | + for (const key in options) { | ||
| 260 | + optionStats[key] = 0; // 初始值为0 | ||
| 261 | + } | ||
| 261 | 262 | ||
| 262 | - return optionStats; | 263 | + return optionStats; |
| 263 | 264 | ||
| 264 | - }, | 265 | + }, |
| 265 | 266 | ||
| 266 | - // 根据选项ID获取选项描述 | ||
| 267 | - getOptionDescription(optionId) { | ||
| 268 | - const optionSettings = JSON.parse(this.selectedQuestion.optionSettings); | ||
| 269 | - return optionSettings[optionId] || "无描述"; // 如果没有描述,返回"无描述" | ||
| 270 | - }, | 267 | + // 根据选项ID获取选项描述 |
| 268 | + getOptionDescription(optionId) { | ||
| 269 | + const optionSettings = JSON.parse(this.selectedQuestion.optionSettings); | ||
| 270 | + return optionSettings[optionId] || "无描述"; // 如果没有描述,返回"无描述" | ||
| 271 | + }, | ||
| 271 | 272 | ||
| 272 | - tubiao() { | ||
| 273 | - const res = this.tiList.map(function(item) { | ||
| 274 | - return { | ||
| 275 | - name: item.title, | ||
| 276 | - value: item.numci.countAnswer || 0 ///// | ||
| 277 | - } | ||
| 278 | - }) | ||
| 279 | - const option = { | ||
| 280 | - tooltip: { | ||
| 281 | - trigger: 'item' | 273 | + tubiao() { |
| 274 | + const res = this.tiList.map(function(item) { | ||
| 275 | + return { | ||
| 276 | + name: item.title, | ||
| 277 | + value: item.numci.countAnswer || 0 ///// | ||
| 278 | + } | ||
| 279 | + }) | ||
| 280 | + const option = { | ||
| 281 | + tooltip: { | ||
| 282 | + trigger: 'item' | ||
| 283 | + }, | ||
| 284 | + legend: { | ||
| 285 | + // bottom: '30', | ||
| 286 | + // left: 'center', | ||
| 287 | + x: 'right', // 可设定图例在左、右、居中 | ||
| 288 | + y: 'bottom', // 可设定图例在上、下、居中 | ||
| 289 | + left: 'center' | ||
| 290 | + }, | ||
| 291 | + series: [{ | ||
| 292 | + type: 'pie', | ||
| 293 | + radius: ['40%', '70%'], | ||
| 294 | + avoidLabelOverlap: false, | ||
| 295 | + itemStyle: { | ||
| 296 | + borderRadius: 10, | ||
| 297 | + borderColor: '#fff', | ||
| 298 | + borderWidth: 2 | ||
| 282 | }, | 299 | }, |
| 283 | - legend: { | ||
| 284 | - // bottom: '30', | ||
| 285 | - // left: 'center', | ||
| 286 | - x: 'right', // 可设定图例在左、右、居中 | ||
| 287 | - y: 'bottom', // 可设定图例在上、下、居中 | ||
| 288 | - left: 'center' | 300 | + label: { |
| 301 | + show: false, | ||
| 302 | + position: 'center', | ||
| 303 | + | ||
| 289 | }, | 304 | }, |
| 290 | - series: [{ | ||
| 291 | - type: 'pie', | ||
| 292 | - radius: ['40%', '70%'], | ||
| 293 | - avoidLabelOverlap: false, | ||
| 294 | - itemStyle: { | ||
| 295 | - borderRadius: 10, | ||
| 296 | - borderColor: '#fff', | ||
| 297 | - borderWidth: 2 | ||
| 298 | - }, | 305 | + emphasis: { |
| 299 | label: { | 306 | label: { |
| 300 | - show: false, | ||
| 301 | - position: 'center', | ||
| 302 | - | ||
| 303 | - }, | ||
| 304 | - emphasis: { | ||
| 305 | - label: { | ||
| 306 | - show: true, | ||
| 307 | - fontSize: 20, | ||
| 308 | - fontWeight: 'bold' | ||
| 309 | - } | ||
| 310 | - }, | ||
| 311 | - labelLine: { | ||
| 312 | - show: false | ||
| 313 | - }, | ||
| 314 | - color: ['#3f9b6a', 'rgb(61,182,211)', 'rgb(126, 211, 146)', 'rgb(200, 40, 211)', 'rgb(171, 184, 211)', | ||
| 315 | - 'rgb(211, 169, 150)', 'rgb(185, 211, 16)' | ||
| 316 | - ], | ||
| 317 | - data: res, | ||
| 318 | - }] | ||
| 319 | - } | ||
| 320 | - const chartDom = this.$refs.chart; | ||
| 321 | - const myChart = echarts.init(chartDom); | ||
| 322 | - option && myChart.setOption(option); | 307 | + show: true, |
| 308 | + fontSize: 20, | ||
| 309 | + fontWeight: 'bold' | ||
| 310 | + } | ||
| 311 | + }, | ||
| 312 | + labelLine: { | ||
| 313 | + show: false | ||
| 314 | + }, | ||
| 315 | + color: ['#3f9b6a', 'rgb(61,182,211)', 'rgb(126, 211, 146)', 'rgb(200, 40, 211)', 'rgb(171, 184, 211)', | ||
| 316 | + 'rgb(211, 169, 150)', 'rgb(185, 211, 16)' | ||
| 317 | + ], | ||
| 318 | + data: res, | ||
| 319 | + }] | ||
| 323 | } | 320 | } |
| 324 | - }, | ||
| 325 | - beforeDestroy() { | ||
| 326 | - if (this.$refs.chart) { | ||
| 327 | - const myChart = echarts.getInstanceByDom(this.$refs.chart); | ||
| 328 | - if (myChart) { | ||
| 329 | - window.removeEventListener('resize', myChart.resize); | ||
| 330 | - myChart.dispose(); | ||
| 331 | - } | 321 | + const chartDom = this.$refs.chart; |
| 322 | + const myChart = echarts.init(chartDom); | ||
| 323 | + option && myChart.setOption(option); | ||
| 324 | + } | ||
| 325 | + }, | ||
| 326 | + beforeDestroy() { | ||
| 327 | + if (this.$refs.chart) { | ||
| 328 | + const myChart = echarts.getInstanceByDom(this.$refs.chart); | ||
| 329 | + if (myChart) { | ||
| 330 | + window.removeEventListener('resize', myChart.resize); | ||
| 331 | + myChart.dispose(); | ||
| 332 | } | 332 | } |
| 333 | } | 333 | } |
| 334 | + } | ||
| 334 | }; | 335 | }; |
| 335 | </script> | 336 | </script> |
| 336 | 337 |
admin-web-master/src/layout/index.vue
| @@ -254,12 +254,12 @@ export default { | @@ -254,12 +254,12 @@ export default { | ||
| 254 | } | 254 | } |
| 255 | } | 255 | } |
| 256 | return { | 256 | return { |
| 257 | - // msg:['招商服务系统'], | ||
| 258 | - msg:['招商服务系统','推广策划系统','在线商城系统','支付服务模块','票务'], | 257 | + msg:['招商服务系统'], |
| 258 | + // msg:['招商服务系统','推广策划系统','在线商城系统','支付服务模块','票务'], | ||
| 259 | listMune:[], | 259 | listMune:[], |
| 260 | list:[ | 260 | list:[ |
| 261 | - // ['招商问卷调查'], | ||
| 262 | - ['招商资源监测','商家管理','招商方案管理','招商租赁管理','广告服务','客服服务管理','系统设置','商铺租赁服务','招商过程管理','招商问卷调查','商户寻租管理','轮播图设置','平台活动','客服配置'], | 261 | + ['问卷调查'], |
| 262 | + // ['招商资源监测','商家管理','招商方案管理','招商租赁管理','广告服务','客服服务管理','系统设置','商铺租赁服务','招商过程管理','问卷调查','商户寻租管理','轮播图设置','平台活动','客服配置'], | ||
| 263 | ['品牌策划','活动策划','氛围策划','媒体推广'], | 263 | ['品牌策划','活动策划','氛围策划','媒体推广'], |
| 264 | ['订单管理','积分管理','消息中心','会员管理','评论管理','商品管理','库存管理','销售统计','平台活动'], | 264 | ['订单管理','积分管理','消息中心','会员管理','评论管理','商品管理','库存管理','销售统计','平台活动'], |
| 265 | ['联机交易'], | 265 | ['联机交易'], |
| @@ -636,8 +636,8 @@ this.listMune[0] = All | @@ -636,8 +636,8 @@ this.listMune[0] = All | ||
| 636 | let list5=[] | 636 | let list5=[] |
| 637 | this.listMune = [] | 637 | this.listMune = [] |
| 638 | this.list=[ | 638 | this.list=[ |
| 639 | - ['招商问卷调查'], | ||
| 640 | - ['招商资源监测','商家管理','招商方案管理','招商租赁管理','广告服务','客服服务管理','系统设置','商铺租赁服务','招商过程管理','招商问卷调查','商户寻租管理','轮播图设置','平台活动','客服配置'], | 639 | + ['问卷调查'], |
| 640 | + // ['招商资源监测','商家管理','招商方案管理','招商租赁管理','广告服务','客服服务管理','系统设置','商铺租赁服务','招商过程管理','问卷调查','商户寻租管理','轮播图设置','平台活动','客服配置'], | ||
| 641 | ['品牌策划','活动策划','氛围策划','媒体推广'], | 641 | ['品牌策划','活动策划','氛围策划','媒体推广'], |
| 642 | ['订单管理',,'积分管理','消息中心','会员管理','评论管理','商品管理','库存管理','销售统计','平台活动'], | 642 | ['订单管理',,'积分管理','消息中心','会员管理','评论管理','商品管理','库存管理','销售统计','平台活动'], |
| 643 | ['联机交易'], | 643 | ['联机交易'], |
admin-web-master/src/main.js
| @@ -26,7 +26,7 @@ import '@/permission' // permission control | @@ -26,7 +26,7 @@ import '@/permission' // permission control | ||
| 26 | */ | 26 | */ |
| 27 | Vue.prototype.$echarts = echarts | 27 | Vue.prototype.$echarts = echarts |
| 28 | Vue.prototype.$API = 'https://jy.scjysm.asia:18086/meserver/api' | 28 | Vue.prototype.$API = 'https://jy.scjysm.asia:18086/meserver/api' |
| 29 | -// https://jy.scjysm.asia:18086/meserver/api http://172.16.61.126:8080/meserver/api | 29 | +// https://jy.scjysm.asia:18086 http://172.16.61.126:8080 http://8.130.38.56:8027 |
| 30 | // if (process.env.NODE_ENV === 'production') { | 30 | // if (process.env.NODE_ENV === 'production') { |
| 31 | // const { mockXHR } = require('../mock') | 31 | // const { mockXHR } = require('../mock') |
| 32 | // mockXHR() | 32 | // mockXHR() |
admin-web-master/src/utils/request.js
| @@ -12,12 +12,12 @@ import { | @@ -12,12 +12,12 @@ import { | ||
| 12 | const host = window.location.host; | 12 | const host = window.location.host; |
| 13 | let PREFIX; | 13 | let PREFIX; |
| 14 | if (host == '172.16.61.48' || host == '172.16.61.49 :5173' || host =='172.16.61.123:9003') { | 14 | if (host == '172.16.61.48' || host == '172.16.61.49 :5173' || host =='172.16.61.123:9003') { |
| 15 | - PREFIX = 'https://jy.scjysm.asia:18086/meserver/admin-server'; | ||
| 16 | - // PREFIX = 'http://172.16.61.126:8080/meserver/admin-server'; | 15 | + // PREFIX = 'https://jy.scjysm.asia:18086/meserver/admin-server'; |
| 16 | + PREFIX = 'http://172.16.61.126:8080/meserver/admin-server'; | ||
| 17 | }else if( host == 'localhost:9528' || host == '8.130.38.56:8027' || host == 'localhost:9529'){ | 17 | }else if( host == 'localhost:9528' || host == '8.130.38.56:8027' || host == 'localhost:9529'){ |
| 18 | // 其他情况的默认值 | 18 | // 其他情况的默认值 |
| 19 | - // PREFIX = 'http://8.130.38.56:8027/admin-server'; | ||
| 20 | - PREFIX = 'https://jy.scjysm.asia:18086/meserver/admin-server'; | 19 | + PREFIX = 'http://8.130.38.56:8027/admin-server'; |
| 20 | + // PREFIX = 'https://jy.scjysm.asia:18086/meserver/admin-server'; | ||
| 21 | // PREFIX = 'http://172.16.61.126:8080/meserver/admin-server'; | 21 | // PREFIX = 'http://172.16.61.126:8080/meserver/admin-server'; |
| 22 | 22 | ||
| 23 | }else{ | 23 | }else{ |
admin-web-master/src/views/customer/icManagement/index.vue
| @@ -204,7 +204,7 @@ | @@ -204,7 +204,7 @@ | ||
| 204 | > | 204 | > |
| 205 | <el-tabs v-model="card" @tab-click="handleClick"> | 205 | <el-tabs v-model="card" @tab-click="handleClick"> |
| 206 | <el-tab-pane label="意向客户信息" name="first"> | 206 | <el-tab-pane label="意向客户信息" name="first"> |
| 207 | - <el-form ref="ruleForm" :model="secondData" label-width="130px"> | 207 | + <el-form ref="ruleForm" :model="secondData" label-width="150px"> |
| 208 | <el-form-item label="主体名称" prop="subjectName"> | 208 | <el-form-item label="主体名称" prop="subjectName"> |
| 209 | <el-input | 209 | <el-input |
| 210 | v-model="secondData.subjectName" | 210 | v-model="secondData.subjectName" |
| @@ -349,8 +349,9 @@ | @@ -349,8 +349,9 @@ | ||
| 349 | <el-step title="联系人信息" /> | 349 | <el-step title="联系人信息" /> |
| 350 | </el-steps> | 350 | </el-steps> |
| 351 | </div> | 351 | </div> |
| 352 | + <el-form ref="AddFrom" :model="ruleForm" :rules="rules" label-width="150px"> | ||
| 352 | <div v-if="stepNum == 0" style="padding: 0 20px 20px 20px"> | 353 | <div v-if="stepNum == 0" style="padding: 0 20px 20px 20px"> |
| 353 | - <el-form ref="AddFrom" :model="ruleForm" :rules="rules" label-width="130px"> | 354 | + |
| 354 | <el-form-item label="主体名称" prop="subjectName"> | 355 | <el-form-item label="主体名称" prop="subjectName"> |
| 355 | <el-input | 356 | <el-input |
| 356 | v-model="ruleForm.subjectName" | 357 | v-model="ruleForm.subjectName" |
| @@ -407,18 +408,15 @@ | @@ -407,18 +408,15 @@ | ||
| 407 | /> | 408 | /> |
| 408 | </el-form-item> | 409 | </el-form-item> |
| 409 | <el-form-item label="营业期限" prop="yytime"> | 410 | <el-form-item label="营业期限" prop="yytime"> |
| 410 | - <el-date-picker style="width: 100%;" v-model="businessStartDate" value-format="yyyy-MM-dd" | ||
| 411 | - type="datetimerange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" align="right" > | 411 | + <el-date-picker style="width: 100%;" v-model="ruleForm.yytime" value-format="yyyy-MM-dd" type="daterange" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" align="right" > |
| 412 | </el-date-picker> | 412 | </el-date-picker> |
| 413 | </el-form-item> | 413 | </el-form-item> |
| 414 | <el-form-item label="营业执照" prop="businessLicense"> | 414 | <el-form-item label="营业执照" prop="businessLicense"> |
| 415 | <upimg v-model="ruleForm.businessLicense" :limit="1" :fileSize="1"></upimg> | 415 | <upimg v-model="ruleForm.businessLicense" :limit="1" :fileSize="1"></upimg> |
| 416 | </el-form-item> | 416 | </el-form-item> |
| 417 | - </el-form> | 417 | + |
| 418 | </div> | 418 | </div> |
| 419 | <div v-else style="padding: 0 20px 20px 20px"> | 419 | <div v-else style="padding: 0 20px 20px 20px"> |
| 420 | - | ||
| 421 | - <el-form ref="AddFrom" :model="ruleForm" :rules="rules" label-width="130px"> | ||
| 422 | <el-form-item label="联系人名称" prop="contactName"> | 420 | <el-form-item label="联系人名称" prop="contactName"> |
| 423 | <el-input | 421 | <el-input |
| 424 | v-model="ruleForm.contactName" | 422 | v-model="ruleForm.contactName" |
| @@ -444,8 +442,9 @@ | @@ -444,8 +442,9 @@ | ||
| 444 | <el-option label="总经理" value="总经理" /> | 442 | <el-option label="总经理" value="总经理" /> |
| 445 | </el-select> | 443 | </el-select> |
| 446 | </el-form-item> | 444 | </el-form-item> |
| 447 | - </el-form> | 445 | + |
| 448 | </div> | 446 | </div> |
| 447 | + </el-form> | ||
| 449 | </div> | 448 | </div> |
| 450 | 449 | ||
| 451 | <template #footer> | 450 | <template #footer> |
| @@ -541,6 +540,7 @@ export default { | @@ -541,6 +540,7 @@ export default { | ||
| 541 | contactPhone:'',//联系电话 | 540 | contactPhone:'',//联系电话 |
| 542 | position:'',//职位 | 541 | position:'',//职位 |
| 543 | auditStatus:'1', | 542 | auditStatus:'1', |
| 543 | + yytime:[] | ||
| 544 | }, | 544 | }, |
| 545 | card: 'first', // 切换 | 545 | card: 'first', // 切换 |
| 546 | stepNum:0, | 546 | stepNum:0, |
| @@ -592,7 +592,7 @@ export default { | @@ -592,7 +592,7 @@ export default { | ||
| 592 | message: '请输入成立日期', | 592 | message: '请输入成立日期', |
| 593 | trigger: 'blur' | 593 | trigger: 'blur' |
| 594 | }, ], | 594 | }, ], |
| 595 | - planningName: [{ | 595 | + yytime: [{ |
| 596 | required: true, | 596 | required: true, |
| 597 | message: '请选择营业期限', | 597 | message: '请选择营业期限', |
| 598 | trigger: 'change' | 598 | trigger: 'change' |
| @@ -639,7 +639,7 @@ export default { | @@ -639,7 +639,7 @@ export default { | ||
| 639 | const minutes = now.getMinutes().toString().padStart(2, '0'); | 639 | const minutes = now.getMinutes().toString().padStart(2, '0'); |
| 640 | const seconds = now.getSeconds().toString().padStart(2, '0'); | 640 | const seconds = now.getSeconds().toString().padStart(2, '0'); |
| 641 | 641 | ||
| 642 | - return `${year}-${month}-${day} ${hours}:${minutes}:${seconds}`; | 642 | + return `${year}-${month}-${day} ${hours}:${minutes}`; |
| 643 | }, | 643 | }, |
| 644 | handleSelectionChange(val) { | 644 | handleSelectionChange(val) { |
| 645 | this.multipleSelection = val; | 645 | this.multipleSelection = val; |
| @@ -721,22 +721,54 @@ export default { | @@ -721,22 +721,54 @@ export default { | ||
| 721 | contactName:'',//联系人名称 | 721 | contactName:'',//联系人名称 |
| 722 | contactPhone:'',//联系电话 | 722 | contactPhone:'',//联系电话 |
| 723 | position:'',//职位 | 723 | position:'',//职位 |
| 724 | - auditStatus:'1' | 724 | + auditStatus:'1', |
| 725 | + yytime:[] | ||
| 725 | } | 726 | } |
| 726 | this.ggXin = true; | 727 | this.ggXin = true; |
| 727 | - this.getAll(); | 728 | + |
| 728 | }, | 729 | }, |
| 729 | // 新增确定 | 730 | // 新增确定 |
| 730 | - async addCheck() { | ||
| 731 | - if(this.businessStartDate.length !=0){ | ||
| 732 | - this.ruleForm.businessStartDate = this.businessStartDate[0] | ||
| 733 | - this.ruleForm.businessEndDate = this.businessStartDate[1] | ||
| 734 | - } | 731 | + addCheck() { |
| 732 | + | ||
| 733 | + this.$refs.AddFrom.validate((valid) => { | ||
| 734 | + console.log(valid) | ||
| 735 | + if (valid) { | ||
| 736 | + console.log(this.ruleForm.yytime) | ||
| 737 | + if(this.ruleForm.yytime.length !=0 ){ | ||
| 738 | + | ||
| 739 | + this.ruleForm.businessStartDate = this.ruleForm.yytime[0] | ||
| 740 | + this.ruleForm.businessEndDate = this.ruleForm.yytime[1] | ||
| 741 | + }else{ | ||
| 742 | + this.$message({ | ||
| 743 | + message: '请选择营业期限', | ||
| 744 | + | ||
| 745 | + }) | ||
| 746 | + return | ||
| 747 | + } | ||
| 748 | + // this.ruleForm.yytime =[] | ||
| 749 | + if(this.fileList.length !=0){ | ||
| 750 | + this.form.annex = JSON.stringify(this.fileList[0]) | ||
| 751 | + } | ||
| 752 | + icManAdd(this.ruleForm).then(res => { | ||
| 753 | + this.$message({ | ||
| 754 | + message: '保存成功', | ||
| 755 | + type: 'success' | ||
| 756 | + }) | ||
| 757 | + this.getAll(); | ||
| 758 | + this.stepNum = 0 | ||
| 759 | + this.ggXin = false | ||
| 760 | + this.$refs.AddFrom.resetFields() | ||
| 761 | + }) | ||
| 762 | + } else { | ||
| 763 | + this.$message({ | ||
| 764 | + message: '请填写完整信息', | ||
| 765 | + type: 'error' | ||
| 766 | + }) | ||
| 767 | + return false; | ||
| 768 | + } | ||
| 769 | + }) | ||
| 770 | + | ||
| 735 | 771 | ||
| 736 | - await icManAdd(this.ruleForm) | ||
| 737 | - this.getAll(); | ||
| 738 | - this.stepNum = 0 | ||
| 739 | - this.ggXin = false | ||
| 740 | }, | 772 | }, |
| 741 | handleCurrentChange(val) { | 773 | handleCurrentChange(val) { |
| 742 | this.currentPage = val; | 774 | this.currentPage = val; |
admin-web-master/src/views/investigation/answerSheet.vue
| @@ -2,7 +2,7 @@ | @@ -2,7 +2,7 @@ | ||
| 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;"> | 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">问卷审核</span></div> |
| 7 | </div> | 7 | </div> |
| 8 | <!-- 线上 --> | 8 | <!-- 线上 --> |
| @@ -66,7 +66,7 @@ | @@ -66,7 +66,7 @@ | ||
| 66 | </el-table-column> | 66 | </el-table-column> |
| 67 | <el-table-column prop="reviewStatus" label="状态" min-width="120"> | 67 | <el-table-column prop="reviewStatus" label="状态" min-width="120"> |
| 68 | <template slot-scope="scope"> | 68 | <template slot-scope="scope"> |
| 69 | - {{scope.row.reviewStatus == '1'?'待发布':scope.row.reviewStatus == '2'?'待审批':scope.row.reviewStatus == '3'?'审核通过':scope.row.reviewStatus == '4'?'不通过':'已下架'}} | 69 | + {{scope.row.reviewStatus == '1'?'待提交':scope.row.reviewStatus == '2'?'待审核':scope.row.reviewStatus == '3'?'审核通过':scope.row.reviewStatus == '4'?'不通过':'已下架'}} |
| 70 | </template> | 70 | </template> |
| 71 | </el-table-column> | 71 | </el-table-column> |
| 72 | <el-table-column label="操作" min-width="280"> | 72 | <el-table-column label="操作" min-width="280"> |
| @@ -104,7 +104,7 @@ | @@ -104,7 +104,7 @@ | ||
| 104 | <template slot="label"> | 104 | <template slot="label"> |
| 105 | 状态 | 105 | 状态 |
| 106 | </template> | 106 | </template> |
| 107 | - {{secondData.reviewStatus == '1'?'待发布':secondData.reviewStatus == '2'?'待审批':secondData.reviewStatus == '3'?'审核通过':secondData.reviewStatus == '4'?'不通过':'已下架'}} | 107 | + {{secondData.reviewStatus == '1'?'待提交':secondData.reviewStatus == '2'?'待审核':secondData.reviewStatus == '3'?'审核通过':secondData.reviewStatus == '4'?'不通过':'已下架'}} |
| 108 | </el-descriptions-item> | 108 | </el-descriptions-item> |
| 109 | 109 | ||
| 110 | <el-descriptions-item> | 110 | <el-descriptions-item> |
| @@ -242,7 +242,7 @@ | @@ -242,7 +242,7 @@ | ||
| 242 | </el-dialog> | 242 | </el-dialog> |
| 243 | <el-dialog | 243 | <el-dialog |
| 244 | width="40%" | 244 | width="40%" |
| 245 | - title="流程审批" | 245 | + title="审核" |
| 246 | custom-class='liucheng_css' | 246 | custom-class='liucheng_css' |
| 247 | :visible.sync="Liunie" | 247 | :visible.sync="Liunie" |
| 248 | :close-on-click-modal="false" :close-on-press-escape="false" :show-close='false' | 248 | :close-on-click-modal="false" :close-on-press-escape="false" :show-close='false' |
| @@ -334,7 +334,7 @@ | @@ -334,7 +334,7 @@ | ||
| 334 | <template slot="label"> | 334 | <template slot="label"> |
| 335 | 状态 | 335 | 状态 |
| 336 | </template> | 336 | </template> |
| 337 | - {{secondData.reviewStatus == '1'?'待发布':secondData.reviewStatus == '2'?'待审批':secondData.reviewStatus == '3'?'审核通过':secondData.reviewStatus == '4'?'不通过':''}} | 337 | + {{secondData.reviewStatus == '1'?'待提交':secondData.reviewStatus == '2'?'待审核':secondData.reviewStatus == '3'?'审核通过':secondData.reviewStatus == '4'?'不通过':''}} |
| 338 | </el-descriptions-item> | 338 | </el-descriptions-item> |
| 339 | 339 | ||
| 340 | <el-descriptions-item> | 340 | <el-descriptions-item> |
admin-web-master/src/views/investigation/index.vue
| @@ -2,7 +2,7 @@ | @@ -2,7 +2,7 @@ | ||
| 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;"> | 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">问卷管理</span></div> |
| 7 | </div> | 7 | </div> |
| 8 | <!-- 线上 --> | 8 | <!-- 线上 --> |
| @@ -23,11 +23,11 @@ | @@ -23,11 +23,11 @@ | ||
| 23 | </el-form-item> | 23 | </el-form-item> |
| 24 | <el-form-item label="状态"> | 24 | <el-form-item label="状态"> |
| 25 | <el-select v-model="formSel.reviewStatus" placeholder="请选择" style="width:168px;margin-right: 15px"> | 25 | <el-select v-model="formSel.reviewStatus" placeholder="请选择" style="width:168px;margin-right: 15px"> |
| 26 | - <el-option label="待发布" value="1" /> | 26 | + <el-option label="待提交" value="1" /> |
| 27 | <el-option label="待审核" value="2" /> | 27 | <el-option label="待审核" value="2" /> |
| 28 | <el-option label="已通过" value="3" /> | 28 | <el-option label="已通过" value="3" /> |
| 29 | <el-option label="不通过" value="4" /> | 29 | <el-option label="不通过" value="4" /> |
| 30 | - <el-option label="已下架" value="5" /> | 30 | + <el-option label="已禁用" value="5" /> |
| 31 | </el-select> | 31 | </el-select> |
| 32 | </el-form-item> | 32 | </el-form-item> |
| 33 | </el-form> | 33 | </el-form> |
| @@ -74,18 +74,18 @@ | @@ -74,18 +74,18 @@ | ||
| 74 | </el-table-column> | 74 | </el-table-column> |
| 75 | <el-table-column prop="reviewStatus" label="状态" min-width="120"> | 75 | <el-table-column prop="reviewStatus" label="状态" min-width="120"> |
| 76 | <template slot-scope="scope"> | 76 | <template slot-scope="scope"> |
| 77 | - {{scope.row.reviewStatus == '1'?'待发布':scope.row.reviewStatus == '2'?'待审批':scope.row.reviewStatus == '3'?'已通过':scope.row.reviewStatus == '4'?'不通过':'已下架'}} | 77 | + {{scope.row.reviewStatus == '1'?'待提交':scope.row.reviewStatus == '2'?'待审核':scope.row.reviewStatus == '3'?'已通过':scope.row.reviewStatus == '4'?'不通过':'已禁用'}} |
| 78 | </template> | 78 | </template> |
| 79 | </el-table-column> | 79 | </el-table-column> |
| 80 | <el-table-column label="操作" min-width="280"> | 80 | <el-table-column label="操作" min-width="280"> |
| 81 | <template slot-scope="scope"> | 81 | <template slot-scope="scope"> |
| 82 | <div @click="details(0,scope.row)" class="tableBtn greens">查看</div> | 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> | 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> | 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" | 86 | <div @click="tongji(scope.row)" class="tableBtn greens" |
| 87 | v-if="scope.row.reviewStatus =='3' || scope.row.reviewStatus =='5'">统计</div> | 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> | 88 | + <div @click="delwen(scope.row)" class="tableBtn greens" >删除</div> |
| 89 | <div @click="yulan(scope.row)" class="tableBtn greens" | 89 | <div @click="yulan(scope.row)" class="tableBtn greens" |
| 90 | v-if="scope.row.reviewStatus =='3' || scope.row.reviewStatus =='1'">预览</div> | 90 | v-if="scope.row.reviewStatus =='3' || scope.row.reviewStatus =='1'">预览</div> |
| 91 | <!-- <div @click="addbuss(3,scope.row)" class="tableBtn greens">终止</div> --> | 91 | <!-- <div @click="addbuss(3,scope.row)" class="tableBtn greens">终止</div> --> |
| @@ -100,7 +100,7 @@ | @@ -100,7 +100,7 @@ | ||
| 100 | </div> | 100 | </div> |
| 101 | </div> | 101 | </div> |
| 102 | <!-- 统计 --> | 102 | <!-- 统计 --> |
| 103 | - <div v-if="tongjiBox"> | 103 | + <div v-show="tongjiBox"> |
| 104 | <div> | 104 | <div> |
| 105 | <div style="display: flex;"> | 105 | <div style="display: flex;"> |
| 106 | <img :src="secondData.coverImage" alt="" | 106 | <img :src="secondData.coverImage" alt="" |
| @@ -180,9 +180,10 @@ | @@ -180,9 +180,10 @@ | ||
| 180 | </div> | 180 | </div> |
| 181 | </div> | 181 | </div> |
| 182 | <div style="margin: 20px 0;font-size: 18px;">题目统计</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" | ||
| 185 | + :index="index" v-for="(item,index) in tuwent" :ref="'chat'+index" /> | ||
| 183 | 186 | ||
| 184 | - <dynamic-chart-table ref="chat" :title="item.tikuTitle" :tableData="tongjiTu" :index="index" | ||
| 185 | - v-for="(item,index) in tuwent" v-if="item.questionType !='文本'" /> | ||
| 186 | 187 | ||
| 187 | <!-- <tiaoxing :title="item.tikuTitle" :tableData="tongjiTu.cereQuestionManagements" v-if="item.questionType=='多选'" v-for="(item,index) in tongjiTu.cereQuestionManagements"> --> | 188 | <!-- <tiaoxing :title="item.tikuTitle" :tableData="tongjiTu.cereQuestionManagements" v-if="item.questionType=='多选'" v-for="(item,index) in tongjiTu.cereQuestionManagements"> --> |
| 188 | 189 | ||
| @@ -205,7 +206,7 @@ | @@ -205,7 +206,7 @@ | ||
| 205 | <div style="padding:20px;"> | 206 | <div style="padding:20px;"> |
| 206 | <div style="font-size: 14px;padding-bottom: 20px;color: #000;">答卷详情</div> | 207 | <div style="font-size: 14px;padding-bottom: 20px;color: #000;">答卷详情</div> |
| 207 | <div style="display:flex;border-top: 1px solid #dddfe5;"> | 208 | <div style="display:flex;border-top: 1px solid #dddfe5;"> |
| 208 | - <div style="padding:20px 20px 0 0;border-right: 1px solid #dddfe5;width:20%"> | 209 | + <div style="padding:20px 20px 0 0;border-right: 1px solid #dddfe5;width:25%"> |
| 209 | <div style="margin-bottom:20px;">基本信息</div> | 210 | <div style="margin-bottom:20px;">基本信息</div> |
| 210 | <div> | 211 | <div> |
| 211 | <div style="margin-bottom:15px;">提交人:<span style="color:#000">{{daxiangData.userName}}</span></div> | 212 | <div style="margin-bottom:15px;">提交人:<span style="color:#000">{{daxiangData.userName}}</span></div> |
| @@ -278,7 +279,7 @@ | @@ -278,7 +279,7 @@ | ||
| 278 | <template slot="label"> | 279 | <template slot="label"> |
| 279 | 状态 | 280 | 状态 |
| 280 | </template> | 281 | </template> |
| 281 | - {{secondData.reviewStatus == '1'?'待发布':secondData.reviewStatus == '2'?'待审批':secondData.reviewStatus == '3'?'审核通过':secondData.reviewStatus == '4'?'不通过':'已下架'}} | 282 | + {{secondData.reviewStatus == '1'?'待提交':secondData.reviewStatus == '2'?'待审核':secondData.reviewStatus == '3'?'审核通过':secondData.reviewStatus == '4'?'不通过':'已禁用'}} |
| 282 | </el-descriptions-item> | 283 | </el-descriptions-item> |
| 283 | 284 | ||
| 284 | <el-descriptions-item> | 285 | <el-descriptions-item> |
| @@ -353,13 +354,13 @@ | @@ -353,13 +354,13 @@ | ||
| 353 | {{scope.$index +1}} | 354 | {{scope.$index +1}} |
| 354 | </template> | 355 | </template> |
| 355 | </el-table-column> | 356 | </el-table-column> |
| 356 | - <el-table-column label="问卷题目" min-width="300" prop="tikuTitle"> | 357 | + <el-table-column label="题目" min-width="300" prop="tikuTitle"> |
| 357 | </el-table-column> | 358 | </el-table-column> |
| 358 | - <el-table-column label="问题类型" min-width="80" prop="questionType"> | 359 | + <el-table-column label="题型" min-width="80" prop="questionType"> |
| 359 | </el-table-column> | 360 | </el-table-column> |
| 360 | <el-table-column label="是否必填" prop="isRequired" min-width="80"> | 361 | <el-table-column label="是否必填" prop="isRequired" min-width="80"> |
| 361 | </el-table-column> | 362 | </el-table-column> |
| 362 | - <el-table-column label="答案设置" min-width="120"> | 363 | + <el-table-column label="选项" min-width="120"> |
| 363 | <template slot-scope="scope"> | 364 | <template slot-scope="scope"> |
| 364 | <div v-for="(value, key) in scope.row.optionSettings " :key="key" v-if="scope.row.questionType !='文本'"> | 365 | <div v-for="(value, key) in scope.row.optionSettings " :key="key" v-if="scope.row.questionType !='文本'"> |
| 365 | {{ key }}:{{ value }} | 366 | {{ key }}:{{ value }} |
| @@ -395,20 +396,20 @@ | @@ -395,20 +396,20 @@ | ||
| 395 | </el-descriptions> | 396 | </el-descriptions> |
| 396 | <div style="padding: 20px 0 ;">审核信息</div> | 397 | <div style="padding: 20px 0 ;">审核信息</div> |
| 397 | <el-descriptions class="margin-top" :column="3" border :labelStyle="labelStyle" :contentStyle="contentStyle"> | 398 | <el-descriptions class="margin-top" :column="3" border :labelStyle="labelStyle" :contentStyle="contentStyle"> |
| 398 | - <el-descriptions-item> | ||
| 399 | - <template slot="label"> | ||
| 400 | - 审核状态 | ||
| 401 | - </template> | ||
| 402 | - {{secondData.reviewStatus == '1'?'待发布':secondData.reviewStatus == '2'?'待审批':secondData.reviewStatus == '3'?'审核通过':secondData.reviewStatus == '4'?'不通过':'已下架'}} | ||
| 403 | - </el-descriptions-item> | ||
| 404 | - <el-descriptions-item> | ||
| 405 | - <template slot="label"> | ||
| 406 | - 审核意见 | ||
| 407 | - </template> | ||
| 408 | - {{secondData.reviewComments}} | ||
| 409 | - </el-descriptions-item> | 399 | + <el-descriptions-item> |
| 400 | + <template slot="label"> | ||
| 401 | + 审核状态 | ||
| 402 | + </template> | ||
| 403 | + {{secondData.reviewStatus == '1'?'待提交':secondData.reviewStatus == '2'?'待审核':secondData.reviewStatus == '3'?'审核通过':secondData.reviewStatus == '4'?'不通过':'已禁用'}} | ||
| 404 | + </el-descriptions-item> | ||
| 405 | + <el-descriptions-item> | ||
| 406 | + <template slot="label"> | ||
| 407 | + 审核意见 | ||
| 408 | + </template> | ||
| 409 | + {{secondData.reviewComments}} | ||
| 410 | + </el-descriptions-item> | ||
| 410 | 411 | ||
| 411 | - </el-descriptions> | 412 | + </el-descriptions> |
| 412 | </div> | 413 | </div> |
| 413 | 414 | ||
| 414 | <div style="padding-top:20px;display:flex;justify-content: flex-end;"> | 415 | <div style="padding-top:20px;display:flex;justify-content: flex-end;"> |
| @@ -443,6 +444,7 @@ | @@ -443,6 +444,7 @@ | ||
| 443 | <el-form-item label="问卷起止时间" prop=""> | 444 | <el-form-item label="问卷起止时间" prop=""> |
| 444 | <el-date-picker style="width: 100%;" v-model="Xin_Time" value-format="yyyy-MM-dd" type="daterange" | 445 | <el-date-picker style="width: 100%;" v-model="Xin_Time" value-format="yyyy-MM-dd" type="daterange" |
| 445 | range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" align="right" | 446 | range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" align="right" |
| 447 | + > | ||
| 446 | :picker-options="pickerOptions"> | 448 | :picker-options="pickerOptions"> |
| 447 | </el-date-picker> | 449 | </el-date-picker> |
| 448 | </el-form-item> | 450 | </el-form-item> |
| @@ -494,6 +496,31 @@ | @@ -494,6 +496,31 @@ | ||
| 494 | <!-- <div style="position: absolute;left:160px;height:80px;">()</div> --> | 496 | <!-- <div style="position: absolute;left:160px;height:80px;">()</div> --> |
| 495 | </div> | 497 | </div> |
| 496 | </el-form-item> | 498 | </el-form-item> |
| 499 | + <el-form-item label="姓名" prop="needName"> | ||
| 500 | + <el-radio-group v-model="formInline.needName" style="margin-top:13px;"> | ||
| 501 | + <el-radio label="必填">必填</el-radio> | ||
| 502 | + <el-radio label="不填">不填</el-radio> | ||
| 503 | + </el-radio-group> | ||
| 504 | + </el-form-item> | ||
| 505 | + <el-form-item label="电话" prop="needPhone"> | ||
| 506 | + <el-radio-group v-model="formInline.needPhone" 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="needGender"> | ||
| 512 | + <el-radio-group v-model="formInline.needGender" 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 | + | ||
| 518 | + <el-form-item label="意见" prop="needOpinion"> | ||
| 519 | + <el-radio-group v-model="formInline.needOpinion" style="margin-top:13px;"> | ||
| 520 | + <el-radio label="必填">必填</el-radio> | ||
| 521 | + <el-radio label="不填">不填</el-radio> | ||
| 522 | + </el-radio-group> | ||
| 523 | + </el-form-item> | ||
| 497 | </el-form> | 524 | </el-form> |
| 498 | </div> | 525 | </div> |
| 499 | <div v-if="formInline.filler=='会员'"> | 526 | <div v-if="formInline.filler=='会员'"> |
| @@ -553,9 +580,9 @@ | @@ -553,9 +580,9 @@ | ||
| 553 | {{scope.$index + 1}} | 580 | {{scope.$index + 1}} |
| 554 | </template> | 581 | </template> |
| 555 | </el-table-column> | 582 | </el-table-column> |
| 556 | - <el-table-column label="问卷题目" min-width="300" prop="tikuTitle"> | 583 | + <el-table-column label="题目" min-width="300" prop="tikuTitle"> |
| 557 | </el-table-column> | 584 | </el-table-column> |
| 558 | - <el-table-column label="问题类型" min-width="150" prop="questionType"> | 585 | + <el-table-column label="题型" min-width="150" prop="questionType"> |
| 559 | </el-table-column> | 586 | </el-table-column> |
| 560 | <el-table-column label="是否必填" prop="isRequired" min-width="150"> | 587 | <el-table-column label="是否必填" prop="isRequired" min-width="150"> |
| 561 | </el-table-column> | 588 | </el-table-column> |
| @@ -677,7 +704,7 @@ | @@ -677,7 +704,7 @@ | ||
| 677 | </el-descriptions-item> | 704 | </el-descriptions-item> |
| 678 | <el-descriptions-item> | 705 | <el-descriptions-item> |
| 679 | <template slot="label"> | 706 | <template slot="label"> |
| 680 | - 答案设置 | 707 | + 选项 |
| 681 | </template> | 708 | </template> |
| 682 | <div v-for="(value, key) in timuData.optionSettings" :key="key"> | 709 | <div v-for="(value, key) in timuData.optionSettings" :key="key"> |
| 683 | {{ key }}:{{ value }} | 710 | {{ key }}:{{ value }} |
| @@ -698,7 +725,7 @@ | @@ -698,7 +725,7 @@ | ||
| 698 | :close-on-click-modal="false" append-to-body @close="quxiao(1)"> | 725 | :close-on-click-modal="false" append-to-body @close="quxiao(1)"> |
| 699 | <div style="padding:20px;"> | 726 | <div style="padding:20px;"> |
| 700 | <div style="font-size: 14px;padding-bottom: 20px;color: #000;"> | 727 | <div style="font-size: 14px;padding-bottom: 20px;color: #000;"> |
| 701 | - 新增题型 | 728 | + 新增题目 |
| 702 | </div> | 729 | </div> |
| 703 | <div style="padding:20px;"> | 730 | <div style="padding:20px;"> |
| 704 | <el-form ref="tixform" :model="zhong" :rules="tixrules" label-width="140px"> | 731 | <el-form ref="tixform" :model="zhong" :rules="tixrules" label-width="140px"> |
| @@ -732,7 +759,7 @@ | @@ -732,7 +759,7 @@ | ||
| 732 | </el-form-item> | 759 | </el-form-item> |
| 733 | 760 | ||
| 734 | 761 | ||
| 735 | - <el-form-item label="答案设置" v-if="zhong.questionType !='文本'" prop="optionSettings"> | 762 | + <el-form-item label="选项" v-if="zhong.questionType !='文本'" prop="optionSettings"> |
| 736 | <el-table :data="options" | 763 | <el-table :data="options" |
| 737 | :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}"> | 764 | :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}"> |
| 738 | <el-table-column prop="index" label="序号" width="180"> | 765 | <el-table-column prop="index" label="序号" width="180"> |
| @@ -844,6 +871,31 @@ | @@ -844,6 +871,31 @@ | ||
| 844 | <el-form-item label="问卷封面" prop="coverImage"> | 871 | <el-form-item label="问卷封面" prop="coverImage"> |
| 845 | <upimg v-model="secondData.coverImage" :limit="1" :fileSize="1" :isShowTip="false"></upimg> | 872 | <upimg v-model="secondData.coverImage" :limit="1" :fileSize="1" :isShowTip="false"></upimg> |
| 846 | </el-form-item> | 873 | </el-form-item> |
| 874 | + <el-form-item label="姓名" prop="needName"> | ||
| 875 | + <el-radio-group v-model="secondData.needName" style="margin-top:13px;"> | ||
| 876 | + <el-radio label="必填">必填</el-radio> | ||
| 877 | + <el-radio label="不填">不填</el-radio> | ||
| 878 | + </el-radio-group> | ||
| 879 | + </el-form-item> | ||
| 880 | + <el-form-item label="电话" prop="needPhone"> | ||
| 881 | + <el-radio-group v-model="secondData.needPhone" style="margin-top:13px;"> | ||
| 882 | + <el-radio label="必填">必填</el-radio> | ||
| 883 | + <el-radio label="不填">不填</el-radio> | ||
| 884 | + </el-radio-group> | ||
| 885 | + </el-form-item> | ||
| 886 | + <el-form-item label="性别" prop="needGender"> | ||
| 887 | + <el-radio-group v-model="secondData.needGender" style="margin-top:13px;"> | ||
| 888 | + <el-radio label="必填">必填</el-radio> | ||
| 889 | + <el-radio label="不填">不填</el-radio> | ||
| 890 | + </el-radio-group> | ||
| 891 | + </el-form-item> | ||
| 892 | + | ||
| 893 | + <el-form-item label="意见" prop="needOpinion"> | ||
| 894 | + <el-radio-group v-model="secondData.needOpinion" style="margin-top:13px;"> | ||
| 895 | + <el-radio label="必填">必填</el-radio> | ||
| 896 | + <el-radio label="不填">不填</el-radio> | ||
| 897 | + </el-radio-group> | ||
| 898 | + </el-form-item> | ||
| 847 | </el-form> | 899 | </el-form> |
| 848 | </div> | 900 | </div> |
| 849 | <div style="border:1px solid #DCDFE6;font-size:14px;margin-bottom:10px;" v-if="secondData.filler=='会员'"> | 901 | <div style="border:1px solid #DCDFE6;font-size:14px;margin-bottom:10px;" v-if="secondData.filler=='会员'"> |
| @@ -901,9 +953,9 @@ | @@ -901,9 +953,9 @@ | ||
| 901 | {{scope.$index + 1}} | 953 | {{scope.$index + 1}} |
| 902 | </template> | 954 | </template> |
| 903 | </el-table-column> | 955 | </el-table-column> |
| 904 | - <el-table-column label="问卷题目" min-width="150" prop="tikuTitle"> | 956 | + <el-table-column label="题目" min-width="150" prop="tikuTitle"> |
| 905 | </el-table-column> | 957 | </el-table-column> |
| 906 | - <el-table-column label="问题类型" min-width="150" prop="questionType"> | 958 | + <el-table-column label="题型" min-width="150" prop="questionType"> |
| 907 | </el-table-column> | 959 | </el-table-column> |
| 908 | <el-table-column label="是否必填" prop="isRequired" min-width="150"> | 960 | <el-table-column label="是否必填" prop="isRequired" min-width="150"> |
| 909 | </el-table-column> | 961 | </el-table-column> |
| @@ -1018,7 +1070,7 @@ | @@ -1018,7 +1070,7 @@ | ||
| 1018 | 1070 | ||
| 1019 | <el-descriptions-item> | 1071 | <el-descriptions-item> |
| 1020 | <template slot="label"> | 1072 | <template slot="label"> |
| 1021 | - 答案设置 | 1073 | + 选项 |
| 1022 | </template> | 1074 | </template> |
| 1023 | <div v-for="(value, key) in timuData.optionSettings" :key="key"> | 1075 | <div v-for="(value, key) in timuData.optionSettings" :key="key"> |
| 1024 | {{ key }}:{{ value }} | 1076 | {{ key }}:{{ value }} |
| @@ -1039,7 +1091,7 @@ | @@ -1039,7 +1091,7 @@ | ||
| 1039 | :close-on-click-modal="false" append-to-body @close="quxiao(2)"> | 1091 | :close-on-click-modal="false" append-to-body @close="quxiao(2)"> |
| 1040 | <div style="padding:20px;"> | 1092 | <div style="padding:20px;"> |
| 1041 | <div style="font-size: 14px;padding-bottom: 20px;color: #000;"> | 1093 | <div style="font-size: 14px;padding-bottom: 20px;color: #000;"> |
| 1042 | - 新增题型 | 1094 | + 新增题目 |
| 1043 | </div> | 1095 | </div> |
| 1044 | <div style="padding:20px;"> | 1096 | <div style="padding:20px;"> |
| 1045 | <el-form ref="form" label-width="140px"> | 1097 | <el-form ref="form" label-width="140px"> |
| @@ -1070,7 +1122,7 @@ | @@ -1070,7 +1122,7 @@ | ||
| 1070 | <el-radio label="非必填">非必填</el-radio> | 1122 | <el-radio label="非必填">非必填</el-radio> |
| 1071 | </el-radio-group> | 1123 | </el-radio-group> |
| 1072 | </el-form-item> | 1124 | </el-form-item> |
| 1073 | - <el-form-item label="答案设置" v-if="zhong.questionType !='文本'" prop="optionSettings"> | 1125 | + <el-form-item label="选项" v-if="zhong.questionType !='文本'" prop="optionSettings"> |
| 1074 | <el-table :data="options" | 1126 | <el-table :data="options" |
| 1075 | :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}"> | 1127 | :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}"> |
| 1076 | <el-table-column prop="index" label="序号" width="180"> | 1128 | <el-table-column prop="index" label="序号" width="180"> |
| @@ -1115,17 +1167,17 @@ | @@ -1115,17 +1167,17 @@ | ||
| 1115 | </el-dialog> | 1167 | </el-dialog> |
| 1116 | 1168 | ||
| 1117 | 1169 | ||
| 1118 | - <!-- 下架 --> | 1170 | + <!-- 禁用 --> |
| 1119 | 1171 | ||
| 1120 | 1172 | ||
| 1121 | <el-dialog :visible.sync="downShow" custom-class="tongyong_css" style="padding: 0;" width="50%" center | 1173 | <el-dialog :visible.sync="downShow" custom-class="tongyong_css" style="padding: 0;" width="50%" center |
| 1122 | :close-on-click-modal="false" append-to-body> | 1174 | :close-on-click-modal="false" append-to-body> |
| 1123 | <div style="padding:20px;"> | 1175 | <div style="padding:20px;"> |
| 1124 | - <div style="font-size: 14px;padding-bottom: 20px;color: #000;">下架</div> | 1176 | + <div style="font-size: 14px;padding-bottom: 20px;color: #000;">禁用</div> |
| 1125 | <div style="padding:30px 0px 0px"> | 1177 | <div style="padding:30px 0px 0px"> |
| 1126 | <el-form ref="opinionForm" :model="opinionDel" label-width="120px" style="position: relative"> | 1178 | <el-form ref="opinionForm" :model="opinionDel" label-width="120px" style="position: relative"> |
| 1127 | - <el-form-item label="下架原因" class="grid-content bg-purple" prop="name"> | ||
| 1128 | - <el-input type="textarea" v-model="opinionDel.opinionDelisting" placeholder="请输入下架原因" /> | 1179 | + <el-form-item label="禁用原因" class="grid-content bg-purple" prop="name"> |
| 1180 | + <el-input type="textarea" v-model="opinionDel.opinionDelisting" placeholder="请输入禁用原因" /> | ||
| 1129 | </el-form-item> | 1181 | </el-form-item> |
| 1130 | 1182 | ||
| 1131 | </el-form> | 1183 | </el-form> |
| @@ -1176,7 +1228,7 @@ | @@ -1176,7 +1228,7 @@ | ||
| 1176 | 1228 | ||
| 1177 | <el-radio-group v-for="(val, idx) in item.options" v-if="item.type =='单选'" :key="idx" | 1229 | <el-radio-group v-for="(val, idx) in item.options" v-if="item.type =='单选'" :key="idx" |
| 1178 | style="display: content;flex-direction: column;width:100%;margin:0 0 4px 0"> | 1230 | style="display: content;flex-direction: column;width:100%;margin:0 0 4px 0"> |
| 1179 | - <el-radio disabled> | 1231 | + <el-radio disabled> |
| 1180 | <snap style=" white-space: normal !important; | 1232 | <snap style=" white-space: normal !important; |
| 1181 | word-break: break-all !important;"> | 1233 | word-break: break-all !important;"> |
| 1182 | {{val.answer}} | 1234 | {{val.answer}} |
| @@ -1223,20 +1275,22 @@ | @@ -1223,20 +1275,22 @@ | ||
| 1223 | </div> --> | 1275 | </div> --> |
| 1224 | 1276 | ||
| 1225 | <!-- 文本填写问题 --> | 1277 | <!-- 文本填写问题 --> |
| 1226 | - <div class="question"> | 1278 | + <div class=""> |
| 1227 | <!-- <p class="question-title">您的建议:</p > | 1279 | <!-- <p class="question-title">您的建议:</p > |
| 1228 | <textarea v-model="suggestion"></textarea> --> | 1280 | <textarea v-model="suggestion"></textarea> --> |
| 1229 | - <el-form label-position="right" :model="model1"> | ||
| 1230 | - <el-form-item label="姓名" prop="name"> | 1281 | + <el-form label-position="right" :model="model1" style="background-color:#fff;border-radius: 10px;"> |
| 1282 | + <el-form-item label="姓名" prop="name" v-if="secondData.needName == '必填'" | ||
| 1283 | + style="padding:10px 10px 0 10px;"> | ||
| 1231 | <el-input v-model="model1.name" placeholder="请输入姓名" disabled style="width:80%"></el-input> | 1284 | <el-input v-model="model1.name" placeholder="请输入姓名" disabled style="width:80%"></el-input> |
| 1232 | </el-form-item> | 1285 | </el-form-item> |
| 1233 | - <el-form-item label="电话" prop="phone"> | 1286 | + <el-form-item label="电话" prop="phone" v-if="secondData.needPhone == '必填'" style="padding: 0 10px;"> |
| 1234 | <el-input v-model="model1.phone" placeholder="请输入电话" disabled style="width:80%"></el-input> | 1287 | <el-input v-model="model1.phone" placeholder="请输入电话" disabled style="width:80%"></el-input> |
| 1235 | </el-form-item> | 1288 | </el-form-item> |
| 1236 | - <el-form-item label="性别" prop="sex"> | 1289 | + <el-form-item label="性别" prop="sex" v-if="secondData.needGender == '必填'" style="padding: 0 10px ;"> |
| 1237 | <el-input v-model="model1.sex" placeholder="请输入性别" disabled style="width:80%"></el-input> | 1290 | <el-input v-model="model1.sex" placeholder="请输入性别" disabled style="width:80%"></el-input> |
| 1238 | </el-form-item> | 1291 | </el-form-item> |
| 1239 | - <el-form-item label="意见" prop="yij"> | 1292 | + <el-form-item label="意见" prop="yij" v-if="secondData.needOpinion == '必填'" |
| 1293 | + style="padding:0 10px 10px 10px;"> | ||
| 1240 | <el-input type="textarea" v-model="model1.yij" placeholder="请输入内容" disabled | 1294 | <el-input type="textarea" v-model="model1.yij" placeholder="请输入内容" disabled |
| 1241 | style="width:80%"></el-input> | 1295 | style="width:80%"></el-input> |
| 1242 | </el-form-item> | 1296 | </el-form-item> |
| @@ -1324,9 +1378,13 @@ | @@ -1324,9 +1378,13 @@ | ||
| 1324 | rewardForParticipation: '不设置奖励', | 1378 | rewardForParticipation: '不设置奖励', |
| 1325 | questionId: '', | 1379 | questionId: '', |
| 1326 | responseStatus: '', | 1380 | responseStatus: '', |
| 1327 | - reviewStatus: '1' | 1381 | + reviewStatus: '1', |
| 1382 | + needName: '必填', | ||
| 1383 | + needPhone: '必填', | ||
| 1384 | + needGender: '必填', | ||
| 1385 | + needOpinion: '必填', | ||
| 1328 | }, | 1386 | }, |
| 1329 | - Xin_Time: this.getCurrentDateRange(), | 1387 | + Xin_Time: [], |
| 1330 | plan_Time: [], | 1388 | plan_Time: [], |
| 1331 | followUpTime: [], | 1389 | followUpTime: [], |
| 1332 | tableData: [], | 1390 | tableData: [], |
| @@ -1370,7 +1428,7 @@ | @@ -1370,7 +1428,7 @@ | ||
| 1370 | // { index: 1, name: '男', readonly: true }, | 1428 | // { index: 1, name: '男', readonly: true }, |
| 1371 | // { index: 2, name: '女', readonly: true } | 1429 | // { index: 2, name: '女', readonly: true } |
| 1372 | ], | 1430 | ], |
| 1373 | - tikuAdd: false, //新增题型 | 1431 | + tikuAdd: false, //新增题目 |
| 1374 | tongjiBox: false, //统计 | 1432 | tongjiBox: false, //统计 |
| 1375 | daxiangData: {}, | 1433 | daxiangData: {}, |
| 1376 | daxiangBox: false, | 1434 | daxiangBox: false, |
| @@ -1812,16 +1870,13 @@ | @@ -1812,16 +1870,13 @@ | ||
| 1812 | this.secondData.cereQuestionManagements.map((res, index) => { | 1870 | this.secondData.cereQuestionManagements.map((res, index) => { |
| 1813 | if (typeof res.optionSettings == 'string') { | 1871 | if (typeof res.optionSettings == 'string') { |
| 1814 | res.optionSettings = JSON.parse(res.optionSettings) | 1872 | res.optionSettings = JSON.parse(res.optionSettings) |
| 1815 | - | ||
| 1816 | } | 1873 | } |
| 1817 | - | ||
| 1818 | this.secondData.cereQuestionManagements[index].ziduan = [] | 1874 | this.secondData.cereQuestionManagements[index].ziduan = [] |
| 1819 | }) | 1875 | }) |
| 1820 | 1876 | ||
| 1821 | 1877 | ||
| 1822 | const postData = { | 1878 | const postData = { |
| 1823 | questionnaireId: item.id, | 1879 | questionnaireId: item.id, |
| 1824 | - | ||
| 1825 | } | 1880 | } |
| 1826 | 1881 | ||
| 1827 | const postList = { | 1882 | const postList = { |
| @@ -1850,22 +1905,58 @@ | @@ -1850,22 +1905,58 @@ | ||
| 1850 | // } | 1905 | // } |
| 1851 | 1906 | ||
| 1852 | 1907 | ||
| 1853 | - // let NewArr = response.data.data.cereQuestionnaireTable.cereQuestionManagements.filter((res, index) => { | 1908 | + // let NewArr = obj.cereQuestionnaireTable.cereQuestionManagements.filter((res, index) => { |
| 1854 | // return res.questionType != '文本'; | 1909 | // return res.questionType != '文本'; |
| 1855 | // }) | 1910 | // }) |
| 1856 | // obj.cereQuestionnaireTable.cereQuestionManagements = NewArr | 1911 | // obj.cereQuestionnaireTable.cereQuestionManagements = NewArr |
| 1857 | - // let groundkey = response.data.data.groupKeys.filter((res, index) => { | ||
| 1858 | - // return res.answer != ''; | ||
| 1859 | - // }) | ||
| 1860 | - // obj.groupKeys = groundkey | 1912 | + // let groundkey = response.data.data.groupKeys.filter((res, index) => { |
| 1913 | + // return res.answer != ''; | ||
| 1914 | + // }) | ||
| 1915 | + // obj.groupKeys = groundkey | ||
| 1861 | this.tongjiTu = obj | 1916 | this.tongjiTu = obj |
| 1862 | - this.tuwent = response.data.data.cereQuestionnaireTable.cereQuestionManagements | ||
| 1863 | - // this.tuwent = this.tuwent.filter((res, index) => { | ||
| 1864 | - // return res.questionType != '文本'; | ||
| 1865 | - // }) | ||
| 1866 | - console.log('111111111111',this.tongjiTu) | 1917 | + var tuwent = [], |
| 1918 | + tlist = []; | ||
| 1919 | + if (typeof response.data.data.cereQuestionnaireTable.question == 'string') { | ||
| 1920 | + this.tuwent = JSON.parse(response.data.data.cereQuestionnaireTable.question) | ||
| 1921 | + } | ||
| 1922 | + | ||
| 1923 | + // console.log('11111111111111111111111',this.tuwent); | ||
| 1924 | + // var i = 1; | ||
| 1925 | + // for(item in tuwent){ | ||
| 1926 | + // var tm = tuwent[item]; | ||
| 1927 | + // if(tm.type !='文本') { | ||
| 1928 | + // var titem = {}; | ||
| 1929 | + // titem[i] = tm; tlist.push(titem); | ||
| 1930 | + | ||
| 1931 | + // } | ||
| 1932 | + // } | ||
| 1933 | + this.tongjiBox = true | ||
| 1934 | + var that = this; | ||
| 1935 | + | ||
| 1936 | + this.$nextTick(function() { | ||
| 1937 | + try { | ||
| 1938 | + if(that.tuwent) | ||
| 1939 | + for (var i in that.tuwent) { | ||
| 1940 | + try { | ||
| 1941 | + that.$refs['chat' + i][0].init(obj) | ||
| 1942 | + } catch (e) { | ||
| 1943 | + console.error('chat refs init error',e); | ||
| 1944 | + } | ||
| 1945 | + | ||
| 1946 | + } | ||
| 1947 | + else { | ||
| 1948 | + console.log('tuwent is null',that.tuwent) | ||
| 1949 | + } | ||
| 1950 | + } catch (e) { | ||
| 1951 | + console.error('chat error',e); | ||
| 1952 | + } | ||
| 1953 | + | ||
| 1954 | + | ||
| 1955 | + }); | ||
| 1956 | + // this.tuwent = tlist; | ||
| 1957 | + // console.log('tlist=',tlist); | ||
| 1958 | + // this.tuwent = Object.values(this.tuwent).filter(res => res.type !== '文本'); | ||
| 1867 | }) | 1959 | }) |
| 1868 | - this.tongjiBox = true | ||
| 1869 | 1960 | ||
| 1870 | }, | 1961 | }, |
| 1871 | xuanxiang(obj) { | 1962 | xuanxiang(obj) { |
| @@ -2084,7 +2175,7 @@ | @@ -2084,7 +2175,7 @@ | ||
| 2084 | this.$msgbox({ | 2175 | this.$msgbox({ |
| 2085 | title: '消息', | 2176 | title: '消息', |
| 2086 | message: h('p', null, [ | 2177 | message: h('p', null, [ |
| 2087 | - h('span', null, '是否发布 '), | 2178 | + h('span', null, '是否提交 '), |
| 2088 | ]), | 2179 | ]), |
| 2089 | showCancelButton: true, | 2180 | showCancelButton: true, |
| 2090 | showClose: false, | 2181 | showClose: false, |
| @@ -2113,7 +2204,7 @@ | @@ -2113,7 +2204,7 @@ | ||
| 2113 | async downShowCheck() { | 2204 | async downShowCheck() { |
| 2114 | if (this.opinionDel.opinionDelisting == '') { | 2205 | if (this.opinionDel.opinionDelisting == '') { |
| 2115 | this.$message({ | 2206 | this.$message({ |
| 2116 | - message: '请输入下架原因', | 2207 | + message: '请输入禁用原因', |
| 2117 | }) | 2208 | }) |
| 2118 | return; | 2209 | return; |
| 2119 | } | 2210 | } |
| @@ -2189,7 +2280,7 @@ | @@ -2189,7 +2280,7 @@ | ||
| 2189 | } | 2280 | } |
| 2190 | 2281 | ||
| 2191 | const host = window.location.host | 2282 | const host = window.location.host |
| 2192 | - if (host == '172.16.61.126:8080') { | 2283 | + if (host == '172.16.61.126:8080' || host == '8.130.38.56:8027') { |
| 2193 | this.wenjuanUrl = `http://${host}/cdwlMall/meh5/pages_category_page1/question/question?ids=${item.id}` | 2284 | this.wenjuanUrl = `http://${host}/cdwlMall/meh5/pages_category_page1/question/question?ids=${item.id}` |
| 2194 | } else { | 2285 | } else { |
| 2195 | this.wenjuanUrl = `https://${host}/cdwlMall/meh5/pages_category_page1/question/question?ids=${item.id}` | 2286 | this.wenjuanUrl = `https://${host}/cdwlMall/meh5/pages_category_page1/question/question?ids=${item.id}` |
| @@ -2213,14 +2304,18 @@ | @@ -2213,14 +2304,18 @@ | ||
| 2213 | rewardForParticipation: '不设置奖励', | 2304 | rewardForParticipation: '不设置奖励', |
| 2214 | questionId: '', | 2305 | questionId: '', |
| 2215 | responseStatus: '', | 2306 | responseStatus: '', |
| 2216 | - reviewStatus: '1' | 2307 | + reviewStatus: '1', |
| 2308 | + needName: '必填', | ||
| 2309 | + needPhone: '必填', | ||
| 2310 | + needGender: '必填', | ||
| 2311 | + needOpinion: '必填', | ||
| 2217 | } | 2312 | } |
| 2218 | this.xuanzheData = [] | 2313 | this.xuanzheData = [] |
| 2219 | 2314 | ||
| 2220 | const today = new Date(); | 2315 | const today = new Date(); |
| 2221 | const startOfToday = new Date(today.getFullYear(), today.getMonth(), today.getDate()); | 2316 | const startOfToday = new Date(today.getFullYear(), today.getMonth(), today.getDate()); |
| 2222 | const endOfToday = new Date(today.getFullYear(), today.getMonth(), today.getDate()); | 2317 | const endOfToday = new Date(today.getFullYear(), today.getMonth(), today.getDate()); |
| 2223 | - this.Xin_Time = [startOfToday, endOfToday] | 2318 | + this.Xin_Time = [this.getCurrentDate(),this.getNextDayDate()] |
| 2224 | this.wenConstData = [] | 2319 | this.wenConstData = [] |
| 2225 | this.ggXin = true | 2320 | this.ggXin = true |
| 2226 | }, | 2321 | }, |
| @@ -2367,30 +2462,23 @@ | @@ -2367,30 +2462,23 @@ | ||
| 2367 | ) | 2462 | ) |
| 2368 | 2463 | ||
| 2369 | }, | 2464 | }, |
| 2370 | - // getCurrentDateRange() { | ||
| 2371 | - // const today = new Date(); | ||
| 2372 | - // const startOfToday = new Date(today.getFullYear(), today.getMonth(), today.getDate()); | ||
| 2373 | - // const endOfToday = new Date(today.getFullYear(), today.getMonth(), today.getDate()); | ||
| 2374 | - // return [this.formatDate(startOfToday), this.formatDate(endOfToday)]; | ||
| 2375 | - // }, | ||
| 2376 | - getCurrentDateRange() { | ||
| 2377 | - const today = new Date(); | ||
| 2378 | - const startOfToday = new Date(today.getFullYear(), today.getMonth(), today.getDate()); | ||
| 2379 | - const endOfTomorrow = new Date(today.getFullYear(), today.getMonth(), today.getDate() + 2); // 第二天 | ||
| 2380 | - | ||
| 2381 | - return [ | ||
| 2382 | - this.formatDate(startOfToday), | ||
| 2383 | - this.formatDate(endOfTomorrow) | ||
| 2384 | - ] | ||
| 2385 | - }, | ||
| 2386 | - | 2465 | + getCurrentDate() { |
| 2466 | + const now = new Date(); | ||
| 2467 | + const year = now.getFullYear(); | ||
| 2468 | + const month = String(now.getMonth() + 1).padStart(2, '0'); // 月份从0开始,所以要+1 | ||
| 2469 | + const day = String(now.getDate()).padStart(2, '0'); | ||
| 2470 | + return `${year}-${month}-${day}`; | ||
| 2471 | +}, | ||
| 2472 | + | ||
| 2473 | + getNextDayDate() { | ||
| 2474 | + const now = new Date(); | ||
| 2475 | + now.setDate(now.getDate() + 1); // 设置到下一天 | ||
| 2476 | + const year = now.getFullYear(); | ||
| 2477 | + const month = String(now.getMonth() + 1).padStart(2, '0'); // 月份从0开始,所以要+1 | ||
| 2478 | + const day = String(now.getDate()).padStart(2, '0'); | ||
| 2479 | + return `${year}-${month}-${day}`; | ||
| 2480 | +}, | ||
| 2387 | 2481 | ||
| 2388 | - formatDate(date) { | ||
| 2389 | - const year = date.getFullYear(); | ||
| 2390 | - const month = ('0' + (date.getMonth() + 1)).slice(-2); | ||
| 2391 | - const day = ('0' + date.getDate()).slice(-2); | ||
| 2392 | - return `${year}-${month}-${day}`; | ||
| 2393 | - }, | ||
| 2394 | validateScore(row) { | 2482 | validateScore(row) { |
| 2395 | 2483 | ||
| 2396 | // 如果输入的不是数字或者是NaN,则重置为1 | 2484 | // 如果输入的不是数字或者是NaN,则重置为1 |
admin-web-master/src/views/investigation/question.vue
| @@ -2,7 +2,7 @@ | @@ -2,7 +2,7 @@ | ||
| 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;"> | 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">题库管理</span></div> |
| 7 | </div> | 7 | </div> |
| 8 | <!-- 线上 --> | 8 | <!-- 线上 --> |
| @@ -143,7 +143,7 @@ | @@ -143,7 +143,7 @@ | ||
| 143 | <el-dialog :visible.sync="ggXin" custom-class="tongyong_css" style="padding: 0;" width="60%" | 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"> | 144 | class="dialog_css_Xq" center :close-on-click-modal="false" :show-close="false"> |
| 145 | <div style="padding:20px;"> | 145 | <div style="padding:20px;"> |
| 146 | - <div style="font-size: 14px;padding-bottom: 20px;color: #000;">新增题型</div> | 146 | + <div style="font-size: 14px;padding-bottom: 20px;color: #000;">新增题目</div> |
| 147 | <div style="padding:20px;"> | 147 | <div style="padding:20px;"> |
| 148 | <el-form ref="reform" :model="formInline" label-width="140px" :rules="rules"> | 148 | <el-form ref="reform" :model="formInline" label-width="140px" :rules="rules"> |
| 149 | <el-form-item label="题目" prop="tikuTitle"> | 149 | <el-form-item label="题目" prop="tikuTitle"> |
admin-web-master/src/views/scheme/planningBz.vue
| @@ -411,6 +411,7 @@ this.total = res.data.content.length | @@ -411,6 +411,7 @@ this.total = res.data.content.length | ||
| 411 | message: '请选择实施时间', | 411 | message: '请选择实施时间', |
| 412 | 412 | ||
| 413 | }) | 413 | }) |
| 414 | + return | ||
| 414 | } | 415 | } |
| 415 | if(this.fileList.length !=0){ | 416 | if(this.fileList.length !=0){ |
| 416 | this.form.annex = JSON.stringify(this.fileList[0]) | 417 | this.form.annex = JSON.stringify(this.fileList[0]) |