| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556 | <template>  <div class="app-container">    <el-form      :model="queryParams"      ref="queryForm"      :inline="true"      v-show="showSearch"      label-width="68px"    >      <el-form-item prop="unitId">        <el-select          v-model="queryParams.peopleId"          placeholder="请选择用车人姓名"          @change="handleQuery"          filterable          class="input_xiala"        >          <el-option            v-for="item in renYuans"            :key="item.id"            :label="item.name"            :value="item.id"            class="input_xiala"          >          </el-option>        </el-select>      </el-form-item>      <el-form-item>        <!-- <el-button          type="primary"          icon="el-icon-search"          size="mini"          @click="handleQuery"          >搜索</el-button        > -->        <el-button size="btr" @click="resetQuery">重置</el-button>      </el-form-item>    </el-form>    <el-row :gutter="10" class="mb8">      <el-col :span="1.5">        <el-button          type="primary"          plain          icon="el-icon-plus"          size="mini"          @click="handleAdd"          v-hasPermi="['militaryvehicleManagement:thebusApply:add']"          >新增</el-button        >      </el-col>      <el-col :span="1.5">        <el-button          type="success"          plain          icon="el-icon-edit"          size="mini"          :disabled="single"          @click="handleUpdate"          v-hasPermi="['militaryvehicleManagement:thebusApply:edit']"          >修改</el-button        >      </el-col>      <el-col :span="1.5">        <el-button          type="danger"          plain          icon="el-icon-delete"          size="mini"          :disabled="multiple"          @click="handleDelete"          v-hasPermi="['militaryvehicleManagement:thebusApply:remove']"          >删除</el-button        >      </el-col>      <el-col :span="1.5">        <el-button          class="box"          type="warning"          plain          icon="el-icon-download"          size="mini"          :loading="exportLoading"          @click="handleExport"          v-hasPermi="['militaryvehicleManagement:thebusApply:export']"          >导出</el-button        >      </el-col>      <!-- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> -->    </el-row>    <!-- 列表选项 -->    <el-table      v-loading="loading"      :data="thebusApplyList"      @selection-change="handleSelectionChange"      :header-cell-style="{ background: '#003C69', color: 'white' }"    >      <el-table-column type="selection" width="55" align="center" />      <el-table-column label="序号" align="center" prop="id">        <template scope="scope">          <span>{{            (queryParams.pageNum - 1) * queryParams.pageSize + scope.$index + 1          }}</span>        </template>      </el-table-column>      <el-table-column label="人数" align="center" prop="peopleCount" />      <el-table-column label="单位" align="center" prop="unitName" />      <el-table-column label="人员名称" align="center" prop="peopleName" />      <el-table-column        label="联系方式"        align="center"        prop="contact"        width="130"      />      <el-table-column label="外出事由" align="center" prop="cause" />      <el-table-column        label="营级审批人"        align="center"        prop="unitPeopleName"        width="90"      />      <el-table-column label="营级审批状态" align="center" width="100">        <template slot-scope="scope">          <el-col v-if="scope.row.unitPeopleState == 1" style="color: #ffba00"            >未处理</el-col          >          <el-col v-if="scope.row.unitPeopleState == 2" style="color: #13ce66"            >已审批</el-col          >          <el-col            v-if="scope.row.unitPeopleState == 3"            :title="scope.row.unitPeopleRemark"            style="color: #00eaff"            >已驳回</el-col          >          <el-col            v-if="scope.row.unitPeopleState == 4"            :title="scope.row.unitPeopleRemark"            style="color: #1d96ff"            >特殊审批</el-col          >        </template>      </el-table-column>      <el-table-column label="初审状态" align="center">        <template slot-scope="scope">          <el-col v-if="scope.row.chushenState == 1" style="color: #ffba00"            >未处理</el-col          >          <el-col v-if="scope.row.chushenState == 2" style="color: #13ce66"            >已审批</el-col          >          <el-col            v-if="scope.row.chushenState == 3"            :title="scope.row.chushenRemark"            style="color: #00eaff"            >已驳回</el-col          >          <el-col            v-if="scope.row.chushenState == 4"            :title="scope.row.chushenRemark"            style="color: #1d96ff"            >特殊审批</el-col          >        </template>      </el-table-column>      <el-table-column        label="一级审批人"        align="center"        prop="peopleoneName"        width="90"      />      <el-table-column label="一级审批状态" align="center" width="100">        <template slot-scope="scope">          <el-col v-if="scope.row.peopleoneState == 1" style="color: #ffba00"            >未处理</el-col          >          <el-col v-if="scope.row.peopleoneState == 2" style="color: #13ce66"            >已审批</el-col          >          <el-col            v-if="scope.row.peopleoneState == 3"            :title="scope.row.peopleoneRemark"            style="color: #00eaff"            >已驳回</el-col          >          <el-col            v-if="scope.row.peopleoneState == 4"            :title="scope.row.peopleoneRemark"            style="color: #1d96ff"            >特殊审批</el-col          >        </template>      </el-table-column>      <el-table-column        label="二级审批人"        align="center"        prop="peopletwoName"        width="90"      />      <el-table-column label="二级审批状态" align="center" width="100">        <template slot-scope="scope">          <el-col v-if="scope.row.peopletwoState == 1" style="color: #ffba00"            >未处理</el-col          >          <el-col v-if="scope.row.peopletwoState == 2" style="color: #13ce66"            >已审批</el-col          >          <el-col            v-if="scope.row.peopletwoState == 3"            :title="scope.row.peopletwoRemark"            style="color: #00eaff"            >已驳回</el-col          >          <el-col            v-if="scope.row.peopletwoState == 4"            :title="scope.row.peopletwoRemark"            style="color: #1d96ff"            >特殊审批</el-col          >        </template>      </el-table-column>      <el-table-column        label="三级审批人"        align="center"        prop="peoplethreeName"        width="90"      />      <el-table-column label="三级审批状态" align="center" width="100">        <template slot-scope="scope">          <el-col v-if="scope.row.peoplethreeState == 1" style="color: #ffba00"            >未处理</el-col          >          <el-col v-if="scope.row.peoplethreeState == 2" style="color: #13ce66"            >已审批</el-col          >          <el-col            v-if="scope.row.peoplethreeState == 3"            :title="scope.row.peoplethreeRemark"            style="color: #00eaff"            >已驳回</el-col          >          <el-col            v-if="scope.row.peoplethreeState == 4"            :title="scope.row.peoplethreeRemark"            style="color: #1d96ff"            >特殊审批</el-col          >        </template>      </el-table-column>      <el-table-column        fixed="right"        label="操作"        align="center"        class-name="small-padding fixed-width"        width="200"      >        <template slot-scope="scope">          <div v-if="scope.row.isTeShu == '1'">            <!-- 1 -->            <el-button              size="bts"              type="text"              v-if="                scope.row.peopleoneState == '1' &&                scope.row.shenpijiedian == '3'              "              @click="handleTeShuShenPi(scope.row)"              v-hasPermi="['militaryvehicleManagement:thebusApply:edit']"              style="width: 100px"              >特殊审批</el-button            >            <!-- 2 -->            <el-button              size="bts"              type="text"              v-if="                scope.row.peopletwoState == '1' &&                scope.row.shenpijiedian == '4'              "              @click="handleTeShuShenPi(scope.row)"              v-hasPermi="['militaryvehicleManagement:thebusApply:edit']"              >特殊审批</el-button            >            <!-- 3 -->            <el-button              size="bts"              type="text"              v-if="                scope.row.peoplethreeState == '1' &&                scope.row.shenpijiedian == '5'              "              @click="handleTeShuShenPi(scope.row)"              v-hasPermi="['militaryvehicleManagement:thebusApply:edit']"              >特殊审批</el-button            >          </div>          <div v-if="scope.row.status == '1' && scope.row.isCaoZuo == '0'">            <!-- 1 -->            <el-button              size="btc"              type="text"              v-if="                scope.row.unitPeopleState == '1' &&                scope.row.shenpijiedian == '1' &&                scope.row.yingjicaozuoren == 'yingji'              "              @click="handleShenPi(scope.row)"              v-hasPermi="['militaryvehicleManagement:thebusApply:edit']"              >审批</el-button            >            <!-- 2 -->            <el-button              size="btc"              type="text"              v-if="                scope.row.chushenState == '1' &&                scope.row.shenpijiedian == '2' &&                scope.row.chushenyuan == 'chushen'              "              @click="handleShenPi(scope.row)"              v-hasPermi="['militaryvehicleManagement:thebusApply:edit']"              >审批</el-button            >            <!-- 3 -->            <el-button              size="btc"              type="text"              v-if="                scope.row.peopleoneState == '1' &&                scope.row.shenpijiedian == '3'              "              @click="handleShenPi(scope.row)"              v-hasPermi="['militaryvehicleManagement:thebusApply:edit']"              >审批</el-button            >            <!-- 4 -->            <el-button              size="btc"              type="text"              v-if="                scope.row.peopletwoState == '1' &&                scope.row.shenpijiedian == '4'              "              @click="handleShenPi(scope.row)"              v-hasPermi="['militaryvehicleManagement:thebusApply:edit']"              >审批</el-button            >            <!-- 5 -->            <el-button              size="btc"              type="text"              v-if="                scope.row.peoplethreeState == '1' &&                scope.row.shenpijiedian == '5'              "              @click="handleShenPi(scope.row)"              v-hasPermi="['militaryvehicleManagement:thebusApply:edit']"              >审批</el-button            >          </div>          <el-button            size="btu"            type="text"            @click="handleUpdate(scope.row)"            v-hasPermi="['militaryvehicleManagement:thebusApply:edit']"            >修改</el-button          >          <el-button            size="btd"            type="text"            @click="handleDelete(scope.row)"            v-hasPermi="['militaryvehicleManagement:thebusApply:remove']"            >删除</el-button          >        </template>      </el-table-column>    </el-table>    <pagination      v-show="total > 0"      :total="total"      :page.sync="queryParams.pageNum"      :limit.sync="queryParams.pageSize"      @pagination="getList"    />    <!-- 添加或修改用车申请对话框 -->    <el-dialog      :title="title"      :visible.sync="open"      width="500px"      append-to-body      :close-on-click-modal="false"    >      <el-form        ref="form"        :model="form"        :rules="rules"        label-width="80px"        inline      >        <el-form-item label="单位" prop="unitId">          <treeselect            v-model="form.unitId"            :options="treeList"            placeholder="选择单位"            @select="selectPeo"          />        </el-form-item>        <el-form-item label="人数" prop="peopleCount">          <el-input v-model="form.peopleCount" placeholder="请输入人数" />        </el-form-item>        <el-form-item label="人员名称" prop="peopleId">          <el-select            v-model="form.peopleId"            placeholder="请选择人员名称"            filterable          >            <el-option              v-for="(item, i) in renYuan"              :key="i"              :label="item.name"              :value="item.id"              @click.native="cheRen(item.name)"              class="input_xiala"            >            </el-option>          </el-select>        </el-form-item>        <el-form-item label="联系方式" prop="contact">          <el-input v-model="form.contact" placeholder="请输入联系方式" />        </el-form-item>        <el-form-item label="外出事由" prop="cause">          <el-input v-model="form.cause" placeholder="请输入外出事由" />        </el-form-item>        <el-form-item label="用车开始时间" prop="authStime">          <el-date-picker            clearable            size="small"            v-model="form.authStime"            type="datetime"            placeholder="用车开始时间"          >          </el-date-picker>        </el-form-item>        <el-form-item label="用车结束时间" prop="authEtime">          <el-date-picker            clearable            size="small"            v-model="form.authEtime"            type="datetime"            placeholder="用车结束时间"          >          </el-date-picker>        </el-form-item>        <el-form-item label="所在单位审批" prop="unitPeopleId">          <el-select            v-model="form.unitPeopleId"            placeholder="请选择所在单位审批人"            filterable          >            <el-option              v-for="(item, i) in userRen"              :key="i"              :label="item.nickName"              :value="item.userId"              @click.native="yinJi(item.nickName)"              class="input_xiala"            >            </el-option>          </el-select>        </el-form-item>        <el-form-item label="审批模板" prop="thebusThemplateId">          <el-select            v-model="form.thebusThemplateId"            placeholder="请选择审批模板"            filterable          >            <el-option              v-for="(item, i) in shenPi"              :key="i"              :label="item.shenpiname"              :value="item.id"              @click.native="shenPiThemplate(item)"              class="input_xiala"            >            </el-option>          </el-select>        </el-form-item>        <el-form-item label="一级审批人" prop="people1Id">          <el-input            v-model="form.peopleoneName"            placeholder="请输入一级审批人"            class="input_xiala"            readonly          />        </el-form-item>        <el-form-item label="二级审批人" prop="people2Id">          <el-input            v-model="form.peopletwoName"            placeholder="请输入二级审批人"            class="input_xiala"            readonly          />        </el-form-item>        <el-form-item label="三级审批人" prop="people3Id">          <el-input            v-model="form.peoplethreeName"            placeholder="请输入三级审批人"            class="input_xiala"            readonly          />        </el-form-item>        <div class="jiben">出车路线</div>        <el-form-item prop="route">          <el-input            v-model="form.route"            type="textarea"            placeholder="请输入出车路线"          />        </el-form-item>      </el-form>      <div slot="footer" class="dialog-footer">        <el-button type="primary" @click="submitForm">确 定</el-button>        <el-button @click="cancel" size="btn">取 消</el-button>      </div>    </el-dialog>    <!-- 审批对话框 -->    <el-dialog      :title="title"      :visible.sync="opens"      width="500px"      append-to-body      :close-on-click-modal="false"    >      <el-form        ref="forms"        :model="form"        :rules="formRules"        label-width="80px"        inline      >        <el-form-item label="单位" prop="unitId">          <treeselect            v-model="form.unitId"            :options="treeList"            placeholder="选择单位"            @select="selectPeo"          />        </el-form-item>        <el-form-item label="人数" prop="peopleCount">          <el-input v-model="form.peopleCount" placeholder="请输入人数" />        </el-form-item>        <el-form-item label="人员名称" prop="peopleId">          <el-select            v-model="form.peopleId"            placeholder="请选择人员名称"            filterable          >            <el-option              v-for="(item, i) in renYuan"              :key="i"              :label="item.name"              :value="item.id"              @click.native="cheRen(item.name)"            >            </el-option>          </el-select>        </el-form-item>        <el-form-item label="联系方式" prop="contact">          <el-input v-model="form.contact" placeholder="请输入联系方式" />        </el-form-item>        <el-form-item label="外出事由" prop="cause">          <el-input v-model="form.cause" placeholder="请输入外出事由" />        </el-form-item>        <el-form-item label="用车开始时间" prop="authStime">          <el-date-picker            clearable            size="small"            v-model="form.authStime"            type="datetime"            placeholder="用车开始时间"          >          </el-date-picker>        </el-form-item>        <el-form-item label="用车结束时间" prop="authEtime">          <el-date-picker            clearable            size="small"            v-model="form.authEtime"            type="datetime"            placeholder="用车结束时间"          >          </el-date-picker>        </el-form-item>        <el-form-item label="所在单位审批" prop="unitPeopleId">          <el-select            v-model="form.unitPeopleId"            placeholder="请选择所在单位审批人"            filterable          >            <el-option              v-for="(item, i) in userRen"              :key="i"              :label="item.nickName"              :value="item.userId"              @click.native="yinJi(item.nickName)"            >            </el-option>          </el-select>        </el-form-item>        <el-form-item label="审批模板" prop="thebusThemplateId">          <el-select            v-model="form.thebusThemplateId"            placeholder="请选择审批模板"            filterable          >            <el-option              v-for="(item, i) in shenPi"              :key="i"              :label="item.shenpiname"              :value="item.id"              @click.native="shenPiThemplate(item)"            >            </el-option>          </el-select>        </el-form-item>        <el-form-item label="一级审批人" prop="people1Id">          <el-input            v-model="form.peopleoneName"            placeholder="请输入一级审批人"            readonly          />        </el-form-item>        <el-form-item label="二级审批人" prop="people2Id">          <el-input            v-model="form.peopletwoName"            placeholder="请输入二级审批人"            readonly          />        </el-form-item>        <el-form-item label="三级审批人" prop="people3Id">          <el-input            v-model="form.peoplethreeName"            placeholder="请输入三级审批人"            readonly          />        </el-form-item>        <div class="jiben">出车路线</div>        <el-form-item prop="route">          <el-input            v-model="form.route"            type="textarea"            placeholder="请输入出车路线"          />        </el-form-item>        <div class="jiben">不通过原因</div>        <el-form-item prop="routes">          <el-input v-model="form.routes" type="textarea" />        </el-form-item>      </el-form>      <div slot="footer" class="dialog-footer">        <el-button type="primary" @click="submitFormShenPi">通过</el-button>        <el-button @click="cancelShenPi" size="btn">不通过</el-button>      </div>    </el-dialog>    <!-- 特殊审批对话框 -->    <el-dialog      :title="title"      :visible.sync="opensTe"      width="500px"      append-to-body      :close-on-click-modal="false"    >      <el-form        ref="formsTe"        :model="form"        :rules="formRulesTe"        label-width="80px"        inline      >        <el-form-item label="单位" prop="unitId">          <treeselect            v-model="form.unitId"            :options="treeList"            placeholder="选择单位"            @select="selectPeo"          />        </el-form-item>        <el-form-item label="人数" prop="peopleCount">          <el-input v-model="form.peopleCount" placeholder="请输入人数" />        </el-form-item>        <el-form-item label="人员名称" prop="peopleId">          <el-select            v-model="form.peopleId"            placeholder="请选择人员名称"            filterable          >            <el-option              v-for="(item, i) in renYuan"              :key="i"              :label="item.name"              :value="item.id"              @click.native="cheRen(item.name)"            >            </el-option>          </el-select>        </el-form-item>        <el-form-item label="联系方式" prop="contact">          <el-input v-model="form.contact" placeholder="请输入联系方式" />        </el-form-item>        <el-form-item label="外出事由" prop="cause">          <el-input v-model="form.cause" placeholder="请输入外出事由" />        </el-form-item>        <el-form-item label="用车开始时间" prop="authStime">          <el-date-picker            clearable            size="small"            v-model="form.authStime"            type="datetime"            placeholder="用车开始时间"          >          </el-date-picker>        </el-form-item>        <el-form-item label="用车结束时间" prop="authEtime">          <el-date-picker            clearable            size="small"            v-model="form.authEtime"            type="datetime"            placeholder="用车结束时间"          >          </el-date-picker>        </el-form-item>        <el-form-item label="所在单位审批" prop="unitPeopleId">          <el-select            v-model="form.unitPeopleId"            placeholder="请选择所在单位审批人"            filterable          >            <el-option              v-for="(item, i) in userRen"              :key="i"              :label="item.nickName"              :value="item.userId"              @click.native="yinJi(item.nickName)"            >            </el-option>          </el-select>        </el-form-item>        <el-form-item label="审批模板" prop="thebusThemplateId">          <el-select            v-model="form.thebusThemplateId"            placeholder="请选择审批模板"            filterable          >            <el-option              v-for="(item, i) in shenPi"              :key="i"              :label="item.shenpiname"              :value="item.id"              @click.native="shenPiThemplate(item)"            >            </el-option>          </el-select>        </el-form-item>        <el-form-item label="一级审批人" prop="people1Id">          <el-input            v-model="form.peopleoneName"            placeholder="请输入一级审批人"          />        </el-form-item>        <el-form-item label="二级审批人" prop="people2Id">          <el-input            v-model="form.peopletwoName"            placeholder="请输入二级审批人"          />        </el-form-item>        <el-form-item label="三级审批人" prop="people3Id">          <el-input            v-model="form.peoplethreeName"            placeholder="请输入三级审批人"          />        </el-form-item>        <div class="jiben">出车路线</div>        <el-form-item prop="route">          <el-input            v-model="form.route"            type="textarea"            placeholder="请输入出车路线"          />        </el-form-item>        <div class="jiben">特殊审批原因</div>        <el-form-item prop="teShuYuanYing">          <el-input v-model="form.teShuYuanYing" type="textarea" />        </el-form-item>        <div class="jiben">不通过原因</div>        <el-form-item prop="routes">          <el-input v-model="form.routes" type="textarea" />        </el-form-item>      </el-form>      <div slot="footer" class="dialog-footer">        <el-button type="primary" @click="submitFormTeShenPi">通过</el-button>        <el-button @click="cancelTeShenPi" size="btn">不通过</el-button>      </div>    </el-dialog>  </div></template><script>import {  listThebusApply,  getThebusApply,  delThebusApply,  addThebusApply,  updateThebusApply,  exportThebusApply,  exportThebusYin,  exportThebusChu,  exportThebusOne,  exportThebusTwo,  exportThebusThree,} from "@/api/militaryvehicleManagement/thebusApply";// 导入树形结构import Treeselect from "@riophae/vue-treeselect";import "@riophae/vue-treeselect/dist/vue-treeselect.css";import { getZhuChiRen, getDept } from "@/api/militaryvehicleManagement/thebus";import {  listThebusConfig,  getThebusUser,} from "@/api/militaryvehicleManagement/thebusConfig";import { getAll } from "@/api/grassrootsregistration/bdglmeeting";export default {  name: "ThebusApply",  components: {    Treeselect,  },  data() {    return {      // 遮罩层      loading: true,      // 导出遮罩层      exportLoading: false,      // 选中数组      ids: [],      // 非单个禁用      single: true,      // 非多个禁用      multiple: true,      // 显示搜索条件      showSearch: true,      // 总条数      total: 0,      // 用车申请表格数据      thebusApplyList: [],      // 弹出层标题      title: "",      // 是否显示弹出层      open: false,      // 查询参数      queryParams: {        pageNum: 1,        pageSize: 10,        model: null,        unitId: null,        peopleId: null,        thebusId: null,        contact: null,        cause: null,        authStime: null,        authEtime: null,        thebusThemplateId: null,        people1Id: null,        people1State: null,        people1Remark: null,        people1Authtime: null,        people2Id: null,        people2State: null,        people2Remark: null,        people2Authtime: null,        people3Id: null,        people3State: null,        people3Remark: null,        people3Authtime: null,        status: null,        outstatus: null,        adminId: null,        createtime: null,        updatetime: null,        driver: null,        driverContact: null,        peopleCount: null,        unitPeopleId: null,        unitPeopleState: null,        unitPeopleRemark: null,        chushenState: null,        chushenRemark: null,      },      // 表单参数      form: {},      // 表单校验      rules: {},      // 树形列表      treeList: [],      // 人员列表      renYuan: [],      // 获取营级审批人      userRen: [],      // 审批模板      shenPi: [],      // 审批是否显示弹出层      opens: false,      // 审批表单校验      formRules: {        routes: [          { required: true, message: "请输入不通过原因", trigger: "blur" },        ],      },      // 特殊审批是否显示弹出层      opensTe: false,      // 特殊审批表单校验·      formRulesTe: {        routes: [          { required: true, message: "请输入不通过原因", trigger: "blur" },        ],        teShuYuanYing: [          { required: true, message: "请输特殊审批原因", trigger: "blur" },        ],      },      // 用车审批状态      carApprova: [],      teJi: true,      // 外面的人员      renYuans: [],    };  },  created() {    this.getList();    this.getSuo();  },  mounted() {},  methods: {    // 获取搜索所有人    getSuo() {      getAll().then((res) => {        this.renYuans = res.rows;      });    },    // 特殊审批通过    submitFormTeShenPi() {      this.$refs["formsTe"].validateField("teShuYuanYing", (valid) => {        if (!valid) {          if (this.form.id != null) {            if (this.form.shenpijiedian == "1") {              this.form.isTongguo = "0";              this.form.yjtsYuanyin = this.form.teShuYuanYing;              this.form.isTeShu = "1";              exportThebusYin(this.form).then((response) => {                this.$modal.msgSuccess("审批成功");                this.opensTe = false;                this.getList();              });            } else if (this.form.shenpijiedian == "2") {              this.form.isTongguo = "0";              this.form.cstsYuanyin = this.form.teShuYuanYing;              this.form.isTeShu = "1";              exportThebusChu(this.form).then((response) => {                this.$modal.msgSuccess("审批成功");                this.opensTe = false;                this.getList();              });            } else if (this.form.shenpijiedian == "3") {              this.form.isTongguo = "0";              this.form.ojtsYuanyin = this.form.teShuYuanYing;              this.form.isTeShu = "1";              exportThebusOne(this.form).then((response) => {                this.$modal.msgSuccess("审批成功");                this.getList();                this.opensTe = false;              });            } else if (this.form.shenpijiedian == "4") {              this.form.isTongguo = "0";              this.form.tjtsYuanyin = this.form.teShuYuanYing;              this.form.isTeShu = "1";              exportThebusTwo(this.form).then((response) => {                this.$modal.msgSuccess("审批成功");                this.getList();                this.opensTe = false;              });            } else if (this.form.shenpijiedian == "5") {              this.form.isTongguo = "0";              this.form.sjtsYuanyin = this.form.teShuYuanYing;              this.form.isTeShu = "1";              exportThebusThree(this.form).then((response) => {                this.$modal.msgSuccess("审批成功");                this.getList();                this.opensTe = false;              });            }          }        }      });    },    // 特殊审批不通过    cancelTeShenPi() {      this.$refs["formsTe"].validate((valid) => {        if (valid) {          if (this.form.id != null) {            if (this.form.shenpijiedian == "1") {              this.form.isTongguo = "1";              this.form.yjtsYuanyin = this.form.teShuYuanYing;              this.form.isTeShu = "1";              exportThebusYin(this.form).then((response) => {                this.$modal.msgSuccess("审批成功");                this.opensTe = false;                this.getList();              });            } else if (this.form.shenpijiedian == "2") {              this.form.isTongguo = "1";              this.form.cstsYuanyin = this.form.teShuYuanYing;              this.form.isTeShu = "1";              exportThebusChu(this.form).then((response) => {                this.$modal.msgSuccess("审批成功");                this.opensTe = false;                this.getList();              });            } else if (this.form.shenpijiedian == "3") {              this.form.isTongguo = "1";              this.form.ojtsYuanyin = this.form.teShuYuanYing;              this.form.isTeShu = "1";              exportThebusOne(this.form).then((response) => {                this.$modal.msgSuccess("审批成功");                this.getList();                this.opensTe = false;              });            } else if (this.form.shenpijiedian == "4") {              this.form.isTongguo = "1";              this.form.tjtsYuanyin = this.form.teShuYuanYing;              this.form.isTeShu = "1";              exportThebusTwo(this.form).then((response) => {                this.$modal.msgSuccess("审批成功");                this.getList();                this.opensTe = false;              });            } else if (this.form.shenpijiedian == "5") {              this.form.isTongguo = "1";              this.form.sjtsYuanyin = this.form.teShuYuanYing;              this.form.isTeShu = "1";              exportThebusThree(this.form).then((response) => {                this.$modal.msgSuccess("审批成功");                this.getList();                this.opensTe = false;              });            }          }        }      });    },    // 特殊审批按钮    handleTeShuShenPi(row) {      this.reset();      this.getTreeList();      this.getYingJi();      this.getShenPi();      const id = row.id || this.ids;      getThebusApply(id).then((response) => {        this.form = response.data;        this.getRen(this.form.unitId);        this.opensTe = true;        this.title = "审批用车申请";      });    },    // 审批通过    submitFormShenPi() {      if (this.form.shenpijiedian == "1") {        console.log("营级");        this.form.isTongguo = "0";        if (this.form.id != null) {          exportThebusYin(this.form).then((response) => {            this.$modal.msgSuccess("审批成功");            this.opens = false;            this.getList();          });          return;        }      } else if (this.form.shenpijiedian == "2") {        console.log("初级");        this.form.isTongguo = "0";        exportThebusChu(this.form).then((response) => {          this.$modal.msgSuccess("审批成功");          this.opens = false;          this.getList();        });        return;      } else if (this.form.shenpijiedian == "3") {        this.form.isTongguo = "0";        console.log("一级");        exportThebusOne(this.form).then((response) => {          this.$modal.msgSuccess("审批成功");          this.getList();          this.opens = false;        });        return;      } else if (this.form.shenpijiedian == "4") {        this.form.isTongguo = "0";        console.log("二级");        exportThebusTwo(this.form).then((response) => {          this.$modal.msgSuccess("审批成功");          this.getList();          this.opens = false;        });        return;      } else if (this.form.shenpijiedian == "5") {        this.form.isTongguo = "0";        console.log("三级");        exportThebusThree(this.form).then((response) => {          this.$modal.msgSuccess("审批成功");          this.getList();          this.opens = false;        });      }    },    // 审批不通过    cancelShenPi() {      this.$refs["forms"].validate((valid) => {        if (valid) {          if (this.form.shenpijiedian == "1") {            this.form.isTongguo = "1";            this.form.unitPeopleRemark = this.form.routes;            exportThebusYin(this.form).then((res) => {              this.opens = false;              this.getList();            });            return;          } else if (this.form.shenpijiedian == "2") {            this.form.isTongguo = "1";            this.form.chushenRemark = this.form.routes;            exportThebusChu(this.form).then((res) => {              this.opens = false;              this.getList();            });            return;          } else if (this.form.shenpijiedian == "3") {            this.form.isTongguo = "1";            this.form.peopleoneRemark = this.form.routes;            exportThebusOne(this.form).then((res) => {              this.opens = false;              this.getList();            });            return;          } else if (this.form.shenpijiedian == "4") {            this.form.isTongguo = "1";            this.form.peopletwoRemark = this.form.routes;            exportThebusTwo(this.form).then((res) => {              this.opens = false;              this.getList();            });            return;          } else if (this.form.shenpijiedian == "5") {            this.form.isTongguo = "1";            this.form.peoplethreeRemark = this.form.routes;            exportThebusThree(this.form).then((res) => {              this.opens = false;              this.getList();            });          }        }      });    },    // 审批按钮    handleShenPi(row) {      console.log(row);      this.reset();      this.getTreeList();      this.getYingJi();      this.getShenPi();      const id = row.id || this.ids;      getThebusApply(id).then((response) => {        this.form = response.data;        this.getRen(this.form.unitId);        this.opens = true;        this.title = "审批用车申请";      });    },    // 选择营级人员触发    yinJi(name) {      this.form.unitPeopleName = name;    },    // 选择审批模板触发    shenPiThemplate(data) {      this.$set(this.form, "peopleoneName", data.oneshenpirenname);      this.$set(this.form, "peopletwoName", data.twoshenpirenname);      this.$set(this.form, "peoplethreeName", data.threeshenpirenname);      this.$set(this.form, "peopleoneId", data.onshenpirenid);      this.$set(this.form, "peopletwoId", data.twoshenpirenid);      this.$set(this.form, "peoplethreeId", data.threeshenpirenid);    },    // 获取审批模板列表    getShenPi() {      listThebusConfig().then((response) => {        console.log();        this.shenPi = response.rows;      });    },    // 获取营级审批    getYingJi() {      getThebusUser().then((res) => {        this.userRen = res.rows;      });    },    // 选择人员触发    cheRen(name) {      this.form.peopleName = name;    },    // 获取人员列表    getRen(id) {      getZhuChiRen(id).then((res) => {        this.renYuan = res.data;      });    },    //  获取单位列表    getTreeList() {      getDept().then((res) => {        this.treeList = res.data;      });    },    // 选择部门单位触发    selectPeo(data) {      this.form.unitName = data.label;      this.getRen(data.id);    },    /** 查询用车申请列表 */    getList() {      this.loading = true;      listThebusApply(this.queryParams).then((response) => {        console.log(          (response.rows.unitPeopleState == "1" ||            response.rows.status == "1") &&            response.rows.isCaoZuo != null        );        this.thebusApplyList = response.rows;        this.total = response.total;        this.loading = false;      });    },    // 取消按钮    cancel() {      this.open = false;      this.reset();    },    // 表单重置    reset() {      this.form = {        id: null,        model: null,        unitId: null,        peopleId: null,        thebusId: null,        contact: null,        cause: null,        authStime: null,        authEtime: null,        thebusThemplateId: null,        people1Id: null,        people1State: null,        people1Remark: null,        people1Authtime: null,        people2Id: null,        people2State: null,        people2Remark: null,        people2Authtime: null,        people3Id: null,        people3State: null,        people3Remark: null,        people3Authtime: null,        status: null,        outstatus: null,        adminId: null,        createtime: null,        updatetime: null,        driver: null,        driverContact: null,        peopleCount: null,        unitPeopleId: null,        unitPeopleState: null,        unitPeopleRemark: null,        chushenState: null,        chushenRemark: null,      };      this.resetForm("form");    },    /** 搜索按钮操作 */    handleQuery() {      this.queryParams.pageNum = 1;      this.getList();    },    /** 重置按钮操作 */    resetQuery() {      this.queryParams.peopleId = null;      this.resetForm("queryForm");      this.handleQuery();    },    // 多选框选中数据    handleSelectionChange(selection) {      this.ids = selection.map((item) => item.id);      this.single = selection.length !== 1;      this.multiple = !selection.length;    },    /** 新增按钮操作 */    handleAdd() {      this.reset();      this.getYingJi();      this.getShenPi();      this.getTreeList();      this.open = true;      this.title = "添加用车申请";    },    /** 修改按钮操作 */    handleUpdate(row) {      this.reset();      this.getTreeList();      this.getYingJi();      this.getShenPi();      const id = row.id || this.ids;      getThebusApply(id).then((response) => {        this.form = response.data;        this.getRen(this.form.unitId);        this.open = true;        this.title = "修改用车申请";      });    },    /** 提交按钮 */    submitForm() {      this.$refs["form"].validate((valid) => {        if (valid) {          if (this.form.id != null) {            updateThebusApply(this.form).then((response) => {              this.$modal.msgSuccess("修改成功");              this.open = false;              this.getList();            });          } else {            addThebusApply(this.form).then((response) => {              this.$modal.msgSuccess("新增成功");              this.open = false;              this.getList();            });          }        }      });    },    /** 删除按钮操作 */    handleDelete(row) {      const ids = row.id || this.ids;      this.$modal        .confirm("是否确认删除用车申请的数据项?")        .then(function () {          return delThebusApply(ids);        })        .then(() => {          this.getList();          this.$modal.msgSuccess("删除成功");        })        .catch(() => {});    },    /** 导出按钮操作 */    handleExport() {      const queryParams = this.queryParams;      this.$modal        .confirm("是否确认导出所有用车申请数据项?")        .then(() => {          this.exportLoading = true;          return exportThebusApply(queryParams);        })        .then((response) => {          this.$download.name(response.msg);          this.exportLoading = false;        })        .catch(() => {});    },  },};</script><style scoped>/* 对话框背景颜色 */::v-deep .el-dialog {  background: #004d86 !important;  width: 800px !important;}::v-deep .el-textarea__inner {  width: 920px;  height: 104px;  margin: auto;}::v-deep .el-dialog__header {  border-bottom: 1px solid #718a9d;}::v-deep .el-dialog__title {  color: #fff;  font: 18px;}::v-deep .el-dialog__headerbtn .el-dialog__close {  color: #fff;}::v-deep .el-form-item__label {  font: 16px;  color: #fff;  width: 100px !important;}::v-deep .el-input__inner {  /* width: 200px !important;  height: 36px; */  background: transparent;  color: #fff;}/* 单位框背景颜色 */::v-deep .vue-treeselect__control {  background: #004d86 !important;}/* 基本信息背景 */.jiben {  width: 920px;  height: 32px;  background-image: url(../../../images/小标题底.png);  margin-bottom: 25px;  color: #fff;  padding-left: 16px;  line-height: 32px;}/*调整表单间距 */::v-deep .el-form-item__content {  width: 200px;}::v-deep .el-input__inner {  cursor: pointer !important;}/* 底部确定取消按钮 */::v-deep .el-dialog__footer {  padding: 30px 50px;}::v-deep .el-dialog__body {  margin: 10px 24px 20px 30px;  padding-top: 20px !important;  box-sizing: border-box;  /* padding: 30px 12px 30px 28px; */}.contents {  padding: 0px 40px !important;}/* 下拉菜单 */.el-dropdown-link {  cursor: pointer;  color: #409eff;}.el-icon-arrow-down {  font-size: 12px;}/* 下拉菜单字体/背景颜色 */.el-select-dropdown__item.hover,.el-select-dropdown__item:hover {  background-color: #004d86;  color: #fff;}.el-select-dropdown__item {  color: #fff;}/* 时间选择 */::v-deep .el-input--small .el-input__inner {  width: 200px;  height: 36px;  line-height: 36px;}.el-date-editor.el-input {  width: 200px;  height: 36px;  line-height: 36px;}::v-deep .el-date-editor.el-input .el-input__inner {  height: 36px;  line-height: 36px;}/* 单位框背景颜色 */::v-deep .vue-treeselect__control {  background: #004d86 !important;  color: #fff;}/* 单位下拉菜单选中字体颜色 */::v-deep .vue-treeselect__single-value {  color: #fff !important;}/* 分页按钮 */::v-deep .el-pagination.is-background .el-pager li {  background-color: #004d86;  color: #fff;}::v-deep .el-pagination.is-background .btn-next {  background-color: #004d86;  color: #fff;}/* 底部确定取消按钮 */::v-deep .el-dialog__footer {  padding: 18px 50px;  margin-right: 28px;}/* 增加按钮弹框 */::v-deep .el-dialog {  width: 1060px !important;}::v-deep .el-dialog__body {  padding: 30px 35px;}/* 小手样式 */::v-deep .el-table__cell {  cursor: pointer;}.el-button--mini {  width: 80px !important;  border: 1px solid transparent;  padding: 3px 8px;  font-size: 14px;  line-height: 1.5;  border-radius: 3px;  color: #fff;  background-color: #1890ff;}/* 调整输入框提示文字颜色 */::v-deep .vue-treeselect__placeholder {  color: #bdbdbd4f !important;}::v-deep input::-webkit-input-placeholder {  color: #bdbdbd4f !important;}::v-deep input:-moz-placeholder {  color: #bdbdbd4f !important;}/* 右侧上浮框 */::v-deep .el-table .el-table__body .el-table__row.hover-row td {  background-color: #004d86;}/* 文本域提示文字颜色 */::v-deep ::-webkit-input-placeholder {  color: #bdbdbd4f !important;}/* 审批按钮样式 */::v-deep .cell {  display: flex !important;}.box {  background-color: #ffba00 !important;}</style>
 |