
5 changed files with 458 additions and 8 deletions
@ -0,0 +1,430 @@ |
|||
<template> |
|||
<div> |
|||
<!-- 标题按钮部分开始 --> |
|||
<div class="tab-header webtop"> |
|||
<!-- 标题 --> |
|||
<div>{{ viewTitle }}</div> |
|||
<!-- start 添加修改按钮 --> |
|||
<div> |
|||
<el-button type="primary" size="small" :disabled="submitdisabled" @click="saveOrUpdate">保存</el-button> |
|||
<el-button type="info" size="small" @click="handleReturn()">返回</el-button> |
|||
</div> |
|||
<!-- end 添加修改按钮 --> |
|||
<!-- end 详情按钮 --> |
|||
</div> |
|||
<!-- 标题按钮部分结束 --> |
|||
<!-- Start 新增修改部分 --> |
|||
<div class="main-content"> |
|||
<div class="searchcon"> |
|||
<el-form v-show="isSearchShow" ref="form_obj" :model="formobj" :rules="rules" label-position="right" class="demo-form-inline"> |
|||
<div class="listtop"> |
|||
<div class="tit">巡视工单信息</div> |
|||
</div> |
|||
<el-row> |
|||
<el-col :span="2" class="tleftb"> |
|||
<span><span class="icon">*</span>客户名称:</span> |
|||
</el-col> |
|||
<el-col :span="3" class="trightb"> |
|||
<el-form-item prop="custname"> |
|||
<!--<el-input size="small" v-model="formobj.custname" placeholder="客户名称" class="addinputw" clearable />--> |
|||
<el-select |
|||
v-model="formobj.custid" |
|||
class="addinputw" |
|||
placeholder="客户名称" |
|||
size="small" |
|||
@change="custnamechangeValue($event)" |
|||
> |
|||
<el-option |
|||
v-for="(item, i) in custList" |
|||
:key="i" |
|||
:label="item.enterpriseName" |
|||
:value="item.sid" |
|||
/> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="2" class="tleftb"> |
|||
<span><span class="icon">*</span>工单编号:</span> |
|||
</el-col> |
|||
<el-col :span="3" class="trightb"> |
|||
<el-form-item prop="orderno"><el-input size="small" v-model="formobj.orderno" placeholder="工单编号" class="addinputw" clearable /></el-form-item> |
|||
</el-col> |
|||
<el-col :span="2" class="tleftb"> |
|||
<span><span class="icon">*</span>工单名称:</span> |
|||
</el-col> |
|||
<el-col :span="2" class="trightb"> |
|||
<el-form-item prop="ordername"><el-input size="small" v-model="formobj.ordername" placeholder="工单名称" class="addinputw" clearable /></el-form-item> |
|||
</el-col> |
|||
<el-col :span="2" class="tleftb"> |
|||
<span><span class="icon">*</span>工单内容:</span> |
|||
</el-col> |
|||
<el-col :span="3" class="trightb"> |
|||
<el-form-item prop="ordercontent"><el-input size="small" v-model="formobj.ordercontent" placeholder="工单内容" class="addinputw" clearable /></el-form-item> |
|||
</el-col> |
|||
<el-col :span="2" class="tleftb"> |
|||
<span><span class="icon">*</span>模板:</span> |
|||
</el-col> |
|||
<el-col :span="3" class="trightb"> |
|||
<el-select @change="changeValue($event)" |
|||
v-model="formobj.templatesid" |
|||
class="addinputw" |
|||
placeholder="模板" |
|||
size="small" |
|||
> |
|||
<el-option |
|||
v-for="(item, i) in dataList" |
|||
:key="i" |
|||
:label="item.templatename" |
|||
:value="item.sid" |
|||
/> |
|||
</el-select> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="2" class="tleftb"> |
|||
<span><span class="icon">*</span>现场联系人:</span> |
|||
</el-col> |
|||
<el-col :span="3" class="trightb"> |
|||
<el-form-item prop="receiveperson"><el-input size="small" v-model="formobj.receiveperson" placeholder="现场联系人" class="addinputw" clearable /></el-form-item> |
|||
</el-col> |
|||
<el-col :span="3" class="tleftb"> |
|||
<span><span class="icon">*</span>现场联系人电话:</span> |
|||
</el-col> |
|||
<el-col :span="3" class="trightb"> |
|||
<el-form-item prop="receivetel"><el-input size="small" v-model="formobj.receivetel" placeholder="现场联系人电话" class="addinputw" clearable /></el-form-item> |
|||
</el-col> |
|||
<el-col :span="2" class="tleftb"> |
|||
<span><span class="icon">*</span>巡视类型:</span> |
|||
</el-col> |
|||
<el-col :span="3" class="trightb"> |
|||
<el-select |
|||
v-model="formobj.ordertype" |
|||
class="addinputw" |
|||
placeholder="类型" |
|||
size="small" |
|||
> |
|||
<el-option |
|||
v-for="(item, i) in arr" |
|||
:key="i" |
|||
:label="item.type" |
|||
:value="item.value" |
|||
/> |
|||
</el-select> |
|||
</el-col> |
|||
<el-col :span="2" class="tleftb"> |
|||
<span><span class="icon">*</span>等级:</span> |
|||
</el-col> |
|||
<el-col :span="3" class="trightb"> |
|||
<el-select |
|||
v-model="formobj.orderdegree" |
|||
class="addinputw" |
|||
placeholder="等级" |
|||
size="small" |
|||
> |
|||
<el-option |
|||
v-for="(item, i) in arrList" |
|||
:key="i" |
|||
:label="item.type" |
|||
:value="item.type" |
|||
/> |
|||
</el-select> |
|||
</el-col> |
|||
</el-row> |
|||
</el-form> |
|||
</div> |
|||
<div class="listtop"> |
|||
<div class="tit">巡视人员</div> |
|||
<el-button class="span" type="primary" @click.stop="add()">新增</el-button> |
|||
</div> |
|||
<div> |
|||
<el-table ref="table" tooltip-effect="dark" :data="TabList" border style="width: 100%" stripe > |
|||
> |
|||
<el-table-column fixed width="100" type="index" label="序号" align="center" /> |
|||
<el-table-column label="操作" wid align="center" width="150"> |
|||
<template slot-scope="scope"> |
|||
<el-button type="primary" size="mini" @click="doCommoditylDel(scope.$index)">删除</el-button> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column prop="principalname" label="巡视人名称" align="center" > |
|||
<template slot-scope="scope"> |
|||
<el-input v-model="scope.row.principalname" placeholder="" clearable></el-input> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column prop="principalcontact" label="联系方式" align="center" > |
|||
<template slot-scope="scope"> |
|||
<el-input v-model="scope.row.principalcontact" placeholder="" clearable></el-input> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column prop="workteam" label="班组组织" align="center" > |
|||
<template slot-scope="scope"> |
|||
<el-input v-model="scope.row.workteam" placeholder="" clearable></el-input> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column prop="executorname" label="是否负责人" width="150px" align="center" > |
|||
<template slot-scope="scope"> |
|||
<el-radio v-model="scope.row.executorname" label="是">是</el-radio> |
|||
<el-radio v-model="scope.row.executorname" label="否">否</el-radio> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
</div> |
|||
<div class="listtop"> |
|||
<div class="tit">任务模板</div> |
|||
</div> |
|||
<div> |
|||
<el-table :data="list" border style="width: 100%;text-align: center;"> |
|||
<el-table-column fixed width="100" type="index" label="序号" align="center" /> |
|||
<el-table-column prop="taskname" label="任务名称" width="200" align="center" /> |
|||
<el-table-column prop="taskdesc" label="巡视内容" align="center" /> |
|||
</el-table> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import req from '@/api/yxtdispatchcenter/dispatchorderinfo' |
|||
import req2 from '@/api/yxtdispatchcenter/dispatchmodletemplate' |
|||
export default { |
|||
name: 'DispatchOrderinfoAdd', |
|||
data() { |
|||
return { |
|||
submitdisabled: false, |
|||
isSearchShow: true, |
|||
viewTitle: '', |
|||
searchxianshitit: '显示添加条件', |
|||
formobj: { |
|||
id: '', |
|||
sid: '', |
|||
alarmid: "", |
|||
custid: '', // 客户ID |
|||
custname: '', // 客户名称 |
|||
supervisesid: '', // 监管公司id |
|||
orderno: '', // 工单编号 |
|||
ordername: '', // 工单名称 |
|||
templatesid: '', // 模板sid |
|||
orderdegree: '', // 描述:1-一般;2-重要; 3-紧急;4-督办。 |
|||
ordertype: '', // 描述:1-计划巡视; |
|||
ordercontent: '', // 工单内容 |
|||
receiveperson: '', // 现场联系人 |
|||
receivetel: '', // 现场联系人电话 |
|||
workers:[] |
|||
}, |
|||
custList:[], |
|||
arr:[{value:1,type:'计划巡视'},{value:2,type:'专项巡视'},{value:3,type:'告警巡视'}], |
|||
arrList:[{value:1,type:'一般'},{value:2,type:'重要'},{value:3,type:'紧急'},{value:4,type:'督办'}], |
|||
TabList:[], |
|||
dataList:[], |
|||
list:[], |
|||
rules: { |
|||
custid: [{ required: true, message: '客户ID不能为空', trigger: 'blur' }], // 客户ID |
|||
custname: [{ required: true, message: '客户名称不能为空', trigger: 'blur' }], // 客户名称 |
|||
supervisesid: [{ required: true, message: '监管公司id不能为空', trigger: 'blur' }], // 监管公司id |
|||
orderno: [{ required: true, message: '用法说明:工单编号规则。不能为空', trigger: 'blur' }], // 用法说明:工单编号规则。 |
|||
ordername: [{ required: true, message: '工单名称不能为空', trigger: 'blur' }], // 工单名称 |
|||
orderdegree: [{ required: true, message: '描述不能为空', trigger: 'blur' }], // 描述:1-一般;2-重要; 3-紧急;4-督办。 |
|||
ordertype: [{ required: true, message: '描述不能为空', trigger: 'blur' }], // 描述:1-计划巡视; |
|||
ordercontent: [{ required: true, message: '工单内容不能为空', trigger: 'blur' }], // 工单内容 |
|||
// arrivetime: [{ required: true, message: '到达现场时间不能为空', trigger: 'blur' }], // 到达现场时间 |
|||
// planfinishtime: [{ required: true, message: '完成时间不能为空', trigger: 'blur' }], // 完成时间 |
|||
operationcontent: [{ required: true, message: '处理情况不能为空', trigger: 'blur' }], // 处理情况 |
|||
receiveperson: [{ required: true, message: '现场联系人不能为空', trigger: 'blur' }], // 现场联系人 |
|||
receivetel: [{ required: true, message: '现场联系人电话不能为空', trigger: 'blur' }] // 现场联系人电话 |
|||
}, |
|||
queryParams: { |
|||
current: 1, |
|||
size: 100, |
|||
total: 0, |
|||
params: { |
|||
sids: [], |
|||
templateid: '', |
|||
taskid: '' |
|||
} |
|||
}, |
|||
queryParamsA: { |
|||
current: 1, |
|||
size: 10, |
|||
total: 0, |
|||
params: { |
|||
orderid:'', |
|||
templateid:'' |
|||
} |
|||
} |
|||
} |
|||
}, |
|||
mounted(){ |
|||
req2.listPage(this.queryParams).then(resp => { |
|||
if (resp.success) { |
|||
const data = resp.data |
|||
this.dataList = data.records |
|||
} |
|||
}) |
|||
req.entlistPage().then(resp => { |
|||
if (resp.success) { |
|||
const data = resp.data |
|||
this.custList = data |
|||
} |
|||
}) |
|||
}, |
|||
created() {}, |
|||
methods: { |
|||
changeValue(value){ |
|||
this.queryParamsA.params.templateid= value; |
|||
this.ShowList(); |
|||
}, |
|||
custnamechangeValue(value){ |
|||
let enterpriseName = this.custList.find((item) => { |
|||
return item.sid == value; |
|||
}).enterpriseName; |
|||
this.formobj.custname=enterpriseName; |
|||
}, |
|||
handleReturn(isreload) { |
|||
if (isreload === 'true') this.$emit('reloadlist') |
|||
this.formobj.id = '' |
|||
this.formobj.sid = '' // SID |
|||
this.formobj.custid = '' // 客户ID |
|||
this.formobj.custname = '' // 客户名称 |
|||
this.formobj.supervisesid = '' // 监管公司id |
|||
this.formobj.orderno = '' // 用法说明:工单编号规则。 |
|||
this.formobj.ordername = '' // 工单名称 |
|||
this.formobj.orderdegree = '' // 描述:1-一般;2-重要; 3-紧急;4-督办。 |
|||
this.formobj.ordertype = '' // 描述:1-计划巡视; |
|||
this.formobj.templatesid = '' // 模板; |
|||
this.formobj.ordercontent = '' // 工单内容 |
|||
this.formobj.arrivetime = '' // 到达现场时间 |
|||
this.formobj.planfinishtime = '' // 完成时间 |
|||
this.formobj.operationcontent = '' // 处理情况 |
|||
this.formobj.receiveperson = '' // 现场联系人 |
|||
this.formobj.receivetel = '' // 现场联系人电话 |
|||
this.queryParamsA.params.orderid='' |
|||
this.$refs['form_obj'].resetFields() |
|||
this.$emit('doback') |
|||
}, |
|||
// 搜索条件效果 |
|||
clicksearchShow() { |
|||
this.isSearchShow = !this.isSearchShow |
|||
if (this.isSearchShow) { |
|||
this.searchxianshitit = '隐藏添加条件' |
|||
} else { |
|||
this.searchxianshitit = '显示添加条件' |
|||
} |
|||
}, |
|||
showAdd(row) { |
|||
this.formobj.alarmid=row.sid; |
|||
this.$nextTick(() => { |
|||
this.$refs['form_obj'].clearValidate() |
|||
}) |
|||
this.viewTitle = '【新增】工单数据' |
|||
this.ShowList() |
|||
}, |
|||
showEdit(row) { |
|||
this.$nextTick(() => { |
|||
this.$refs['form_obj'].clearValidate() |
|||
}) |
|||
this.searchxianshitit = '显示添加条件' |
|||
this.isSearchShow = true |
|||
this.viewTitle = '【修改】工单数据' |
|||
const _this = this |
|||
req |
|||
.fetchBySid(row.sid) |
|||
.then(resp => { |
|||
if (resp.code==200) { |
|||
const vdata = resp.data |
|||
_this.formobj.id = vdata.id |
|||
_this.formobj.sid = vdata.sid // SID |
|||
_this.formobj.custid = vdata.custid // 客户ID |
|||
_this.formobj.custname = vdata.custname // 客户名称 |
|||
_this.formobj.supervisesid = vdata.supervisesid // 监管公司id |
|||
_this.formobj.orderno = vdata.orderno // 工单编号 |
|||
_this.formobj.ordername = vdata.ordername // 工单名称 |
|||
_this.formobj.orderdegree = vdata.orderdegree // 描述:1-一般;2-重要; 3-紧急;4-督办。 |
|||
_this.formobj.ordertype = vdata.ordertype // 描述:1-计划巡视; |
|||
_this.formobj.ordercontent = vdata.ordercontent // 工单内容 |
|||
_this.formobj.receiveperson = vdata.receiveperson // 现场联系人 |
|||
_this.formobj.receivetel = vdata.receivetel // 现场联系人电话 |
|||
_this.formobj.templatesid = vdata.templatesid // 模板sid |
|||
this.queryParamsA.params.templateid= vdata.templatesid // 模板sid |
|||
// _this.formobj.workers = vdata.workers // 现场联系人电话 |
|||
} else { |
|||
// 根据resp.code进行异常情况处理 |
|||
} |
|||
}) |
|||
.catch(e => { |
|||
this.formobj = row |
|||
}) |
|||
this.queryParamsA.params.orderid= row.sid |
|||
this.ShowList() |
|||
this.ShowYunwei() |
|||
}, |
|||
saveOrUpdate() { |
|||
this.formobj.workers=this.$refs.table.data; |
|||
const _this = this |
|||
this.$refs['form_obj'].validate(valid => { |
|||
if (valid) { |
|||
this.submitdisabled = true |
|||
req |
|||
.saveOrUpdate(this.formobj) |
|||
.then(resp => { |
|||
this.submitdisabled = false |
|||
if (resp.success) { |
|||
_this.$message({ showClose: true, type: 'success', message: resp.msg }) |
|||
_this.handleReturn('true') |
|||
_this.queryParamsA.params.orderid='' |
|||
} else { |
|||
// 根据resp.code进行异常情况处理 |
|||
} |
|||
}) |
|||
.catch(() => { |
|||
this.submitdisabled = false |
|||
}) |
|||
} else { |
|||
return false |
|||
} |
|||
}) |
|||
}, |
|||
handleSelectionChange(val) { |
|||
this.formobj.workers = val; |
|||
}, |
|||
handleSelection(selection){ |
|||
if (selection.length > 1){ |
|||
let del_row = selection.shift(); |
|||
this.$refs.table.toggleRowSelection(del_row, false) |
|||
} |
|||
}, |
|||
add() { |
|||
this.TabList.push({ |
|||
|
|||
}) |
|||
}, |
|||
doCommoditylDel(index) { |
|||
const tip = '请确认是否删除所选记录?' |
|||
this.$confirm(tip, '提示', { |
|||
confirmButtonText: '确定', |
|||
cancelButtonText: '取消', |
|||
type: 'warning' |
|||
}).then(() => { |
|||
this.TabList.splice(index, 1); |
|||
}) |
|||
}, |
|||
// 查询运维人员信息 |
|||
ShowYunwei(){ |
|||
req.listPageB(this.queryParamsA).then((res)=>{ |
|||
this.TabList= res.data.records |
|||
}) |
|||
}, |
|||
// 查询任务项列表信息 |
|||
ShowList(){ |
|||
|
|||
var templateid=this.queryParamsA.params.templateid; |
|||
if (templateid==''){ |
|||
return; |
|||
} |
|||
req.listPageA(this.queryParamsA).then((res)=>{ |
|||
this.list = res.data.records |
|||
}) |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style scoped></style> |
Loading…
Reference in new issue