<template>
	<div class="app-container" style="clear: both;">

		<div class="seetingsDiv" style="">
			<div class="flex" style="width: 85%">
				<el-form :inline="true" class="demo-form-inline">
					<el-form-item label="关键字">
						<el-input placeholder="输入关键字搜索" v-model="query.keyword"></el-input>
					</el-form-item>
					<el-form-item label="最高学历">
						<el-select v-model="query.xueli" placeholder="最高学历">
							<el-option label="大专" value="shanghai"></el-option>
							<el-option label="本科" value="beijing"></el-option>
						</el-select>
					</el-form-item>

					<el-form-item label="性别">
						<el-select v-model="query.sex" placeholder="性别">
							<el-option label="男" value="1"></el-option>
							<el-option label="女" value="0"></el-option>
						</el-select>
					</el-form-item>
					<el-form-item label="面试进度">
						<el-select v-model="query.process" placeholder="进度">
							<el-option label="全部" value="-1"></el-option>
							<el-option v-for="item in processlist" :key="item.value" :label="item.label"
								:value="item.value">
							</el-option>
						</el-select>
					</el-form-item>

					<el-form-item label="推荐指数">
						<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+' 星' ">
						</el-rate>
					</el-form-item>


					<el-form-item>
						<el-button type="success" @click="search">搜索</el-button>
						<el-button type="success" @click="handleEdit(-1)">添加</el-button>
						<el-button type="danger" @click="handleChangeCat">批量修改分类</el-button>
						<el-button type="success" @click="resetSearch">重置</el-button>
						<el-button type="primary" @click="handleInviteInterview()">邀请面试(线上)</el-button>

						<el-button type="primary" @click="handleCompanyInterview()">邀请面试(现场)</el-button>
					</el-form-item>
				</el-form>
			</div>

			<div class="flex aligin-center">
				<el-link :href="BASE_URL + '/temp/用户导入模板.xlsx'" target="_blank" type="primary">下载模板</el-link>
				<el-upload class="upload-demo"
					:action="'/api/Account/importUsers?UserClassId='+ (query.userClassId || 0)" multiple :limit="1"
					:show-file-list="false" :on-exceed="handleExceed" :on-success="handleSuccess" :file-list="fileList">
					<el-button size="small" type="primary">导入用户</el-button>

				</el-upload>
			</div>
		</div>
		<el-container style="border: 1px solid #eee">
			<el-aside width="255px" style="
          width: 255px;
          background-color: #fff;
          padding: 10px;
          border-right: 1px solid #dcdfe6;
        ">
				<div style="float: left">所属分类</div>
				<div style="text-align: right">
					<el-button size="mini" type="primary" icon="el-icon-plus" circle @click="addcat"></el-button>
					<el-button size="mini" type="warning" icon="el-icon-edit" circle @click="editcat"></el-button>
					<el-button size="mini" type="danger" icon="el-icon-delete" @click="delcat" circle></el-button>
				</div>
				<el-input size="small " placeholder="分类筛选" v-model="filterText"
					style="margin-bottom: 10px; margin-top: 10px">
				</el-input>
				<el-tree :data="data" :props="props" ref="tree" :filter-node-method="filterNode"
					@node-click="handleNodeClick">
				</el-tree>
			</el-aside>

			<el-main>
				<div class="filter-container">
					<el-table ref="userList" :data="userList" id="QuestionTable" border style="
              width: 100%;
              border-radius: 5px;
              box-shadow: 0 0 10px #efefef;
              margin-top: 10px;
            " @selection-change="handleSelectionChange" :stripe="true">
						<el-table-column type="selection" width="55"> </el-table-column>
						<el-table-column type="index" prop="date" width="50" align="center"></el-table-column>
						<el-table-column prop="date" label="姓名" width="200">
							<template slot-scope="scope">
								<el-tooltip class="item" effect="dark" :content="scope.row.processName"
									placement="top-start">
									<span>
										{{scope.row.fullName || '无' }}
									</span>
								</el-tooltip>
								<el-tag v-if="scope.row.abilityRecommend" size="mini" style="margin-right:5px"
									type="success">推荐</el-tag>
								<el-tag v-for="item in scope.row.taglist" size="mini" style="margin-right:5px" closable
									:disable-transitions="false" @close="handleClose(item,scope.row)">{{item}}</el-tag>
								<el-tag size="mini" @click="addtag(scope.row)" style="cursor:pointer">+</el-tag>
								<el-button style="margin-left:10px;" size="mini" type="text"
									@click="handleToResume(scope.row)">简历分析</el-button>
							</template>
						</el-table-column>
						<el-table-column prop="date" label="系统推荐" width="220px" sortable>
							<template slot-scope="scope">

								<el-tooltip class="item" effect="dark" :content="scope.row.stars+' 星'"
									placement="top-start">
									<el-rate v-model="scope.row.stars" show-score :allow-half="true" :max="7" disabled
										text-color="#ff9900" size="mini">
									</el-rate>
								</el-tooltip>

							</template>
						</el-table-column>
						<el-table-column prop="date" label="电话号码" width="100">
							<template slot-scope="scope">
								<el-tooltip class="item" effect="dark" :content="scope.row.phone" placement="top-start">
									<span>{{ scope.row.phone1 }}</span>
								</el-tooltip>
							</template>
						</el-table-column>

						<el-table-column prop="date" label="近期测试">
							<template slot-scope="{ row }">
								<span title="查看面试记录" v-if="row.TestPaperTitle || 1 == 1" @click="handleTestHitory(row)"
									class="el-icon-star-off"
									style="font-size:24px;color:#409EFF;cursor:pointer;"></span>
								<span>{{ row.TestPaperTitle || "无" }}</span>
							</template>
						</el-table-column>
						<el-table-column prop="processName" label="面试进度">

							<template slot-scope="{ row }">

								<span style="cursor: pointer;
                    border-color: #c2e7b0;
                    " @click="processEvent(row)">
									{{row.processName}}
								</span>

							</template>
						</el-table-column>

						<!-- <el-table-column prop="tags" label="标签" width="166">

              <template slot-scope="{ row }">

                <el-tag v-for="item in row.taglist" size="mini" style="margin-right:5px;">{{item}}</el-tag>

              </template>
            </el-table-column> -->
						<el-table-column prop="sex" label="性别" sortable>
							<template slot-scope="scope">
								<span>{{ scope.row.sex==1?'男':'女' }}</span>
							</template>
						</el-table-column>
						<el-table-column prop="minzu" label="民族" sortable>
						</el-table-column>
						<el-table-column prop="zhuanye" label="专业" sortable>
						</el-table-column>
						<el-table-column prop="byyx" label="毕业院校" sortable>
						</el-table-column>
						<el-table-column prop="xueli" label="最高学历" sortable>
						</el-table-column>

						<el-table-column prop="addTime" label="录入时间" sortable width="100">
							<template slot-scope="scope">
								<el-tooltip class="item" effect="dark" :content=" scope.row.addTime.replace('T',' ')"
									placement="top-start">
									<span>{{ scope.row.addTime.split('T')[0] }}</span>
								</el-tooltip>

							</template>
						</el-table-column>

						<el-table-column prop="date" label="操作" width="220" fixed="right">
							<template slot-scope="scope">
								<el-button type="text" icon="el-icon-edit" @click="handleEdit(scope.row)" circle
									size="mini" style="margin-left:0px;">编辑</el-button>
								<el-button type="text" icon="el-icon-user" @click="handleCompanyInterview(scope.row)"
									circle size="mini" style="margin-left:0px;">邀请面试
								</el-button>
								<el-button type="text" icon="el-icon-delete" circle
									@click="handleDelete(scope.row, scope.$index)" size="mini" style="margin-left:0px;">
									删除
								</el-button>
							</template>
						</el-table-column>
					</el-table>
					<el-pagination background @current-change="currentchange" style="
              position: static;
              bottom: 3px;
              text-align: center;
              margin-top: 5px;
            " :page-size="this.query.PageSize" layout="total,prev, pager, next" :total="Count">
					</el-pagination>
				</div>
			</el-main>
		</el-container>

		<el-dialog title="邀请面试-试卷选择" :visible.sync="dialogFormVisible">
			<el-form :model="form">
				<el-form-item label="试卷">
					<el-select v-model="form.TestPaperId" placeholder="请选择试卷" style="width: 80%">
						<el-option :value="item.id" :label="'['+item.id+']'+item.TestPaperTitle"
							v-for="item in testpaperlist">{{
							"[" + item.id + "] " + (item.TestPaperTitle || "未命名")
							}}</el-option>
					</el-select>
				</el-form-item>
				<el-form-item label="允许测评次数">
					<el-input v-model="form.NumberOfAnswers" type="number" placeholder="请输入允许测评次数" style="width: 30%" />
				</el-form-item>
			</el-form>
			<div slot="footer" class="dialog-footer">
				<el-button @click="dialogFormVisible = false">取 消</el-button>
				<el-button type="primary" @click="handleShareSend">确认发送</el-button>
			</div>
		</el-dialog>

		<el-dialog title="测试历史记录" :visible.sync="dialogTableVisible" @close="gridData = []" height="800" width="80%">
			<el-table :data="gridData" height="400">
				<el-table-column property="TestPaperTitle" label="试卷" sortable></el-table-column>
				<el-table-column property="AnswerTime" label="测试时间" width="180" sortable>
					<template slot-scope="scope">
						<span>{{ scope.row.AnswerTime.replace("T", " ") }}</span>
					</template>
				</el-table-column>
				<el-table-column property="StartTime" label="开始时间" width="180" sortable>
					<template slot-scope="scope">
						<span>{{ scope.row.StartTime.replace("T", " ") }}</span>
					</template>
				</el-table-column>
				<el-table-column property="address" label="结束时间" width="180" sortable>
					<template slot-scope="scope">
						<span>{{ scope.row.EndTime.replace("T", " ") }}</span>
					</template>
				</el-table-column>
				<el-table-column property="Achievement" label="成绩" sortable></el-table-column>
				<el-table-column label="操作">
					<template slot-scope="scope">
						<el-button type="success" @click="handleWatchLive(scope.row)">观看直播</el-button>
						<el-button type="primary" @click="handleAnswerDetail(scope.row)">答题详情</el-button>
					</template>
				</el-table-column>
			</el-table>

			<div style="text-align: right; margin-top: 20px">
				<el-button type="primary" @click="dialogTableVisible = false">
					确定
				</el-button>
			</div>
		</el-dialog>

		<el-dialog :visible.sync="dialogVisiblecat" :title="dialogTypecat === 'update' ? '修改' : '新增'" width="455px">
			<el-form ref="dataForm" :model="temp" label-width="120px" label-position="right">
				<el-form-item label="分类名称">
					<el-input v-model="temp.ClassTitle" placeholder="请输入名称" />
				</el-form-item>
			</el-form>
			<div style="text-align: right">
				<el-button type="danger" @click="dialogVisiblecat = false">
					取消
				</el-button>
				<el-button type="primary" @click="submitcat" :disabled="loading">
					确定
				</el-button>
			</div>
		</el-dialog>

		<el-dialog title="人才用户信息" :visible.sync="dialogClassIVIsible" width="80%">
			<el-form ref="adminUserInfo" label-width="120px">
				<el-form-item class="el-form-itemByWang" label="名称" prop="fullName">
					<el-input v-model="adminUserInfo.fullName" placeholder="请输入姓名" style="width: 70%"></el-input>
				</el-form-item>
				<el-form-item class="el-form-itemByWang" label="电话号码">
					<el-input v-model="adminUserInfo.phone" placeholder="请输入电话号码" style="width: 70%" maxlength="11">
					</el-input>
				</el-form-item>
				<el-form-item class="el-form-itemByWang" label="最高学历">
					<el-select v-model="adminUserInfo.xueli" placeholder="最高学历">
						<el-option label="大专" value="大专"></el-option>
						<el-option label="本科" value="本科"></el-option>
						<el-option label="博士" value="博士"></el-option>
						<el-option label="博士后" value="博士后"></el-option>
					</el-select>
				</el-form-item>

				<el-form-item label="民族" class="el-form-itemByWang">
					<el-select v-model="adminUserInfo.minzu" placeholder="民族">
						<el-option v-for="item in mzlist" :label="item" :value="item"></el-option>
					</el-select>
				</el-form-item>
				<el-form-item label="性别" class="el-form-itemByWang">
					<el-select v-model="adminUserInfo.sex" placeholder="性别">
						<el-option label="男" value="1"></el-option>
						<el-option label="女" value="0"></el-option>
					</el-select>
				</el-form-item>
				<el-form-item label="专业" prop="username" class="el-form-itemByWang">
					<el-input v-model="adminUserInfo.zhuanye" placeholder="请输入专业" style="width: 70%"></el-input>
				</el-form-item>
				<el-form-item label="毕业院校" class="el-form-itemByWang" prop="username">
					<el-input v-model="adminUserInfo.byyx" placeholder="请输入毕业院校" style="width: 70%"></el-input>
				</el-form-item>
				<el-form-item label="系统推荐" class="el-form-itemByWang" prop="stars">
					<el-rate style="width: 70%" 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星']"
						show-text :score-template="adminUserInfo.stars+' 星'">
					</el-rate>
				</el-form-item>
				<el-form-item label="面试进度" class="el-form-itemByWang">
					<el-select v-model="adminUserInfo.process" placeholder="进度">
						<el-option v-for="item in processlist" :key="item.value" :label="item.label"
							:value="item.value">
						</el-option>
					</el-select>
				</el-form-item>
				<el-form-item label="身份证ID" class="el-form-itemByWang" prop="IDNumber">
					<el-input v-model="adminUserInfo.IDNumber" placeholder="请输入身份证ID" style="width: 70%"></el-input>
				</el-form-item>
				<el-form-item label="婚否" class="el-form-itemByWang" prop="Marriage">
					<el-input v-model="adminUserInfo.Marriage" placeholder="请输入婚否" style="width: 70%"></el-input>
				</el-form-item>
				<el-form-item label="政治面貌" class="el-form-itemByWang" prop="PoliticalOutlook">
					<el-input v-model="adminUserInfo.PoliticalOutlook" placeholder="请输入政治面貌" style="width: 70%">
					</el-input>
				</el-form-item>
				<el-form-item label="身高" class="el-form-itemByWang" prop="Height">
					<el-input v-model="adminUserInfo.Height" placeholder="请输入身高" style="width: 70%"></el-input>
				</el-form-item>
				<el-form-item label="体重" class="el-form-itemByWang" prop="Weight">
					<el-input v-model="adminUserInfo.Weight" placeholder="请输入体重" style="width: 70%"></el-input>
				</el-form-item>
				<el-form-item label="毕业专业" class="el-form-itemByWang" prop="GraduationMajor">
					<el-input v-model="adminUserInfo.GraduationMajor" placeholder="请输入毕业专业" style="width: 70%">
					</el-input>
				</el-form-item>
				<el-form-item label="毕业院校" class="el-form-itemByWang" prop="GraduationSchool">
					<el-input v-model="adminUserInfo.GraduationSchool" placeholder="请输入毕业院校" style="width: 70%">
					</el-input>
				</el-form-item>
				<el-form-item label="学历" class="el-form-itemByWang" prop="Education">
					<el-input v-model="adminUserInfo.Education" placeholder="请输入学历" style="width: 70%"></el-input>
				</el-form-item>
				<el-form-item label="外语水平及分数" class="el-form-itemByWang" prop="ForeignLanguageLevel">
					<el-input v-model="adminUserInfo.ForeignLanguageLevel" placeholder="请输入外语水平及分数" style="width: 70%">
					</el-input>
				</el-form-item>
				<el-form-item label="毕业时间" class="el-form-itemByWang" prop="GraduationTime">
					<el-input v-model="adminUserInfo.GraduationTime" placeholder="请输入毕业时间" style="width: 70%">
					</el-input>
				</el-form-item>
				<el-form-item label="计算机等级" class="el-form-itemByWang" prop="ComputerGrade">
					<el-input v-model="adminUserInfo.ComputerGrade" placeholder="请输入计算机等级" style="width: 70%">
					</el-input>
				</el-form-item>
				<el-form-item label="血型" class="el-form-itemByWang" prop="BloodType">
					<el-input v-model="adminUserInfo.BloodType" placeholder="请输入血型" style="width: 70%"></el-input>
				</el-form-item>
				<el-form-item label="资格证书" class="el-form-itemByWang" prop="Qualification">
					<el-input v-model="adminUserInfo.Qualification" placeholder="请输入资格证书" style="width: 70%"></el-input>
				</el-form-item>
				<el-form-item label="就业意向城市" class="el-form-itemByWang" prop="IntendedCity">
					<el-input v-model="adminUserInfo.IntendedCity" placeholder="请输入就业意向城市" style="width: 70%">
					</el-input>
				</el-form-item>
				<el-form-item label="户籍所在地" class="el-form-itemByWang" prop="RegisteredResidence">
					<el-input v-model="adminUserInfo.RegisteredResidence" placeholder="请输入户籍所在地" style="width: 70%">
					</el-input>
				</el-form-item>

		 
 
			 
				  
 
				<el-form-item label="技能优势" prop="skillAdvantages" style="width:100%;clear:both"> 
					<el-card class="box-card" v-for="(saitem,index) in adminUserInfo.skillAdvantages" >
				
						<el-row  style="margin-bottom:0px;display:flex;justify-content: space-between;">
							<el-col style="width:20px">
								<el-tag size="mini"  effect="plain"  >{{index+1}}.</el-tag>
							</el-col>
							<el-col :span="10"  >
								<el-input v-model="saitem.title" placeholder="技能名称"  >
								</el-input>
							</el-col>
							<el-col :span="11"  >
								<el-input v-model="saitem.desc" placeholder="技能描述"></el-input>
							</el-col>
	
						 
							<el-button @click.prevent="removeInfo('skillAdvantages',saitem)"
							style="margin-left:10px;">删除</el-button>
							<el-button v-if="index == (adminUserInfo.skillAdvantages.length-1)" @click="addInfo('skillAdvantages')">新增</el-button>
							
					
						</el-row>


					  </el-card>
				
 
				</el-form-item>


				<el-form-item label="教育经历" prop="RegisteredResidence" style="width:100%">
					<el-card class="box-card" v-for="(saitem,index) in adminUserInfo.educationalExperience" >
						 
						<el-row  style="margin-bottom:0px;display:flex;justify-content: space-between;">
							<el-col style="width:20px">
								<el-tag size="mini"  effect="plain"  >{{index+1}}.</el-tag>
							</el-col>
							<el-col :span="6"  >
								<el-input v-model="saitem.school" placeholder="学校" >
								</el-input>
							</el-col>
							<el-col :span="5"  >
								<el-input v-model="saitem.date" placeholder="时间"></el-input>
							</el-col>
	
							<el-col :span="4"  >
								<el-input v-model="saitem.major" placeholder="专业"></el-input>
							</el-col>
	
							<el-col :span="6"  >
								<el-input v-model="saitem.degree" placeholder="学历"></el-input>
							</el-col>
	 
							<el-button @click.prevent="removeInfo('educationalExperience',saitem)"
							style="margin-left:10px;">删除</el-button>
							<el-button v-if="index == (adminUserInfo.educationalExperience.length-1)" @click="addInfo('educationalExperience')">新增</el-button>
							
					
						</el-row>


					  </el-card>
				
 
				</el-form-item>
	 

				<el-form-item label="工作经历" prop="RegisteredResidence" style="width:100%">
					<el-card class="box-card"v-for="(saitem,index) in adminUserInfo.workExperience"  >
						
					<el-row style="margin-bottom:0px;display:flex;justify-content: space-between;">
						<el-col style="width:20px">
							<el-tag size="mini"  effect="plain"  >{{index+1}}.</el-tag>
						</el-col>
						<el-col :span="5" class="padding">
							<el-input v-model="saitem.company" placeholder="公司">
							</el-input>
						</el-col>
						<el-col :span="5">
							<el-input v-model="saitem.position" placeholder="岗位"></el-input>
						</el-col>
						<el-col :span="5">
							<el-input v-model="saitem.date" placeholder="时间"></el-input>
						</el-col>
				 
						<el-col :span="5">
							<el-input v-model="saitem.desc" placeholder="概述"></el-input>
						</el-col>
						<el-button @click.prevent="removeInfo('workExperience',saitem)">删除</el-button>
						<el-button v-if="index == (adminUserInfo.workExperience.length-1)" @click="addInfo('workExperience')">新增</el-button>
						
					</el-row>
					</el-card>
				</el-form-item>


				<!-- <el-form-item label="密码" prop="password" >
          <el-input v-model="adminUserInfo.password " placeholder="请输入密码 不填默认不修改" show-password style="width: 40%;"></el-input>
        </el-form-item> -->
				<div style="clear: both;"></div>
				<div style="text-align: right;">
					<el-button @click="dialogClassIVIsible = false">取消</el-button>
					<el-button type="primary" @click="submitForm('adminUserInfo')">提交</el-button>
				</div>
			</el-form>

			<div style="clear: both"></div>
		</el-dialog>


		<el-dialog title="邀请线下面试" :visible.sync="dialogCompany">
			<el-form ref="dynamicValidateForm" :rules="rules" label-width="100px" class="demo-dynamic">
				<div v-for="(user, index) in sendUserList" :key="index" style="margin-bottom:20px;padding:10px;border:1px solid #f1f1f1;border-radius: 10rpx;box-shadow: 0 0 10px rgba(0,0,0,.1);">

					<el-descriptions class="margin-top" :title="(index+1)" :column="2" border>
						<template slot="extra">
							<el-button type="primary" size="small" @click="removeSendUser(user)"> <i
									class="el-icon-delete"></i>移除
							</el-button>
						</template>
						<el-descriptions-item>
							<template slot="label">
								<i class="el-icon-user"></i>
								姓名
							</template>
							<div style="display:flex;align-items:center;margin-bottom: 10px;">
								<span>{{user.fullName || ''}}</span>
								<span>(手机号：{{user.phone}})</span>
								<el-rate v-model="user.stars || 0" disabled show-score text-color="#ff9900">
							</el-rate>
							</div>
						</el-descriptions-item>
						<el-descriptions-item>
							<template slot="label">
								<label style="color:#F56C6C">*</label> 面试时间范围
							</template>
							<el-date-picker v-model="user.startTime" type="datetime" placeholder="选择日期时间"
								:picker-options="pickerOptions">
							</el-date-picker>

						</el-descriptions-item>
						<el-descriptions-item>
							<template slot="label">
								消息内容
							</template>
							<el-input v-model="user.msgBody" placeholder="请输入公司地址" style="margin-top:10px;">

							</el-input>

						</el-descriptions-item>
						<!-- <el-descriptions-item>
							<template slot="label">

								备注
							</template>
							<el-input v-model="user.remark" type="textarea">

							</el-input>

						</el-descriptions-item> -->
					</el-descriptions>
				</div>

			</el-form>

			<div slot="footer" class="dialog-footer">
				<el-button @click="dialogCompany = false">取 消</el-button>
				<el-button type="primary" @click="SubmitSendUser">确 定</el-button>
			</div>
		</el-dialog>
		<el-dialog title="新增标签" :visible.sync="dialogFormVisibleTag" width="355px">
			<el-form>
				<el-form-item label="标签">
					<el-input v-model="tagform.name" autocomplete="off"></el-input>
				</el-form-item>

			</el-form>
			<div slot="footer" class="dialog-footer">
				<el-button @click="dialogFormVisibleTag = false">取 消</el-button>
				<el-button type="primary" @click="handleTagConfirm">确 定</el-button>
			</div>
		</el-dialog>

		<el-dialog title="批量设置分类" :visible.sync="dialogsubjectlVisibleSetCat" @close="closeDialogCat" width="800px"
			:close-on-click-modal="false">
			<el-form ref="Dataform" :model="Dataform" label-width="60px">

				<el-form-item label="分类" style="padding-top: 5px">
					<el-select v-model="QuestionClassId" placeholder="请选择">
						<el-option :key="0" :value="0" label="请选择"></el-option>
						<el-option v-for="item in data" :key="item.id" :label="item.ClassTitle" :value="item.id"
							v-if="item.id !=0">
						</el-option>
					</el-select>
				</el-form-item>

			</el-form>
			<el-button @click="handleSetClass" style="margin: 10px 0 0 0; float: right" type="primary">确定
			</el-button>
			<div style="clear: both"></div>
		</el-dialog>

	</div>
</template>

<script>
	import {
		ImportUserByExcel,
		GetUserList,
		UsersUpdate,
		UsersCreate,
		AddInvitationAnswerMultiple,
		AddInvitationCompanyMultiple,
		UsersDelete,
		ChangeTags,
		SelectPhoneBool,
		ChangeClass
	} from "@/api/user";
	import BASE_URL from '@/common/config.js'
	import {
		GetUserClassList,
		UserClassCreate,
		UserClassUpdate,
		UserClassDelete,
	} from "@/api/userclass";
	import {
		GetHistoryList
	} from "@/api/HistoryAnswer";

	import {
		getTestPaperList
	} from "@/api/TestPaper";
	import {
		formatTime
	} from '@/utils/util.js'
	export default {
		data() {
			return {
				pickerOptions: {
					disabledDate(time) {
						return time.getTime() < Date.now() - 8.64e7;
					}
				},
				QuestionClassId: 0,
				dialogsubjectlVisibleSetCat: false,
				loading: false,
				dialogFormVisible: false,
				dialogTableVisible: false,
				dialogFormVisibleTag: false,
				dialogCompany: false,
				dialogTypecat: "create",
				testpaperlist: [],
				tagform: {},
				form: {
					NumberOfAnswers: 3,
				},
				userList: [],
				data: [],
				dialogVisiblecat: false,
				filterText: "",
				gridData: [],
				Dataform:{},
				Count: 0,
				adminUserInfo: {
					skillAdvantages: [{}],//  技能优势
					workExperience: [{}],// 工作经历
					educationalExperience: [{}],// 教育经历
				},
				temp: {
					ParentId: 0,
				},
				rules: {
					startTime: [
						{ type: 'date', required: true, message: '请选择日期', trigger: 'change' }
					],

				}
				,
				mzlist: [
					"汉族",
					"蒙古族 ",
					"羌族 ",
					"僳僳族 ",
					"哈尼族",
					"回族",
					"布朗族",
					"佤族",
					"哈萨克族",
					"藏族",
					"撒拉族",
					"畲族",
					"傣族",
					"维吾尔族",
					"毛南族",
					"高山族",
					"德昂族",
					"苗族",
					"仡佬族",
					"拉祜族",
					"保安族",
					"彝族",
					"锡伯族",
					"水族",
					"裕固族",
					"壮族",
					"阿昌族",
					"东乡族",
					"京族",
					"布依族",
					"普米族",
					"纳西族",
					"独龙族",
					"朝鲜族",
					"塔吉克族",
					"景颇族",
					"鄂伦春族",
					"满族",
					"怒族",
					"柯尔克孜族",
					"赫哲族",
					"侗族",
					"乌孜别克族",
					"土族",
					"门巴族",
					"瑶族",
					"俄罗斯族",
					"达斡尔族",
					"珞巴族",
					"白族",
					"鄂温克族",
					"塔塔尔族",
					"基诺族",
				],
				processlist: [{
					label: '入库',
					value: 0
				},
				{
					label: '面试邀请',
					value: 1
				},
				{
					label: '正在面试',
					value: 2
				},
				{
					label: '面试完成',
					value: 3
				},
				{
					label: '线下面试',
					value: 4
				},
				{
					label: '已录用',
					value: 5
				},
				{
					label: '未录用',
					value: 9
				},
				{
					label: '不符合条件',
					value: 11
				},
				],
				type: "1",
				dialogClassIVIsible: false,
				query: {
					UserTypeEnum: 1, //0：管理员，1普通用户
					PageIndex: 1,
					PageSize: 10,
					keyword: "",
					stars: -1
				},
				fileList: [],
				selectedList: [],
				props: {
					label: "ClassTitle",
					children: "children",
				},

				sendUserList: []
			};
		},
		watch: {
			filterText(val) {
				this.$refs.tree.filter(val);
			},
		},

		created() {
			this.GetUser();
			this.forceTestPaper();
			this.loadTree();
		},
		methods: {
			removeInfo(type, item) {
				var index = this.adminUserInfo[type].indexOf(item)
				if (index !== -1) {
					this.adminUserInfo[type].splice(index, 1)
				}
			},
			addInfo(type) {
				this.adminUserInfo[type].push({});
			},
			handleChangeCat() {
				var rows = this.$refs.userList.selection;
				if (!rows || rows.length < 1) {
					this.$message.warning('至少选择一项进行操作！');
					return;
				}
				this.dialogsubjectlVisibleSetCat = true;
			},

			closeDialogCat() {
				this.QuestionClassId = 0;
				this.dialogsubjectlVisibleSetCat = false;
			},
			handleSetClass() {
				var rows = this.$refs.userList.selection;
				if (!this.QuestionClassId || this.QuestionClassId < 1) {
					this.$message.warning('至少选择一个分类进行操作！');
					return;
				}
				this.$confirm("确认批量修改分类吗？", "提示", {
					confirmButtonText: "确定",
					cancelButtonText: "取消",
					type: "warning",
				}).then(() => {
					ChangeClass(rows.map(o => o.id).join(','), this.QuestionClassId).then((o) => {
						this.$message.success("修改成功");
						this.GetUser();
						this.dialogsubjectlVisibleSetCat = false;
					});
				});
			},
			handleToResume(item) {
				window.open(
					`${location.origin}${location.pathname}#/resume/${item.sex == 1 ? 'malestaff' : 'femalestaff'}?id=${item.id}`,
					'_blank');
			},
			handleClose(tag, row) {
				this.$confirm('确定删除该标签吗？', '消息', {
					confirmButtonText: '确认',
					cancelButtonText: '取消',
					callback: (action) => {
						if (action == "confirm") {
							var d = row.taglist.splice(row.taglist.indexOf(tag), 1);
							ChangeTags({
								ids: row.id,
								tags: row.taglist.join(',')
							});
						}
					},
				})



			},
			addtag(row) {
				this.tagform = {
					ids: row.id,
					taglist: row.taglist,
					name: ''
				};
				this.dialogFormVisibleTag = true;
			},
			handleTagConfirm(row) {
				if (!this.tagform.name) {
					this.$message.warning('请填写名字！');
					return;
				}
				if (!this.tagform.ids) {
					this.$message.warning('添加失败！');
					return;
				}
				var temp = this.tagform.taglist || [];
				temp.push(this.tagform.name);
				ChangeTags({
					ids: this.tagform.ids,
					tags: temp.join(',')
				}).then(res => {
					if (res.data.code == 200) {
						this.$message.success('操作成功！');
						this.GetUser();
						this.dialogFormVisibleTag = false;
						this.$forceUpdate();
					}
				});
			},
			//点击进度
			processEvent(row) {
				// if(row.procesName == '线下面试')
				// {
				//   this.
				// }
			},
			SubmitSendUser() {
				if (!this.sendUserList || this.sendUserList.length < 1) {
					this.$message.success("没有邀请对象！");
					return;
				}
				var isrequire = true;
				var senddata = [];
				this.sendUserList.forEach(o => {
					//  var item = Object.assign({},o);
					// item.startTime = item.date[0];
					// item.endTime = item.date[0]; 
					// delete item['date'];
					// var start = null;
					// var end = null;
					// if(o.date){
					//   start = o.date[0];
					//   end = o.date[1];
					// } 
					if (!o.startTime) isrequire = false;
					senddata.push({
						userId: o.id,
						startTime: formatTime(o.startTime),
						// endTime: end,
						remark: o.remark || '',
						phone: o.phone,
						msgBody: o.msgBody || ''
					});
				});
				if (!isrequire) {
					this.$message.warning("请选择面试时间范围！");
					return;
				}

				AddInvitationCompanyMultiple(senddata).then(res => {
					if (res.data.code == 200) {
						this.$message.success("邀请成功");
						this.sendUserList = [];
						this.dialogCompany = false;
						this.GetUser();
					} else {
						this.$message.error("邀请失败");
					}

				});
			},
			removeSendUser(item) {
				var index = this.sendUserList.indexOf(item)
				if (index !== -1) {
					this.sendUserList.splice(index, 1)
				}
			},


			handleDelete(item, index) {
				this.$confirm("确认删除该人才信息吗？", "提示", {
					confirmButtonText: "确定",
					cancelButtonText: "取消",
					type: "warning",
				}).then(() => {

					this.userList.splice(index, 1);
					UsersDelete({
						ids: item.id
					});
				});



			},
			handleWatchLive(item) {
				console.log("handleWatchLive", item);
				this.$router.push(`/live?id=${item.StreamName}`);
			},
			handleAnswerDetail(item) {
				window.open(`/index.html#/answerDetail?id=${item.id}`, "_blank");
			},
			submitForm() {
				let formData = {
					...this.adminUserInfo
				};
				if(formData.skillAdvantages) formData.skillAdvantages = JSON.stringify(formData.skillAdvantages);
				if(formData.workExperience) formData.workExperience = JSON.stringify(formData.workExperience);
				if(formData.educationalExperience) formData.educationalExperience = JSON.stringify(formData.educationalExperience);
		 

// 				  技能优势
//  工作经历
//  教育经历
			 
				if (formData.id) {

					SelectPhoneBool(formData.id, formData.phone).then(res => {
						if (res.data == true) {
							this.$message.error("电话号码已存在！");
						} else {
							UsersUpdate(formData).then((res) => {
								this.GetUser();

								this.dialogClassIVIsible = false;
								console.log(res);
							});
						}
					});
				}
				else {
					UsersCreate(formData).then(res => {
						if (res.data.success) {
							this.GetUser();
							this.$message.success("添加成功");

							this.dialogClassIVIsible = false;
						}
						else
							this.$message.error(res.data.message || "添加失败！");

					});
				}
			},
			handleEdit(data) {
				debugger;
				this.dialogClassIVIsible = true;
				console.log(" -_- ", data);
				if (data == -1) {
					this.adminUserInfo = {
						userClassId: (this.query.userClassId || 0),
						skillAdvantages: [{}],//  技能优势
						workExperience: [{}],// 工作经历
						educationalExperience: [{}],// 教育经历
					};
				}
				else {
					if (!data.skillAdvantages) data.skillAdvantages = [{}];
					else if(typeof(data.skillAdvantages)=='string')data.skillAdvantages = JSON.parse(data.skillAdvantages);;
					if (!data.workExperience) data.workExperience = [{}];
					else if(typeof(data.workExperience)=='string')data.workExperience = JSON.parse(data.workExperience);;
					if (!data.educationalExperience) data.educationalExperience = [{}];
					else if(typeof(data.educationalExperience)=='string')data.educationalExperience = JSON.parse(data.educationalExperience);;

					this.adminUserInfo = data;

				}

			},
			handleTestHitory(row) {
				GetHistoryList({
					UserId: row.id
				}).then((res) => {
					this.gridData = res.data.data;
					this.dialogTableVisible = true;
				});
			},
			handleShareSend() {
				var rows = this.$refs.userList.selection;
				var ids =
					rows.map((o) => {
						return {
							UserId: o.id
						};
					}) || [];
				var postData = {
					TestPaperId: this.form.TestPaperId,
					NumberOfAnswers: this.form.NumberOfAnswers || 1,
					Users: ids,
				};
				if (!ids || ids.length < 1) {
					this.$message.warning("请至少选择一个用户进行发送！");
					return;
				}
				if (!this.form.TestPaperId) {
					this.$message.warning("请选择试卷后再发送！");
					return;
				}
				this.$confirm(
					"确认向选择的" + ids.length + "个用户发送试卷连接进行测试吗？",
					"提示消息", {
					confirmButtonText: "确认",
					cancelButtonText: "取消",
					callback: (action) => {
						if (action == "confirm") {
							AddInvitationAnswerMultiple(postData).then((res) => {
								if (res.data.code == 200) {
									this.$message.success("发送成功");
									this.form = {};
									this.dialogFormVisible = false;
									this.GetUser();
								} else {
									this.$message.error("发送失败");
								}
							});
						}
					},
				}
				);
			},
			forceTestPaper() {
				let parameter = {
					pageIndex: 1,
					pageSize: 10000,
					sort: "id",
					sortOrder: 1,
					keyword: "",
				};
				getTestPaperList(parameter).then((res) => {
					this.testpaperlist = res.data.data;
				});
			},
			search() {
				this.GetUser();
			},
			handleSuccess() {
				this.$message.success("导入完成！");
				this.GetUser();
			},
			handleInviteInterview() {
				var rows = this.$refs.userList.selection;

				if (!rows || rows.length < 1) {
					this.$message.warning("请至少选择一个用户进行发送！");
					return;
				}

				this.dialogFormVisible = true;
			},
			//邀请现场面试 
			handleCompanyInterview(user) {
				var rows = this.$refs.userList.selection;
				if (user) {
					this.sendUserList = [user];
					this.dialogCompany = true;
				} else if (rows && rows.length > 0) {
					this.sendUserList = rows;
					this.dialogCompany = true;
				} else
					this.$message.warning('至少选择一个用户进行操作！');
			},

			handleSelectionChange(val) {
				console.log(val);
				this.selectedList = val;
			},
			handleExceed() { },
			ImportUser() { },

			showcontent(c, row) {
				this.showbody = c;
				this.dialogVisible_content = true;
			},
			submitcat() {
				// this.$loading({lock:true,text:'保存中...'});
				if (this.loading) {
					return;
				}
				this.loading = true;
				var postData = this.temp;
				if (this.dialogTypecat == "update") {
					if (postData.AddTime == "0001-01-01T00:00:00")
						postData.AddTime = new Date();
					UserClassUpdate(postData).then((o) => {
						this.$message({
							message: "提交成功",
							type: "success",
						});
						this.dialogVisiblecat = false;
						setTimeout(() => {
							this.loading = false;
						}, 1000);
					});
				} else {
					UserClassCreate(postData).then((o) => {
						this.$message({
							message: "提交成功",
							type: "success",
						});

						this.dialogVisiblecat = false;

						this.loadTree();
						setTimeout(() => {
							this.loading = false;
						}, 1000);
					});
				}
			},
			editclose(data) {
				// this.dialogVisible_step = false;
				this.fetchData();
			},
			loadTree() {
				GetUserClassList({
					ParentId: 0
				}).then((res) => {
					var list = [{ id: 0, ClassTitle: '全部' }];

					list.push(...res.data.data || []);

					this.data = list;
				});
			},
			filterNode(value, data) {
				if (!value) return true;
				return data.ClassTitle.indexOf(value) !== -1;
			},
			addcat() {
				this.temp = {
					AddTime: new Date()
				};
				this.dialogVisiblecat = true;
			},
			editcat() {
				this.dialogTypecat = "update";
				if (!this.temp.id) {
					this.$message({
						message: "请选择一个分类进行操作！",
						type: "warning",
					});
					return;
				}
				this.dialogVisiblecat = true;
			},
			delcat() {
				if (!this.temp.id) {
					this.$message({
						message: "请选择一个分类进行操作！",
						type: "warning",
					});
					return;
				}
				this.$confirm("确认删除该分类吗？", "提示", {
					confirmButtonText: "确定",
					cancelButtonText: "取消",
					type: "warning",
				}).then(() => {
					UserClassDelete({
						ids: this.temp.id
					}).then((o) => {
						this.loadTree();
						this.$message({
							message: "删除成功",
							type: "success",
						});
					});
				});
			},
			handleNodeClick(data, checked, indeterminate) {
				this.query.userClassId = data.id;

				this.temp = data;
				this.GetUser();
			},

			resetSearch() {
				this.query = {
					UserTypeEnum: 1, //0：管理员，1普通用户
					PageIndex: 1,
					PageSize: 10,
					keyword: "",
				};
				this.GetUser();
			},
			GetUser() {
				GetUserList(this.query).then((res) => {
					this.userList = res.data.data.rows.map((t) => {
						if (t.phone) {
							t.phone1 = t.phone.replace(t.phone.substring(3, 7), "****");
						}
						return t;
					});
					this.Count = res.data.data.total;
				});
			},
			currentchange(page) {
				this.query.PageIndex = page;
				this.GetUser();
			},
		},
	};
</script>

<style lang="scss" scoped>
	.seetingsDiv {
		display: flex;
		align-items: center;
		width: 100%;
		padding-top: 10px;
		padding-left: 10px;
		height: 126px;
		background: #efefef;
		line-height: initial !important;
		border-radius: 5px;
		box-shadow: 0 0 5px #cdcdcd;
		justify-content: space-between;
	}

	.seetingsDiv button {
		height: 40px;
		background-color: #304156;
		border: 0px;
		margin-left: 10px;
		box-shadow: 0 0 5px #cdcdcd;
		float: none;
		margin-right: 10px;
	}

	.el-tag+.el-tag {
		margin-left: 10px;
	}

	.button-new-tag {
		margin-left: 10px;
		height: 32px;
		line-height: 30px;
		padding-top: 0;
		padding-bottom: 0;
	}

	.input-new-tag {
		width: 90px;
		margin-left: 10px;
		vertical-align: bottom;
	}

	.el-form-itemByWang {
		width: 33% !important;
		float: left !important;
	}
</style>