|
|
@@ -45,28 +45,68 @@ |
|
|
|
<div class="div-lab"> |
|
|
|
<!-- <div class="label">合同结束日期:</div> --> |
|
|
|
<div class="label" style="min-width: 80px"> |
|
|
|
<el-select v-model="searchForm.timeType" placeholder="请选择" style="width: 100px"> |
|
|
|
<el-option v-for="item in timeTypeList" :key="item.value" :label="item.label" :value="item.value"> |
|
|
|
<el-select |
|
|
|
v-model="searchForm.timeType" |
|
|
|
placeholder="请选择" |
|
|
|
style="width: 100px" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in timeTypeList" |
|
|
|
:key="item.value" |
|
|
|
:label="item.label" |
|
|
|
:value="item.value" |
|
|
|
> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</div> |
|
|
|
<el-date-picker v-model="starTime" class="div-inp" @change="timeChange1" style="width: 250px" type="daterange" |
|
|
|
range-separator="-" :default-time="['00:00:00', '23:59:59']" value-format="yyyy-MM-dd" |
|
|
|
start-placeholder="开始日期" end-placeholder="结束日期"> |
|
|
|
<el-date-picker |
|
|
|
v-model="starTime" |
|
|
|
class="div-inp" |
|
|
|
@change="timeChange1" |
|
|
|
style="width: 250px" |
|
|
|
type="daterange" |
|
|
|
range-separator="-" |
|
|
|
:default-time="['00:00:00', '23:59:59']" |
|
|
|
value-format="yyyy-MM-dd" |
|
|
|
start-placeholder="开始日期" |
|
|
|
end-placeholder="结束日期" |
|
|
|
> |
|
|
|
</el-date-picker> |
|
|
|
</div> |
|
|
|
|
|
|
|
<div v-if="orgType == 0" class="div-lab"> |
|
|
|
<div class="label">项目类型:</div> |
|
|
|
<el-select v-model="searchForm.houseType" placeholder="请选择" class="div-inp" filterable clearable> |
|
|
|
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value"> |
|
|
|
<el-select |
|
|
|
v-model="searchForm.houseType" |
|
|
|
placeholder="请选择" |
|
|
|
class="div-inp" |
|
|
|
filterable |
|
|
|
clearable |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in options" |
|
|
|
:key="item.value" |
|
|
|
:label="item.label" |
|
|
|
:value="item.value" |
|
|
|
> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</div> |
|
|
|
<div class="div-lab"> |
|
|
|
<div class="label">服务状态:</div> |
|
|
|
<el-select v-model="searchForm.serviceStatus" placeholder="请选择" class="div-inp" filterable clearable> |
|
|
|
<el-option v-for="item in options1" :key="item.value" :label="item.label" :value="item.value"> |
|
|
|
<el-select |
|
|
|
v-model="searchForm.serviceStatus" |
|
|
|
placeholder="请选择" |
|
|
|
class="div-inp" |
|
|
|
filterable |
|
|
|
clearable |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in options1" |
|
|
|
:key="item.value" |
|
|
|
:label="item.label" |
|
|
|
:value="item.value" |
|
|
|
> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</div> |
|
|
@@ -87,10 +127,23 @@ |
|
|
|
> |
|
|
|
</el-option> |
|
|
|
</el-select> --> |
|
|
|
<el-cascader :props="props1" @change="locationsChange1" :options="addressOptions" placeholder="省/市" |
|
|
|
size="small" separator="/" v-model="area" filterable clearable></el-cascader> |
|
|
|
<el-cascader |
|
|
|
:props="props1" |
|
|
|
@change="locationsChange1" |
|
|
|
:options="addressOptions" |
|
|
|
placeholder="省/市" |
|
|
|
size="small" |
|
|
|
separator="/" |
|
|
|
v-model="area" |
|
|
|
filterable |
|
|
|
clearable |
|
|
|
></el-cascader> |
|
|
|
</div> |
|
|
|
<div v-if="orgType == 0 || orgType == 1" class="div-lab" v-show="isOpen"> |
|
|
|
<div |
|
|
|
v-if="orgType == 0 || orgType == 1" |
|
|
|
class="div-lab" |
|
|
|
v-show="isOpen" |
|
|
|
> |
|
|
|
<div class="label">运营人员:</div> |
|
|
|
<!-- <el-input |
|
|
|
v-model="searchForm.operationalPeople" |
|
|
@@ -99,27 +152,61 @@ |
|
|
|
class="div-inp" |
|
|
|
placeholder="请输入内容" |
|
|
|
></el-input> --> |
|
|
|
<el-select v-model="searchForm.operationStaffId" placeholder="请选择" class="div-inp" filterable clearable> |
|
|
|
<el-option v-for="item in operaList" :key="item.accountId" :label="item.name" :value="item.accountId"> |
|
|
|
<el-select |
|
|
|
v-model="searchForm.operationStaffId" |
|
|
|
placeholder="请选择" |
|
|
|
class="div-inp" |
|
|
|
filterable |
|
|
|
clearable |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in operaList" |
|
|
|
:key="item.accountId" |
|
|
|
:label="item.name" |
|
|
|
:value="item.accountId" |
|
|
|
> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</div> |
|
|
|
<div v-if="orgType == 0" class="div-lab" v-show="isOpen"> |
|
|
|
<div class="label">代理商名称:</div> |
|
|
|
|
|
|
|
<el-input class="div-inp" maxlength="30" clearable v-model="searchForm.agentName" placeholder="请输入内容"> |
|
|
|
<el-input |
|
|
|
class="div-inp" |
|
|
|
maxlength="30" |
|
|
|
clearable |
|
|
|
v-model="searchForm.agentName" |
|
|
|
placeholder="请输入内容" |
|
|
|
> |
|
|
|
</el-input> |
|
|
|
</div> |
|
|
|
<div v-if="orgType != 2" class="div-lab" v-show="isOpen"> |
|
|
|
<div class="label">公司名称:</div> |
|
|
|
<el-input class="div-inp" v-model="searchForm.corporateName" placeholder="请输入内容" maxlength="30" clearable> |
|
|
|
<el-input |
|
|
|
class="div-inp" |
|
|
|
v-model="searchForm.corporateName" |
|
|
|
placeholder="请输入内容" |
|
|
|
maxlength="30" |
|
|
|
clearable |
|
|
|
> |
|
|
|
</el-input> |
|
|
|
</div> |
|
|
|
<div class="div-lab" v-show="isOpen"> |
|
|
|
<div class="label">项目名称:</div> |
|
|
|
<el-select class="div-inp" v-model="searchForm.propertyName" filterable clearable @change="houseChange" |
|
|
|
placeholder="请选择项目"> |
|
|
|
<el-option v-for="item in houseList" :key="item.id" :label="item.propertyName" :value="item.propertyName"> |
|
|
|
<el-select |
|
|
|
class="div-inp" |
|
|
|
v-model="searchForm.propertyName" |
|
|
|
filterable |
|
|
|
clearable |
|
|
|
@change="houseChange" |
|
|
|
placeholder="请选择项目" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in houseList" |
|
|
|
:key="item.id" |
|
|
|
:label="item.propertyName" |
|
|
|
:value="item.propertyName" |
|
|
|
> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
<!-- <el-input |
|
|
@@ -142,72 +229,143 @@ |
|
|
|
<div style="margin-left: 20px"> |
|
|
|
<el-button @click="empty" type="text">清空筛选条件</el-button> |
|
|
|
</div> |
|
|
|
<el-button style="margin-left:10px;" @click="isSystoleForm" type="text">{{ isOpen ? '收起' : '展开' }}<i |
|
|
|
style="margin-left:5px;" :class="isOpen ? 'el-icon-arrow-up' : 'el-icon-arrow-down'"></i></el-button> |
|
|
|
<el-button style="margin-left: 10px" @click="isSystoleForm" type="text" |
|
|
|
>{{ isOpen ? "收起" : "展开" |
|
|
|
}}<i |
|
|
|
style="margin-left: 5px" |
|
|
|
:class="isOpen ? 'el-icon-arrow-up' : 'el-icon-arrow-down'" |
|
|
|
></i |
|
|
|
></el-button> |
|
|
|
<div style="margin-left: auto; margin-right: 20px" v-if="orgType != 2"> |
|
|
|
<el-button v-if="cus_build_index_add" type="primary" @click="addHouse">新增</el-button> |
|
|
|
<el-button v-if="cus_build_index_add" type="primary" @click="addHouse" |
|
|
|
>新增</el-button |
|
|
|
> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
<!-- 表格 --> |
|
|
|
<div class="cen-tab"> |
|
|
|
<el-table :header-cell-style="{background:'#F5F7FA',color:'#333333'}" :data="tableData" stripe style="width: 100%"> |
|
|
|
<el-table-column prop="propertyName" :show-overflow-tooltip="true" width="120px" label="项目名称" align="center"> |
|
|
|
<el-table |
|
|
|
:header-cell-style="{ background: '#F5F7FA', color: '#333333' }" |
|
|
|
:data="tableData" |
|
|
|
stripe |
|
|
|
style="width: 100%" |
|
|
|
> |
|
|
|
<el-table-column |
|
|
|
prop="propertyName" |
|
|
|
:show-overflow-tooltip="true" |
|
|
|
width="120px" |
|
|
|
label="项目名称" |
|
|
|
align="center" |
|
|
|
> |
|
|
|
</el-table-column> |
|
|
|
|
|
|
|
<el-table-column :show-overflow-tooltip="true" width="120px" prop="agentName" label="代理商" align="center" |
|
|
|
v-if="orgType == 0"> |
|
|
|
<el-table-column |
|
|
|
:show-overflow-tooltip="true" |
|
|
|
width="120px" |
|
|
|
prop="agentName" |
|
|
|
label="代理商" |
|
|
|
align="center" |
|
|
|
v-if="orgType == 0" |
|
|
|
> |
|
|
|
<template slot-scope="{ row }"> |
|
|
|
{{ row.agentName || "-" }} |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
|
|
|
|
<el-table-column :show-overflow-tooltip="true" width="120px" prop="corporateName" label="公司" align="center" |
|
|
|
v-if="orgType != 2"> |
|
|
|
<el-table-column |
|
|
|
:show-overflow-tooltip="true" |
|
|
|
width="120px" |
|
|
|
prop="corporateName" |
|
|
|
label="公司" |
|
|
|
align="center" |
|
|
|
v-if="orgType != 2" |
|
|
|
> |
|
|
|
</el-table-column> |
|
|
|
|
|
|
|
<el-table-column :show-overflow-tooltip="true" width="120px" prop="provinceName,cityName" label="项目地区" |
|
|
|
align="center" :key="Math.random()"> |
|
|
|
<el-table-column |
|
|
|
:show-overflow-tooltip="true" |
|
|
|
width="120px" |
|
|
|
prop="provinceName,cityName" |
|
|
|
label="项目地区" |
|
|
|
align="center" |
|
|
|
:key="Math.random()" |
|
|
|
> |
|
|
|
<template slot-scope="scope"> |
|
|
|
{{ scope.row.provinceName }}{{ scope.row.cityName }} |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
|
|
|
|
<el-table-column width="110px" prop="linkman" label="联系人信息" align="center" :key="Math.random()"> |
|
|
|
<el-table-column |
|
|
|
width="110px" |
|
|
|
prop="linkman" |
|
|
|
label="联系人信息" |
|
|
|
align="center" |
|
|
|
:key="Math.random()" |
|
|
|
> |
|
|
|
<template slot-scope="{ row }"> |
|
|
|
{{ row.linkman + "-" + row.linkmanPhone || "-" }} |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
|
|
|
|
<el-table-column :key="Math.random()" width="110" prop="managerPhone" label="管理员账号" align="center"> |
|
|
|
<el-table-column |
|
|
|
:key="Math.random()" |
|
|
|
width="110" |
|
|
|
prop="managerPhone" |
|
|
|
label="管理员账号" |
|
|
|
align="center" |
|
|
|
> |
|
|
|
<template slot-scope="{ row }"> |
|
|
|
{{ row.managerPhone || "-" }} |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
|
|
|
|
<el-table-column :show-overflow-tooltip="true" :key="Math.random()" prop="operationStaffName" width="120" v-if="orgType == 0 || orgType == 1" label="运营人员" |
|
|
|
align="center"> |
|
|
|
<el-table-column |
|
|
|
:show-overflow-tooltip="true" |
|
|
|
:key="Math.random()" |
|
|
|
prop="operationStaffName" |
|
|
|
width="120" |
|
|
|
v-if="orgType == 0 || orgType == 1" |
|
|
|
label="运营人员" |
|
|
|
align="center" |
|
|
|
> |
|
|
|
</el-table-column> |
|
|
|
|
|
|
|
<el-table-column :key="Math.random()" prop="houseType" label="项目类型" align="center" v-if="orgType != 2"> |
|
|
|
<el-table-column |
|
|
|
:key="Math.random()" |
|
|
|
prop="houseType" |
|
|
|
label="项目类型" |
|
|
|
align="center" |
|
|
|
v-if="orgType != 2" |
|
|
|
> |
|
|
|
<template slot-scope="{ row }"> |
|
|
|
{{ |
|
|
|
row.houseType == 0 |
|
|
|
? "正式" |
|
|
|
: row.houseType == 1 |
|
|
|
? "试用" |
|
|
|
: row.houseType == 2 |
|
|
|
? "演示" |
|
|
|
: "测试" |
|
|
|
row.houseType == 0 |
|
|
|
? "正式" |
|
|
|
: row.houseType == 1 |
|
|
|
? "试用" |
|
|
|
: row.houseType == 2 |
|
|
|
? "演示" |
|
|
|
: "测试" |
|
|
|
}} |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
|
|
|
|
<el-table-column prop="startWorking" label="合同开始日期" width="100" align="center"> |
|
|
|
<el-table-column |
|
|
|
prop="startWorking" |
|
|
|
label="合同开始日期" |
|
|
|
width="100" |
|
|
|
align="center" |
|
|
|
> |
|
|
|
</el-table-column> |
|
|
|
|
|
|
|
<el-table-column prop="endWorking" width="100" label="合同结束日期" align="center"> |
|
|
|
<el-table-column |
|
|
|
prop="endWorking" |
|
|
|
width="100" |
|
|
|
label="合同结束日期" |
|
|
|
align="center" |
|
|
|
> |
|
|
|
</el-table-column> |
|
|
|
|
|
|
|
<el-table-column label="添加日期" width="100" align="center"> |
|
|
@@ -216,20 +374,25 @@ |
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
|
|
|
|
<el-table-column prop="residueTime" width="100" label="服务状态" align="center"> |
|
|
|
<el-table-column |
|
|
|
prop="residueTime" |
|
|
|
width="100" |
|
|
|
label="服务状态" |
|
|
|
align="center" |
|
|
|
> |
|
|
|
<template slot-scope="scope"> |
|
|
|
<div v-if="scope.row.residueTime > 0"> |
|
|
|
服务中({{ |
|
|
|
scope.row.residueTime * 1 >= 0 |
|
|
|
? scope.row.residueTime |
|
|
|
: scope.row.residueTime * -1 |
|
|
|
scope.row.residueTime * 1 >= 0 |
|
|
|
? scope.row.residueTime |
|
|
|
: scope.row.residueTime * -1 |
|
|
|
}}) |
|
|
|
</div> |
|
|
|
<div v-if="scope.row.residueTime <= 0"> |
|
|
|
过期({{ |
|
|
|
scope.row.residueTime * 1 >= 0 |
|
|
|
? scope.row.residueTime |
|
|
|
: scope.row.residueTime * -1 |
|
|
|
scope.row.residueTime * 1 >= 0 |
|
|
|
? scope.row.residueTime |
|
|
|
: scope.row.residueTime * -1 |
|
|
|
}}) |
|
|
|
</div> |
|
|
|
</template> |
|
|
@@ -243,51 +406,125 @@ |
|
|
|
|
|
|
|
<el-table-column label="操作" align="center" fixed="right" width="146"> |
|
|
|
<template slot-scope="{ row }"> |
|
|
|
|
|
|
|
<el-button type="text" v-if="cus_build_index_edit" @click="edit(row)">编辑</el-button> |
|
|
|
<el-button type="text" v-if="orgType != 2 && cus_build_index_change" @click="changeAccount(row)">更换账号 |
|
|
|
<el-button |
|
|
|
type="text" |
|
|
|
v-if="cus_build_index_edit" |
|
|
|
@click="edit(row)" |
|
|
|
>编辑</el-button |
|
|
|
> |
|
|
|
<el-button |
|
|
|
type="text" |
|
|
|
v-if="orgType != 2 && cus_build_index_change" |
|
|
|
@click="changeAccount(row)" |
|
|
|
>更换账号 |
|
|
|
</el-button> |
|
|
|
|
|
|
|
<el-dropdown> |
|
|
|
<el-button type="text" size="small" style="margin-left:10px;">更多</el-button> |
|
|
|
<el-button type="text" size="small" style="margin-left: 10px" |
|
|
|
>更多</el-button |
|
|
|
> |
|
|
|
<el-dropdown-menu slot="dropdown"> |
|
|
|
<el-dropdown-item> |
|
|
|
<el-button type="text" size="small" v-if="cus_build_index_sys" @click="editOpera(row, 0)">系统运营</el-button> |
|
|
|
<el-button |
|
|
|
type="text" |
|
|
|
size="small" |
|
|
|
v-if="cus_build_index_sys" |
|
|
|
@click="editOpera(row, 0)" |
|
|
|
>系统运营</el-button |
|
|
|
> |
|
|
|
</el-dropdown-item> |
|
|
|
<el-dropdown-item> |
|
|
|
<el-button type="text" size="small" v-if="cus_build_index_agent" @click="editOpera(row, 1)">售后运营</el-button> |
|
|
|
<el-button |
|
|
|
type="text" |
|
|
|
size="small" |
|
|
|
v-if="cus_build_index_agent" |
|
|
|
@click="editOpera(row, 1)" |
|
|
|
>售后运营</el-button |
|
|
|
> |
|
|
|
</el-dropdown-item> |
|
|
|
<el-dropdown-item> |
|
|
|
<el-button type="text" size="small" v-if="cus_build_index_bindAgent" @click="bindAgent(row)">绑定代理商</el-button> |
|
|
|
<el-button |
|
|
|
type="text" |
|
|
|
size="small" |
|
|
|
v-if="cus_build_index_bindAgent" |
|
|
|
@click="bindAgent(row)" |
|
|
|
>绑定代理商</el-button |
|
|
|
> |
|
|
|
</el-dropdown-item> |
|
|
|
<el-dropdown-item> |
|
|
|
<el-button type="text" v-if="cus_build_index_del" @click="del(row)">删除</el-button> |
|
|
|
<el-button |
|
|
|
type="text" |
|
|
|
v-if="cus_build_index_del" |
|
|
|
@click="del(row)" |
|
|
|
>删除</el-button |
|
|
|
> |
|
|
|
</el-dropdown-item> |
|
|
|
<el-dropdown-item> |
|
|
|
<el-button type="text" v-if="cus_build_index_open" size="small" @click="toDisable(row)">{{ row.lockFlag == 0 ? "禁用" : "启用"}}</el-button> |
|
|
|
<el-button |
|
|
|
type="text" |
|
|
|
v-if="cus_build_index_open" |
|
|
|
size="small" |
|
|
|
@click="toDisable(row)" |
|
|
|
>{{ row.lockFlag == 0 ? "禁用" : "启用" }}</el-button |
|
|
|
> |
|
|
|
</el-dropdown-item> |
|
|
|
<el-dropdown-item> |
|
|
|
<el-button type="text" v-if="permissions['cus_build_index_sug']" size="small" @click="toOtherPage(row)">使用建议</el-button> |
|
|
|
<el-button |
|
|
|
type="text" |
|
|
|
v-if="permissions['cus_build_index_sug']" |
|
|
|
size="small" |
|
|
|
@click="toOtherPage(row)" |
|
|
|
>使用建议</el-button |
|
|
|
> |
|
|
|
</el-dropdown-item> |
|
|
|
</el-dropdown-menu> |
|
|
|
</el-dropdown> |
|
|
|
|
|
|
|
</template> |
|
|
|
</el-table-column> |
|
|
|
</el-table> |
|
|
|
<div style="display: flex; justify-content: flex-end; margin-top: 10px"> |
|
|
|
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage" |
|
|
|
:page-sizes="[10, 20,30, 40,50,100]" :page-size="size" layout="total, sizes, prev, pager, next, jumper" :total="total"> |
|
|
|
<el-pagination |
|
|
|
@size-change="handleSizeChange" |
|
|
|
@current-change="handleCurrentChange" |
|
|
|
:current-page="currentPage" |
|
|
|
:page-sizes="[10, 20, 30, 40, 50, 100]" |
|
|
|
:page-size="size" |
|
|
|
layout="total, sizes, prev, pager, next, jumper" |
|
|
|
:total="total" |
|
|
|
> |
|
|
|
</el-pagination> |
|
|
|
</div> |
|
|
|
</div> |
|
|
|
|
|
|
|
<el-dialog :title="editFlag ? '编辑项目' : '新增项目'" :visible.sync="dialogVisible" @close="dialogClose" width="600px" :center="true"> |
|
|
|
<el-form :model="ruleForm" label-position="labelPosition" ref="ruleForm" label-width="150px" style="width: 80%" |
|
|
|
:rules="rules"> |
|
|
|
<el-dialog |
|
|
|
:title="editFlag ? '编辑项目' : '新增项目'" |
|
|
|
:visible.sync="dialogVisible" |
|
|
|
@close="dialogClose" |
|
|
|
width="600px" |
|
|
|
:center="true" |
|
|
|
> |
|
|
|
<el-form |
|
|
|
:model="ruleForm" |
|
|
|
label-position="labelPosition" |
|
|
|
ref="ruleForm" |
|
|
|
label-width="150px" |
|
|
|
style="width: 80%" |
|
|
|
:rules="rules" |
|
|
|
> |
|
|
|
<el-form-item label="公司" prop="orgCode" v-if="orgType != 2"> |
|
|
|
<el-select style="width: 100%" :disabled="editFlag == true" v-model="ruleForm.orgCode" filterable placeholder="请选择公司"> |
|
|
|
<el-option v-for="item in orgList" :key="item.id" :label="item.name" :value="item.orgCode"> |
|
|
|
<el-select |
|
|
|
style="width: 100%" |
|
|
|
:disabled="editFlag == true" |
|
|
|
v-model="ruleForm.orgCode" |
|
|
|
filterable |
|
|
|
placeholder="请选择公司" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in orgList" |
|
|
|
:key="item.id" |
|
|
|
:label="item.name" |
|
|
|
:value="item.orgCode" |
|
|
|
> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
@@ -300,40 +537,116 @@ |
|
|
|
</el-radio-group> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="项目名称" prop="propertyName"> |
|
|
|
<el-input v-model="ruleForm.propertyName" placeholder="项目名称" maxlength="30" clearable></el-input> |
|
|
|
<el-input |
|
|
|
v-model="ruleForm.propertyName" |
|
|
|
placeholder="项目名称" |
|
|
|
maxlength="30" |
|
|
|
clearable |
|
|
|
></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="合同起止日期" prop="startWorking" v-if="orgType != 2"> |
|
|
|
<el-date-picker v-model="time" style="width: 100%" @change="timeChange" type="daterange" range-separator="-" |
|
|
|
:default-time="['00:00:00', '23:59:59']" value-format="yyyy-MM-dd" start-placeholder="开始日期" |
|
|
|
end-placeholder="结束日期"> |
|
|
|
<el-form-item |
|
|
|
label="合同起止日期" |
|
|
|
prop="startWorking" |
|
|
|
v-if="orgType != 2" |
|
|
|
> |
|
|
|
<el-date-picker |
|
|
|
v-model="time" |
|
|
|
style="width: 100%" |
|
|
|
@change="timeChange" |
|
|
|
type="daterange" |
|
|
|
range-separator="-" |
|
|
|
:default-time="['00:00:00', '23:59:59']" |
|
|
|
value-format="yyyy-MM-dd" |
|
|
|
start-placeholder="开始日期" |
|
|
|
end-placeholder="结束日期" |
|
|
|
> |
|
|
|
</el-date-picker> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="日报推送时间" prop="time"> |
|
|
|
<el-time-picker |
|
|
|
v-model="ruleForm.time" |
|
|
|
format="HH:mm" |
|
|
|
value-format="HH:mm" |
|
|
|
placeholder="日报推送时间" |
|
|
|
> |
|
|
|
</el-time-picker> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="联系人" prop="linkman"> |
|
|
|
<el-input v-model="ruleForm.linkman" maxlength="20" placeholder="联系人" clearable></el-input> |
|
|
|
<el-input |
|
|
|
v-model="ruleForm.linkman" |
|
|
|
maxlength="20" |
|
|
|
placeholder="联系人" |
|
|
|
clearable |
|
|
|
></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="联系手机" prop="linkmanPhone"> |
|
|
|
<el-input v-model="ruleForm.linkmanPhone" type="tel" placeholder="联系手机" maxlength="11" |
|
|
|
onkeypress="return (/[\d]/.test(String.fromCharCode(event.keyCode)));"></el-input> |
|
|
|
<el-input |
|
|
|
v-model="ruleForm.linkmanPhone" |
|
|
|
type="tel" |
|
|
|
placeholder="联系手机" |
|
|
|
maxlength="11" |
|
|
|
onkeypress="return (/[\d]/.test(String.fromCharCode(event.keyCode)));" |
|
|
|
></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="项目地区" prop="provinceId"> |
|
|
|
<el-cascader :props="props" style="width: 100%" @change="locationsChange" :options="addressOptions" placeholder="省/市" size="small" |
|
|
|
separator="/" v-model="ruleForm.area" filterable clearable></el-cascader> |
|
|
|
<el-cascader |
|
|
|
:props="props" |
|
|
|
style="width: 100%" |
|
|
|
@change="locationsChange" |
|
|
|
:options="addressOptions" |
|
|
|
placeholder="省/市" |
|
|
|
size="small" |
|
|
|
separator="/" |
|
|
|
v-model="ruleForm.area" |
|
|
|
filterable |
|
|
|
clearable |
|
|
|
></el-cascader> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="详细地址" prop="address"> |
|
|
|
<el-input v-model="ruleForm.address" placeholder="详细地址" type="textarea" maxlength="60" show-word-limit></el-input> |
|
|
|
<el-input |
|
|
|
v-model="ruleForm.address" |
|
|
|
placeholder="详细地址" |
|
|
|
type="textarea" |
|
|
|
maxlength="60" |
|
|
|
show-word-limit |
|
|
|
></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="管理员账号" prop="managerPhone" v-if="!editFlag"> |
|
|
|
<el-input auto-complete="new-password" maxlength="11" |
|
|
|
placeholder="管理员账号" |
|
|
|
onkeypress="return (/[\d]/.test(String.fromCharCode(event.keyCode)));" v-model="ruleForm.managerPhone"> |
|
|
|
<el-input |
|
|
|
auto-complete="new-password" |
|
|
|
maxlength="11" |
|
|
|
placeholder="管理员账号" |
|
|
|
onkeypress="return (/[\d]/.test(String.fromCharCode(event.keyCode)));" |
|
|
|
v-model="ruleForm.managerPhone" |
|
|
|
> |
|
|
|
</el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="管理员密码" prop="managerPassword" v-if="!editFlag"> |
|
|
|
<el-input auto-complete="new-password" placeholder="管理员密码" v-model="ruleForm.managerPassword" maxlength="18" type="passsword" |
|
|
|
show-password :disabled="passFlag"></el-input> |
|
|
|
<el-form-item |
|
|
|
label="管理员密码" |
|
|
|
prop="managerPassword" |
|
|
|
v-if="!editFlag" |
|
|
|
> |
|
|
|
<el-input |
|
|
|
auto-complete="new-password" |
|
|
|
placeholder="管理员密码" |
|
|
|
v-model="ruleForm.managerPassword" |
|
|
|
maxlength="18" |
|
|
|
type="passsword" |
|
|
|
show-password |
|
|
|
:disabled="passFlag" |
|
|
|
></el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<div slot="footer" class="dialog-footer" style="border-top:1px solid #eee;padding-top: 20px;display: flex;justify-content: end;"> |
|
|
|
<div |
|
|
|
slot="footer" |
|
|
|
class="dialog-footer" |
|
|
|
style=" |
|
|
|
border-top: 1px solid #eee; |
|
|
|
padding-top: 20px; |
|
|
|
display: flex; |
|
|
|
justify-content: end; |
|
|
|
" |
|
|
|
> |
|
|
|
<el-button @click="addSurequxiao()">取 消</el-button> |
|
|
|
<el-button type="primary" :loading="loadingFlag" @click="addSure"> |
|
|
|
<!-- {{ |
|
|
@@ -344,52 +657,141 @@ |
|
|
|
</div> |
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
<el-dialog title="更换账号" :visible.sync="changeFlag" @close="$refs.accountForm.resetFields()" width="400px" :center="true"> |
|
|
|
<el-form :model="accountForm" label-width="100px" ref="accountForm" :rules="accountRules"> |
|
|
|
<el-dialog |
|
|
|
title="更换账号" |
|
|
|
:visible.sync="changeFlag" |
|
|
|
@close="$refs.accountForm.resetFields()" |
|
|
|
width="400px" |
|
|
|
:center="true" |
|
|
|
> |
|
|
|
<el-form |
|
|
|
:model="accountForm" |
|
|
|
label-width="100px" |
|
|
|
ref="accountForm" |
|
|
|
:rules="accountRules" |
|
|
|
> |
|
|
|
<el-form-item label="管理员账号:" prop="managerPhone"> |
|
|
|
<el-input style="width: 200px" maxlength="11" placeholder="管理员账号" v-model.number="accountForm.managerPhone" |
|
|
|
onkeypress="return (/[\d]/.test(String.fromCharCode(event.keyCode)));"></el-input> |
|
|
|
<el-input |
|
|
|
style="width: 200px" |
|
|
|
maxlength="11" |
|
|
|
placeholder="管理员账号" |
|
|
|
v-model.number="accountForm.managerPhone" |
|
|
|
onkeypress="return (/[\d]/.test(String.fromCharCode(event.keyCode)));" |
|
|
|
></el-input> |
|
|
|
</el-form-item> |
|
|
|
<el-form-item label="管理员密码:" prop="managerPassword"> |
|
|
|
<el-input style="width: 200px" :disabled="passFlag" placeholder="管理员密码" show-password v-model="accountForm.managerPassword"> |
|
|
|
<el-input |
|
|
|
style="width: 200px" |
|
|
|
:disabled="passFlag" |
|
|
|
placeholder="管理员密码" |
|
|
|
show-password |
|
|
|
v-model="accountForm.managerPassword" |
|
|
|
> |
|
|
|
</el-input> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<div style="border-top:1px solid #eee;padding-top: 20px;display: flex;justify-content: end;" > |
|
|
|
<div |
|
|
|
style=" |
|
|
|
border-top: 1px solid #eee; |
|
|
|
padding-top: 20px; |
|
|
|
display: flex; |
|
|
|
justify-content: end; |
|
|
|
" |
|
|
|
> |
|
|
|
<el-button @click="changeFlag = false">取 消</el-button> |
|
|
|
<el-button type="primary" @click="changeSure" :loading="loadingFlag">确 定</el-button> |
|
|
|
<el-button type="primary" @click="changeSure" :loading="loadingFlag" |
|
|
|
>确 定</el-button |
|
|
|
> |
|
|
|
</div> |
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
<el-dialog :title="sysFlag == 0 ? '绑定系统运营' : '绑定售后运营'" :visible.sync="operaVisible" :center="true"> |
|
|
|
<el-form :model="operaForm" label-position="labelPosition" :rules="operaRules" ref="operaForm" |
|
|
|
label-width="140px"> |
|
|
|
<el-dialog |
|
|
|
:title="sysFlag == 0 ? '绑定系统运营' : '绑定售后运营'" |
|
|
|
:visible.sync="operaVisible" |
|
|
|
:center="true" |
|
|
|
> |
|
|
|
<el-form |
|
|
|
:model="operaForm" |
|
|
|
label-position="labelPosition" |
|
|
|
:rules="operaRules" |
|
|
|
ref="operaForm" |
|
|
|
label-width="140px" |
|
|
|
> |
|
|
|
<el-form-item label="运营人员:" prop="operationalPeople"> |
|
|
|
<el-select v-model="operaForm.operationalPeople" filterable multiple style="width: 80%" placeholder="请选择"> |
|
|
|
<el-option v-for="item in optionsoperationalPeople" :key="item.value" :label="item.name" |
|
|
|
:value="item.accountId"> |
|
|
|
<el-select |
|
|
|
v-model="operaForm.operationalPeople" |
|
|
|
filterable |
|
|
|
multiple |
|
|
|
style="width: 80%" |
|
|
|
placeholder="请选择" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in optionsoperationalPeople" |
|
|
|
:key="item.value" |
|
|
|
:label="item.name" |
|
|
|
:value="item.accountId" |
|
|
|
> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<div slot="footer" class="dialog-footer" style="border-top:1px solid #eee;padding-top: 20px;display: flex;justify-content: end;"> |
|
|
|
<div |
|
|
|
slot="footer" |
|
|
|
class="dialog-footer" |
|
|
|
style=" |
|
|
|
border-top: 1px solid #eee; |
|
|
|
padding-top: 20px; |
|
|
|
display: flex; |
|
|
|
justify-content: end; |
|
|
|
" |
|
|
|
> |
|
|
|
<el-button @click="operaVisible = false">取 消</el-button> |
|
|
|
<el-button type="primary" :loading="loadingFlag" @click="saveOpera()">保存</el-button> |
|
|
|
<el-button type="primary" :loading="loadingFlag" @click="saveOpera()" |
|
|
|
>保存</el-button |
|
|
|
> |
|
|
|
</div> |
|
|
|
</el-dialog> |
|
|
|
|
|
|
|
<el-dialog title="绑定代理商" :visible.sync="agentVisible" :center="true"> |
|
|
|
<el-form :model="agentForm" label-position="labelPosition" :rules="agentRule" ref="agentForm" label-width="140px"> |
|
|
|
<el-form |
|
|
|
:model="agentForm" |
|
|
|
label-position="labelPosition" |
|
|
|
:rules="agentRule" |
|
|
|
ref="agentForm" |
|
|
|
label-width="140px" |
|
|
|
> |
|
|
|
<el-form-item label="代理商:" prop="agentId"> |
|
|
|
<el-select v-model="agentForm.agentId" style="width: 80%" filterable clearable placeholder="请选择"> |
|
|
|
<el-option v-for="item in optionsagentId" :key="item.id" :label="item.agentName" :value="item.id"> |
|
|
|
<el-select |
|
|
|
v-model="agentForm.agentId" |
|
|
|
style="width: 80%" |
|
|
|
filterable |
|
|
|
clearable |
|
|
|
placeholder="请选择" |
|
|
|
> |
|
|
|
<el-option |
|
|
|
v-for="item in optionsagentId" |
|
|
|
:key="item.id" |
|
|
|
:label="item.agentName" |
|
|
|
:value="item.id" |
|
|
|
> |
|
|
|
</el-option> |
|
|
|
</el-select> |
|
|
|
</el-form-item> |
|
|
|
</el-form> |
|
|
|
<div slot="footer" class="dialog-footer" style="border-top:1px solid #eee;padding-top: 20px;display: flex;justify-content: end;"> |
|
|
|
<div |
|
|
|
slot="footer" |
|
|
|
class="dialog-footer" |
|
|
|
style=" |
|
|
|
border-top: 1px solid #eee; |
|
|
|
padding-top: 20px; |
|
|
|
display: flex; |
|
|
|
justify-content: end; |
|
|
|
" |
|
|
|
> |
|
|
|
<el-button @click="agentVisible = false">取 消</el-button> |
|
|
|
<el-button type="primary" :loading="loadingFlag" @click="saveAgent()">保存</el-button> |
|
|
|
<el-button type="primary" :loading="loadingFlag" @click="saveAgent()" |
|
|
|
>保存</el-button |
|
|
|
> |
|
|
|
</div> |
|
|
|
</el-dialog> |
|
|
|
</div> |
|
|
@@ -656,6 +1058,7 @@ export default { |
|
|
|
provinceId: "", //省id |
|
|
|
cityId: "", //市id |
|
|
|
agentId: localStorage.getItem("agentId"), |
|
|
|
time: "22:00", // 日报推送时间 |
|
|
|
}, |
|
|
|
ruleForm1: {}, |
|
|
|
optionsagentId: [], |
|
|
@@ -676,6 +1079,7 @@ export default { |
|
|
|
startWorking: [ |
|
|
|
{ required: true, message: "请选择时间", trigger: "change" }, |
|
|
|
], |
|
|
|
time: [{ required: true, message: "请选择时间", trigger: "change" }], |
|
|
|
managerPhone: [ |
|
|
|
{ required: true, message: "请填写账号", trigger: "change" }, |
|
|
|
{ validator: validatePass1, trigger: "blur" }, |
|
|
@@ -729,9 +1133,12 @@ export default { |
|
|
|
this.searchForm.startWorking = this.starTime[0]; |
|
|
|
this.searchForm.endWorking = this.starTime[1]; |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
if (this.$route.query.types) { |
|
|
|
this.starTime = [this.$route.query.types.split(",")[0], this.$route.query.types.split(",")[1]]; |
|
|
|
this.starTime = [ |
|
|
|
this.$route.query.types.split(",")[0], |
|
|
|
this.$route.query.types.split(",")[1], |
|
|
|
]; |
|
|
|
this.searchForm.startWorking = this.starTime[0]; |
|
|
|
this.searchForm.endWorking = this.starTime[1]; |
|
|
|
} |
|
|
@@ -750,7 +1157,7 @@ export default { |
|
|
|
}, |
|
|
|
methods: { |
|
|
|
isSystoleForm() { |
|
|
|
this.isOpen = !this.isOpen |
|
|
|
this.isOpen = !this.isOpen; |
|
|
|
}, |
|
|
|
//切换项目 |
|
|
|
houseChange() { |
|
|
@@ -975,22 +1382,23 @@ export default { |
|
|
|
}); |
|
|
|
}, |
|
|
|
|
|
|
|
// 跳转其他页面 |
|
|
|
// 跳转其他页面 |
|
|
|
toOtherPage(page) { |
|
|
|
console.log(page) |
|
|
|
console.log(page); |
|
|
|
this.$router.push({ |
|
|
|
path: '/suglist', |
|
|
|
path: "/suglist", |
|
|
|
query: { |
|
|
|
id: page.id |
|
|
|
} |
|
|
|
}) |
|
|
|
id: page.id, |
|
|
|
}, |
|
|
|
}); |
|
|
|
}, |
|
|
|
|
|
|
|
toDisable(row) { |
|
|
|
this.$confirm( |
|
|
|
`确定${row.lockFlag == 0 |
|
|
|
? "禁用" + "-" + row.propertyName + "-" |
|
|
|
: "启用" + "-" + row.propertyName + "-" |
|
|
|
`确定${ |
|
|
|
row.lockFlag == 0 |
|
|
|
? "禁用" + "-" + row.propertyName + "-" |
|
|
|
: "启用" + "-" + row.propertyName + "-" |
|
|
|
}项目吗?`, |
|
|
|
"提示", |
|
|
|
{ |
|
|
@@ -1060,6 +1468,7 @@ export default { |
|
|
|
// console.log(this.time) |
|
|
|
this.ruleForm = Object.assign({}, row); |
|
|
|
this.ruleForm.area = [this.ruleForm.provinceId, this.ruleForm.cityId]; |
|
|
|
this.ruleForm.time = row.time || '22:00' |
|
|
|
this.dialogVisible = true; |
|
|
|
// 获取地区选择数据,在这里对回显的时候进行操作,首先先获取一级省的数据 |
|
|
|
// this.getProvinceList(); |
|
|
@@ -1162,8 +1571,8 @@ export default { |
|
|
|
localStorage.getItem("orgType") == 0 |
|
|
|
? "1" |
|
|
|
: localStorage.getItem("orgType") == 1 |
|
|
|
? "2" |
|
|
|
: "", |
|
|
|
? "2" |
|
|
|
: "", |
|
|
|
...this.searchForm, |
|
|
|
}; |
|
|
|
if (this.orgType == 0) { |
|
|
@@ -1360,30 +1769,30 @@ export default { |
|
|
|
.div-inp { |
|
|
|
width: 250px; |
|
|
|
} |
|
|
|
/deep/ .el-table__header-wrapper{ |
|
|
|
thead{ |
|
|
|
tr{ |
|
|
|
th{ |
|
|
|
background: #F5F7FA !important; |
|
|
|
/deep/ .el-table__header-wrapper { |
|
|
|
thead { |
|
|
|
tr { |
|
|
|
th { |
|
|
|
background: #f5f7fa !important; |
|
|
|
color: #333333 !important; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
/deep/ .el-dialog--center{ |
|
|
|
/deep/ .el-dialog--center { |
|
|
|
border-radius: 8px; |
|
|
|
.el-dialog__title{ |
|
|
|
.el-dialog__title { |
|
|
|
font-weight: bold; |
|
|
|
} |
|
|
|
} |
|
|
|
/deep/ .el-button--primary{ |
|
|
|
background: #2671E2 !important; |
|
|
|
border: 1px solid #2671E2 !important; |
|
|
|
/deep/ .el-button--primary { |
|
|
|
background: #2671e2 !important; |
|
|
|
border: 1px solid #2671e2 !important; |
|
|
|
} |
|
|
|
/deep/ .el-button--text{ |
|
|
|
color: #2671E2; |
|
|
|
/deep/ .el-button--text { |
|
|
|
color: #2671e2; |
|
|
|
} |
|
|
|
/deep/ .el-button--text{ |
|
|
|
color: #2671E2; |
|
|
|
/deep/ .el-button--text { |
|
|
|
color: #2671e2; |
|
|
|
} |
|
|
|
</style> |