Commit 44e10667bc54a00bc579a357568fd43db80be471

Authored by 杨鑫
1 parent 3f535f30

'最新'

admin-web-master/src/components/dajuanTongji/index.vue
... ... @@ -55,7 +55,7 @@
55 55 required: true
56 56 },
57 57 index: {
58   - type: Number,
  58 + type: String,
59 59 required: true
60 60 },
61 61 },
... ... @@ -83,254 +83,255 @@
83 83 },
84 84 mounted() {
85 85  
86   - // this.initChart()
  86 +
87 87  
88 88 this.loadQuestionByIndex(this.index)
89 89 this.tubiao()
90 90 // this.processData()
91 91 },
92   - onload(){
  92 + onload() {
93 93  
94 94 },
95 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 102 loadQuestionByIndex(index) {
192 103  
193   - var tiIndex = this.index + 1
  104 + var tiIndex = Number(index);
194 105 const {
195 106 groupKeys,
196 107 cereQuestionnaireTable
197 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 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 336 </script>
336 337  
... ...
admin-web-master/src/layout/index.vue
... ... @@ -254,12 +254,12 @@ export default {
254 254 }
255 255 }
256 256 return {
257   - // msg:['招商服务系统'],
258   - msg:['招商服务系统','推广策划系统','在线商城系统','支付服务模块','票务'],
  257 + msg:['招商服务系统'],
  258 + // msg:['招商服务系统','推广策划系统','在线商城系统','支付服务模块','票务'],
259 259 listMune:[],
260 260 list:[
261   - // ['招商问卷调查'],
262   - ['招商资源监测','商家管理','招商方案管理','招商租赁管理','广告服务','客服服务管理','系统设置','商铺租赁服务','招商过程管理','招商问卷调查','商户寻租管理','轮播图设置','平台活动','客服配置'],
  261 + ['问卷调查'],
  262 + // ['招商资源监测','商家管理','招商方案管理','招商租赁管理','广告服务','客服服务管理','系统设置','商铺租赁服务','招商过程管理','问卷调查','商户寻租管理','轮播图设置','平台活动','客服配置'],
263 263 ['品牌策划','活动策划','氛围策划','媒体推广'],
264 264 ['订单管理','积分管理','消息中心','会员管理','评论管理','商品管理','库存管理','销售统计','平台活动'],
265 265 ['联机交易'],
... ... @@ -636,8 +636,8 @@ this.listMune[0] = All
636 636 let list5=[]
637 637 this.listMune = []
638 638 this.list=[
639   - ['招商问卷调查'],
640   - ['招商资源监测','商家管理','招商方案管理','招商租赁管理','广告服务','客服服务管理','系统设置','商铺租赁服务','招商过程管理','招商问卷调查','商户寻租管理','轮播图设置','平台活动','客服配置'],
  639 + ['问卷调查'],
  640 + // ['招商资源监测','商家管理','招商方案管理','招商租赁管理','广告服务','客服服务管理','系统设置','商铺租赁服务','招商过程管理','问卷调查','商户寻租管理','轮播图设置','平台活动','客服配置'],
641 641 ['品牌策划','活动策划','氛围策划','媒体推广'],
642 642 ['订单管理',,'积分管理','消息中心','会员管理','评论管理','商品管理','库存管理','销售统计','平台活动'],
643 643 ['联机交易'],
... ...
admin-web-master/src/main.js
... ... @@ -26,7 +26,7 @@ import &#39;@/permission&#39; // permission control
26 26 */
27 27 Vue.prototype.$echarts = echarts
28 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 30 // if (process.env.NODE_ENV === 'production') {
31 31 // const { mockXHR } = require('../mock')
32 32 // mockXHR()
... ...
admin-web-master/src/utils/request.js
... ... @@ -12,12 +12,12 @@ import {
12 12 const host = window.location.host;
13 13 let PREFIX;
14 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 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 21 // PREFIX = 'http://172.16.61.126:8080/meserver/admin-server';
22 22  
23 23 }else{
... ...
admin-web-master/src/views/customer/icManagement/index.vue
... ... @@ -204,7 +204,7 @@
204 204 >
205 205 <el-tabs v-model="card" @tab-click="handleClick">
206 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 208 <el-form-item label="主体名称" prop="subjectName">
209 209 <el-input
210 210 v-model="secondData.subjectName"
... ... @@ -349,8 +349,9 @@
349 349 <el-step title="联系人信息" />
350 350 </el-steps>
351 351 </div>
  352 + <el-form ref="AddFrom" :model="ruleForm" :rules="rules" label-width="150px">
352 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 355 <el-form-item label="主体名称" prop="subjectName">
355 356 <el-input
356 357 v-model="ruleForm.subjectName"
... ... @@ -407,18 +408,15 @@
407 408 />
408 409 </el-form-item>
409 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 412 </el-date-picker>
413 413 </el-form-item>
414 414 <el-form-item label="营业执照" prop="businessLicense">
415 415 <upimg v-model="ruleForm.businessLicense" :limit="1" :fileSize="1"></upimg>
416 416 </el-form-item>
417   - </el-form>
  417 +
418 418 </div>
419 419 <div v-else style="padding: 0 20px 20px 20px">
420   -
421   - <el-form ref="AddFrom" :model="ruleForm" :rules="rules" label-width="130px">
422 420 <el-form-item label="联系人名称" prop="contactName">
423 421 <el-input
424 422 v-model="ruleForm.contactName"
... ... @@ -444,8 +442,9 @@
444 442 <el-option label="总经理" value="总经理" />
445 443 </el-select>
446 444 </el-form-item>
447   - </el-form>
  445 +
448 446 </div>
  447 + </el-form>
449 448 </div>
450 449  
451 450 <template #footer>
... ... @@ -541,6 +540,7 @@ export default {
541 540 contactPhone:'',//联系电话
542 541 position:'',//职位
543 542 auditStatus:'1',
  543 + yytime:[]
544 544 },
545 545 card: 'first', // 切换
546 546 stepNum:0,
... ... @@ -592,7 +592,7 @@ export default {
592 592 message: '请输入成立日期',
593 593 trigger: 'blur'
594 594 }, ],
595   - planningName: [{
  595 + yytime: [{
596 596 required: true,
597 597 message: '请选择营业期限',
598 598 trigger: 'change'
... ... @@ -639,7 +639,7 @@ export default {
639 639 const minutes = now.getMinutes().toString().padStart(2, '0');
640 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 644 handleSelectionChange(val) {
645 645 this.multipleSelection = val;
... ... @@ -721,22 +721,54 @@ export default {
721 721 contactName:'',//联系人名称
722 722 contactPhone:'',//联系电话
723 723 position:'',//职位
724   - auditStatus:'1'
  724 + auditStatus:'1',
  725 + yytime:[]
725 726 }
726 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 773 handleCurrentChange(val) {
742 774 this.currentPage = val;
... ...
admin-web-master/src/views/investigation/answerSheet.vue
... ... @@ -2,7 +2,7 @@
2 2 <div style="background-color:#f7f7f7;padding:10px 10px;">
3 3 <div class="zhuti">
4 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 6 style="color:#000000e6">问卷审核</span></div>
7 7 </div>
8 8 <!-- 线上 -->
... ... @@ -66,7 +66,7 @@
66 66 </el-table-column>
67 67 <el-table-column prop="reviewStatus" label="状态" min-width="120">
68 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 70 </template>
71 71 </el-table-column>
72 72 <el-table-column label="操作" min-width="280">
... ... @@ -104,7 +104,7 @@
104 104 <template slot="label">
105 105 状态
106 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 108 </el-descriptions-item>
109 109  
110 110 <el-descriptions-item>
... ... @@ -242,7 +242,7 @@
242 242 </el-dialog>
243 243 <el-dialog
244 244 width="40%"
245   - title="流程审批"
  245 + title="审核"
246 246 custom-class='liucheng_css'
247 247 :visible.sync="Liunie"
248 248 :close-on-click-modal="false" :close-on-press-escape="false" :show-close='false'
... ... @@ -334,7 +334,7 @@
334 334 <template slot="label">
335 335 状态
336 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 338 </el-descriptions-item>
339 339  
340 340 <el-descriptions-item>
... ...
admin-web-master/src/views/investigation/index.vue
... ... @@ -2,7 +2,7 @@
2 2 <div style="background-color:#f7f7f7;padding:10px 10px;">
3 3 <div class="zhuti">
4 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 6 style="color:#000000e6">问卷管理</span></div>
7 7 </div>
8 8 <!-- 线上 -->
... ... @@ -23,11 +23,11 @@
23 23 </el-form-item>
24 24 <el-form-item label="状态">
25 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 27 <el-option label="待审核" value="2" />
28 28 <el-option label="已通过" value="3" />
29 29 <el-option label="不通过" value="4" />
30   - <el-option label="已下架" value="5" />
  30 + <el-option label="已禁用" value="5" />
31 31 </el-select>
32 32 </el-form-item>
33 33 </el-form>
... ... @@ -74,18 +74,18 @@
74 74 </el-table-column>
75 75 <el-table-column prop="reviewStatus" label="状态" min-width="120">
76 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 78 </template>
79 79 </el-table-column>
80 80 <el-table-column label="操作" min-width="280">
81 81 <template slot-scope="scope">
82 82 <div @click="details(0,scope.row)" class="tableBtn greens">查看</div>
83 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 86 <div @click="tongji(scope.row)" class="tableBtn greens"
87 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 89 <div @click="yulan(scope.row)" class="tableBtn greens"
90 90 v-if="scope.row.reviewStatus =='3' || scope.row.reviewStatus =='1'">预览</div>
91 91 <!-- <div @click="addbuss(3,scope.row)" class="tableBtn greens">终止</div> -->
... ... @@ -100,7 +100,7 @@
100 100 </div>
101 101 </div>
102 102 <!-- 统计 -->
103   - <div v-if="tongjiBox">
  103 + <div v-show="tongjiBox">
104 104 <div>
105 105 <div style="display: flex;">
106 106 <img :src="secondData.coverImage" alt=""
... ... @@ -180,9 +180,10 @@
180 180 </div>
181 181 </div>
182 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 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 206 <div style="padding:20px;">
206 207 <div style="font-size: 14px;padding-bottom: 20px;color: #000;">答卷详情</div>
207 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 210 <div style="margin-bottom:20px;">基本信息</div>
210 211 <div>
211 212 <div style="margin-bottom:15px;">提交人:<span style="color:#000">{{daxiangData.userName}}</span></div>
... ... @@ -278,7 +279,7 @@
278 279 <template slot="label">
279 280 状态
280 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 283 </el-descriptions-item>
283 284  
284 285 <el-descriptions-item>
... ... @@ -353,13 +354,13 @@
353 354 {{scope.$index +1}}
354 355 </template>
355 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 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 360 </el-table-column>
360 361 <el-table-column label="是否必填" prop="isRequired" min-width="80">
361 362 </el-table-column>
362   - <el-table-column label="答案设置" min-width="120">
  363 + <el-table-column label="选项" min-width="120">
363 364 <template slot-scope="scope">
364 365 <div v-for="(value, key) in scope.row.optionSettings " :key="key" v-if="scope.row.questionType !='文本'">
365 366 {{ key }}:{{ value }}
... ... @@ -395,20 +396,20 @@
395 396 </el-descriptions>
396 397 <div style="padding: 20px 0 ;">审核信息</div>
397 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 413 </div>
413 414  
414 415 <div style="padding-top:20px;display:flex;justify-content: flex-end;">
... ... @@ -443,6 +444,7 @@
443 444 <el-form-item label="问卷起止时间" prop="">
444 445 <el-date-picker style="width: 100%;" v-model="Xin_Time" value-format="yyyy-MM-dd" type="daterange"
445 446 range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期" align="right"
  447 + >
446 448 :picker-options="pickerOptions">
447 449 </el-date-picker>
448 450 </el-form-item>
... ... @@ -494,6 +496,31 @@
494 496 <!-- <div style="position: absolute;left:160px;height:80px;">()</div> -->
495 497 </div>
496 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 524 </el-form>
498 525 </div>
499 526 <div v-if="formInline.filler=='会员'">
... ... @@ -553,9 +580,9 @@
553 580 {{scope.$index + 1}}
554 581 </template>
555 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 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 586 </el-table-column>
560 587 <el-table-column label="是否必填" prop="isRequired" min-width="150">
561 588 </el-table-column>
... ... @@ -677,7 +704,7 @@
677 704 </el-descriptions-item>
678 705 <el-descriptions-item>
679 706 <template slot="label">
680   - 答案设置
  707 + 选项
681 708 </template>
682 709 <div v-for="(value, key) in timuData.optionSettings" :key="key">
683 710 {{ key }}:{{ value }}
... ... @@ -698,7 +725,7 @@
698 725 :close-on-click-modal="false" append-to-body @close="quxiao(1)">
699 726 <div style="padding:20px;">
700 727 <div style="font-size: 14px;padding-bottom: 20px;color: #000;">
701   - 新增题
  728 + 新增题
702 729 </div>
703 730 <div style="padding:20px;">
704 731 <el-form ref="tixform" :model="zhong" :rules="tixrules" label-width="140px">
... ... @@ -732,7 +759,7 @@
732 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 763 <el-table :data="options"
737 764 :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}">
738 765 <el-table-column prop="index" label="序号" width="180">
... ... @@ -844,6 +871,31 @@
844 871 <el-form-item label="问卷封面" prop="coverImage">
845 872 <upimg v-model="secondData.coverImage" :limit="1" :fileSize="1" :isShowTip="false"></upimg>
846 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 899 </el-form>
848 900 </div>
849 901 <div style="border:1px solid #DCDFE6;font-size:14px;margin-bottom:10px;" v-if="secondData.filler=='会员'">
... ... @@ -901,9 +953,9 @@
901 953 {{scope.$index + 1}}
902 954 </template>
903 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 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 959 </el-table-column>
908 960 <el-table-column label="是否必填" prop="isRequired" min-width="150">
909 961 </el-table-column>
... ... @@ -1018,7 +1070,7 @@
1018 1070  
1019 1071 <el-descriptions-item>
1020 1072 <template slot="label">
1021   - 答案设置
  1073 + 选项
1022 1074 </template>
1023 1075 <div v-for="(value, key) in timuData.optionSettings" :key="key">
1024 1076 {{ key }}:{{ value }}
... ... @@ -1039,7 +1091,7 @@
1039 1091 :close-on-click-modal="false" append-to-body @close="quxiao(2)">
1040 1092 <div style="padding:20px;">
1041 1093 <div style="font-size: 14px;padding-bottom: 20px;color: #000;">
1042   - 新增题
  1094 + 新增题
1043 1095 </div>
1044 1096 <div style="padding:20px;">
1045 1097 <el-form ref="form" label-width="140px">
... ... @@ -1070,7 +1122,7 @@
1070 1122 <el-radio label="非必填">非必填</el-radio>
1071 1123 </el-radio-group>
1072 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 1126 <el-table :data="options"
1075 1127 :header-cell-style="{fontSize: '14px',color:'#0009',fontWeight: 'normal',backgroundColor:'#F2F3F5'}">
1076 1128 <el-table-column prop="index" label="序号" width="180">
... ... @@ -1115,17 +1167,17 @@
1115 1167 </el-dialog>
1116 1168  
1117 1169  
1118   - <!-- 下架 -->
  1170 + <!-- 禁用 -->
1119 1171  
1120 1172  
1121 1173 <el-dialog :visible.sync="downShow" custom-class="tongyong_css" style="padding: 0;" width="50%" center
1122 1174 :close-on-click-modal="false" append-to-body>
1123 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 1177 <div style="padding:30px 0px 0px">
1126 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 1181 </el-form-item>
1130 1182  
1131 1183 </el-form>
... ... @@ -1176,7 +1228,7 @@
1176 1228  
1177 1229 <el-radio-group v-for="(val, idx) in item.options" v-if="item.type =='单选'" :key="idx"
1178 1230 style="display: content;flex-direction: column;width:100%;margin:0 0 4px 0">
1179   - <el-radio disabled>
  1231 + <el-radio disabled>
1180 1232 <snap style=" white-space: normal !important;
1181 1233 word-break: break-all !important;">
1182 1234 {{val.answer}}
... ... @@ -1223,20 +1275,22 @@
1223 1275 </div> -->
1224 1276  
1225 1277 <!-- 文本填写问题 -->
1226   - <div class="question">
  1278 + <div class="">
1227 1279 <!-- <p class="question-title">您的建议:</p >
1228 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 1284 <el-input v-model="model1.name" placeholder="请输入姓名" disabled style="width:80%"></el-input>
1232 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 1287 <el-input v-model="model1.phone" placeholder="请输入电话" disabled style="width:80%"></el-input>
1235 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 1290 <el-input v-model="model1.sex" placeholder="请输入性别" disabled style="width:80%"></el-input>
1238 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 1294 <el-input type="textarea" v-model="model1.yij" placeholder="请输入内容" disabled
1241 1295 style="width:80%"></el-input>
1242 1296 </el-form-item>
... ... @@ -1324,9 +1378,13 @@
1324 1378 rewardForParticipation: '不设置奖励',
1325 1379 questionId: '',
1326 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 1388 plan_Time: [],
1331 1389 followUpTime: [],
1332 1390 tableData: [],
... ... @@ -1370,7 +1428,7 @@
1370 1428 // { index: 1, name: '男', readonly: true },
1371 1429 // { index: 2, name: '女', readonly: true }
1372 1430 ],
1373   - tikuAdd: false, //新增题
  1431 + tikuAdd: false, //新增题
1374 1432 tongjiBox: false, //统计
1375 1433 daxiangData: {},
1376 1434 daxiangBox: false,
... ... @@ -1812,16 +1870,13 @@
1812 1870 this.secondData.cereQuestionManagements.map((res, index) => {
1813 1871 if (typeof res.optionSettings == 'string') {
1814 1872 res.optionSettings = JSON.parse(res.optionSettings)
1815   -
1816 1873 }
1817   -
1818 1874 this.secondData.cereQuestionManagements[index].ziduan = []
1819 1875 })
1820 1876  
1821 1877  
1822 1878 const postData = {
1823 1879 questionnaireId: item.id,
1824   -
1825 1880 }
1826 1881  
1827 1882 const postList = {
... ... @@ -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 1909 // return res.questionType != '文本';
1855 1910 // })
1856 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 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 1962 xuanxiang(obj) {
... ... @@ -2084,7 +2175,7 @@
2084 2175 this.$msgbox({
2085 2176 title: '消息',
2086 2177 message: h('p', null, [
2087   - h('span', null, '是否发布 '),
  2178 + h('span', null, '是否提交 '),
2088 2179 ]),
2089 2180 showCancelButton: true,
2090 2181 showClose: false,
... ... @@ -2113,7 +2204,7 @@
2113 2204 async downShowCheck() {
2114 2205 if (this.opinionDel.opinionDelisting == '') {
2115 2206 this.$message({
2116   - message: '请输入下架原因',
  2207 + message: '请输入禁用原因',
2117 2208 })
2118 2209 return;
2119 2210 }
... ... @@ -2189,7 +2280,7 @@
2189 2280 }
2190 2281  
2191 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 2284 this.wenjuanUrl = `http://${host}/cdwlMall/meh5/pages_category_page1/question/question?ids=${item.id}`
2194 2285 } else {
2195 2286 this.wenjuanUrl = `https://${host}/cdwlMall/meh5/pages_category_page1/question/question?ids=${item.id}`
... ... @@ -2213,14 +2304,18 @@
2213 2304 rewardForParticipation: '不设置奖励',
2214 2305 questionId: '',
2215 2306 responseStatus: '',
2216   - reviewStatus: '1'
  2307 + reviewStatus: '1',
  2308 + needName: '必填',
  2309 + needPhone: '必填',
  2310 + needGender: '必填',
  2311 + needOpinion: '必填',
2217 2312 }
2218 2313 this.xuanzheData = []
2219 2314  
2220 2315 const today = new Date();
2221 2316 const startOfToday = new Date(today.getFullYear(), today.getMonth(), today.getDate());
2222 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 2319 this.wenConstData = []
2225 2320 this.ggXin = true
2226 2321 },
... ... @@ -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 2482 validateScore(row) {
2395 2483  
2396 2484 // 如果输入的不是数字或者是NaN,则重置为1
... ...
admin-web-master/src/views/investigation/question.vue
... ... @@ -2,7 +2,7 @@
2 2 <div style="background-color:#f7f7f7;padding:10px 10px;">
3 3 <div class="zhuti">
4 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 6 style="color:#000000e6">题库管理</span></div>
7 7 </div>
8 8 <!-- 线上 -->
... ... @@ -143,7 +143,7 @@
143 143 <el-dialog :visible.sync="ggXin" custom-class="tongyong_css" style="padding: 0;" width="60%"
144 144 class="dialog_css_Xq" center :close-on-click-modal="false" :show-close="false">
145 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 147 <div style="padding:20px;">
148 148 <el-form ref="reform" :model="formInline" label-width="140px" :rules="rules">
149 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 411 message: '请选择实施时间',
412 412  
413 413 })
  414 + return
414 415 }
415 416 if(this.fileList.length !=0){
416 417 this.form.annex = JSON.stringify(this.fileList[0])
... ...