Commit f48efd0b72ead216f3e9a39c7d52b8f8b0499ad3

Authored by wangming
1 parent cb3beb5c

志哥欠我四批红牛了

Showing 1 changed file with 1048 additions and 937 deletions
src/views/user/userlist.vue
1 <template> 1 <template>
2 - <div class="app-container" style="clear: both;">  
3 -  
4 - <div class="seetingsDiv" style="">  
5 - <div class="flex" style="width: 85%">  
6 - <el-form :inline="true" class="demo-form-inline">  
7 - <el-form-item label="关键字">  
8 - <el-input placeholder="输入关键字搜索" v-model="query.keyword"></el-input>  
9 - </el-form-item>  
10 - <el-form-item label="最高学历">  
11 - <el-select v-model="query.xueli" placeholder="最高学历">  
12 - <el-option label="大专" value="shanghai"></el-option>  
13 - <el-option label="本科" value="beijing"></el-option>  
14 - </el-select>  
15 - </el-form-item>  
16 -  
17 - <el-form-item label="性别">  
18 - <el-select v-model="query.sex" placeholder="性别">  
19 - <el-option label="男" value="1"></el-option>  
20 - <el-option label="女" value="0"></el-option>  
21 - </el-select>  
22 - </el-form-item>  
23 - <el-form-item label="面试进度">  
24 - <el-select v-model="query.process" placeholder="进度">  
25 - <el-option label="全部" value="-1"></el-option>  
26 - <el-option v-for="item in processlist" :key="item.value" :label="item.label" :value="item.value">  
27 - </el-option>  
28 - </el-select>  
29 - </el-form-item>  
30 -  
31 - <el-form-item label="推荐指数">  
32 - <el-rate v-model="query.stars" text-color="#ff9900" style="margin-top:10px;" show-score :allow-half="true" :max="7" :score-template="query.stars <0?'无':query.stars+' 星' ">  
33 - </el-rate>  
34 - </el-form-item>  
35 -  
36 -  
37 - <el-form-item>  
38 - <el-button type="success" @click="search">搜索</el-button>  
39 - <el-button type="success" @click="resetSearch">重置</el-button>  
40 - <el-button type="primary" @click="handleInviteInterview()">邀请面试(线上)</el-button>  
41 -  
42 - <el-button type="primary" @click="handleCompanyInterview()">邀请面试(现场)</el-button>  
43 - </el-form-item>  
44 - </el-form>  
45 - </div>  
46 -  
47 - <div class="flex aligin-center">  
48 - <el-link :href="BASE_URL + '/temp/用户导入模板.xlsx'" target="_blank" type="primary">下载模板</el-link>  
49 - <el-upload class="upload-demo" action="/api/Account/importUsers?UserClassId=0" multiple :limit="1"  
50 - :show-file-list="false" :on-exceed="handleExceed" :on-success="handleSuccess" :file-list="fileList">  
51 - <el-button size="small" type="primary">导入用户</el-button>  
52 - </el-upload>  
53 - </div>  
54 - </div>  
55 - <el-container style="border: 1px solid #eee">  
56 - <el-aside width="255px" style=" 2 + <div class="app-container" style="clear: both;">
  3 +
  4 + <div class="seetingsDiv" style="">
  5 + <div class="flex" style="width: 85%">
  6 + <el-form :inline="true" class="demo-form-inline">
  7 + <el-form-item label="关键字">
  8 + <el-input placeholder="输入关键字搜索" v-model="query.keyword"></el-input>
  9 + </el-form-item>
  10 + <el-form-item label="最高学历">
  11 + <el-select v-model="query.xueli" placeholder="最高学历">
  12 + <el-option label="大专" value="shanghai"></el-option>
  13 + <el-option label="本科" value="beijing"></el-option>
  14 + </el-select>
  15 + </el-form-item>
  16 +
  17 + <el-form-item label="性别">
  18 + <el-select v-model="query.sex" placeholder="性别">
  19 + <el-option label="男" value="1"></el-option>
  20 + <el-option label="女" value="0"></el-option>
  21 + </el-select>
  22 + </el-form-item>
  23 + <el-form-item label="面试进度">
  24 + <el-select v-model="query.process" placeholder="进度">
  25 + <el-option label="全部" value="-1"></el-option>
  26 + <el-option v-for="item in processlist" :key="item.value" :label="item.label"
  27 + :value="item.value">
  28 + </el-option>
  29 + </el-select>
  30 + </el-form-item>
  31 +
  32 + <el-form-item label="推荐指数">
  33 + <el-rate v-model="query.stars" text-color="#ff9900" style="margin-top:10px;" show-score
  34 + :allow-half="true" :max="7" :score-template="query.stars <0?'无':query.stars+' 星' ">
  35 + </el-rate>
  36 + </el-form-item>
  37 +
  38 +
  39 + <el-form-item>
  40 + <el-button type="success" @click="search">搜索</el-button>
  41 + <el-button type="success" @click="resetSearch">重置</el-button>
  42 + <el-button type="primary" @click="handleInviteInterview()">邀请面试(线上)</el-button>
  43 +
  44 + <el-button type="primary" @click="handleCompanyInterview()">邀请面试(现场)</el-button>
  45 + </el-form-item>
  46 + </el-form>
  47 + </div>
  48 +
  49 + <div class="flex aligin-center">
  50 + <el-link :href="BASE_URL + '/temp/用户导入模板.xlsx'" target="_blank" type="primary">下载模板</el-link>
  51 + <el-upload class="upload-demo" action="/api/Account/importUsers?UserClassId=0" multiple :limit="1"
  52 + :show-file-list="false" :on-exceed="handleExceed" :on-success="handleSuccess" :file-list="fileList">
  53 + <el-button size="small" type="primary">导入用户</el-button>
  54 + </el-upload>
  55 + </div>
  56 + </div>
  57 + <el-container style="border: 1px solid #eee">
  58 + <el-aside width="255px" style="
57 width: 255px; 59 width: 255px;
58 background-color: #fff; 60 background-color: #fff;
59 padding: 10px; 61 padding: 10px;
60 border-right: 1px solid #dcdfe6; 62 border-right: 1px solid #dcdfe6;
61 "> 63 ">
62 - <div style="float: left">所属分类</div>  
63 - <div style="text-align: right">  
64 - <el-button size="mini" type="primary" icon="el-icon-plus" circle @click="addcat"></el-button>  
65 - <el-button size="mini" type="warning" icon="el-icon-edit" circle @click="editcat"></el-button>  
66 - <el-button size="mini" type="danger" icon="el-icon-delete" @click="delcat" circle></el-button>  
67 - </div>  
68 - <el-input size="small " placeholder="分类筛选" v-model="filterText" style="margin-bottom: 10px; margin-top: 10px">  
69 - </el-input>  
70 - <el-tree :data="data" :props="props" ref="tree" :filter-node-method="filterNode" @node-click="handleNodeClick">  
71 - </el-tree>  
72 - </el-aside>  
73 -  
74 - <el-main>  
75 - <div class="filter-container">  
76 - <el-table ref="userList" :data="userList" id="QuestionTable" border style=" 64 + <div style="float: left">所属分类</div>
  65 + <div style="text-align: right">
  66 + <el-button size="mini" type="primary" icon="el-icon-plus" circle @click="addcat"></el-button>
  67 + <el-button size="mini" type="warning" icon="el-icon-edit" circle @click="editcat"></el-button>
  68 + <el-button size="mini" type="danger" icon="el-icon-delete" @click="delcat" circle></el-button>
  69 + </div>
  70 + <el-input size="small " placeholder="分类筛选" v-model="filterText"
  71 + style="margin-bottom: 10px; margin-top: 10px">
  72 + </el-input>
  73 + <el-tree :data="data" :props="props" ref="tree" :filter-node-method="filterNode"
  74 + @node-click="handleNodeClick">
  75 + </el-tree>
  76 + </el-aside>
  77 +
  78 + <el-main>
  79 + <div class="filter-container">
  80 + <el-table ref="userList" :data="userList" id="QuestionTable" border style="
77 width: 100%; 81 width: 100%;
78 border-radius: 5px; 82 border-radius: 5px;
79 box-shadow: 0 0 10px #efefef; 83 box-shadow: 0 0 10px #efefef;
80 margin-top: 10px; 84 margin-top: 10px;
81 " @selection-change="handleSelectionChange" :stripe="true"> 85 " @selection-change="handleSelectionChange" :stripe="true">
82 - <el-table-column type="selection" width="55"> </el-table-column>  
83 - <el-table-column type="index" prop="date" width="50" align="center"></el-table-column>  
84 - <el-table-column prop="date" label="姓名" width="200">  
85 - <template slot-scope="scope">  
86 - <el-tooltip class="item" effect="dark" :content="scope.row.processName" placement="top-start">  
87 - <span>  
88 - {{scope.row.fullName || '无' }}  
89 - </span>  
90 - </el-tooltip>  
91 - <el-tag v-if="scope.row.abilityRecommend" size="mini" style="margin-right:5px" type="success"  
92 - >推荐</el-tag>  
93 - <el-tag v-for="item in scope.row.taglist" size="mini" style="margin-right:5px" closable  
94 - :disable-transitions="false" @close="handleClose(item,scope.row)">{{item}}</el-tag>  
95 - <el-tag size="mini" @click="addtag(scope.row)" style="cursor:pointer">+</el-tag>  
96 - <el-button style="margin-left:10px;" size="mini" type="text" @click="handleToResume(scope.row)">简历分析</el-button>  
97 - </template>  
98 - </el-table-column>  
99 - <el-table-column prop="date" label="系统推荐" width="220px" sortable>  
100 - <template slot-scope="scope">  
101 -  
102 - <el-tooltip class="item" effect="dark" :content="scope.row.stars+' 星'" placement="top-start">  
103 - <el-rate v-model="scope.row.stars" show-score :allow-half="true" :max="7" disabled text-color="#ff9900" size="mini" >  
104 - </el-rate>  
105 - </el-tooltip>  
106 -  
107 - </template>  
108 - </el-table-column>  
109 - <el-table-column prop="date" label="电话号码" width="100">  
110 - <template slot-scope="scope">  
111 - <el-tooltip class="item" effect="dark" :content="scope.row.phone" placement="top-start">  
112 - <span>{{ scope.row.phone1 }}</span>  
113 - </el-tooltip>  
114 - </template>  
115 - </el-table-column>  
116 -  
117 - <el-table-column prop="date" label="近期测试">  
118 - <template slot-scope="{ row }">  
119 - <el-button v-if="row.TestPaperTitle || 1 == 1" type="text" icon="el-icon-star-off"  
120 - @click="handleTestHitory(row)"></el-button>  
121 - <span>{{ row.TestPaperTitle || "无" }}</span>  
122 - </template>  
123 - </el-table-column>  
124 - <el-table-column prop="processName" label="面试进度">  
125 -  
126 - <template slot-scope="{ row }">  
127 -  
128 - <span style="cursor: pointer; 86 + <el-table-column type="selection" width="55"> </el-table-column>
  87 + <el-table-column type="index" prop="date" width="50" align="center"></el-table-column>
  88 + <el-table-column prop="date" label="姓名" width="200">
  89 + <template slot-scope="scope">
  90 + <el-tooltip class="item" effect="dark" :content="scope.row.processName"
  91 + placement="top-start">
  92 + <span>
  93 + {{scope.row.fullName || '无' }}
  94 + </span>
  95 + </el-tooltip>
  96 + <el-tag v-if="scope.row.abilityRecommend" size="mini" style="margin-right:5px"
  97 + type="success">推荐</el-tag>
  98 + <el-tag v-for="item in scope.row.taglist" size="mini" style="margin-right:5px" closable
  99 + :disable-transitions="false" @close="handleClose(item,scope.row)">{{item}}</el-tag>
  100 + <el-tag size="mini" @click="addtag(scope.row)" style="cursor:pointer">+</el-tag>
  101 + <el-button style="margin-left:10px;" size="mini" type="text"
  102 + @click="handleToResume(scope.row)">简历分析</el-button>
  103 + </template>
  104 + </el-table-column>
  105 + <el-table-column prop="date" label="系统推荐" width="220px" sortable>
  106 + <template slot-scope="scope">
  107 +
  108 + <el-tooltip class="item" effect="dark" :content="scope.row.stars+' 星'"
  109 + placement="top-start">
  110 + <el-rate v-model="scope.row.stars" show-score :allow-half="true" :max="7" disabled
  111 + text-color="#ff9900" size="mini">
  112 + </el-rate>
  113 + </el-tooltip>
  114 +
  115 + </template>
  116 + </el-table-column>
  117 + <el-table-column prop="date" label="电话号码" width="100">
  118 + <template slot-scope="scope">
  119 + <el-tooltip class="item" effect="dark" :content="scope.row.phone" placement="top-start">
  120 + <span>{{ scope.row.phone1 }}</span>
  121 + </el-tooltip>
  122 + </template>
  123 + </el-table-column>
  124 +
  125 + <el-table-column prop="date" label="近期测试">
  126 + <template slot-scope="{ row }">
  127 + <el-button v-if="row.TestPaperTitle || 1 == 1" type="text" icon="el-icon-star-off"
  128 + @click="handleTestHitory(row)"></el-button>
  129 + <span>{{ row.TestPaperTitle || "无" }}</span>
  130 + </template>
  131 + </el-table-column>
  132 + <el-table-column prop="processName" label="面试进度">
  133 +
  134 + <template slot-scope="{ row }">
  135 +
  136 + <span style="cursor: pointer;
129 border-color: #c2e7b0; 137 border-color: #c2e7b0;
130 " @click="processEvent(row)"> 138 " @click="processEvent(row)">
131 - {{row.processName}}  
132 - </span> 139 + {{row.processName}}
  140 + </span>
133 141
134 - </template>  
135 - </el-table-column> 142 + </template>
  143 + </el-table-column>
136 144
137 - <!-- <el-table-column prop="tags" label="标签" width="166"> 145 + <!-- <el-table-column prop="tags" label="标签" width="166">
138 146
139 <template slot-scope="{ row }"> 147 <template slot-scope="{ row }">
140 148
@@ -142,838 +150,941 @@ @@ -142,838 +150,941 @@
142 150
143 </template> 151 </template>
144 </el-table-column> --> 152 </el-table-column> -->
145 - <el-table-column prop="sex" label="性别" sortable>  
146 - <template slot-scope="scope">  
147 - <span>{{ scope.row.sex==1?'男':'女' }}</span>  
148 - </template>  
149 - </el-table-column>  
150 - <el-table-column prop="minzu" label="民族" sortable>  
151 - </el-table-column>  
152 - <el-table-column prop="zhuanye" label="专业" sortable>  
153 - </el-table-column>  
154 - <el-table-column prop="byyx" label="毕业院校" sortable>  
155 - </el-table-column>  
156 - <el-table-column prop="xueli" label="最高学历" sortable>  
157 - </el-table-column>  
158 -  
159 - <el-table-column prop="addTime" label="录入时间" sortable width="100">  
160 - <template slot-scope="scope">  
161 - <el-tooltip class="item" effect="dark" :content=" scope.row.addTime.replace('T',' ')"  
162 - placement="top-start">  
163 - <span>{{ scope.row.addTime.split('T')[0] }}</span>  
164 - </el-tooltip>  
165 -  
166 - </template>  
167 - </el-table-column>  
168 -  
169 - <el-table-column prop="date" label="操作" width="220" fixed="right">  
170 - <template slot-scope="scope">  
171 - <el-button type="text" icon="el-icon-edit" @click="handleEdit(scope.row)" circle size="mini"  
172 - style="margin-left:0px;">编辑</el-button>  
173 - <el-button type="text" icon="el-icon-user" @click="handleCompanyInterview(scope.row)" circle size="mini"  
174 - style="margin-left:0px;">邀请面试  
175 - </el-button>  
176 - <el-button type="text" icon="el-icon-delete" circle @click="handleDelete(scope.row, scope.$index)"  
177 - size="mini" style="margin-left:0px;">删除  
178 - </el-button>  
179 - </template>  
180 - </el-table-column>  
181 - </el-table>  
182 - <el-pagination background @current-change="currentchange" style=" 153 + <el-table-column prop="sex" label="性别" sortable>
  154 + <template slot-scope="scope">
  155 + <span>{{ scope.row.sex==1?'男':'女' }}</span>
  156 + </template>
  157 + </el-table-column>
  158 + <el-table-column prop="minzu" label="民族" sortable>
  159 + </el-table-column>
  160 + <el-table-column prop="zhuanye" label="专业" sortable>
  161 + </el-table-column>
  162 + <el-table-column prop="byyx" label="毕业院校" sortable>
  163 + </el-table-column>
  164 + <el-table-column prop="xueli" label="最高学历" sortable>
  165 + </el-table-column>
  166 +
  167 + <el-table-column prop="addTime" label="录入时间" sortable width="100">
  168 + <template slot-scope="scope">
  169 + <el-tooltip class="item" effect="dark" :content=" scope.row.addTime.replace('T',' ')"
  170 + placement="top-start">
  171 + <span>{{ scope.row.addTime.split('T')[0] }}</span>
  172 + </el-tooltip>
  173 +
  174 + </template>
  175 + </el-table-column>
  176 +
  177 + <el-table-column prop="date" label="操作" width="220" fixed="right">
  178 + <template slot-scope="scope">
  179 + <el-button type="text" icon="el-icon-edit" @click="handleEdit(scope.row)" circle
  180 + size="mini" style="margin-left:0px;">编辑</el-button>
  181 + <el-button type="text" icon="el-icon-user" @click="handleCompanyInterview(scope.row)"
  182 + circle size="mini" style="margin-left:0px;">邀请面试
  183 + </el-button>
  184 + <el-button type="text" icon="el-icon-delete" circle
  185 + @click="handleDelete(scope.row, scope.$index)" size="mini" style="margin-left:0px;">
  186 + 删除
  187 + </el-button>
  188 + </template>
  189 + </el-table-column>
  190 + </el-table>
  191 + <el-pagination background @current-change="currentchange" style="
183 position: static; 192 position: static;
184 bottom: 3px; 193 bottom: 3px;
185 text-align: center; 194 text-align: center;
186 margin-top: 5px; 195 margin-top: 5px;
187 " :page-size="this.query.PageSize" layout="total,prev, pager, next" :total="Count"> 196 " :page-size="this.query.PageSize" layout="total,prev, pager, next" :total="Count">
188 - </el-pagination>  
189 - </div>  
190 - </el-main>  
191 - </el-container>  
192 -  
193 - <el-dialog title="邀请面试-试卷选择" :visible.sync="dialogFormVisible">  
194 - <el-form :model="form">  
195 - <el-form-item label="试卷">  
196 - <el-select v-model="form.TestPaperId" placeholder="请选择试卷" style="width: 80%">  
197 - <el-option :value="item.id" :label="'['+item.id+']'+item.TestPaperTitle" v-for="item in testpaperlist">{{ 197 + </el-pagination>
  198 + </div>
  199 + </el-main>
  200 + </el-container>
  201 +
  202 + <el-dialog title="邀请面试-试卷选择" :visible.sync="dialogFormVisible">
  203 + <el-form :model="form">
  204 + <el-form-item label="试卷">
  205 + <el-select v-model="form.TestPaperId" placeholder="请选择试卷" style="width: 80%">
  206 + <el-option :value="item.id" :label="'['+item.id+']'+item.TestPaperTitle"
  207 + v-for="item in testpaperlist">{{
198 "[" + item.id + "] " + (item.TestPaperTitle || "未命名") 208 "[" + item.id + "] " + (item.TestPaperTitle || "未命名")
199 }}</el-option> 209 }}</el-option>
200 - </el-select>  
201 - </el-form-item>  
202 - <el-form-item label="允许测评次数">  
203 - <el-input v-model="form.NumberOfAnswers" type="number" placeholder="请输入允许测评次数" style="width: 30%" />  
204 - </el-form-item>  
205 - </el-form>  
206 - <div slot="footer" class="dialog-footer">  
207 - <el-button @click="dialogFormVisible = false">取 消</el-button>  
208 - <el-button type="primary" @click="handleShareSend">确认发送</el-button>  
209 - </div>  
210 - </el-dialog>  
211 -  
212 - <el-dialog title="测试历史记录" :visible.sync="dialogTableVisible" @close="gridData = []" height="800" width="80%">  
213 - <el-table :data="gridData" height="400">  
214 - <el-table-column property="TestPaperTitle" label="试卷" sortable></el-table-column>  
215 - <el-table-column property="AnswerTime" label="测试时间" width="180" sortable>  
216 - <template slot-scope="scope">  
217 - <span>{{ scope.row.AnswerTime.replace("T", " ") }}</span>  
218 - </template>  
219 - </el-table-column>  
220 - <el-table-column property="StartTime" label="开始时间" width="180" sortable>  
221 - <template slot-scope="scope">  
222 - <span>{{ scope.row.StartTime.replace("T", " ") }}</span>  
223 - </template>  
224 - </el-table-column>  
225 - <el-table-column property="address" label="结束时间" width="180" sortable>  
226 - <template slot-scope="scope">  
227 - <span>{{ scope.row.EndTime.replace("T", " ") }}</span>  
228 - </template>  
229 - </el-table-column>  
230 - <el-table-column property="Achievement" label="成绩" sortable></el-table-column>  
231 - <el-table-column label="操作">  
232 - <template slot-scope="scope">  
233 - <el-button type="success" @click="handleWatchLive(scope.row)">观看直播</el-button>  
234 - <el-button type="primary" @click="handleAnswerDetail(scope.row)">答题详情</el-button>  
235 - </template>  
236 - </el-table-column>  
237 - </el-table>  
238 -  
239 - <div style="text-align: right; margin-top: 20px">  
240 - <el-button type="primary" @click="dialogTableVisible = false">  
241 - 确定  
242 - </el-button>  
243 - </div>  
244 - </el-dialog>  
245 -  
246 - <el-dialog :visible.sync="dialogVisiblecat" :title="dialogTypecat === 'update' ? '修改' : '新增'" width="455px">  
247 - <el-form ref="dataForm" :model="temp" label-width="120px" label-position="right">  
248 - <el-form-item label="分类名称">  
249 - <el-input v-model="temp.ClassTitle" placeholder="请输入名称" />  
250 - </el-form-item>  
251 - </el-form>  
252 - <div style="text-align: right">  
253 - <el-button type="danger" @click="dialogVisiblecat = false">  
254 - 取消  
255 - </el-button>  
256 - <el-button type="primary" @click="submitcat" :disabled="loading">  
257 - 确定  
258 - </el-button>  
259 - </div>  
260 - </el-dialog>  
261 -  
262 - <el-dialog title="人才用户信息" :visible.sync="dialogClassIVIsible" width="450">  
263 - <el-form ref="adminUserInfo" :model="adminUserInfo" label-width="90px" style="margin-left: 40px">  
264 - <el-form-item label="名称" prop="fullName">  
265 - <el-input v-model="adminUserInfo.fullName" placeholder="请输入姓名" style="width: 40%"></el-input>  
266 - </el-form-item>  
267 - <el-form-item label="电话号码">  
268 - <el-input v-model="adminUserInfo.phone" placeholder="请输入电话号码" style="width: 40%" maxlength="11"></el-input>  
269 - </el-form-item>  
270 - <el-form-item label="最高学历">  
271 - <el-select v-model="adminUserInfo.xueli" placeholder="最高学历">  
272 - <el-option label="大专" value="大专"></el-option>  
273 - <el-option label="本科" value="本科"></el-option>  
274 - <el-option label="博士" value="博士"></el-option>  
275 - <el-option label="博士后" value="博士后"></el-option>  
276 - </el-select>  
277 - </el-form-item>  
278 -  
279 - <el-form-item label="民族">  
280 - <el-select v-model="adminUserInfo.minzu" placeholder="民族">  
281 - <el-option v-for="item in mzlist" :label="item" :value="item"></el-option>  
282 - </el-select>  
283 - </el-form-item>  
284 - <el-form-item label="性别">  
285 - <el-select v-model="adminUserInfo.sex" placeholder="性别">  
286 - <el-option label="男" value="1"></el-option>  
287 - <el-option label="女" value="0"></el-option>  
288 - </el-select>  
289 - </el-form-item>  
290 - <el-form-item label="专业" style="margin-top: 40px" prop="username">  
291 - <el-input v-model="adminUserInfo.zhuanye" placeholder="请输入专业" style="width: 40%"></el-input>  
292 - </el-form-item>  
293 - <el-form-item label="毕业院校" style="margin-top: 40px" prop="username">  
294 - <el-input v-model="adminUserInfo.byyx" placeholder="请输入毕业院校" style="width: 40%"></el-input>  
295 - </el-form-item>  
296 - <el-form-item label="系统推荐" style="margin-top: 40px" prop="stars">  
297 - <el-rate style="width: 40%" v-model="adminUserInfo.stars" show-score :allow-half="true" :max="7" :texts="['0星', '半星', '1星', '1星半', '2星', '2星半', '3星', '2星半', '4星', '4星半', '5星', '5星半', '6星', '6星半', '7星']"  
298 - show-text :score-template="adminUserInfo.stars+' 星'">  
299 - </el-rate>  
300 - </el-form-item>  
301 - <el-form-item label="面试进度">  
302 - <el-select v-model="adminUserInfo.process" placeholder="进度">  
303 - <el-option v-for="item in processlist" :key="item.value" :label="item.label" :value="item.value">  
304 - </el-option>  
305 - </el-select>  
306 - </el-form-item>  
307 - <!-- <el-form-item label="密码" prop="password" > 210 + </el-select>
  211 + </el-form-item>
  212 + <el-form-item label="允许测评次数">
  213 + <el-input v-model="form.NumberOfAnswers" type="number" placeholder="请输入允许测评次数" style="width: 30%" />
  214 + </el-form-item>
  215 + </el-form>
  216 + <div slot="footer" class="dialog-footer">
  217 + <el-button @click="dialogFormVisible = false">取 消</el-button>
  218 + <el-button type="primary" @click="handleShareSend">确认发送</el-button>
  219 + </div>
  220 + </el-dialog>
  221 +
  222 + <el-dialog title="测试历史记录" :visible.sync="dialogTableVisible" @close="gridData = []" height="800" width="80%">
  223 + <el-table :data="gridData" height="400">
  224 + <el-table-column property="TestPaperTitle" label="试卷" sortable></el-table-column>
  225 + <el-table-column property="AnswerTime" label="测试时间" width="180" sortable>
  226 + <template slot-scope="scope">
  227 + <span>{{ scope.row.AnswerTime.replace("T", " ") }}</span>
  228 + </template>
  229 + </el-table-column>
  230 + <el-table-column property="StartTime" label="开始时间" width="180" sortable>
  231 + <template slot-scope="scope">
  232 + <span>{{ scope.row.StartTime.replace("T", " ") }}</span>
  233 + </template>
  234 + </el-table-column>
  235 + <el-table-column property="address" label="结束时间" width="180" sortable>
  236 + <template slot-scope="scope">
  237 + <span>{{ scope.row.EndTime.replace("T", " ") }}</span>
  238 + </template>
  239 + </el-table-column>
  240 + <el-table-column property="Achievement" label="成绩" sortable></el-table-column>
  241 + <el-table-column label="操作">
  242 + <template slot-scope="scope">
  243 + <el-button type="success" @click="handleWatchLive(scope.row)">观看直播</el-button>
  244 + <el-button type="primary" @click="handleAnswerDetail(scope.row)">答题详情</el-button>
  245 + </template>
  246 + </el-table-column>
  247 + </el-table>
  248 +
  249 + <div style="text-align: right; margin-top: 20px">
  250 + <el-button type="primary" @click="dialogTableVisible = false">
  251 + 确定
  252 + </el-button>
  253 + </div>
  254 + </el-dialog>
  255 +
  256 + <el-dialog :visible.sync="dialogVisiblecat" :title="dialogTypecat === 'update' ? '修改' : '新增'" width="455px">
  257 + <el-form ref="dataForm" :model="temp" label-width="120px" label-position="right">
  258 + <el-form-item label="分类名称">
  259 + <el-input v-model="temp.ClassTitle" placeholder="请输入名称" />
  260 + </el-form-item>
  261 + </el-form>
  262 + <div style="text-align: right">
  263 + <el-button type="danger" @click="dialogVisiblecat = false">
  264 + 取消
  265 + </el-button>
  266 + <el-button type="primary" @click="submitcat" :disabled="loading">
  267 + 确定
  268 + </el-button>
  269 + </div>
  270 + </el-dialog>
  271 +
  272 + <el-dialog title="人才用户信息" :visible.sync="dialogClassIVIsible" width="450">
  273 + <el-form ref="adminUserInfo" label-width="120px">
  274 + <el-form-item class="el-form-itemByWang" label="名称" prop="fullName">
  275 + <el-input v-model="adminUserInfo.fullName" placeholder="请输入姓名" style="width: 70%"></el-input>
  276 + </el-form-item>
  277 + <el-form-item class="el-form-itemByWang" label="电话号码">
  278 + <el-input v-model="adminUserInfo.phone" placeholder="请输入电话号码" style="width: 70%" maxlength="11">
  279 + </el-input>
  280 + </el-form-item>
  281 + <el-form-item class="el-form-itemByWang" label="最高学历">
  282 + <el-select v-model="adminUserInfo.xueli" placeholder="最高学历">
  283 + <el-option label="大专" value="大专"></el-option>
  284 + <el-option label="本科" value="本科"></el-option>
  285 + <el-option label="博士" value="博士"></el-option>
  286 + <el-option label="博士后" value="博士后"></el-option>
  287 + </el-select>
  288 + </el-form-item>
  289 +
  290 + <el-form-item label="民族" class="el-form-itemByWang">
  291 + <el-select v-model="adminUserInfo.minzu" placeholder="民族">
  292 + <el-option v-for="item in mzlist" :label="item" :value="item"></el-option>
  293 + </el-select>
  294 + </el-form-item>
  295 + <el-form-item label="性别" class="el-form-itemByWang">
  296 + <el-select v-model="adminUserInfo.sex" placeholder="性别">
  297 + <el-option label="男" value="1"></el-option>
  298 + <el-option label="女" value="0"></el-option>
  299 + </el-select>
  300 + </el-form-item>
  301 + <el-form-item label="专业" prop="username" class="el-form-itemByWang">
  302 + <el-input v-model="adminUserInfo.zhuanye" placeholder="请输入专业" style="width: 70%"></el-input>
  303 + </el-form-item>
  304 + <el-form-item label="毕业院校" class="el-form-itemByWang" prop="username">
  305 + <el-input v-model="adminUserInfo.byyx" placeholder="请输入毕业院校" style="width: 70%"></el-input>
  306 + </el-form-item>
  307 + <el-form-item label="系统推荐" class="el-form-itemByWang" prop="stars">
  308 + <el-rate style="width: 70%" v-model="adminUserInfo.stars" show-score :allow-half="true" :max="7"
  309 + :texts="['0星', '半星', '1星', '1星半', '2星', '2星半', '3星', '2星半', '4星', '4星半', '5星', '5星半', '6星', '6星半', '7星']"
  310 + show-text :score-template="adminUserInfo.stars+' 星'">
  311 + </el-rate>
  312 + </el-form-item>
  313 + <el-form-item label="面试进度" class="el-form-itemByWang">
  314 + <el-select v-model="adminUserInfo.process" placeholder="进度">
  315 + <el-option v-for="item in processlist" :key="item.value" :label="item.label"
  316 + :value="item.value">
  317 + </el-option>
  318 + </el-select>
  319 + </el-form-item>
  320 + <el-form-item label="身份证ID" class="el-form-itemByWang" prop="IDNumber">
  321 + <el-input v-model="adminUserInfo.IDNumber" placeholder="请输入身份证ID" style="width: 70%"></el-input>
  322 + </el-form-item>
  323 + <el-form-item label="婚否" class="el-form-itemByWang" prop="Marriage">
  324 + <el-input v-model="adminUserInfo.Marriage" placeholder="请输入婚否" style="width: 70%"></el-input>
  325 + </el-form-item>
  326 + <el-form-item label="政治面貌" class="el-form-itemByWang" prop="PoliticalOutlook">
  327 + <el-input v-model="adminUserInfo.PoliticalOutlook" placeholder="请输入政治面貌" style="width: 70%">
  328 + </el-input>
  329 + </el-form-item>
  330 + <el-form-item label="身高" class="el-form-itemByWang" prop="Height">
  331 + <el-input v-model="adminUserInfo.Height" placeholder="请输入身高" style="width: 70%"></el-input>
  332 + </el-form-item>
  333 + <el-form-item label="体重" class="el-form-itemByWang" prop="Weight">
  334 + <el-input v-model="adminUserInfo.Weight" placeholder="请输入体重" style="width: 70%"></el-input>
  335 + </el-form-item>
  336 + <el-form-item label="毕业专业" class="el-form-itemByWang" prop="GraduationMajor">
  337 + <el-input v-model="adminUserInfo.GraduationMajor" placeholder="请输入毕业专业" style="width: 70%"></el-input>
  338 + </el-form-item>
  339 + <el-form-item label="毕业院校" class="el-form-itemByWang" prop="GraduationSchool">
  340 + <el-input v-model="adminUserInfo.GraduationSchool" placeholder="请输入毕业院校" style="width: 70%">
  341 + </el-input>
  342 + </el-form-item>
  343 + <el-form-item label="学历" class="el-form-itemByWang" prop="Education">
  344 + <el-input v-model="adminUserInfo.Education" placeholder="请输入学历" style="width: 70%"></el-input>
  345 + </el-form-item>
  346 + <el-form-item label="外语水平及分数" class="el-form-itemByWang" prop="ForeignLanguageLevel">
  347 + <el-input v-model="adminUserInfo.ForeignLanguageLevel" placeholder="请输入外语水平及分数" style="width: 70%">
  348 + </el-input>
  349 + </el-form-item>
  350 + <el-form-item label="毕业时间" class="el-form-itemByWang" prop="GraduationTime">
  351 + <el-input v-model="adminUserInfo.GraduationTime" placeholder="请输入毕业时间" style="width: 70%"></el-input>
  352 + </el-form-item>
  353 + <el-form-item label="计算机等级" class="el-form-itemByWang" prop="ComputerGrade">
  354 + <el-input v-model="adminUserInfo.ComputerGrade" placeholder="请输入计算机等级" style="width: 70%"></el-input>
  355 + </el-form-item>
  356 + <el-form-item label="血型" class="el-form-itemByWang" prop="BloodType">
  357 + <el-input v-model="adminUserInfo.BloodType" placeholder="请输入血型" style="width: 70%"></el-input>
  358 + </el-form-item>
  359 + <el-form-item label="资格证书" class="el-form-itemByWang" prop="Qualification">
  360 + <el-input v-model="adminUserInfo.Qualification" placeholder="请输入资格证书" style="width: 70%"></el-input>
  361 + </el-form-item>
  362 + <el-form-item label="就业意向城市" class="el-form-itemByWang" prop="IntendedCity">
  363 + <el-input v-model="adminUserInfo.IntendedCity" placeholder="请输入就业意向城市" style="width: 70%"></el-input>
  364 + </el-form-item>
  365 + <el-form-item label="户籍所在地" class="el-form-itemByWang" prop="RegisteredResidence">
  366 + <el-input v-model="adminUserInfo.RegisteredResidence" placeholder="请输入户籍所在地" style="width: 70%">
  367 + </el-input>
  368 + </el-form-item>
  369 + <!-- <el-form-item label="密码" prop="password" >
308 <el-input v-model="adminUserInfo.password " placeholder="请输入密码 不填默认不修改" show-password style="width: 40%;"></el-input> 370 <el-input v-model="adminUserInfo.password " placeholder="请输入密码 不填默认不修改" show-password style="width: 40%;"></el-input>
309 </el-form-item> --> 371 </el-form-item> -->
310 - <el-form-item style="text-align: right">  
311 - <el-button @click="dialogClassIVIsible = false">取消</el-button>  
312 - <el-button type="primary" @click="submitForm('adminUserInfo')">提交</el-button>  
313 - </el-form-item>  
314 - </el-form>  
315 -  
316 - <div style="clear: both"></div>  
317 - </el-dialog>  
318 -  
319 -  
320 - <el-dialog title="邀请公司面试" :visible.sync="dialogCompany">  
321 - <el-form ref="dynamicValidateForm" label-width="100px" class="demo-dynamic">  
322 - <div v-for="(user, index) in sendUserList">  
323 -  
324 - <el-descriptions class="margin-top" :title="(index+1)" :column="2" border>  
325 - <template slot="extra">  
326 - <el-button type="primary" size="small" @click="removeSendUser(user)"> <i class="el-icon-delete"></i>移除  
327 - </el-button>  
328 - </template>  
329 - <el-descriptions-item>  
330 - <template slot="label">  
331 - <i class="el-icon-user"></i>  
332 - 姓名  
333 - </template>  
334 - {{user.fullName || ''}}  
335 -  
336 - <el-rate v-model="user.stars || 0" disabled show-score text-color="#ff9900">  
337 - </el-rate>  
338 - </el-descriptions-item>  
339 - <el-descriptions-item>  
340 - <template slot="label">  
341 - <i class="el-icon-tickets"></i>  
342 - 标签  
343 - </template>  
344 - <el-tag v-for="item in user.taglist" size="mini" style="margin-right:5px" :disable-transitions="false">  
345 - {{item}}</el-tag>  
346 - </el-descriptions-item>  
347 - <el-descriptions-item>  
348 - <template slot="label">  
349 - <i class="el-icon-location-outline"></i>  
350 - 城市  
351 - </template>  
352 - -  
353 - </el-descriptions-item>  
354 -  
355 -  
356 - <el-descriptions-item>  
357 - <template slot="label">  
358 - <i class="el-icon-office-building"></i>  
359 - 联系地址  
360 - </template>  
361 - {{user.address || ''}}  
362 - </el-descriptions-item>  
363 - <el-descriptions-item>  
364 - <template slot="label">  
365 - <i class="el-icon-mobile-phone"></i>  
366 - 手机号  
367 - </template>  
368 - {{user.phone || ''}}  
369 - </el-descriptions-item>  
370 - <el-descriptions-item>  
371 - <template slot="label">  
372 -  
373 - 面试时间范围  
374 - </template>  
375 - <!-- <el-date-picker v-model="user.date" type="datetimerange" range-separator="至" start-placeholder="开始日期" 372 + <div style="clear: both;"></div>
  373 + <div style="text-align: right;">
  374 + <el-button @click="dialogClassIVIsible = false">取消</el-button>
  375 + <el-button type="primary" @click="submitForm('adminUserInfo')">提交</el-button>
  376 + </div>
  377 +
  378 + </el-form>
  379 +
  380 + <div style="clear: both"></div>
  381 + </el-dialog>
  382 +
  383 +
  384 + <el-dialog title="邀请公司面试" :visible.sync="dialogCompany">
  385 + <el-form ref="dynamicValidateForm" label-width="100px" class="demo-dynamic">
  386 + <div v-for="(user, index) in sendUserList">
  387 +
  388 + <el-descriptions class="margin-top" :title="(index+1)" :column="2" border>
  389 + <template slot="extra">
  390 + <el-button type="primary" size="small" @click="removeSendUser(user)"> <i
  391 + class="el-icon-delete"></i>移除
  392 + </el-button>
  393 + </template>
  394 + <el-descriptions-item>
  395 + <template slot="label">
  396 + <i class="el-icon-user"></i>
  397 + 姓名
  398 + </template>
  399 + {{user.fullName || ''}}
  400 +
  401 + <el-rate v-model="user.stars || 0" disabled show-score text-color="#ff9900">
  402 + </el-rate>
  403 + </el-descriptions-item>
  404 + <el-descriptions-item>
  405 + <template slot="label">
  406 + <i class="el-icon-tickets"></i>
  407 + 标签
  408 + </template>
  409 + <el-tag v-for="item in user.taglist" size="mini" style="margin-right:5px"
  410 + :disable-transitions="false">
  411 + {{item}}
  412 + </el-tag>
  413 + </el-descriptions-item>
  414 + <el-descriptions-item>
  415 + <template slot="label">
  416 + <i class="el-icon-location-outline"></i>
  417 + 城市
  418 + </template>
  419 + -
  420 + </el-descriptions-item>
  421 +
  422 +
  423 + <el-descriptions-item>
  424 + <template slot="label">
  425 + <i class="el-icon-office-building"></i>
  426 + 联系地址
  427 + </template>
  428 + {{user.address || ''}}
  429 + </el-descriptions-item>
  430 + <el-descriptions-item>
  431 + <template slot="label">
  432 + <i class="el-icon-mobile-phone"></i>
  433 + 手机号
  434 + </template>
  435 + {{user.phone || ''}}
  436 + </el-descriptions-item>
  437 + <el-descriptions-item>
  438 + <template slot="label">
  439 +
  440 + 面试时间范围
  441 + </template>
  442 + <!-- <el-date-picker v-model="user.date" type="datetimerange" range-separator="至" start-placeholder="开始日期"
376 end-placeholder="最后日期"> 443 end-placeholder="最后日期">
377 </el-date-picker> --> 444 </el-date-picker> -->
378 -  
379 - <el-date-picker v-model="user.startTime" type="datetime" placeholder="选择日期时间" :picker-options="pickerOptions">  
380 - </el-date-picker>  
381 - </el-descriptions-item>  
382 - <el-descriptions-item>  
383 - <template slot="label">  
384 - 消息内容  
385 - </template>  
386 - <el-input v-model="user.msgBody">  
387 445
388 - </el-input>  
389 -  
390 - </el-descriptions-item>  
391 - <el-descriptions-item>  
392 - <template slot="label">  
393 -  
394 - 备注  
395 - </template>  
396 - <el-input v-model="user.remark" type="textarea">  
397 -  
398 - </el-input>  
399 -  
400 - </el-descriptions-item>  
401 - </el-descriptions>  
402 - </div>  
403 -  
404 - </el-form>  
405 -  
406 - <div slot="footer" class="dialog-footer">  
407 - <el-button @click="dialogCompany = false">取 消</el-button>  
408 - <el-button type="primary" @click="SubmitSendUser">确 定</el-button>  
409 - </div>  
410 - </el-dialog>  
411 - <el-dialog title="新增标签" :visible.sync="dialogFormVisibleTag" width="355px">  
412 - <el-form>  
413 - <el-form-item label="标签">  
414 - <el-input v-model="tagform.name" autocomplete="off"></el-input>  
415 - </el-form-item>  
416 -  
417 - </el-form>  
418 - <div slot="footer" class="dialog-footer">  
419 - <el-button @click="dialogFormVisibleTag = false">取 消</el-button>  
420 - <el-button type="primary" @click="handleTagConfirm">确 定</el-button>  
421 - </div>  
422 - </el-dialog>  
423 -  
424 -  
425 - </div> 446 + <el-date-picker v-model="user.startTime" type="datetime" placeholder="选择日期时间"
  447 + :picker-options="pickerOptions">
  448 + </el-date-picker>
  449 + </el-descriptions-item>
  450 + <el-descriptions-item>
  451 + <template slot="label">
  452 + 消息内容
  453 + </template>
  454 + <el-input v-model="user.msgBody">
  455 +
  456 + </el-input>
  457 +
  458 + </el-descriptions-item>
  459 + <el-descriptions-item>
  460 + <template slot="label">
  461 +
  462 + 备注
  463 + </template>
  464 + <el-input v-model="user.remark" type="textarea">
  465 +
  466 + </el-input>
  467 +
  468 + </el-descriptions-item>
  469 + </el-descriptions>
  470 + </div>
  471 +
  472 + </el-form>
  473 +
  474 + <div slot="footer" class="dialog-footer">
  475 + <el-button @click="dialogCompany = false">取 消</el-button>
  476 + <el-button type="primary" @click="SubmitSendUser">确 定</el-button>
  477 + </div>
  478 + </el-dialog>
  479 + <el-dialog title="新增标签" :visible.sync="dialogFormVisibleTag" width="355px">
  480 + <el-form>
  481 + <el-form-item label="标签">
  482 + <el-input v-model="tagform.name" autocomplete="off"></el-input>
  483 + </el-form-item>
  484 +
  485 + </el-form>
  486 + <div slot="footer" class="dialog-footer">
  487 + <el-button @click="dialogFormVisibleTag = false">取 消</el-button>
  488 + <el-button type="primary" @click="handleTagConfirm">确 定</el-button>
  489 + </div>
  490 + </el-dialog>
  491 +
  492 +
  493 + </div>
426 </template> 494 </template>
427 495
428 <script> 496 <script>
429 - import {  
430 - ImportUserByExcel,  
431 - GetUserList,  
432 - UsersUpdate,  
433 - AddInvitationAnswerMultiple,  
434 - AddInvitationCompanyMultiple,  
435 - UsersDelete,  
436 - ChangeTags,  
437 - SelectPhoneBool  
438 - } from "@/api/user";  
439 - import {  
440 - GetUserClassList,  
441 - UserClassCreate,  
442 - UserClassUpdate,  
443 - UserClassDelete,  
444 - } from "@/api/userclass";  
445 - import { GetHistoryList } from "@/api/HistoryAnswer";  
446 -  
447 - import { getTestPaperList } from "@/api/TestPaper";  
448 - import {formatTime} from '@/utils/util.js'  
449 - export default {  
450 - data() {  
451 - return {  
452 - pickerOptions: {  
453 - disabledDate(time) {  
454 - return time.getTime() < Date.now() - 8.64e7;  
455 - }  
456 - },  
457 - loading: false,  
458 - dialogFormVisible: false,  
459 - dialogTableVisible: false,  
460 - dialogFormVisibleTag: false,  
461 - dialogCompany: false,  
462 - dialogTypecat: "create",  
463 - testpaperlist: [],  
464 - tagform: {},  
465 - form: {  
466 - NumberOfAnswers: 3,  
467 - },  
468 - userList: [],  
469 - data: [],  
470 - dialogVisiblecat: false,  
471 - filterText: "",  
472 - gridData: [],  
473 - Count: 0,  
474 - adminUserInfo: {},  
475 - temp: {  
476 - ParentId: 0,  
477 - },  
478 - mzlist: [  
479 - "汉族",  
480 - "蒙古族 ",  
481 - "羌族 ",  
482 - "僳僳族 ",  
483 - "哈尼族",  
484 - "回族",  
485 - "布朗族",  
486 - "佤族",  
487 - "哈萨克族",  
488 - "藏族",  
489 - "撒拉族",  
490 - "畲族",  
491 - "傣族",  
492 - "维吾尔族",  
493 - "毛南族",  
494 - "高山族",  
495 - "德昂族",  
496 - "苗族",  
497 - "仡佬族",  
498 - "拉祜族",  
499 - "保安族",  
500 - "彝族",  
501 - "锡伯族",  
502 - "水族",  
503 - "裕固族",  
504 - "壮族",  
505 - "阿昌族",  
506 - "东乡族",  
507 - "京族",  
508 - "布依族",  
509 - "普米族",  
510 - "纳西族",  
511 - "独龙族",  
512 - "朝鲜族",  
513 - "塔吉克族",  
514 - "景颇族",  
515 - "鄂伦春族",  
516 - "满族",  
517 - "怒族",  
518 - "柯尔克孜族",  
519 - "赫哲族",  
520 - "侗族",  
521 - "乌孜别克族",  
522 - "土族",  
523 - "门巴族",  
524 - "瑶族",  
525 - "俄罗斯族",  
526 - "达斡尔族",  
527 - "珞巴族",  
528 - "白族",  
529 - "鄂温克族",  
530 - "塔塔尔族",  
531 - "基诺族",  
532 - ],  
533 - processlist: [  
534 - { label: '入库', value: 0 },  
535 - { label: '面试邀请', value: 1 },  
536 - { label: '正在面试', value: 2 },  
537 - { label: '面试完成', value: 3 },  
538 - { label: '公司面试', value: 4 },  
539 - { label: '已录用', value: 5 },  
540 - { label: '未录用', value: 9 },  
541 - { label: '禁用', value: 11 },  
542 - ],  
543 - type: "1",  
544 - dialogClassIVIsible: false,  
545 - query: {  
546 - UserTypeEnum: 1, //0:管理员,1普通用户  
547 - PageIndex: 1,  
548 - PageSize: 10,  
549 - keyword: "",  
550 - stars: -1  
551 - },  
552 - fileList: [],  
553 - selectedList: [],  
554 - props: {  
555 - label: "ClassTitle",  
556 - children: "children",  
557 - },  
558 -  
559 - sendUserList: []  
560 - };  
561 - },  
562 - watch: {  
563 - filterText(val) {  
564 - this.$refs.tree.filter(val);  
565 - },  
566 - },  
567 -  
568 - created() {  
569 - this.GetUser();  
570 - this.forceTestPaper();  
571 - this.loadTree();  
572 - },  
573 - methods: {  
574 - handleToResume(item){  
575 - window.open(`http://interview-admin.7-stars.com.cn/Appraise/${item.sex == 1?'malestaff':'femalestaff'}/${item.id}.html`,'_blank');  
576 - },  
577 - handleClose(tag, row) {  
578 -  
579 -  
580 - this.$confirm('确定删除该标签吗?', '消息', {  
581 - confirmButtonText: '确认',  
582 - cancelButtonText: '取消',  
583 - callback: (action) => {  
584 - if (action == "confirm") {  
585 - var d = row.taglist.splice(row.taglist.indexOf(tag), 1);  
586 - ChangeTags({  
587 - ids: row.id,  
588 - tags: row.taglist.join(',')  
589 - });  
590 - }  
591 - },  
592 - })  
593 -  
594 -  
595 -  
596 - },  
597 - addtag(row) {  
598 - this.tagform = {  
599 - ids: row.id,  
600 - taglist: row.taglist,  
601 - name: ''  
602 - };  
603 - this.dialogFormVisibleTag = true;  
604 - },  
605 - handleTagConfirm(row) {  
606 - if (!this.tagform.name) {  
607 - this.$message.warning('请填写名字!');  
608 - return;  
609 - }  
610 - if (!this.tagform.ids) {  
611 - this.$message.warning('添加失败!');  
612 - return;  
613 - }  
614 - var temp = this.tagform.taglist || [];  
615 - temp.push(this.tagform.name);  
616 - ChangeTags({  
617 - ids: this.tagform.ids,  
618 - tags: temp.join(',')  
619 - }).then(res => {  
620 - if (res.data.code == 200) {  
621 - this.$message.success('操作成功!');  
622 - this.GetUser();  
623 - this.dialogFormVisibleTag = false;  
624 - this.$forceUpdate();  
625 - }  
626 - });  
627 - }  
628 - ,  
629 - //点击进度  
630 - processEvent(row) {  
631 - // if(row.procesName == '公司面试')  
632 - // {  
633 - // this.  
634 - // }  
635 - },  
636 - SubmitSendUser() {  
637 - if (!this.sendUserList || this.sendUserList.length < 1) {  
638 - this.$message.success("没有邀请对象!");  
639 - return;  
640 - }  
641 - var senddata = [];  
642 - this.sendUserList.forEach(o => {  
643 - // var item = Object.assign({},o);  
644 - // item.startTime = item.date[0];  
645 - // item.endTime = item.date[0];  
646 - // delete item['date'];  
647 - // var start = null;  
648 - // var end = null;  
649 - // if(o.date){  
650 - // start = o.date[0];  
651 - // end = o.date[1];  
652 - // }  
653 - senddata.push({  
654 - userId: o.id,  
655 - startTime: formatTime(o.startTime),  
656 - // endTime: end,  
657 - remark: o.remark || '',  
658 - phone: o.phone,  
659 - msgBody: o.msgBody || ''  
660 - });  
661 - });  
662 - AddInvitationCompanyMultiple(senddata).then(res => {  
663 - if (res.data.code == 200) {  
664 - this.$message.success("邀请成功");  
665 - this.sendUserList = [];  
666 - this.dialogCompany = false;  
667 - this.GetUser();  
668 - } else {  
669 - this.$message.error("邀请失败");  
670 - }  
671 -  
672 - });  
673 - },  
674 - removeSendUser(item) {  
675 - var index = this.sendUserList.indexOf(item)  
676 - if (index !== -1) {  
677 - this.sendUserList.splice(index, 1)  
678 - }  
679 - },  
680 -  
681 -  
682 - handleDelete(item, index) {  
683 - this.userList.splice(index, 1);  
684 - UsersDelete({ ids: item.id });  
685 - },  
686 - handleWatchLive(item) {  
687 - console.log("handleWatchLive", item);  
688 - this.$router.push(`/live?id=${item.StreamName}`);  
689 - },  
690 - handleAnswerDetail(item) {  
691 - window.open(`/#/answerDetail?id=${item.id}`, "_blank");  
692 - },  
693 - submitForm() {  
694 - let formData = { ...this.adminUserInfo };  
695 - console.log('submitForm', JSON.stringify(formData));  
696 - if (formData.id) {  
697 -  
698 - SelectPhoneBool(formData.id,formData.phone).then(res=>{  
699 - if(res.data==true){  
700 - this.$message.error("电话号码已存在!");  
701 - }else{  
702 - UsersUpdate(formData).then((res) => {  
703 - this.GetUser();  
704 - console.log(res); 497 + import {
  498 + ImportUserByExcel,
  499 + GetUserList,
  500 + UsersUpdate,
  501 + AddInvitationAnswerMultiple,
  502 + AddInvitationCompanyMultiple,
  503 + UsersDelete,
  504 + ChangeTags,
  505 + SelectPhoneBool
  506 + } from "@/api/user";
  507 + import {
  508 + GetUserClassList,
  509 + UserClassCreate,
  510 + UserClassUpdate,
  511 + UserClassDelete,
  512 + } from "@/api/userclass";
  513 + import {
  514 + GetHistoryList
  515 + } from "@/api/HistoryAnswer";
  516 +
  517 + import {
  518 + getTestPaperList
  519 + } from "@/api/TestPaper";
  520 + import {
  521 + formatTime
  522 + } from '@/utils/util.js'
  523 + export default {
  524 + data() {
  525 + return {
  526 + pickerOptions: {
  527 + disabledDate(time) {
  528 + return time.getTime() < Date.now() - 8.64e7;
  529 + }
  530 + },
  531 + loading: false,
  532 + dialogFormVisible: false,
  533 + dialogTableVisible: false,
  534 + dialogFormVisibleTag: false,
  535 + dialogCompany: false,
  536 + dialogTypecat: "create",
  537 + testpaperlist: [],
  538 + tagform: {},
  539 + form: {
  540 + NumberOfAnswers: 3,
  541 + },
  542 + userList: [],
  543 + data: [],
  544 + dialogVisiblecat: false,
  545 + filterText: "",
  546 + gridData: [],
  547 + Count: 0,
  548 + adminUserInfo: {},
  549 + temp: {
  550 + ParentId: 0,
  551 + },
  552 + mzlist: [
  553 + "汉族",
  554 + "蒙古族 ",
  555 + "羌族 ",
  556 + "僳僳族 ",
  557 + "哈尼族",
  558 + "回族",
  559 + "布朗族",
  560 + "佤族",
  561 + "哈萨克族",
  562 + "藏族",
  563 + "撒拉族",
  564 + "畲族",
  565 + "傣族",
  566 + "维吾尔族",
  567 + "毛南族",
  568 + "高山族",
  569 + "德昂族",
  570 + "苗族",
  571 + "仡佬族",
  572 + "拉祜族",
  573 + "保安族",
  574 + "彝族",
  575 + "锡伯族",
  576 + "水族",
  577 + "裕固族",
  578 + "壮族",
  579 + "阿昌族",
  580 + "东乡族",
  581 + "京族",
  582 + "布依族",
  583 + "普米族",
  584 + "纳西族",
  585 + "独龙族",
  586 + "朝鲜族",
  587 + "塔吉克族",
  588 + "景颇族",
  589 + "鄂伦春族",
  590 + "满族",
  591 + "怒族",
  592 + "柯尔克孜族",
  593 + "赫哲族",
  594 + "侗族",
  595 + "乌孜别克族",
  596 + "土族",
  597 + "门巴族",
  598 + "瑶族",
  599 + "俄罗斯族",
  600 + "达斡尔族",
  601 + "珞巴族",
  602 + "白族",
  603 + "鄂温克族",
  604 + "塔塔尔族",
  605 + "基诺族",
  606 + ],
  607 + processlist: [{
  608 + label: '入库',
  609 + value: 0
  610 + },
  611 + {
  612 + label: '面试邀请',
  613 + value: 1
  614 + },
  615 + {
  616 + label: '正在面试',
  617 + value: 2
  618 + },
  619 + {
  620 + label: '面试完成',
  621 + value: 3
  622 + },
  623 + {
  624 + label: '公司面试',
  625 + value: 4
  626 + },
  627 + {
  628 + label: '已录用',
  629 + value: 5
  630 + },
  631 + {
  632 + label: '未录用',
  633 + value: 9
  634 + },
  635 + {
  636 + label: '禁用',
  637 + value: 11
  638 + },
  639 + ],
  640 + type: "1",
  641 + dialogClassIVIsible: false,
  642 + query: {
  643 + UserTypeEnum: 1, //0:管理员,1普通用户
  644 + PageIndex: 1,
  645 + PageSize: 10,
  646 + keyword: "",
  647 + stars: -1
  648 + },
  649 + fileList: [],
  650 + selectedList: [],
  651 + props: {
  652 + label: "ClassTitle",
  653 + children: "children",
  654 + },
  655 +
  656 + sendUserList: []
  657 + };
  658 + },
  659 + watch: {
  660 + filterText(val) {
  661 + this.$refs.tree.filter(val);
  662 + },
  663 + },
  664 +
  665 + created() {
  666 + this.GetUser();
  667 + this.forceTestPaper();
  668 + this.loadTree();
  669 + },
  670 + methods: {
  671 + handleToResume(item) {
  672 + window.open(
  673 + `http://interview-admin.7-stars.com.cn/Appraise/${item.sex == 1?'malestaff':'femalestaff'}/${item.id}.html`,
  674 + '_blank');
  675 + },
  676 + handleClose(tag, row) {
  677 +
  678 +
  679 + this.$confirm('确定删除该标签吗?', '消息', {
  680 + confirmButtonText: '确认',
  681 + cancelButtonText: '取消',
  682 + callback: (action) => {
  683 + if (action == "confirm") {
  684 + var d = row.taglist.splice(row.taglist.indexOf(tag), 1);
  685 + ChangeTags({
  686 + ids: row.id,
  687 + tags: row.taglist.join(',')
  688 + });
  689 + }
  690 + },
  691 + })
  692 +
  693 +
  694 +
  695 + },
  696 + addtag(row) {
  697 + this.tagform = {
  698 + ids: row.id,
  699 + taglist: row.taglist,
  700 + name: ''
  701 + };
  702 + this.dialogFormVisibleTag = true;
  703 + },
  704 + handleTagConfirm(row) {
  705 + if (!this.tagform.name) {
  706 + this.$message.warning('请填写名字!');
  707 + return;
  708 + }
  709 + if (!this.tagform.ids) {
  710 + this.$message.warning('添加失败!');
  711 + return;
  712 + }
  713 + var temp = this.tagform.taglist || [];
  714 + temp.push(this.tagform.name);
  715 + ChangeTags({
  716 + ids: this.tagform.ids,
  717 + tags: temp.join(',')
  718 + }).then(res => {
  719 + if (res.data.code == 200) {
  720 + this.$message.success('操作成功!');
  721 + this.GetUser();
  722 + this.dialogFormVisibleTag = false;
  723 + this.$forceUpdate();
  724 + }
  725 + });
  726 + },
  727 + //点击进度
  728 + processEvent(row) {
  729 + // if(row.procesName == '公司面试')
  730 + // {
  731 + // this.
  732 + // }
  733 + },
  734 + SubmitSendUser() {
  735 + if (!this.sendUserList || this.sendUserList.length < 1) {
  736 + this.$message.success("没有邀请对象!");
  737 + return;
  738 + }
  739 + var senddata = [];
  740 + this.sendUserList.forEach(o => {
  741 + // var item = Object.assign({},o);
  742 + // item.startTime = item.date[0];
  743 + // item.endTime = item.date[0];
  744 + // delete item['date'];
  745 + // var start = null;
  746 + // var end = null;
  747 + // if(o.date){
  748 + // start = o.date[0];
  749 + // end = o.date[1];
  750 + // }
  751 + senddata.push({
  752 + userId: o.id,
  753 + startTime: formatTime(o.startTime),
  754 + // endTime: end,
  755 + remark: o.remark || '',
  756 + phone: o.phone,
  757 + msgBody: o.msgBody || ''
  758 + });
  759 + });
  760 + AddInvitationCompanyMultiple(senddata).then(res => {
  761 + if (res.data.code == 200) {
  762 + this.$message.success("邀请成功");
  763 + this.sendUserList = [];
  764 + this.dialogCompany = false;
  765 + this.GetUser();
  766 + } else {
  767 + this.$message.error("邀请失败");
  768 + }
  769 +
  770 + });
  771 + },
  772 + removeSendUser(item) {
  773 + var index = this.sendUserList.indexOf(item)
  774 + if (index !== -1) {
  775 + this.sendUserList.splice(index, 1)
  776 + }
  777 + },
  778 +
  779 +
  780 + handleDelete(item, index) {
  781 + this.userList.splice(index, 1);
  782 + UsersDelete({
  783 + ids: item.id
  784 + });
  785 + },
  786 + handleWatchLive(item) {
  787 + console.log("handleWatchLive", item);
  788 + this.$router.push(`/live?id=${item.StreamName}`);
  789 + },
  790 + handleAnswerDetail(item) {
  791 + window.open(`/#/answerDetail?id=${item.id}`, "_blank");
  792 + },
  793 + submitForm() {
  794 + let formData = {
  795 + ...this.adminUserInfo
  796 + };
  797 + console.log('submitForm', JSON.stringify(formData));
  798 + if (formData.id) {
  799 +
  800 + SelectPhoneBool(formData.id, formData.phone).then(res => {
  801 + if (res.data == true) {
  802 + this.$message.error("电话号码已存在!");
  803 + } else {
  804 + UsersUpdate(formData).then((res) => {
  805 + this.GetUser();
  806 + console.log(res);
  807 + });
  808 + }
  809 + });
  810 + }
  811 + this.dialogClassIVIsible = false;
  812 + },
  813 + handleEdit(data) {
  814 + this.dialogClassIVIsible = true;
  815 + console.log("超哥是傻逼:", data);
  816 + this.adminUserInfo = data;
  817 + },
  818 + handleTestHitory(row) {
  819 + GetHistoryList({
  820 + UserId: row.id
  821 + }).then((res) => {
  822 + this.gridData = res.data.data;
  823 + this.dialogTableVisible = true;
  824 + });
  825 + },
  826 + handleShareSend() {
  827 + var rows = this.$refs.userList.selection;
  828 + var ids =
  829 + rows.map((o) => {
  830 + return {
  831 + UserId: o.id
  832 + };
  833 + }) || [];
  834 + var postData = {
  835 + TestPaperId: this.form.TestPaperId,
  836 + NumberOfAnswers: this.form.NumberOfAnswers || 1,
  837 + Users: ids,
  838 + };
  839 + if (!ids || ids.length < 1) {
  840 + this.$message.warning("请至少选择一个用户进行发送!");
  841 + return;
  842 + }
  843 + if (!this.form.TestPaperId) {
  844 + this.$message.warning("请选择试卷后再发送!");
  845 + return;
  846 + }
  847 + this.$confirm(
  848 + "确认向选择的" + ids.length + "个用户发送试卷连接进行测试吗?",
  849 + "提示消息", {
  850 + confirmButtonText: "确认",
  851 + cancelButtonText: "取消",
  852 + callback: (action) => {
  853 + if (action == "confirm") {
  854 + AddInvitationAnswerMultiple(postData).then((res) => {
  855 + if (res.data.code == 200) {
  856 + this.$message.success("发送成功");
  857 + this.form = {};
  858 + this.dialogFormVisible = false;
  859 + this.GetUser();
  860 + } else {
  861 + this.$message.error("发送失败");
  862 + }
  863 + });
  864 + }
  865 + },
  866 + }
  867 + );
  868 + },
  869 + forceTestPaper() {
  870 + let parameter = {
  871 + pageIndex: 1,
  872 + pageSize: 10000,
  873 + sort: "id",
  874 + sortOrder: 1,
  875 + keyword: "",
  876 + };
  877 + getTestPaperList(parameter).then((res) => {
  878 + this.testpaperlist = res.data.data;
  879 + });
  880 + },
  881 + search() {
  882 + this.GetUser();
  883 + },
  884 + handleSuccess() {
  885 + this.$message.success("导入完成!");
  886 + this.GetUser();
  887 + },
  888 + handleInviteInterview() {
  889 + var rows = this.$refs.userList.selection;
  890 +
  891 + if (!rows || rows.length < 1) {
  892 + this.$message.warning("请至少选择一个用户进行发送!");
  893 + return;
  894 + }
  895 +
  896 + this.dialogFormVisible = true;
  897 + },
  898 + //邀请现场面试
  899 + handleCompanyInterview(user) {
  900 + var rows = this.$refs.userList.selection;
  901 + if (user) {
  902 + this.sendUserList = [user];
  903 + this.dialogCompany = true;
  904 + } else if (rows && rows.length > 0) {
  905 + this.sendUserList = rows;
  906 + this.dialogCompany = true;
  907 + } else
  908 + this.$message.warning('至少选择一个用户进行操作!');
  909 + },
  910 +
  911 + handleSelectionChange(val) {
  912 + console.log(val);
  913 + this.selectedList = val;
  914 + },
  915 + handleExceed() {},
  916 + ImportUser() {},
  917 +
  918 + showcontent(c, row) {
  919 + this.showbody = c;
  920 + this.dialogVisible_content = true;
  921 + },
  922 + submitcat() {
  923 + // this.$loading({lock:true,text:'保存中...'});
  924 + if (this.loading) {
  925 + return;
  926 + }
  927 + this.loading = true;
  928 + var postData = this.temp;
  929 + if (this.dialogTypecat == "update") {
  930 + if (postData.AddTime == "0001-01-01T00:00:00")
  931 + postData.AddTime = new Date();
  932 + UserClassUpdate(postData).then((o) => {
  933 + this.$message({
  934 + message: "提交成功",
  935 + type: "success",
  936 + });
  937 + this.dialogVisiblecat = false;
  938 + setTimeout(() => {
  939 + this.loading = false;
  940 + }, 1000);
  941 + });
  942 + } else {
  943 + UserClassCreate(postData).then((o) => {
  944 + this.$message({
  945 + message: "提交成功",
  946 + type: "success",
  947 + });
  948 +
  949 + this.dialogVisiblecat = false;
  950 +
  951 + this.loadTree();
  952 + setTimeout(() => {
  953 + this.loading = false;
  954 + }, 1000);
705 }); 955 });
706 } 956 }
707 - });  
708 - }  
709 - this.dialogClassIVIsible = false;  
710 - },  
711 - handleEdit(data) {  
712 - this.dialogClassIVIsible = true;  
713 - this.adminUserInfo = data;  
714 - },  
715 - handleTestHitory(row) {  
716 - GetHistoryList({ UserId: row.id }).then((res) => {  
717 - this.gridData = res.data.data;  
718 - this.dialogTableVisible = true;  
719 - });  
720 - },  
721 - handleShareSend() {  
722 - var rows = this.$refs.userList.selection;  
723 - var ids =  
724 - rows.map((o) => {  
725 - return { UserId: o.id };  
726 - }) || [];  
727 - var postData = {  
728 - TestPaperId: this.form.TestPaperId,  
729 - NumberOfAnswers: this.form.NumberOfAnswers || 1,  
730 - Users: ids,  
731 - };  
732 - if (!ids || ids.length < 1) {  
733 - this.$message.warning("请至少选择一个用户进行发送!");  
734 - return;  
735 - }  
736 - if (!this.form.TestPaperId) {  
737 - this.$message.warning("请选择试卷后再发送!");  
738 - return;  
739 - }  
740 - this.$confirm(  
741 - "确认向选择的" + ids.length + "个用户发送试卷连接进行测试吗?",  
742 - "提示消息",  
743 - {  
744 - confirmButtonText: "确认",  
745 - cancelButtonText: "取消",  
746 - callback: (action) => {  
747 - if (action == "confirm") {  
748 - AddInvitationAnswerMultiple(postData).then((res) => {  
749 - if (res.data.code == 200) {  
750 - this.$message.success("发送成功");  
751 - this.form = {};  
752 - this.dialogFormVisible = false;  
753 - this.GetUser();  
754 - } else {  
755 - this.$message.error("发送失败");  
756 - }  
757 - });  
758 - }  
759 - },  
760 - }  
761 - );  
762 - },  
763 - forceTestPaper() {  
764 - let parameter = {  
765 - pageIndex: 1,  
766 - pageSize: 10000,  
767 - sort: "id",  
768 - sortOrder: 1,  
769 - keyword: "",  
770 - };  
771 - getTestPaperList(parameter).then((res) => {  
772 - this.testpaperlist = res.data.data;  
773 - });  
774 - },  
775 - search() {  
776 - this.GetUser();  
777 - },  
778 - handleSuccess() {  
779 - this.$message.success("导入完成!");  
780 - this.GetUser();  
781 - },  
782 - handleInviteInterview() {  
783 - var rows = this.$refs.userList.selection;  
784 -  
785 - if (!rows || rows.length < 1) {  
786 - this.$message.warning("请至少选择一个用户进行发送!");  
787 - return;  
788 - }  
789 -  
790 - this.dialogFormVisible = true;  
791 - },  
792 - //邀请现场面试  
793 - handleCompanyInterview(user) {  
794 - var rows = this.$refs.userList.selection;  
795 - if (user) {  
796 - this.sendUserList = [user];  
797 - this.dialogCompany = true;  
798 - } else if (rows && rows.length > 0) {  
799 - this.sendUserList = rows;  
800 - this.dialogCompany = true;  
801 - }  
802 - else  
803 - this.$message.warning('至少选择一个用户进行操作!');  
804 - },  
805 -  
806 - handleSelectionChange(val) {  
807 - console.log(val);  
808 - this.selectedList = val;  
809 - },  
810 - handleExceed() { },  
811 - ImportUser() { },  
812 -  
813 - showcontent(c, row) {  
814 - this.showbody = c;  
815 - this.dialogVisible_content = true;  
816 - },  
817 - submitcat() {  
818 - // this.$loading({lock:true,text:'保存中...'});  
819 - if (this.loading) {  
820 - return;  
821 - }  
822 - this.loading = true;  
823 - var postData = this.temp;  
824 - if (this.dialogTypecat == "update") {  
825 - if (postData.AddTime == "0001-01-01T00:00:00")  
826 - postData.AddTime = new Date();  
827 - UserClassUpdate(postData).then((o) => {  
828 - this.$message({  
829 - message: "提交成功",  
830 - type: "success",  
831 - });  
832 - this.dialogVisiblecat = false;  
833 - setTimeout(() => {  
834 - this.loading = false;  
835 - }, 1000);  
836 - });  
837 - } else {  
838 - UserClassCreate(postData).then((o) => {  
839 - this.$message({  
840 - message: "提交成功",  
841 - type: "success",  
842 - });  
843 -  
844 - this.dialogVisiblecat = false;  
845 -  
846 - this.loadTree();  
847 - setTimeout(() => {  
848 - this.loading = false;  
849 - }, 1000);  
850 - });  
851 - }  
852 - },  
853 - editclose(data) {  
854 - // this.dialogVisible_step = false;  
855 - this.fetchData();  
856 - },  
857 - loadTree() {  
858 - GetUserClassList({ ParentId: 0 }).then((res) => {  
859 - this.data = res.data.data;  
860 - });  
861 - },  
862 - filterNode(value, data) {  
863 - if (!value) return true;  
864 - return data.ClassTitle.indexOf(value) !== -1;  
865 - },  
866 - addcat() {  
867 - this.temp = { AddTime: new Date() };  
868 - this.dialogVisiblecat = true;  
869 - },  
870 - editcat() {  
871 - this.dialogTypecat = "update";  
872 - if (!this.temp.id) {  
873 - this.$message({  
874 - message: "请选择一个分类进行操作!",  
875 - type: "warning",  
876 - });  
877 - return;  
878 - }  
879 - this.dialogVisiblecat = true;  
880 - },  
881 - delcat() {  
882 - if (!this.temp.id) {  
883 - this.$message({  
884 - message: "请选择一个分类进行操作!",  
885 - type: "warning",  
886 - });  
887 - return;  
888 - }  
889 - this.$confirm("确认删除该分类吗?", "提示", {  
890 - confirmButtonText: "确定",  
891 - cancelButtonText: "取消",  
892 - type: "warning",  
893 - }).then(() => {  
894 - UserClassDelete({ ids: this.temp.id }).then((o) => {  
895 - this.loadTree();  
896 - this.$message({  
897 - message: "删除成功",  
898 - type: "success",  
899 - });  
900 - });  
901 - });  
902 - },  
903 - handleNodeClick(data, checked, indeterminate) {  
904 - this.query.userClassId = data.id;  
905 - this.temp = data;  
906 - this.GetUser();  
907 - },  
908 -  
909 - resetSearch() {  
910 - this.query = {  
911 - UserTypeEnum: 1, //0:管理员,1普通用户  
912 - PageIndex: 1,  
913 - PageSize: 10,  
914 - keyword: "",  
915 - };  
916 - this.GetUser();  
917 - },  
918 - GetUser() {  
919 - GetUserList(this.query).then((res) => {  
920 - this.userList = res.data.data.rows.map((t) => {  
921 - if (t.phone) {  
922 - t.phone1 = t.phone.replace(t.phone.substring(3, 7), "****");  
923 - }  
924 - return t;  
925 - });  
926 - this.Count = res.data.data.total;  
927 - });  
928 - },  
929 - currentchange(page) {  
930 - this.query.PageIndex = page;  
931 - this.GetUser();  
932 - },  
933 - },  
934 - }; 957 + },
  958 + editclose(data) {
  959 + // this.dialogVisible_step = false;
  960 + this.fetchData();
  961 + },
  962 + loadTree() {
  963 + GetUserClassList({
  964 + ParentId: 0
  965 + }).then((res) => {
  966 + this.data = res.data.data;
  967 + });
  968 + },
  969 + filterNode(value, data) {
  970 + if (!value) return true;
  971 + return data.ClassTitle.indexOf(value) !== -1;
  972 + },
  973 + addcat() {
  974 + this.temp = {
  975 + AddTime: new Date()
  976 + };
  977 + this.dialogVisiblecat = true;
  978 + },
  979 + editcat() {
  980 + this.dialogTypecat = "update";
  981 + if (!this.temp.id) {
  982 + this.$message({
  983 + message: "请选择一个分类进行操作!",
  984 + type: "warning",
  985 + });
  986 + return;
  987 + }
  988 + this.dialogVisiblecat = true;
  989 + },
  990 + delcat() {
  991 + if (!this.temp.id) {
  992 + this.$message({
  993 + message: "请选择一个分类进行操作!",
  994 + type: "warning",
  995 + });
  996 + return;
  997 + }
  998 + this.$confirm("确认删除该分类吗?", "提示", {
  999 + confirmButtonText: "确定",
  1000 + cancelButtonText: "取消",
  1001 + type: "warning",
  1002 + }).then(() => {
  1003 + UserClassDelete({
  1004 + ids: this.temp.id
  1005 + }).then((o) => {
  1006 + this.loadTree();
  1007 + this.$message({
  1008 + message: "删除成功",
  1009 + type: "success",
  1010 + });
  1011 + });
  1012 + });
  1013 + },
  1014 + handleNodeClick(data, checked, indeterminate) {
  1015 + this.query.userClassId = data.id;
  1016 + this.temp = data;
  1017 + this.GetUser();
  1018 + },
  1019 +
  1020 + resetSearch() {
  1021 + this.query = {
  1022 + UserTypeEnum: 1, //0:管理员,1普通用户
  1023 + PageIndex: 1,
  1024 + PageSize: 10,
  1025 + keyword: "",
  1026 + };
  1027 + this.GetUser();
  1028 + },
  1029 + GetUser() {
  1030 + GetUserList(this.query).then((res) => {
  1031 + this.userList = res.data.data.rows.map((t) => {
  1032 + if (t.phone) {
  1033 + t.phone1 = t.phone.replace(t.phone.substring(3, 7), "****");
  1034 + }
  1035 + return t;
  1036 + });
  1037 + this.Count = res.data.data.total;
  1038 + });
  1039 + },
  1040 + currentchange(page) {
  1041 + this.query.PageIndex = page;
  1042 + this.GetUser();
  1043 + },
  1044 + },
  1045 + };
935 </script> 1046 </script>
936 1047
937 <style lang="scss" scoped> 1048 <style lang="scss" scoped>
938 - .seetingsDiv {  
939 - display: flex;  
940 - align-items: center;  
941 - width: 100%;  
942 - padding-top: 10px;  
943 - padding-left: 10px;  
944 - height: 126px;  
945 - background: #efefef;  
946 - line-height: initial !important;  
947 - border-radius: 5px;  
948 - box-shadow: 0 0 5px #cdcdcd;  
949 - justify-content: space-between;  
950 - }  
951 -  
952 - .seetingsDiv button {  
953 - height: 40px;  
954 - background-color: #304156;  
955 - border: 0px;  
956 - margin-left: 10px;  
957 - box-shadow: 0 0 5px #cdcdcd;  
958 - float: none;  
959 - margin-right: 10px;  
960 - }  
961 -  
962 - .el-tag+.el-tag {  
963 - margin-left: 10px;  
964 - }  
965 -  
966 - .button-new-tag {  
967 - margin-left: 10px;  
968 - height: 32px;  
969 - line-height: 30px;  
970 - padding-top: 0;  
971 - padding-bottom: 0;  
972 - }  
973 -  
974 - .input-new-tag {  
975 - width: 90px;  
976 - margin-left: 10px;  
977 - vertical-align: bottom;  
978 - }  
979 -</style>  
980 \ No newline at end of file 1049 \ No newline at end of file
  1050 + .seetingsDiv {
  1051 + display: flex;
  1052 + align-items: center;
  1053 + width: 100%;
  1054 + padding-top: 10px;
  1055 + padding-left: 10px;
  1056 + height: 126px;
  1057 + background: #efefef;
  1058 + line-height: initial !important;
  1059 + border-radius: 5px;
  1060 + box-shadow: 0 0 5px #cdcdcd;
  1061 + justify-content: space-between;
  1062 + }
  1063 + .seetingsDiv button {
  1064 + height: 40px;
  1065 + background-color: #304156;
  1066 + border: 0px;
  1067 + margin-left: 10px;
  1068 + box-shadow: 0 0 5px #cdcdcd;
  1069 + float: none;
  1070 + margin-right: 10px;
  1071 + }
  1072 + .el-tag+.el-tag {
  1073 + margin-left: 10px;
  1074 + }
  1075 + .button-new-tag {
  1076 + margin-left: 10px;
  1077 + height: 32px;
  1078 + line-height: 30px;
  1079 + padding-top: 0;
  1080 + padding-bottom: 0;
  1081 + }
  1082 + .input-new-tag {
  1083 + width: 90px;
  1084 + margin-left: 10px;
  1085 + vertical-align: bottom;
  1086 + }
  1087 + .el-form-itemByWang {
  1088 + width: 33% !important;
  1089 + float: left !important;
  1090 + }
  1091 +</style>