leisure-core 0.1.5 → 0.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/index.js +6 -0
- package/le-button-qr/index.js +7 -0
- package/le-button-qr/src/main.vue +70 -0
- package/le-dialog-container/src/main.vue +7 -3
- package/le-member-level/src/sub.vue +3 -3
- package/le-rate/index.js +7 -0
- package/le-rate/src/main.vue +194 -0
- package/le-rate/src/qrinfo.vue +28 -0
- package/le-rate/src/sub.vue +183 -0
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -3,6 +3,7 @@ import { parseTime, formatMoney } from "leisure-js/common/dformat";
|
|
|
3
3
|
import LeLogin from "./le-login/index.js";
|
|
4
4
|
import LeHome from "./le-home/index.js";
|
|
5
5
|
import LeButton from "./le-button/index.js";
|
|
6
|
+
import LeButtonQr from "./le-button-qr/index.js";
|
|
6
7
|
import LeButtonMsg from "./le-button-msg/index.js";
|
|
7
8
|
import LeCompany from "./le-company/index.js";
|
|
8
9
|
import LeDialogContainer from "./le-dialog-container/index.js";
|
|
@@ -25,9 +26,11 @@ import LeButtonSelectMedia from "./le-button-select-media/index.js";
|
|
|
25
26
|
import LeImage from "./le-image/index.js";
|
|
26
27
|
import LeBackUp from "./le-backup/index.js";
|
|
27
28
|
import LeSeting from "./le-seting/index.js";
|
|
29
|
+
import LeRate from "./le-rate/index.js";
|
|
28
30
|
|
|
29
31
|
const components = [
|
|
30
32
|
LeButton,
|
|
33
|
+
LeButtonQr,
|
|
31
34
|
LeButtonMsg,
|
|
32
35
|
LeCompany,
|
|
33
36
|
LeDialogContainer,
|
|
@@ -52,6 +55,7 @@ const components = [
|
|
|
52
55
|
LeImage,
|
|
53
56
|
LeBackUp,
|
|
54
57
|
LeSeting,
|
|
58
|
+
LeRate,
|
|
55
59
|
];
|
|
56
60
|
|
|
57
61
|
const install = function (Vue) {
|
|
@@ -123,6 +127,7 @@ if (typeof window !== "undefined" && window.Vue) {
|
|
|
123
127
|
export default {
|
|
124
128
|
install,
|
|
125
129
|
LeButton,
|
|
130
|
+
LeButtonQr,
|
|
126
131
|
LeButtonMsg,
|
|
127
132
|
LeCompany,
|
|
128
133
|
LeDialogContainer,
|
|
@@ -148,4 +153,5 @@ export default {
|
|
|
148
153
|
LeImage,
|
|
149
154
|
LeBackUp,
|
|
150
155
|
LeSeting,
|
|
156
|
+
LeRate,
|
|
151
157
|
};
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div>
|
|
3
|
+
<le-button text="显示二维码" @click="qrMake"></le-button>
|
|
4
|
+
<le-dialog-container
|
|
5
|
+
title="二维码"
|
|
6
|
+
width="239px"
|
|
7
|
+
:showDialog="showQrMake"
|
|
8
|
+
:showFooter="true"
|
|
9
|
+
saveBtnText="下 载"
|
|
10
|
+
@close="closeQrMake"
|
|
11
|
+
@saveData="qrDownLoad"
|
|
12
|
+
>
|
|
13
|
+
<div id="qrcodemake" v-if="showQrMake"></div>
|
|
14
|
+
</le-dialog-container>
|
|
15
|
+
</div>
|
|
16
|
+
</template>
|
|
17
|
+
<script>
|
|
18
|
+
import QRCode from "qrcodejs2";
|
|
19
|
+
export default {
|
|
20
|
+
name: "le-button-qr",
|
|
21
|
+
props: {
|
|
22
|
+
qrCodeUrl: {
|
|
23
|
+
type: String,
|
|
24
|
+
default: "",
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
data() {
|
|
28
|
+
return {
|
|
29
|
+
showQrMake: false,
|
|
30
|
+
};
|
|
31
|
+
},
|
|
32
|
+
methods: {
|
|
33
|
+
closeQrMake() {
|
|
34
|
+
this.showQrMake = false;
|
|
35
|
+
},
|
|
36
|
+
qrMake() {
|
|
37
|
+
this.showQrMake = true;
|
|
38
|
+
setTimeout(() => {
|
|
39
|
+
this.qrcode("qrcodemake");
|
|
40
|
+
}, 100);
|
|
41
|
+
},
|
|
42
|
+
qrcode(id) {
|
|
43
|
+
return new Promise((resolve, reject) => {
|
|
44
|
+
try {
|
|
45
|
+
new QRCode(id, {
|
|
46
|
+
width: 200,
|
|
47
|
+
height: 200,
|
|
48
|
+
text: this.qrCodeUrl,
|
|
49
|
+
colorDark: "#000",
|
|
50
|
+
colorLight: "#fff",
|
|
51
|
+
});
|
|
52
|
+
resolve();
|
|
53
|
+
} catch (e) {
|
|
54
|
+
reject("二维码生成错误:" + e);
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
},
|
|
58
|
+
qrDownLoad() {
|
|
59
|
+
let myCanvas = document
|
|
60
|
+
.getElementById("qrcodemake")
|
|
61
|
+
.getElementsByTagName("canvas");
|
|
62
|
+
let a = document.createElement("a");
|
|
63
|
+
a.href = myCanvas[0].toDataURL("image/png");
|
|
64
|
+
a.download = "服务评价二维码";
|
|
65
|
+
a.click();
|
|
66
|
+
this.$message.success("正在进行下载保存");
|
|
67
|
+
},
|
|
68
|
+
},
|
|
69
|
+
};
|
|
70
|
+
</script>
|
|
@@ -12,9 +12,9 @@
|
|
|
12
12
|
<div slot="footer" v-if="showFooter" class="dialog-footer">
|
|
13
13
|
<template>
|
|
14
14
|
<el-button type="info" @click="closeDialog">关闭</el-button>
|
|
15
|
-
<el-button type="primary" v-if="showSaveBtn" @click="saveData"
|
|
16
|
-
|
|
17
|
-
>
|
|
15
|
+
<el-button type="primary" v-if="showSaveBtn" @click="saveData">{{
|
|
16
|
+
saveBtnText
|
|
17
|
+
}}</el-button>
|
|
18
18
|
</template>
|
|
19
19
|
</div>
|
|
20
20
|
</el-dialog>
|
|
@@ -47,6 +47,10 @@ export default {
|
|
|
47
47
|
type: Boolean,
|
|
48
48
|
default: true,
|
|
49
49
|
},
|
|
50
|
+
saveBtnText: {
|
|
51
|
+
type: String,
|
|
52
|
+
default: "确 定",
|
|
53
|
+
},
|
|
50
54
|
},
|
|
51
55
|
data() {
|
|
52
56
|
return {};
|
|
@@ -3,20 +3,20 @@
|
|
|
3
3
|
<el-form-item label="等级标题" prop="title">
|
|
4
4
|
<el-input v-model="form.title"></el-input>
|
|
5
5
|
</el-form-item>
|
|
6
|
-
<el-form-item label="
|
|
6
|
+
<el-form-item label="计算标准" prop="rule">
|
|
7
7
|
<el-radio-group v-model="form.rule">
|
|
8
8
|
<el-radio-button :label="1">销售额</el-radio-button>
|
|
9
9
|
<el-radio-button :label="2" disabled>积分</el-radio-button>
|
|
10
10
|
</el-radio-group>
|
|
11
11
|
</el-form-item>
|
|
12
|
-
<el-form-item label="
|
|
12
|
+
<el-form-item label="区域范围" prop="start">
|
|
13
13
|
<el-input-number
|
|
14
14
|
v-model="form.start"
|
|
15
15
|
:min="0"
|
|
16
16
|
:max="999999999999"
|
|
17
17
|
></el-input-number>
|
|
18
18
|
</el-form-item>
|
|
19
|
-
<el-form-item label="
|
|
19
|
+
<el-form-item label="区域范围" prop="end">
|
|
20
20
|
<el-input-number
|
|
21
21
|
v-model="form.end"
|
|
22
22
|
:min="1"
|
package/le-rate/index.js
ADDED
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div class="page-container">
|
|
3
|
+
<el-form :inline="true" class="demo-form-inline">
|
|
4
|
+
<el-form-item label="订单时间">
|
|
5
|
+
<el-date-picker
|
|
6
|
+
v-model="timeArr"
|
|
7
|
+
type="datetimerange"
|
|
8
|
+
value-format="yyyy-MM-dd HH:mm:ss"
|
|
9
|
+
range-separator="至"
|
|
10
|
+
start-placeholder="开始日期"
|
|
11
|
+
end-placeholder="结束日期"
|
|
12
|
+
>
|
|
13
|
+
</el-date-picker>
|
|
14
|
+
</el-form-item>
|
|
15
|
+
<el-form-item>
|
|
16
|
+
<el-button type="primary" @click="getRateList()"> 查询 </el-button>
|
|
17
|
+
<el-button type="info" @click="resetSearch()">重置</el-button>
|
|
18
|
+
<el-button type="primary" @click="openQr()">二维码</el-button>
|
|
19
|
+
</el-form-item>
|
|
20
|
+
</el-form>
|
|
21
|
+
<vxe-table
|
|
22
|
+
:data="tableData"
|
|
23
|
+
:align="'center'"
|
|
24
|
+
:row-config="{ isHover: true }"
|
|
25
|
+
:column-config="{ resizable: true }"
|
|
26
|
+
ref="eltablemain"
|
|
27
|
+
:max-height="elTableMaxHeight"
|
|
28
|
+
border
|
|
29
|
+
stripe
|
|
30
|
+
style="width: 100%"
|
|
31
|
+
>
|
|
32
|
+
<vxe-column
|
|
33
|
+
field="uid"
|
|
34
|
+
title="用户Id"
|
|
35
|
+
width="100"
|
|
36
|
+
show-overflow="tooltip"
|
|
37
|
+
></vxe-column>
|
|
38
|
+
<vxe-column field="nick" title="用户手机号" width="160"></vxe-column>
|
|
39
|
+
<vxe-column
|
|
40
|
+
field="r_average"
|
|
41
|
+
title="调研结果"
|
|
42
|
+
header-align="center"
|
|
43
|
+
align="center"
|
|
44
|
+
width="160"
|
|
45
|
+
></vxe-column>
|
|
46
|
+
<vxe-column title="调研日期" width="150">
|
|
47
|
+
<template slot-scope="scope">
|
|
48
|
+
<span>{{ parseTime(scope.row.cdate) }}</span>
|
|
49
|
+
</template>
|
|
50
|
+
</vxe-column>
|
|
51
|
+
<vxe-column title="操作">
|
|
52
|
+
<template slot-scope="scope">
|
|
53
|
+
<el-button
|
|
54
|
+
type="primary"
|
|
55
|
+
size="small"
|
|
56
|
+
id="btnDetail"
|
|
57
|
+
@click="detail(scope.row)"
|
|
58
|
+
style="margin-right: 2px"
|
|
59
|
+
>
|
|
60
|
+
详情
|
|
61
|
+
</el-button>
|
|
62
|
+
</template>
|
|
63
|
+
</vxe-column>
|
|
64
|
+
</vxe-table>
|
|
65
|
+
<div style="text-align: center; margin-top: 30px">
|
|
66
|
+
<vxe-pager
|
|
67
|
+
auto-hidden
|
|
68
|
+
align="center"
|
|
69
|
+
:current-page="pageNo"
|
|
70
|
+
:page-size="10"
|
|
71
|
+
:total="total"
|
|
72
|
+
:layouts="['PrevPage', 'JumpNumber', 'NextPage', 'Total']"
|
|
73
|
+
@page-change="current_change"
|
|
74
|
+
>
|
|
75
|
+
</vxe-pager>
|
|
76
|
+
</div>
|
|
77
|
+
<le-dialog-container
|
|
78
|
+
:showDialog="showPageModal"
|
|
79
|
+
:showSaveBtn="false"
|
|
80
|
+
:showFooter="true"
|
|
81
|
+
title="评价详情"
|
|
82
|
+
@close="handleClose"
|
|
83
|
+
>
|
|
84
|
+
<le-rate-sub ref="rateDetail" :rowData="detailRow" v-if="showPageModal">
|
|
85
|
+
</le-rate-sub>
|
|
86
|
+
</le-dialog-container>
|
|
87
|
+
<le-dialog-container
|
|
88
|
+
:showDialog="showQrCode"
|
|
89
|
+
:showSaveBtn="false"
|
|
90
|
+
:showFooter="true"
|
|
91
|
+
title="服务评价二维码"
|
|
92
|
+
@close="handleQrClose"
|
|
93
|
+
>
|
|
94
|
+
<le-rate-qrinfo v-if="showQrCode"> </le-rate-qrinfo>
|
|
95
|
+
</le-dialog-container>
|
|
96
|
+
</div>
|
|
97
|
+
</template>
|
|
98
|
+
<script>
|
|
99
|
+
import { del as rateDel, list as rateList } from "@/api/SystemRate";
|
|
100
|
+
import leMixins from "leisure-core/le-libs/mixins/main";
|
|
101
|
+
import LeRateSub from "./sub";
|
|
102
|
+
import LeRateQrinfo from "./qrinfo";
|
|
103
|
+
export default {
|
|
104
|
+
name: "le-rate",
|
|
105
|
+
mixins: [leMixins],
|
|
106
|
+
components: { LeRateSub,LeRateQrinfo },
|
|
107
|
+
data() {
|
|
108
|
+
return {
|
|
109
|
+
pageNo: 1,
|
|
110
|
+
total: 0,
|
|
111
|
+
pageSize: 10,
|
|
112
|
+
tableData: [],
|
|
113
|
+
showPageModal: false,
|
|
114
|
+
showQrCode: false,
|
|
115
|
+
detailRow: {},
|
|
116
|
+
timeArr: "",
|
|
117
|
+
searchData: {
|
|
118
|
+
date_end: "",
|
|
119
|
+
date_start: "",
|
|
120
|
+
},
|
|
121
|
+
};
|
|
122
|
+
},
|
|
123
|
+
computed: {},
|
|
124
|
+
mounted() {
|
|
125
|
+
this.getRateList();
|
|
126
|
+
},
|
|
127
|
+
methods: {
|
|
128
|
+
filterParams(obj) {
|
|
129
|
+
var _newPar = {};
|
|
130
|
+
for (var key in obj) {
|
|
131
|
+
if (
|
|
132
|
+
(obj[key] === false || obj[key]) &&
|
|
133
|
+
obj[key].toString().replace(/(^\s*)|(\s*$)/g, "") !== ""
|
|
134
|
+
) {
|
|
135
|
+
_newPar[key] = obj[key];
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
return _newPar;
|
|
139
|
+
},
|
|
140
|
+
resetSearch() {
|
|
141
|
+
this.searchData.pageNo = 1;
|
|
142
|
+
this.searchName = "";
|
|
143
|
+
this.searchCode = "";
|
|
144
|
+
this.getRateList();
|
|
145
|
+
},
|
|
146
|
+
current_change({ currentPage }) {
|
|
147
|
+
this.pageNo = currentPage;
|
|
148
|
+
this.getRateList();
|
|
149
|
+
},
|
|
150
|
+
handleClose() {
|
|
151
|
+
this.detailRow = null;
|
|
152
|
+
this.showPageModal = false;
|
|
153
|
+
},
|
|
154
|
+
detail(obj) {
|
|
155
|
+
this.detailRow = obj;
|
|
156
|
+
this.showPageModal = true;
|
|
157
|
+
},
|
|
158
|
+
handleQrClose() {
|
|
159
|
+
this.showQrCode = false;
|
|
160
|
+
},
|
|
161
|
+
openQr() {
|
|
162
|
+
this.showQrCode = true;
|
|
163
|
+
},
|
|
164
|
+
getRateList() {
|
|
165
|
+
if (this.timeArr && this.timeArr.length == 2) {
|
|
166
|
+
this.searchData.date_start = new Date(this.timeArr[0]).getTime() / 1000;
|
|
167
|
+
this.searchData.date_end = new Date(this.timeArr[1]).getTime() / 1000;
|
|
168
|
+
} else {
|
|
169
|
+
this.searchData.date_start = 0;
|
|
170
|
+
this.searchData.date_end = 0;
|
|
171
|
+
}
|
|
172
|
+
let params = this.filterParams(this.searchData);
|
|
173
|
+
params.pageNo = this.pageNo;
|
|
174
|
+
rateList(params).then((res) => {
|
|
175
|
+
this.tableData = res.data.data.list || [];
|
|
176
|
+
this.total = res.data.data.count || 0;
|
|
177
|
+
this.pageSize = res.data.data.pageSize || 10;
|
|
178
|
+
if (this.total > 0) {
|
|
179
|
+
this.tableData.forEach((rate) => {
|
|
180
|
+
if (rate.ranswer2 && rate.ranswer2.length > 10) {
|
|
181
|
+
rate.ranswer2 = rate.ranswer2.split(",");
|
|
182
|
+
}
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
});
|
|
186
|
+
},
|
|
187
|
+
del(id) {
|
|
188
|
+
rateDel(id).then((response) => {
|
|
189
|
+
this.getRateList(this.pageNo);
|
|
190
|
+
});
|
|
191
|
+
},
|
|
192
|
+
},
|
|
193
|
+
};
|
|
194
|
+
</script>
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<div>
|
|
3
|
+
<el-form ref="form" label-width="120px">
|
|
4
|
+
<el-form-item label="小程序地址">
|
|
5
|
+
<el-input v-model="miUrl" readonly></el-input>
|
|
6
|
+
</el-form-item>
|
|
7
|
+
<el-form-item label="二维码地址">
|
|
8
|
+
<el-input v-model="qrCodeUrl" readonly></el-input>
|
|
9
|
+
</el-form-item>
|
|
10
|
+
<el-form-item>
|
|
11
|
+
<le-button-qr :qrCodeUrl="qrCodeUrl"></le-button-qr>
|
|
12
|
+
</el-form-item>
|
|
13
|
+
</el-form>
|
|
14
|
+
</div>
|
|
15
|
+
</template>
|
|
16
|
+
<script>
|
|
17
|
+
export default {
|
|
18
|
+
name: "le-rate-qrinfo",
|
|
19
|
+
data() {
|
|
20
|
+
return {
|
|
21
|
+
miUrl: "/pkgA/pages/service-rate/index",
|
|
22
|
+
qrCodeUrl: "http://sct.changyu.cn:8081/rate",
|
|
23
|
+
};
|
|
24
|
+
},
|
|
25
|
+
mounted() {},
|
|
26
|
+
methods: {},
|
|
27
|
+
};
|
|
28
|
+
</script>
|
|
@@ -0,0 +1,183 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<vxe-table
|
|
3
|
+
ref="xTable"
|
|
4
|
+
:data="tableData"
|
|
5
|
+
:align="'center'"
|
|
6
|
+
:row-config="{ isHover: true }"
|
|
7
|
+
:column-config="{ resizable: true }"
|
|
8
|
+
border
|
|
9
|
+
stripe
|
|
10
|
+
style="width: 100%"
|
|
11
|
+
>
|
|
12
|
+
<vxe-column
|
|
13
|
+
field="title"
|
|
14
|
+
title="调研项目"
|
|
15
|
+
header-align="center"
|
|
16
|
+
align="left"
|
|
17
|
+
width="160"
|
|
18
|
+
></vxe-column>
|
|
19
|
+
<vxe-column title="调研结果">
|
|
20
|
+
<template slot-scope="scope">
|
|
21
|
+
<span v-if="scope.row.seq <= 15">{{ scope.row.value }}</span>
|
|
22
|
+
<div
|
|
23
|
+
v-if="
|
|
24
|
+
scope.row.seq == 16 && scope.row.value && scope.row.value.length > 0
|
|
25
|
+
"
|
|
26
|
+
>
|
|
27
|
+
<el-image
|
|
28
|
+
v-for="img in scope.row.value"
|
|
29
|
+
:key="img.img"
|
|
30
|
+
:src="img.img"
|
|
31
|
+
:preview-src-list="img.imgPre"
|
|
32
|
+
style="width: 100px; height: 100px; margin-left: 5px"
|
|
33
|
+
>
|
|
34
|
+
</el-image>
|
|
35
|
+
</div>
|
|
36
|
+
</template>
|
|
37
|
+
</vxe-column>
|
|
38
|
+
</vxe-table>
|
|
39
|
+
</template>
|
|
40
|
+
<script>
|
|
41
|
+
export default {
|
|
42
|
+
name: "le-rate-sub",
|
|
43
|
+
props: ["rowData"],
|
|
44
|
+
data() {
|
|
45
|
+
return {
|
|
46
|
+
imgs: [],
|
|
47
|
+
ImgsPre: [],
|
|
48
|
+
tableData: [],
|
|
49
|
+
};
|
|
50
|
+
},
|
|
51
|
+
mounted() {
|
|
52
|
+
this.changeData();
|
|
53
|
+
},
|
|
54
|
+
methods: {
|
|
55
|
+
preClick(item) {
|
|
56
|
+
this.ImgsPre = [];
|
|
57
|
+
this.ImgsPre.push(item);
|
|
58
|
+
},
|
|
59
|
+
|
|
60
|
+
changeData() {
|
|
61
|
+
let rowdata = this.rowData;
|
|
62
|
+
|
|
63
|
+
let row1 = {};
|
|
64
|
+
row1.seq = 1;
|
|
65
|
+
row1.title = "售票人员的服务和办理效率是否满意";
|
|
66
|
+
row1.value = rowdata.r1;
|
|
67
|
+
this.tableData.push(row1);
|
|
68
|
+
|
|
69
|
+
let row2 = {};
|
|
70
|
+
row2.seq = 2;
|
|
71
|
+
row2.title = "前台人员是否微笑服务";
|
|
72
|
+
row2.value = rowdata.r2;
|
|
73
|
+
this.tableData.push(row2);
|
|
74
|
+
|
|
75
|
+
let row3 = {};
|
|
76
|
+
row3.seq = 3;
|
|
77
|
+
row3.title = "讲解员是否微笑服务";
|
|
78
|
+
row3.value = rowdata.r3;
|
|
79
|
+
this.tableData.push(row3);
|
|
80
|
+
|
|
81
|
+
let row4 = {};
|
|
82
|
+
row4.seq = 4;
|
|
83
|
+
row4.title = "讲解员是否耐心解答";
|
|
84
|
+
row4.value = rowdata.r4;
|
|
85
|
+
this.tableData.push(row4);
|
|
86
|
+
|
|
87
|
+
let row5 = {};
|
|
88
|
+
row5.seq = 5;
|
|
89
|
+
row5.title = "讲解员是否生动易懂";
|
|
90
|
+
row5.value = rowdata.row5;
|
|
91
|
+
this.tableData.push(row5);
|
|
92
|
+
|
|
93
|
+
let row6 = {};
|
|
94
|
+
row6.seq = 6;
|
|
95
|
+
row6.title = "品酒讲解是否微笑服务";
|
|
96
|
+
row6.value = rowdata.r6;
|
|
97
|
+
this.tableData.push(row6);
|
|
98
|
+
|
|
99
|
+
let row7 = {};
|
|
100
|
+
row7.seq = 7;
|
|
101
|
+
row7.title = "品酒讲解是否主动服务";
|
|
102
|
+
row7.value = rowdata.r7;
|
|
103
|
+
this.tableData.push(row7);
|
|
104
|
+
|
|
105
|
+
let row8 = {};
|
|
106
|
+
row8.seq = 8;
|
|
107
|
+
row8.title = "综合销售区手造人员是否微笑服务";
|
|
108
|
+
row8.value = rowdata.r8;
|
|
109
|
+
this.tableData.push(row8);
|
|
110
|
+
|
|
111
|
+
let row9 = {};
|
|
112
|
+
row9.seq = 9;
|
|
113
|
+
row9.title = "综合销售区手造人员是否主动服务";
|
|
114
|
+
row9.value = rowdata.r9;
|
|
115
|
+
this.tableData.push(row9);
|
|
116
|
+
|
|
117
|
+
let row10 = {};
|
|
118
|
+
row10.seq = 10;
|
|
119
|
+
row10.title = "综合销售区商品销售人员是否微笑服务";
|
|
120
|
+
row10.value = rowdata.r10;
|
|
121
|
+
this.tableData.push(row10);
|
|
122
|
+
|
|
123
|
+
let row11 = {};
|
|
124
|
+
row11.seq = 11;
|
|
125
|
+
row11.title = "综合销售区商品销售人员是否主动服务";
|
|
126
|
+
row11.value = rowdata.r11;
|
|
127
|
+
this.tableData.push(row11);
|
|
128
|
+
|
|
129
|
+
let row12 = {};
|
|
130
|
+
row12.seq = 12;
|
|
131
|
+
row12.title = "1892艺术中心品酒讲解是否主动服务";
|
|
132
|
+
row12.value = rowdata.r12;
|
|
133
|
+
this.tableData.push(row12);
|
|
134
|
+
|
|
135
|
+
let row13 = {};
|
|
136
|
+
row13.seq = 13;
|
|
137
|
+
row13.title = "1892艺术中心品酒讲解是否微笑服务";
|
|
138
|
+
row13.value = rowdata.r13;
|
|
139
|
+
this.tableData.push(row13);
|
|
140
|
+
|
|
141
|
+
let row14 = {};
|
|
142
|
+
row14.seq = 14;
|
|
143
|
+
row14.title = "您对哪个项目最感兴趣";
|
|
144
|
+
row14.value = rowdata.r14;
|
|
145
|
+
this.tableData.push(row14);
|
|
146
|
+
|
|
147
|
+
let row15 = {};
|
|
148
|
+
row15.seq = 15;
|
|
149
|
+
row15.title = "意见及建议";
|
|
150
|
+
row15.value = rowdata.r15;
|
|
151
|
+
this.tableData.push(row15);
|
|
152
|
+
|
|
153
|
+
let row16 = {};
|
|
154
|
+
row16.seq = 16;
|
|
155
|
+
row16.title = "现场图片";
|
|
156
|
+
row16.value = this.splitImages(rowdata.r16);
|
|
157
|
+
this.tableData.push(row16);
|
|
158
|
+
},
|
|
159
|
+
|
|
160
|
+
splitImages(imgs) {
|
|
161
|
+
if (imgs) {
|
|
162
|
+
let images = imgs.split(",");
|
|
163
|
+
if (images && images.length > 0) {
|
|
164
|
+
let maps = images.map((item) => {
|
|
165
|
+
let param = {};
|
|
166
|
+
param.img = item;
|
|
167
|
+
let imgPre = [];
|
|
168
|
+
imgPre.push(item);
|
|
169
|
+
param.imgPre = imgPre;
|
|
170
|
+
return param;
|
|
171
|
+
});
|
|
172
|
+
imgs = maps;
|
|
173
|
+
} else {
|
|
174
|
+
imgs = [];
|
|
175
|
+
}
|
|
176
|
+
} else {
|
|
177
|
+
imgs = [];
|
|
178
|
+
}
|
|
179
|
+
return imgs;
|
|
180
|
+
},
|
|
181
|
+
},
|
|
182
|
+
};
|
|
183
|
+
</script>
|