arms-app 1.0.82 → 1.0.84
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/package.json +1 -1
- package/public/3.d +38 -0
- package/public/2.d +0 -160
package/package.json
CHANGED
package/public/3.d
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vue2 树形结构中,根据 id 数组修改 disabled(使用 this.$set)
|
|
3
|
+
* @param {Array} tree - 树形数据(原数组)
|
|
4
|
+
* @param {Array<string|number>} ids - 命中的 id 数组
|
|
5
|
+
* @param {boolean} disabledValue - 要设置的 disabled 值
|
|
6
|
+
* @param {string} idKey - id 字段名,默认 'id'
|
|
7
|
+
* @param {string} childrenKey - children 字段名,默认 'children'
|
|
8
|
+
*/
|
|
9
|
+
function setDisabledInTreeVue2(
|
|
10
|
+
tree,
|
|
11
|
+
ids,
|
|
12
|
+
disabledValue = true,
|
|
13
|
+
idKey = 'id',
|
|
14
|
+
childrenKey = 'children'
|
|
15
|
+
) {
|
|
16
|
+
const idSet = new Set(ids);
|
|
17
|
+
|
|
18
|
+
const dfs = (nodes, vm) => {
|
|
19
|
+
if (!Array.isArray(nodes)) return;
|
|
20
|
+
|
|
21
|
+
nodes.forEach((node) => {
|
|
22
|
+
if (!node || typeof node !== 'object') return;
|
|
23
|
+
|
|
24
|
+
// 命中 id,用 $set 保证响应式
|
|
25
|
+
if (idSet.has(node[idKey])) {
|
|
26
|
+
vm.$set(node, 'disabled', disabledValue);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
// 递归 children
|
|
30
|
+
const children = node[childrenKey];
|
|
31
|
+
if (Array.isArray(children)) {
|
|
32
|
+
dfs(children, vm);
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
dfs(tree, this);
|
|
38
|
+
}
|
package/public/2.d
DELETED
|
@@ -1,160 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<section class="visit-detail-page">
|
|
3
|
-
<h1 class="page-title">拜访详情</h1>
|
|
4
|
-
<el-form
|
|
5
|
-
:model="form"
|
|
6
|
-
label-width="90px"
|
|
7
|
-
size="small"
|
|
8
|
-
class="visit-detail-form"
|
|
9
|
-
>
|
|
10
|
-
<el-row :gutter="16">
|
|
11
|
-
<el-col :span="12">
|
|
12
|
-
<el-form-item label="拜访形式">
|
|
13
|
-
<el-input v-model="form.visitMode" disabled />
|
|
14
|
-
</el-form-item>
|
|
15
|
-
</el-col>
|
|
16
|
-
<el-col :span="12">
|
|
17
|
-
<el-form-item label="再访方式">
|
|
18
|
-
<el-input v-model="form.revisitMode" disabled />
|
|
19
|
-
</el-form-item>
|
|
20
|
-
</el-col>
|
|
21
|
-
</el-row>
|
|
22
|
-
|
|
23
|
-
<el-row :gutter="16">
|
|
24
|
-
<el-col :span="12">
|
|
25
|
-
<el-form-item label="拜访时间">
|
|
26
|
-
<el-input v-model="form.visitTime" disabled />
|
|
27
|
-
</el-form-item>
|
|
28
|
-
</el-col>
|
|
29
|
-
<el-col :span="12">
|
|
30
|
-
<el-form-item label="拜访地点">
|
|
31
|
-
<el-input v-model="form.visitLocation" disabled />
|
|
32
|
-
</el-form-item>
|
|
33
|
-
</el-col>
|
|
34
|
-
</el-row>
|
|
35
|
-
|
|
36
|
-
<el-row :gutter="16">
|
|
37
|
-
<el-col :span="12">
|
|
38
|
-
<el-form-item label="拜访人">
|
|
39
|
-
<el-input v-model="form.visitor" disabled />
|
|
40
|
-
</el-form-item>
|
|
41
|
-
</el-col>
|
|
42
|
-
<el-col :span="12">
|
|
43
|
-
<el-form-item label="被拜访人">
|
|
44
|
-
<el-input v-model="form.visitedPerson" disabled />
|
|
45
|
-
</el-form-item>
|
|
46
|
-
</el-col>
|
|
47
|
-
</el-row>
|
|
48
|
-
|
|
49
|
-
<el-row :gutter="16">
|
|
50
|
-
<el-col :span="12">
|
|
51
|
-
<el-form-item label="被拜访人职务">
|
|
52
|
-
<el-input v-model="form.visitedTitle" disabled />
|
|
53
|
-
</el-form-item>
|
|
54
|
-
</el-col>
|
|
55
|
-
<el-col :span="12">
|
|
56
|
-
<el-form-item label="拜访结果">
|
|
57
|
-
<el-input v-model="form.visitResult" disabled />
|
|
58
|
-
</el-form-item>
|
|
59
|
-
</el-col>
|
|
60
|
-
</el-row>
|
|
61
|
-
|
|
62
|
-
<el-form-item label="协同人员">
|
|
63
|
-
<el-input v-model="form.partners" disabled />
|
|
64
|
-
</el-form-item>
|
|
65
|
-
|
|
66
|
-
<el-form-item label="拜访内容">
|
|
67
|
-
<el-input
|
|
68
|
-
v-model="form.visitContent"
|
|
69
|
-
type="textarea"
|
|
70
|
-
:rows="4"
|
|
71
|
-
disabled
|
|
72
|
-
/>
|
|
73
|
-
</el-form-item>
|
|
74
|
-
|
|
75
|
-
<el-form-item label="客户诉求">
|
|
76
|
-
<el-input
|
|
77
|
-
v-model="form.customerRequest"
|
|
78
|
-
type="textarea"
|
|
79
|
-
:rows="4"
|
|
80
|
-
disabled
|
|
81
|
-
/>
|
|
82
|
-
</el-form-item>
|
|
83
|
-
|
|
84
|
-
<el-form-item label="影像资料">
|
|
85
|
-
<div class="visit-images">
|
|
86
|
-
<div
|
|
87
|
-
v-for="(item, index) in form.images"
|
|
88
|
-
:key="index"
|
|
89
|
-
class="visit-image-card"
|
|
90
|
-
>
|
|
91
|
-
<i class="el-icon-view visit-image-icon" />
|
|
92
|
-
</div>
|
|
93
|
-
</div>
|
|
94
|
-
</el-form-item>
|
|
95
|
-
</el-form>
|
|
96
|
-
</section>
|
|
97
|
-
</template>
|
|
98
|
-
|
|
99
|
-
<script>
|
|
100
|
-
export default {
|
|
101
|
-
name: 'VisitDetailPage',
|
|
102
|
-
data() {
|
|
103
|
-
return {
|
|
104
|
-
form: {
|
|
105
|
-
visitMode: '现场拜访',
|
|
106
|
-
revisitMode: '再访拜访',
|
|
107
|
-
visitTime: '2025-12-12 16:00:00',
|
|
108
|
-
visitLocation: '北京市xxxxxxxxxxxx街道xxxxxxxxxxxx号',
|
|
109
|
-
visitor: '张三',
|
|
110
|
-
visitedPerson: '张三',
|
|
111
|
-
visitedTitle: '总经理',
|
|
112
|
-
visitResult: '已触达且有业务意向',
|
|
113
|
-
partners: '人员A, 人员B, 人员C, 人员D, 人员E',
|
|
114
|
-
visitContent: '文案文案文案文案文案文案文案文案文案文案文案文案',
|
|
115
|
-
customerRequest: '文案文案文案文案文案文案文案文案文案文案文案文案',
|
|
116
|
-
images: [{ id: 1 }, { id: 2 }, { id: 3 }]
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
</script>
|
|
122
|
-
|
|
123
|
-
<style scoped>
|
|
124
|
-
.visit-detail-page {
|
|
125
|
-
padding: 24px;
|
|
126
|
-
}
|
|
127
|
-
.page-title {
|
|
128
|
-
margin-bottom: 16px;
|
|
129
|
-
font-size: 18px;
|
|
130
|
-
font-weight: 500;
|
|
131
|
-
}
|
|
132
|
-
.visit-detail-form {
|
|
133
|
-
max-width: 900px;
|
|
134
|
-
}
|
|
135
|
-
.visit-detail-form .el-input.is-disabled .el-input__inner,
|
|
136
|
-
.visit-detail-form .el-textarea.is-disabled .el-textarea__inner {
|
|
137
|
-
background-color: #f5f7fa;
|
|
138
|
-
color: #606266;
|
|
139
|
-
}
|
|
140
|
-
.visit-images {
|
|
141
|
-
display: flex;
|
|
142
|
-
gap: 16px;
|
|
143
|
-
}
|
|
144
|
-
.visit-image-card {
|
|
145
|
-
width: 120px;
|
|
146
|
-
height: 80px;
|
|
147
|
-
border-radius: 4px;
|
|
148
|
-
border: 1px solid #dcdfe6;
|
|
149
|
-
background-color: #f5f7fa;
|
|
150
|
-
display: flex;
|
|
151
|
-
align-items: center;
|
|
152
|
-
justify-content: center;
|
|
153
|
-
cursor: pointer;
|
|
154
|
-
}
|
|
155
|
-
.visit-image-icon {
|
|
156
|
-
font-size: 24px;
|
|
157
|
-
color: #909399;
|
|
158
|
-
}
|
|
159
|
-
</style>
|
|
160
|
-
|