This commit is contained in:
shijing 2024-02-28 10:43:34 +08:00
commit 3f1f78f625
10 changed files with 299 additions and 209 deletions

View File

@ -23,17 +23,17 @@
</el-select>
<el-input :input-style="searchInputStyle" style="width:7vw;margin:0 5px" v-model="query.search"
placeholder="设备名称/设备编号"></el-input>
<el-button @click="handleQuery">查询</el-button>
<el-button type="primary" icon="el-icon-search" @click="handleQuery"></el-button>
</div>
</el-header>
<el-main>
<scTable :apiObj="apiObj" size="large" :params="params" :query="query">
<el-table-column prop="index" label="序号"></el-table-column>
<el-table-column type="index" width="50" />
<el-table-column prop="number" label="设备编号"></el-table-column>
<el-table-column prop="level" label="设备名称"></el-table-column>
<el-table-column prop="mgroup" label="设备类型"></el-table-column>
<el-table-column prop="eqpment" label="所属工序"></el-table-column>
<el-table-column prop="mgroup" label="当前状态"></el-table-column>
<el-table-column prop="type" label="设备类型"></el-table-column>
<el-table-column prop="mgroup_name" label="所属工序"></el-table-column>
<el-table-column prop="running_state" label="运行状态"></el-table-column>
<el-table-column label="PM2.5" align="center">
<el-table-column prop="mgroup" label="实测值"></el-table-column>
<el-table-column prop="mgroup" label="预警值"></el-table-column>

View File

@ -36,13 +36,13 @@
</el-select>
<el-input :input-style="searchInputStyle" style="width:7vw;margin:0 5px" v-model="query.search"
placeholder="设备名称/设备编号"></el-input>
<el-button @click="handleQuery">查询</el-button>
<el-button type="primary" icon="el-icon-search" @click="handleQuery"></el-button>
</div>
</el-header>
<el-main>
<scTable ref="table" :data="tableData" :apiObj="apiObj" :params="params" :query="query" size="large"
style="" @row-click="rowClick">
<el-table-column prop="index" label="序号"></el-table-column>
<el-table-column type="index" width="50" />
<el-table-column prop="number" label="设备编号"></el-table-column>
<el-table-column prop="name" label="设备名称"></el-table-column>
<el-table-column prop="type" label="设备类型">
@ -50,9 +50,9 @@
{{ type_[scope.row.type] }}
</template>
</el-table-column>
<el-table-column prop="mgroup" label="所属工序"></el-table-column>
<el-table-column prop="state" label="当前状态"></el-table-column>
<el-table-column prop="description" label="备信息"></el-table-column>
<el-table-column prop="mgroup_name" label="所属工序"></el-table-column>
<el-table-column prop="state" label="设备状态"></el-table-column>
<el-table-column prop="description" label="信息"></el-table-column>
</scTable>
</el-main>
</el-container>

View File

@ -5,19 +5,16 @@
厂内清洁
</div>
<div class="right-panel">
<div class="backMap" @click="backtoMap">
切换地图
<el-icon>
<Switch />
</el-icon>
</div>
<el-button type="primary" @click="backtoMap"> 返回地图 </el-button>
</div>
</el-header>
<el-main class="nopadding">
<el-container>
<el-header class="searchWrap">
<div class="left-panel">
车辆总数<span class="totalNumber">0</span>
<div style="font-size: 1.8vh;">
车辆总数<span class="totalNumber">{{ count }}</span>
</div>
</div>
<div class="right-panel">
<el-select v-model="query.cate" placeholder="车辆分类" @change="handleQuery" clearable>
@ -26,7 +23,7 @@
</el-select>
<el-input :input-style="searchInputStyle" style="width:7vw;margin:0 5px" v-model="query.search"
placeholder=""></el-input>
<el-button @click="handleQuery">查询</el-button>
<el-button type="primary" icon="el-icon-search" @click="handleQuery"></el-button>
</div>
</el-header>
<el-main>
@ -52,6 +49,7 @@
export default {
data() {
return {
count: 0,
query: {},
params: { type: 30, tags: 'carwash' },
cateOptions: [
@ -67,7 +65,10 @@ export default {
methods: {
handleQuery() {
this.$refs.table.queryData(this.query);
}
},
backtoMap() {
this.$emit('close')
},
}
}
</script>

View File

@ -22,19 +22,20 @@
</div>
</div>
<div class="right-panel">
<el-select v-model="query.area" placeholder="" style="width:7vw">
<el-select v-model="query.level" placeholder="排口等级" style="width:10vw" clearable
@change="handleQuery">
<el-option v-for="item in options" :key="item.value" :label="item.label" :value="item.value">
</el-option>
</el-select>
<el-input :input-style="searchInputStyle" style="width:7vw;margin:0 5px" v-model="query.search"
<!-- <el-input :input-style="searchInputStyle" style="width:7vw;margin:0 5px" v-model="query.search"
placeholder=""></el-input>
<el-button @click="handleQuery">查询</el-button>
<el-button @click="handleQuery">查询</el-button> -->
</div>
</el-header>
<el-main>
<scTable :data="tableData" :apiObj="apiObj" :params="params" size="large" style="" @row-click="rowClick"
@dataChange="updateCount">
<el-table-column prop="index" label="序号"></el-table-column>
<scTable ref="table" :apiObj="apiObj" :params="params" size="large" style="" @row-click="rowClick"
:query="query" @dataChange="updateCount">
<el-table-column type="index" width="50" />
<el-table-column prop="number" label="排放口编号"></el-table-column>
<el-table-column prop="name" label="排放口名称"></el-table-column>
<el-table-column prop="level" label="排放口等级">
@ -239,9 +240,11 @@ export default {
count: 0,
apiObj: this.$API.enp.drain.list,
params: { type: 10 },
options: [],
options: [
{ value: '10', label: '主要排放口' },
{ value: '20', label: '次要排放口' }
],
query: {
area: '',
search: ''
},
searchInputStyle: {
@ -309,6 +312,9 @@ export default {
}
},
methods: {
handleQuery() {
this.$refs.table.queryData(this.query);
},
updateCount(res, tableData) {
this.count = res.count
},

View File

@ -9,6 +9,11 @@
<el-container>
<el-header class="searchWrap">
<div class="left-panel">
<div style="font-size: 1.8vh;">
全厂污染源<span class="totalNumber">{{ count }}</span>
</div>
</div>
<div class="right-panel">
<el-select v-model="query.cate" placeholder="污染源分类" @change="handleQuery" clearable>
<el-option v-for="item in cateOptions" :key="item.id" :label="item.name"
:value="item.id"></el-option>
@ -17,7 +22,8 @@
</el-header>
<el-main class="nopadding">
<scTable ref="table" :data="tableData" style="width: 100%;" size="large" :apiObj="apiObj"
row-key="id" :params="params" :query="query" hidePagination @row-click="rowClick">
row-key="id" :params="params" :query="query" @row-click="rowClick"
@dataChange="updateCount">
<el-table-column type="index" width="50" />
<el-table-column prop="number" label="污染源编号" width="180" />
<el-table-column prop="name" label="污染源名称" />
@ -215,6 +221,7 @@ import * as echarts from "echarts";
export default {
data() {
return {
count: 0,
eqs: {},
eqc: {},
eqz: {},
@ -277,6 +284,9 @@ export default {
}
},
methods: {
updateCount(res, tableData) {
this.count = res.count
},
initTimeNow() {
var now = new Date();
let year = now.getFullYear(); //

View File

@ -2,9 +2,9 @@
<el-container>
<el-header>
<div class="left-panel">
<el-select></el-select>
<span style="width: 4px;"></span>
<el-button type="primary">查询</el-button>
<el-select v-model="query.mgroup" placeholder="工段 " @change="handleQuery" clearable>
<el-option v-for="item in mgroupOptions" :key="item" :label="item.name" :value="item.id"></el-option>
</el-select>
</div>
<div class="right-panel">
<div class="typebox">
@ -32,27 +32,47 @@
</div>
</el-header>
<el-main class="nopadding">
<scTable style="width: 100%;" size="large" :apiObj="apiObj" row-key="id" :params="params" hidePagination hideDo>
<el-table-column prop="name" label="污染源编号" />
<el-table-column prop="type" label="污染源名称" />
<el-table-column label="生产设备名称">
<scTable style="width: 100%;" size="large" :apiObj="apiObj" row-key="id" :params="params" hidePagination hideDo
:query="query">
<el-table-column prop="number" label="污染源编号" />
<el-table-column prop="name" label="污染源名称" />
<el-table-column prop="mgroup_name" label="所在工段" />
<el-table-column label="生产设备">
<template #default="scope">
<span v-if="scope.row.drain_">{{ scope.row.drain_.mgroup_name }}</span>
<div v-for="item in scope.row.equip_data" v-bind:key="item.id">
<div v-if="item.type == 10">
<span>{{ item.name }} |
待机 <span style="font-weight:bold; font-size: 1.6vh">{{ item.total_duration_standby
}}</span> h
</span>
</div>
</div>
</template>
</el-table-column>
<el-table-column label="生产设备名称">
<el-table-column label="治理设备">
<template #default="scope">
<span v-if="scope.row.drain_">{{ scope.row.drain_.mgroup_name }}</span>
<div v-for="item in scope.row.equip_data" v-bind:key="item.id">
<div v-if="item.type == 30">
<span>{{ item.name }} |
待机 <span style="font-weight:bold; font-size: 1.6vh">{{ item.total_duration_standby
}}</span> h
</span>
</div>
</div>
</template>
</el-table-column>
<el-table-column prop="type" label="待机时间" />
<el-table-column label="治理设备名称">
<el-table-column label="监测设备">
<template #default="scope">
<span v-if="scope.row.drain_">{{ scope.row.drain_.mgroup_name }}</span>
<div v-for="item in scope.row.equip_data" v-bind:key="item.id">
<div v-if="item.type == 20">
<span>{{ item.name }} |
待机 <span style="font-weight:bold; font-size: 1.6vh">{{ item.total_duration_standby
}}</span> h
</span>
</div>
</div>
</template>
</el-table-column>
<el-table-column prop="type" label="待机时间" />
<el-table-column prop="type" label="污染浓度" />
</scTable>
</el-main>
</el-container>
@ -62,7 +82,20 @@ export default {
data() {
return {
apiObj: null,
params: {}
params: { type: 20, has_equipdata: 'yes', cate: 'mtrans' },
query: {},
mgroupOptions: []
}
},
mounted() {
this.apiObj = this.$API.enp.drain.list
this.getMgroup()
},
methods: {
getMgroup() {
this.$API.mtm.mgroup.list.req({ page: 0 }).then(res => {
this.mgroupOptions = res
})
}
}
}
@ -111,4 +144,5 @@ export default {
.grayb {
background: #cbcbcb
}</style>
}
</style>

View File

@ -6,15 +6,21 @@
<div class="left-panel">
<div class="left-panel">洗车行为统计</div>
</div>
<div class="right-panel">
<el-select v-model="query.station" placeholder="洗车台" @change="handleQuery" clearable>
<el-option v-for="item in stationOptions" :key="item" :label="item.name"
:value="item.id"></el-option>
</el-select>
</div>
</el-header>
<el-main class="nopadding">
<scTable style="width: 100%;" size="large" :apiObj="apiObj" row-key="id" :params="params" hidePagination
hideDo>
<scTable ref="table" style="width: 100%;" size="large" :apiObj="apiObj" row-key="id" :params="params"
:query="query">
<el-table-column type="index" width="50" />
<el-table-column label="洗车台" prop="station_name" />
<el-table-column label="车辆编号" prop="vehicle_number" />
<el-table-column prop="start_time" label="开始时间" width="120" />
<el-table-column prop="end_time" label="结束时间" width="120" />
<el-table-column label="洗车时长" prop="duration"></el-table-column>
<el-table-column prop="start_time" label="开始时间" width="180" />
<el-table-column label="洗车时长(s)" prop="duration"></el-table-column>
<el-table-column label="压力" prop="pressure" />
<el-table-column label="流量" prop="flux">
</el-table-column>
@ -48,9 +54,6 @@
</el-table-column>
</scTable>
</el-main>
<el-footer height="400px">
xx
</el-footer>
</el-container>
</el-main>
</el-container>
@ -66,10 +69,23 @@ export default {
params: {},
apiObj2: null,
params2: {},
stationOptions: [],
query: {}
}
},
mounted() {
this.apiObj = this.$API.enp.carwash;
this.getStations();
},
methods: {
getStations() {
this.$API.em.equipment.list.req({ cate__code: 'wstation', page: 0 }).then(res => {
this.stationOptions = res;
})
},
handleQuery() {
this.$refs.table.queryData(this.query);
},
}
}
</script>

View File

@ -2,9 +2,9 @@
<el-container>
<el-header>
<div class="left-panel">
<el-select></el-select>
<span style="width: 4px;"></span>
<el-button type="primary">查询</el-button>
<el-select v-model="query.mgroup" placeholder="工段 " @change="handleQuery" clearable>
<el-option v-for="item in mgroupOptions" :key="item" :label="item.name" :value="item.id"></el-option>
</el-select>
</div>
<div class="right-panel">
<div class="typebox">
@ -32,27 +32,47 @@
</div>
</el-header>
<el-main class="nopadding">
<scTable style="width: 100%;" size="large" :apiObj="apiObj" row-key="id" :params="params" hidePagination hideDo>
<el-table-column prop="name" label="污染源编号" />
<el-table-column prop="type" label="污染源名称" />
<el-table-column label="生产设备名称">
<scTable style="width: 100%;" size="large" :apiObj="apiObj" row-key="id" :params="params" hidePagination hideDo
:query="query">
<el-table-column prop="number" label="污染源编号" />
<el-table-column prop="name" label="污染源名称" />
<el-table-column prop="mgroup_name" label="所在工段" />
<el-table-column label="生产设备">
<template #default="scope">
<span v-if="scope.row.drain_">{{ scope.row.drain_.mgroup_name }}</span>
<div v-for="item in scope.row.equip_data" v-bind:key="item.id">
<div v-if="item.type == 10">
<span>{{ item.name }} |
待机 <span style="font-weight:bold; font-size: 1.6vh">{{ item.total_duration_standby
}}</span> h
</span>
</div>
</div>
</template>
</el-table-column>
<el-table-column label="生产设备名称">
<el-table-column label="治理设备">
<template #default="scope">
<span v-if="scope.row.drain_">{{ scope.row.drain_.mgroup_name }}</span>
<div v-for="item in scope.row.equip_data" v-bind:key="item.id">
<div v-if="item.type == 30">
<span>{{ item.name }} |
待机 <span style="font-weight:bold; font-size: 1.6vh">{{ item.total_duration_standby
}}</span> h
</span>
</div>
</div>
</template>
</el-table-column>
<el-table-column prop="type" label="待机时间" />
<el-table-column label="治理设备名称">
<el-table-column label="监测设备">
<template #default="scope">
<span v-if="scope.row.drain_">{{ scope.row.drain_.mgroup_name }}</span>
<div v-for="item in scope.row.equip_data" v-bind:key="item.id">
<div v-if="item.type == 20">
<span>{{ item.name }} |
待机 <span style="font-weight:bold; font-size: 1.6vh">{{ item.total_duration_standby
}}</span> h
</span>
</div>
</div>
</template>
</el-table-column>
<el-table-column prop="type" label="待机时间" />
<el-table-column prop="type" label="污染浓度" />
</scTable>
</el-main>
</el-container>
@ -62,7 +82,20 @@ export default {
data() {
return {
apiObj: null,
params: {}
params: { type: 20, has_equipdata: 'yes', cate: 'product' },
query: {},
mgroupOptions: []
}
},
mounted() {
this.apiObj = this.$API.enp.drain.list
this.getMgroup()
},
methods: {
getMgroup() {
this.$API.mtm.mgroup.list.req({ page: 0 }).then(res => {
this.mgroupOptions = res
})
}
}
}
@ -111,4 +144,5 @@ export default {
.grayb {
background: #cbcbcb
}</style>
}
</style>

View File

@ -5,38 +5,40 @@
进出厂记录
</div>
<div class="right-panel">
<div class="backMap" @click="backtoMap">
<!-- <div class="backMap" @click="backtoMap">
切换地图
<el-icon>
<Switch />
</el-icon>
</div>
</div> -->
<el-button type="primary" @click="backtoMap"> 返回地图 </el-button>
</div>
</el-header>
<el-main class="nopadding">
<el-container>
<el-header class="searchWrap">
<div class="left-panel">
车辆总数<span class="totalNumber">0</span>
<div style="font-size: 1.8vh;">
车辆进出次数<span class="totalNumber">{{ count }}</span>
</div>
</div>
<div class="right-panel">
<el-date-picker v-model="query.time" type="date" placeholder="开始时间" format="YYYY-MM-DD"
value-format="YYYY-MM-DD" :picker-options="pickerOptions" />
<el-date-picker v-model="query.time" type="date" placeholder="结束时间" format="YYYY-MM-DD"
value-format="YYYY-MM-DD" :picker-options="pickerOptions" />
<el-select v-model="query.type" placeholder="出入类型" style="width:7vw">
<el-date-picker v-model="timeRange" type="datetimerange" range-separator=""
start-placeholder="开始时间" end-placeholder="结束时间" @change="handleQuery" style="width: 100%"
clearable />
<el-select v-model="query.type" placeholder="出入类型" clearable @change="handleQuery">
<el-option v-for="item in typeOptions" :key="item.id" :label="item.name" :value="item.id">
</el-option>
</el-select>
<el-input :input-style="searchInputStyle" style="width:7vw;margin:0 5px" v-model="query.search"
placeholder=""></el-input>
<el-button @click="handleQuery">查询</el-button>
<el-input :input-style="searchInputStyle" style="width:12vw;margin:0 5px" v-model="query.search"
placeholder="车牌号"></el-input>
<el-button type="primary" icon="el-icon-search" @click="handleQuery"></el-button>
</div>
</el-header>
<el-main>
<scTable ref="table" :data="tableData" :apiObj="apiObj" :params="params" :query="query" size="large"
style="" @row-click="rowClick">
<scTable ref="table" :apiObj="apiObj" :params="params" :query="query" size="large" style=""
@row-click="rowClick" @dataChange="updateCount">
<el-table-column type="index" width="50" />
<el-table-column prop="vehicle_number" label="车牌号码"></el-table-column>
<el-table-column prop="access_time" label="过门禁时间"></el-table-column>
@ -59,12 +61,13 @@ export default {
data() {
return {
query: {},
count: 0,
timeRange: [],
cateOptions: [
{ id: 1, name: '货车' },
{ id: 2, name: '罐车' },
],
typeOptions: [
{ id: '', name: '全部' },
{ id: 1, name: '进厂' },
{ id: 2, name: '出厂' }
],
@ -79,15 +82,28 @@ export default {
},
timeOptions: ['日', '月', '年'],
apiObj: this.$API.enp.vehicle_access,
params: { type: 2 },
params: {},
}
},
methods: {
updateCount(res, tableData) {
this.count = res.count
},
handleQuery() {
if (this.timeRange) {
this.query.access_time__gte = this.timeRange[0]
this.query.access_time__lte = this.timeRange[1]
} else {
this.query.access_time__gte = null
this.query.access_time__lte = null
}
this.$refs.table.queryData(this.query);
},
timeHandleQuery() { },
carHandleQuery() { },
backtoMap() {
this.$emit('close')
},
}
}
</script>

View File

@ -14,8 +14,7 @@
<el-descriptions-item label="所属部门:">{{ form.belong_dept_name }}</el-descriptions-item>
<el-descriptions-item label="相关方:">{{ form.rparty_name }}</el-descriptions-item>
</el-descriptions>
<el-button type="primary" size="small"
v-if="form.state==30||form.state==40"
<el-button type="primary" size="small" v-if="form.state == 30 || form.state == 40"
@click="addWorker('add')">添加成员
</el-button>
</el-card>
@ -49,7 +48,8 @@
<el-table-column label="工作职责" prop="duty" width="100"></el-table-column>
<el-table-column label="证书" prop="rcertificates">
<template #default="scope">
<span v-for="cer in scope.row.rcertificates_" :key="cer.id">{{cer.name}}-{{cer.number}}/</span>
<span v-for="cer in scope.row.rcertificates_"
:key="cer.id">{{ cer.name }}-{{ cer.number }}/</span>
</template>
</el-table-column>
<el-table-column label="负责人" prop="is_manager" width="80">
@ -61,15 +61,14 @@
<el-table-column label="备注" prop="note" width="100"></el-table-column>
<el-table-column label="操作" width="150">
<template #default="scope">
<el-button link type="primary" size="small"
v-if="form.state!==50&&form.state!==60"
@click="addWorker('edit',scope.row)" v-auth="'blt_bind.create'">编辑
<el-button link type="primary" size="small" v-if="form.state !== 50 && form.state !== 60"
@click="addWorker('edit', scope.row)" v-auth="'blt_bind.create'">编辑
</el-button>
<el-button link v-if="scope.row.blt_ == null&&(form.state==30||form.state==40)" type="primary" size="small"
@click="bindCard(scope.row, 10)" v-auth="'blt_bind.create'">绑卡
<el-button link v-if="scope.row.blt_ == null && (form.state == 30 || form.state == 40)"
type="primary" size="small" @click="bindCard(scope.row, 10)"
v-auth="'blt_bind.create'">绑卡
</el-button>
<el-button link type="warning" size="small"
v-if="form.state==30||form.state==40"
<el-button link type="warning" size="small" v-if="form.state == 30 || form.state == 40"
@click="leaveDialog(scope.row)">提前离厂
</el-button>
</template>
@ -100,13 +99,9 @@
</el-card>
</el-main>
<ScBind v-model="showBindBlt" :bindBtl="bindBtl" :bindType="bindType" :bindName="bindName"
:bindEmployee="bindEmployee" @success="showBindBltSuccess" @closed="showBindBltClose"
></ScBind>
<el-dialog title="提前离厂" v-model="leaveVisible" width="30%" >
<el-form
ref="dialogForm"
label-width="80px"
>
:bindEmployee="bindEmployee" @success="showBindBltSuccess" @closed="showBindBltClose"></ScBind>
<el-dialog title="提前离厂" v-model="leaveVisible" width="30%">
<el-form ref="dialogForm" label-width="80px">
<el-form-item label="离厂原因">
<el-input v-model="reason" type="text" clearable></el-input>
</el-form-item>
@ -119,75 +114,52 @@
<!-- 人员添加编辑 -->
<el-dialog v-model="workerVisible" :title="workDialogTitle">
<el-form ref="workerForm" :model="formworker" label-width="120px">
<el-row>
<el-col :md="24" :sm="12" :xs="24">
<el-form-item label="项目成员">
<el-select
v-if="workDialogType=='add'"
v-model="formworker.remployee"
@change="selectWorker"
filterable
placeholder="选择项目成员"
>
<el-option
v-for="item in remployeeoptions"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
<el-input v-else v-model="formworker.remployee_name" type="text" disabled style="width:200px"></el-input>
</el-form-item>
</el-col>
<el-col :md="24" :sm="12" :xs="24">
<el-form-item label="是否项目负责人">
<el-radio-group v-model="formworker.is_manager" :disabled="workDialogType=='edit'">
<el-radio :label="true"></el-radio>
<el-radio :label="false"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :md="24" :sm="12" :xs="24">
<el-form-item label="工作职责">
<el-input
:disabled="workDialogType=='edit'"
v-model="formworker.duty"
type="text"
clearable
></el-input>
</el-form-item>
</el-col>
<el-col :md="24" :sm="12" :xs="24">
<el-form-item label="证书">
<el-select
v-model="formworker.rcertificates"
multiple
placeholder="选择证书"
>
<el-option
v-for="item in certificatesOptions"
:key="item.id"
:label="item.name"
:value="item.id"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :md="24" :sm="12" :xs="24">
<el-form-item label="原因">
<el-input
:disabled="workDialogType=='edit'"
v-model="formworker.reason"
type="text"
clearable
></el-input>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :md="24" :sm="12" :xs="24">
<el-form-item label="项目成员">
<el-select v-if="workDialogType == 'add'" v-model="formworker.remployee"
@change="selectWorker" filterable placeholder="选择项目成员">
<el-option v-for="item in remployeeoptions" :key="item.id" :label="item.name"
:value="item.id" />
</el-select>
<el-input v-else v-model="formworker.remployee_name" type="text" disabled
style="width:200px"></el-input>
</el-form-item>
</el-col>
<el-col :md="24" :sm="12" :xs="24">
<el-form-item label="是否项目负责人">
<el-radio-group v-model="formworker.is_manager" :disabled="workDialogType == 'edit'">
<el-radio :label="true"></el-radio>
<el-radio :label="false"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
<el-col :md="24" :sm="12" :xs="24">
<el-form-item label="工作职责">
<el-input :disabled="workDialogType == 'edit'" v-model="formworker.duty" type="text"
clearable></el-input>
</el-form-item>
</el-col>
<el-col :md="24" :sm="12" :xs="24">
<el-form-item label="证书">
<el-select v-model="formworker.rcertificates" multiple placeholder="选择证书">
<el-option v-for="item in certificatesOptions" :key="item.id" :label="item.name"
:value="item.id" />
</el-select>
</el-form-item>
</el-col>
<el-col :md="24" :sm="12" :xs="24">
<el-form-item label="原因">
<el-input :disabled="workDialogType == 'edit'" v-model="formworker.reason" type="text"
clearable></el-input>
</el-form-item>
</el-col>
</el-row>
</el-form>
<template #footer>
<el-button @click="workerdialog = false"> </el-button>
<el-button type="primary" @click="submitWorker" :loading="btnloading" :disabled="btnloading"> </el-button>
<el-button type="primary" @click="submitWorker" :loading="btnloading" :disabled="btnloading">
</el-button>
</template>
</el-dialog>
</el-container>
@ -208,13 +180,14 @@ export default {
},
data() {
return {
leaveVisible:false,
workerVisible:false,
certificatesOptions: [],
leaveVisible: false,
workerVisible: false,
loading: false,
visible: false,
isSaveing: false,
showBindBlt: false,
btnloading:false,
btnloading: false,
state_: {
10: "创建中",
20: "审批中",
@ -228,7 +201,7 @@ export default {
30: "保安保洁服务",
40: "其他",
},
formworker : {
formworker: {
duty: "",
rcertificates: [],
rpj: "",
@ -238,14 +211,14 @@ export default {
bindType: 10,
bindBtl: null,
bindEmployee: '',
logLists:[],
logLists: [],
rpjFileList: [],
memeberList: [],
remployeeoptions:[],
reason:"",
leaveId:"",
workDialogType:"add",
workDialogTitle:"添加项目成员"
remployeeoptions: [],
reason: "",
leaveId: "",
workDialogType: "add",
workDialogTitle: "添加项目成员"
};
},
@ -310,7 +283,7 @@ export default {
});
},
//
getLogs(){
getLogs() {
this.$API.rpm.rpj.logs.req({ rpj: this.form.id, page: 0 }).then((res) => {
debugger;
this.logLists = res;
@ -327,16 +300,16 @@ export default {
this.$API.rpm.rcertificate.list
.req({ remployee: this.formworker.remployee, page: 0 })
.then((res) => {
this.certificatesOptions = res;
});
this.certificatesOptions = res;
});
},
addWorker(type,row){
addWorker(type, row) {
let that = this;
that.workDialogType = type;
if(type=='add'){
if (type == 'add') {
that.workDialogTitle = "添加项目成员";
that.getremployee();
}else{
} else {
that.workDialogTitle = "项目成员编辑";
that.formworker = row;
that.formworker.remployee_name = row.remployee_.name;
@ -346,32 +319,32 @@ export default {
}
that.workerVisible = true;
},
//
submitWorker() {
//
submitWorker() {
let that = this;
that.btnloading = true;
that.formworker.rpj = that.form.id;
if(that.workDialogType=="add"){
if (that.workDialogType == "add") {
that.$refs.workerForm.validate(async (valid) => {
that.$API.rpm.member.create
.req(that.formworker)
.then((res) => {
that.$message.success("项目成员添加成功");
that.workerVisible = false;
that.btnloading = false;
that.getMemberList();
})
.catch((err) => {
this.btnloading = false;
return err;
});
.req(that.formworker)
.then((res) => {
that.$message.success("项目成员添加成功");
that.workerVisible = false;
that.btnloading = false;
that.getMemberList();
})
.catch((err) => {
this.btnloading = false;
return err;
});
});
}else{
} else {
let formworker = {};
formworker.is_manager = that.formworker.is_manager;
formworker.rcertificates = that.formworker.rcertificates;
that.$API.rpm.member.update
.req(that.formworker.id,formworker)
.req(that.formworker.id, formworker)
.then((res) => {
that.$message.success("项目成员证书添加成功");
that.workerVisible = false;
@ -383,31 +356,31 @@ export default {
return err;
});
}
},
leaveDialog(row){
leaveDialog(row) {
// debugger;
this.leaveVisible = true;
this.leaveId=row.id;
this.leaveId = row.id;
console.log(this.leaveId)
},
preLeave(){
preLeave() {
// debugger;
this.btnloading = true;
if(this.reason!=''){
this.$API.rpm.member.leave.req(this.leaveId,{reason:this.reason}).then(res=>{
if (this.reason != '') {
this.$API.rpm.member.leave.req(this.leaveId, { reason: this.reason }).then(res => {
this.leaveVisible = false;
this.btnloading = false;
this.getMemberList();
this.getLogs();
}).catch(e=>{
}).catch(e => {
this.btnloading = false;
})
}else{
} else {
this.btnloading = false;
this.$message.error("请填写离厂原因");
}
},
},
};