|
@@ -11,12 +11,21 @@
|
|
|
:model="formData"
|
|
:model="formData"
|
|
|
v-loading="dialogLoading"
|
|
v-loading="dialogLoading"
|
|
|
ref="contentConfigForm"
|
|
ref="contentConfigForm"
|
|
|
- label-width="110px"
|
|
|
|
|
|
|
+ label-width="100px"
|
|
|
:show-message="false"
|
|
:show-message="false"
|
|
|
:rules="contentConfigFormRules"
|
|
:rules="contentConfigFormRules"
|
|
|
>
|
|
>
|
|
|
<el-row>
|
|
<el-row>
|
|
|
- <el-col :span="8">
|
|
|
|
|
|
|
+ <el-col :span="7">
|
|
|
|
|
+ <el-form-item label="规则编码" prop="name">
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ v-model="formData.code"
|
|
|
|
|
+ size="small"
|
|
|
|
|
+ :disabled="true"
|
|
|
|
|
+ ></el-input>
|
|
|
|
|
+ </el-form-item>
|
|
|
|
|
+ </el-col>
|
|
|
|
|
+ <el-col :span="6">
|
|
|
<el-form-item label="规则名称" prop="name">
|
|
<el-form-item label="规则名称" prop="name">
|
|
|
<el-input
|
|
<el-input
|
|
|
v-model="formData.name"
|
|
v-model="formData.name"
|
|
@@ -26,33 +35,20 @@
|
|
|
></el-input>
|
|
></el-input>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
- <el-col :span="8">
|
|
|
|
|
|
|
+ <el-col :span="6">
|
|
|
<el-form-item label="规则类型" prop="ruleType">
|
|
<el-form-item label="规则类型" prop="ruleType">
|
|
|
- <el-select
|
|
|
|
|
- v-model="formData.ruleType"
|
|
|
|
|
- size="small"
|
|
|
|
|
- style="width: 100%"
|
|
|
|
|
- :disabled="isBindPlan"
|
|
|
|
|
- >
|
|
|
|
|
- <el-option
|
|
|
|
|
- v-for="item in ruleTypeList"
|
|
|
|
|
- :key="item.code"
|
|
|
|
|
- :value="item.code"
|
|
|
|
|
- :label="item.label"
|
|
|
|
|
- ></el-option>
|
|
|
|
|
- </el-select>
|
|
|
|
|
|
|
+ <DictSelection dictName="规则类型" clearable v-model="formData.ruleType">
|
|
|
|
|
+ </DictSelection>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
|
</el-col>
|
|
</el-col>
|
|
|
- <el-col :span="4">
|
|
|
|
|
- <el-form-item label="状态" prop="status">
|
|
|
|
|
|
|
+ <el-col :span="5">
|
|
|
|
|
+ <el-form-item label="状态" prop="status" label-width="70px">
|
|
|
<el-switch
|
|
<el-switch
|
|
|
v-model="formData.status"
|
|
v-model="formData.status"
|
|
|
- active-color="#157a2c"
|
|
|
|
|
- inactive-color="#999"
|
|
|
|
|
- active-text="开"
|
|
|
|
|
- inactive-text="关"
|
|
|
|
|
- :active-value="true"
|
|
|
|
|
- :inactive-value="false"
|
|
|
|
|
|
|
+ active-text="生效"
|
|
|
|
|
+ inactive-text="失效"
|
|
|
|
|
+ :active-value="1"
|
|
|
|
|
+ :inactive-value="0"
|
|
|
>
|
|
>
|
|
|
</el-switch>
|
|
</el-switch>
|
|
|
</el-form-item>
|
|
</el-form-item>
|
|
@@ -71,8 +67,8 @@
|
|
|
|
|
|
|
|
<el-table
|
|
<el-table
|
|
|
ref="multipleTable"
|
|
ref="multipleTable"
|
|
|
- v-if="formData.ruleType !== 'INVENTORY'"
|
|
|
|
|
- :data="formData.ruleDetailList"
|
|
|
|
|
|
|
+ v-if="formData.ruleType !== 4"
|
|
|
|
|
+ :data="formData.ruleItems"
|
|
|
tooltip-effect="dark"
|
|
tooltip-effect="dark"
|
|
|
style="width: 95%; margin: auto"
|
|
style="width: 95%; margin: auto"
|
|
|
border
|
|
border
|
|
@@ -88,7 +84,7 @@
|
|
|
<el-table-column prop="name" label="事项">
|
|
<el-table-column prop="name" label="事项">
|
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
|
<el-form-item
|
|
<el-form-item
|
|
|
- :prop="'ruleDetailList.' + scope.$index + '.name'"
|
|
|
|
|
|
|
+ :prop="'ruleItems.' + scope.$index + '.name'"
|
|
|
label-width="0"
|
|
label-width="0"
|
|
|
:rules="contentConfigFormRules.name"
|
|
:rules="contentConfigFormRules.name"
|
|
|
>
|
|
>
|
|
@@ -106,7 +102,7 @@
|
|
|
<el-table-column prop="content" label="内容">
|
|
<el-table-column prop="content" label="内容">
|
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
|
<el-form-item
|
|
<el-form-item
|
|
|
- :prop="'ruleDetailList.' + scope.$index + '.content'"
|
|
|
|
|
|
|
+ :prop="'ruleItems.' + scope.$index + '.content'"
|
|
|
label-width="0"
|
|
label-width="0"
|
|
|
:rules="contentConfigFormRules.content"
|
|
:rules="contentConfigFormRules.content"
|
|
|
>
|
|
>
|
|
@@ -125,7 +121,7 @@
|
|
|
<el-table-column prop="norm" label="标准">
|
|
<el-table-column prop="norm" label="标准">
|
|
|
<template slot-scope="scope">
|
|
<template slot-scope="scope">
|
|
|
<el-form-item
|
|
<el-form-item
|
|
|
- :prop="'ruleDetailList.' + scope.$index + '.norm'"
|
|
|
|
|
|
|
+ :prop="'ruleItems.' + scope.$index + '.norm'"
|
|
|
label-width="0"
|
|
label-width="0"
|
|
|
:rules="contentConfigFormRules.norm"
|
|
:rules="contentConfigFormRules.norm"
|
|
|
>
|
|
>
|
|
@@ -161,6 +157,7 @@
|
|
|
<script>
|
|
<script>
|
|
|
import RuleCycle from './rule-cycle'
|
|
import RuleCycle from './rule-cycle'
|
|
|
import { deepClone } from '@/utils/index'
|
|
import { deepClone } from '@/utils/index'
|
|
|
|
|
+import { saveOrUpdate , getCode , getDetail } from '@/api/ruleManagement/matter'
|
|
|
|
|
|
|
|
export default {
|
|
export default {
|
|
|
components: { RuleCycle },
|
|
components: { RuleCycle },
|
|
@@ -187,63 +184,7 @@ export default {
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
watch: {
|
|
watch: {
|
|
|
- infoData (val) {
|
|
|
|
|
- if (val && val.ruleType && this.addMatterDialog) {
|
|
|
|
|
- // 编辑
|
|
|
|
|
- this.formData = val
|
|
|
|
|
- this.formData.ruleType = this.ruleTypeObj[val.ruleType.code]
|
|
|
|
|
- if(this.pageType=='clone'){
|
|
|
|
|
- this.isBindPlan = false
|
|
|
|
|
- // this.$set(this.formData,'code',getRuleNo())
|
|
|
|
|
- delete this.formData.id
|
|
|
|
|
- delete this.formData.createUserId
|
|
|
|
|
- delete this.formData.createTime
|
|
|
|
|
- delete this.formData.createUserName
|
|
|
|
|
- delete this.formData.isBindPlan
|
|
|
|
|
- delete this.formData.isDelete
|
|
|
|
|
- delete this.formData.updateTime
|
|
|
|
|
- this.formData.ruleDetailList.map(item=>{
|
|
|
|
|
- delete item.id
|
|
|
|
|
- delete item.createTime
|
|
|
|
|
- delete item.isDelete
|
|
|
|
|
- delete item.updateTime
|
|
|
|
|
- delete item.ruleId
|
|
|
|
|
- })
|
|
|
|
|
- this.formData.ruleCycleList.map(item=>{
|
|
|
|
|
- delete item.id
|
|
|
|
|
- delete item.createTime
|
|
|
|
|
- delete item.isDelete
|
|
|
|
|
- delete item.updateTime
|
|
|
|
|
- delete item.ruleId
|
|
|
|
|
- })
|
|
|
|
|
- }else{
|
|
|
|
|
- this.isBindPlan = val.isBindPlan
|
|
|
|
|
- }
|
|
|
|
|
- } else {
|
|
|
|
|
- console.log('新增')
|
|
|
|
|
- // 新增
|
|
|
|
|
- this.isBindPlan = false
|
|
|
|
|
- this.$refs.contentConfigForm.resetFields()
|
|
|
|
|
- this.formData = {
|
|
|
|
|
- // code: getRuleNo(),
|
|
|
|
|
- name: '',
|
|
|
|
|
- ruleType: 'PATROL',
|
|
|
|
|
- status: true,
|
|
|
|
|
- cycleValue: undefined,
|
|
|
|
|
- cycleType: 1,
|
|
|
|
|
- contentImage: [],
|
|
|
|
|
- ruleCycleList: [], // 规则周期日期值
|
|
|
|
|
- ruleDetailList: [
|
|
|
|
|
- {
|
|
|
|
|
- name: '', // 巡点检事项
|
|
|
|
|
- content: '', // 巡点检内容
|
|
|
|
|
- norm: '', // 巡点检标准
|
|
|
|
|
- // readonly: false
|
|
|
|
|
- }
|
|
|
|
|
- ]
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
- }
|
|
|
|
|
|
|
+
|
|
|
},
|
|
},
|
|
|
data () {
|
|
data () {
|
|
|
return {
|
|
return {
|
|
@@ -252,13 +193,13 @@ export default {
|
|
|
uploadList: [],
|
|
uploadList: [],
|
|
|
formData: {
|
|
formData: {
|
|
|
name: '',
|
|
name: '',
|
|
|
- ruleType: 'PATROL',
|
|
|
|
|
- status: true,
|
|
|
|
|
|
|
+ ruleType: '1',
|
|
|
|
|
+ status: 1,
|
|
|
cycleValue: undefined,
|
|
cycleValue: undefined,
|
|
|
cycleType: 1,
|
|
cycleType: 1,
|
|
|
- contentImage: [],
|
|
|
|
|
|
|
+ contentImage: {},
|
|
|
ruleCycleList: [], // 规则周期日期值
|
|
ruleCycleList: [], // 规则周期日期值
|
|
|
- ruleDetailList: [
|
|
|
|
|
|
|
+ ruleItems: [
|
|
|
{
|
|
{
|
|
|
name: '', // 巡点检事项
|
|
name: '', // 巡点检事项
|
|
|
content: '', // 巡点检内容
|
|
content: '', // 巡点检内容
|
|
@@ -275,9 +216,9 @@ export default {
|
|
|
cycleValue: [
|
|
cycleValue: [
|
|
|
{ required: true, message: '请输入巡点检周期', trigger: 'blur' }
|
|
{ required: true, message: '请输入巡点检周期', trigger: 'blur' }
|
|
|
],
|
|
],
|
|
|
- contentImage: [
|
|
|
|
|
- { required: false, message: '请上传图片', trigger: 'blur' }
|
|
|
|
|
- ],
|
|
|
|
|
|
|
+ // contentImage: [
|
|
|
|
|
+ // { required: false, message: '请上传图片', trigger: 'blur' }
|
|
|
|
|
+ // ],
|
|
|
status: [{ required: true }],
|
|
status: [{ required: true }],
|
|
|
name: [
|
|
name: [
|
|
|
{ required: true, message: '请输入巡点检事项', trigger: 'blur' }
|
|
{ required: true, message: '请输入巡点检事项', trigger: 'blur' }
|
|
@@ -287,34 +228,58 @@ export default {
|
|
|
],
|
|
],
|
|
|
norm: [{ required: true, message: '请输入巡点检标准', trigger: 'blur' }]
|
|
norm: [{ required: true, message: '请输入巡点检标准', trigger: 'blur' }]
|
|
|
},
|
|
},
|
|
|
- ruleTypeObj: {
|
|
|
|
|
- 1: 'PATROL',
|
|
|
|
|
- 2: 'MAINTAIN',
|
|
|
|
|
- 4: 'INVENTORY'
|
|
|
|
|
- },
|
|
|
|
|
- ruleTypeList: [
|
|
|
|
|
- { code: 'PATROL', label: '巡点检规则' },
|
|
|
|
|
- { code: 'MAINTAIN', label: '保养规则' },
|
|
|
|
|
- { code: 'INVENTORY', label: '盘点规则' }
|
|
|
|
|
- ],
|
|
|
|
|
|
|
+ // ruleTypeObj: {
|
|
|
|
|
+ // 1: 'PATROL',
|
|
|
|
|
+ // 2: 'MAINTAIN',
|
|
|
|
|
+ // 4: 'INVENTORY'
|
|
|
|
|
+ // },
|
|
|
|
|
+ // ruleTypeList: [
|
|
|
|
|
+ // { code: 'PATROL', label: '巡点检规则' },
|
|
|
|
|
+ // { code: 'MAINTAIN', label: '保养规则' },
|
|
|
|
|
+ // { code: 'INVENTORY', label: '盘点规则' }
|
|
|
|
|
+ // ],
|
|
|
isBindPlan:false
|
|
isBindPlan:false
|
|
|
}
|
|
}
|
|
|
},
|
|
},
|
|
|
methods: {
|
|
methods: {
|
|
|
|
|
+ openDialog(row,type){
|
|
|
|
|
+ this.addMatterDialog = true
|
|
|
|
|
+ if(type !='add'){
|
|
|
|
|
+ this.getRuleInfo(row.id,type)
|
|
|
|
|
+ }
|
|
|
|
|
+ if(type!='edit'){
|
|
|
|
|
+ this.getOrderCode()
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ async getRuleInfo(id,type){
|
|
|
|
|
+ const data = await getDetail(id)
|
|
|
|
|
+ this.formData = data
|
|
|
|
|
+ this.formData.ruleType = JSON.stringify(this.formData.ruleType)
|
|
|
|
|
+ if(type=='clone'){
|
|
|
|
|
+ delete this.formData.id
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
|
|
+ async getOrderCode () {
|
|
|
|
|
+ const data = await getCode('rule_code');
|
|
|
|
|
+ this.$set(this.formData, 'code', data);
|
|
|
|
|
+ },
|
|
|
|
|
+
|
|
|
handleClose () {
|
|
handleClose () {
|
|
|
this.addMatterDialog = false
|
|
this.addMatterDialog = false
|
|
|
this.$emit('handleClose')
|
|
this.$emit('handleClose')
|
|
|
},
|
|
},
|
|
|
addItem () {
|
|
addItem () {
|
|
|
- if (this.formData.ruleDetailList) {
|
|
|
|
|
- this.formData.ruleDetailList.push({
|
|
|
|
|
|
|
+ if (this.formData.ruleItems) {
|
|
|
|
|
+ this.formData.ruleItems.push({
|
|
|
name: '', // 巡点检事项
|
|
name: '', // 巡点检事项
|
|
|
content: '', // 巡点检内容
|
|
content: '', // 巡点检内容
|
|
|
norm: '', // 巡点检标准
|
|
norm: '', // 巡点检标准
|
|
|
readonly: false
|
|
readonly: false
|
|
|
})
|
|
})
|
|
|
} else {
|
|
} else {
|
|
|
- this.formData.ruleDetailList = [
|
|
|
|
|
|
|
+ this.formData.ruleItems = [
|
|
|
{
|
|
{
|
|
|
name: '', // 巡点检事项
|
|
name: '', // 巡点检事项
|
|
|
content: '', // 巡点检内容
|
|
content: '', // 巡点检内容
|
|
@@ -333,7 +298,7 @@ export default {
|
|
|
flag = name && content && norm
|
|
flag = name && content && norm
|
|
|
this.$refs.contentConfigForm.validate(valid => {
|
|
this.$refs.contentConfigForm.validate(valid => {
|
|
|
if (valid || flag) {
|
|
if (valid || flag) {
|
|
|
- this.$set(this.formData.ruleDetailList[index], 'readonly', true)
|
|
|
|
|
|
|
+ this.$set(this.formData.ruleItems[index], 'readonly', true)
|
|
|
}
|
|
}
|
|
|
})
|
|
})
|
|
|
})
|
|
})
|
|
@@ -342,7 +307,7 @@ export default {
|
|
|
if (data && data[0]?.accessUrl) {
|
|
if (data && data[0]?.accessUrl) {
|
|
|
this.formData.contentImage = data
|
|
this.formData.contentImage = data
|
|
|
} else {
|
|
} else {
|
|
|
- this.formData.contentImage = []
|
|
|
|
|
|
|
+ this.formData.contentImage = {}
|
|
|
}
|
|
}
|
|
|
this.$nextTick(() => {
|
|
this.$nextTick(() => {
|
|
|
this.$refs.contentConfigForm.validateField('contentImage')
|
|
this.$refs.contentConfigForm.validateField('contentImage')
|
|
@@ -351,45 +316,45 @@ export default {
|
|
|
},
|
|
},
|
|
|
editItem (index) {
|
|
editItem (index) {
|
|
|
this.$nextTick(() => {
|
|
this.$nextTick(() => {
|
|
|
- this.$set(this.formData.ruleDetailList[index], 'readonly', false)
|
|
|
|
|
|
|
+ this.$set(this.formData.ruleItems[index], 'readonly', false)
|
|
|
})
|
|
})
|
|
|
},
|
|
},
|
|
|
delItem (index) {
|
|
delItem (index) {
|
|
|
- this.formData.ruleDetailList.splice(index, 1)
|
|
|
|
|
|
|
+ this.formData.ruleItems.splice(index, 1)
|
|
|
},
|
|
},
|
|
|
|
|
|
|
|
// 保存
|
|
// 保存
|
|
|
dataKeep () {
|
|
dataKeep () {
|
|
|
let form = deepClone(this.formData)
|
|
let form = deepClone(this.formData)
|
|
|
- form.ruleCycleList = this.$refs.cycleMultipleRef.ruleCycleList
|
|
|
|
|
|
|
+ form.cycle = this.$refs.cycleMultipleRef.ruleCycleList
|
|
|
switch(form.cycleType){
|
|
switch(form.cycleType){
|
|
|
case 1:
|
|
case 1:
|
|
|
- if(form.ruleCycleList[0].minute===''){
|
|
|
|
|
|
|
+ if(form.cycle[0].minute===''){
|
|
|
this.$message.warning('周期信息需补充完整!')
|
|
this.$message.warning('周期信息需补充完整!')
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
break;
|
|
break;
|
|
|
case 2:
|
|
case 2:
|
|
|
- if(form.ruleCycleList[0].hour===''||form.ruleCycleList[0].minute===''){
|
|
|
|
|
|
|
+ if(form.cycle[0].hour===''||form.cycle[0].minute===''){
|
|
|
this.$message.warning('周期信息需补充完整!')
|
|
this.$message.warning('周期信息需补充完整!')
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
break;
|
|
break;
|
|
|
case 4:
|
|
case 4:
|
|
|
- if(form.ruleCycleList[0].day===''||form.ruleCycleList[0].hour===''||form.ruleCycleList[0].minute===''){
|
|
|
|
|
|
|
+ if(form.cycle[0].day===''||form.cycle[0].hour===''||form.cycle[0].minute===''){
|
|
|
this.$message.warning('周期信息需补充完整!')
|
|
this.$message.warning('周期信息需补充完整!')
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
break;
|
|
break;
|
|
|
case 5:
|
|
case 5:
|
|
|
- if(form.ruleCycleList[0].month===''||form.ruleCycleList[0].day===''||form.ruleCycleList[0].hour===''||form.ruleCycleList[0].minute===''){
|
|
|
|
|
|
|
+ if(form.cycle[0].month===''||form.cycle[0].day===''||form.cycle[0].hour===''||form.cycle[0].minute===''){
|
|
|
this.$message.warning('周期信息需补充完整!')
|
|
this.$message.warning('周期信息需补充完整!')
|
|
|
return;
|
|
return;
|
|
|
}
|
|
}
|
|
|
break;
|
|
break;
|
|
|
case 11:
|
|
case 11:
|
|
|
let flg = false
|
|
let flg = false
|
|
|
- form.ruleCycleList.map((item,index)=>{
|
|
|
|
|
|
|
+ form.cycle.map((item,index)=>{
|
|
|
if(item.hour===''||item.minute===''){
|
|
if(item.hour===''||item.minute===''){
|
|
|
flg = true
|
|
flg = true
|
|
|
}
|
|
}
|
|
@@ -401,7 +366,7 @@ export default {
|
|
|
break;
|
|
break;
|
|
|
case 13:
|
|
case 13:
|
|
|
let flag = false
|
|
let flag = false
|
|
|
- form.ruleCycleList.map((item,index)=>{
|
|
|
|
|
|
|
+ form.cycle.map((item,index)=>{
|
|
|
if(item.day===''||item.hour===''){
|
|
if(item.day===''||item.hour===''){
|
|
|
flag = true
|
|
flag = true
|
|
|
}
|
|
}
|
|
@@ -413,7 +378,7 @@ export default {
|
|
|
break;
|
|
break;
|
|
|
case 14:
|
|
case 14:
|
|
|
let fla = false
|
|
let fla = false
|
|
|
- form.ruleCycleList.map((item,index)=>{
|
|
|
|
|
|
|
+ form.cycle.map((item,index)=>{
|
|
|
if(item.month===''||item.day===''||item.hour===''){
|
|
if(item.month===''||item.day===''||item.hour===''){
|
|
|
fla = true
|
|
fla = true
|
|
|
}
|
|
}
|
|
@@ -428,16 +393,16 @@ export default {
|
|
|
if (valid) {
|
|
if (valid) {
|
|
|
// let form = deepClone(this.formData)
|
|
// let form = deepClone(this.formData)
|
|
|
// form.ruleCycleList = this.$refs.cycleMultipleRef.ruleCycleList
|
|
// form.ruleCycleList = this.$refs.cycleMultipleRef.ruleCycleList
|
|
|
- form.ruleDetailList.forEach(item => {
|
|
|
|
|
- if (item.ruleType) {
|
|
|
|
|
- item.ruleType = this.ruleTypeObj[item.ruleType.code]
|
|
|
|
|
- }
|
|
|
|
|
- })
|
|
|
|
|
- let res = await patrol.saveOrUpdateNew(form)
|
|
|
|
|
- if (res.success) {
|
|
|
|
|
|
|
+ // form.ruleItems.forEach(item => {
|
|
|
|
|
+ // if (item.ruleType) {
|
|
|
|
|
+ // item.ruleType = this.ruleTypeObj[item.ruleType.code]
|
|
|
|
|
+ // }
|
|
|
|
|
+ // })
|
|
|
|
|
+ let res = await saveOrUpdate(form)
|
|
|
|
|
+ if (res) {
|
|
|
this.$message.success('操作成功!')
|
|
this.$message.success('操作成功!')
|
|
|
this.handleClose()
|
|
this.handleClose()
|
|
|
- this.$emit('handleList')
|
|
|
|
|
|
|
+ this.$emit('done')
|
|
|
}
|
|
}
|
|
|
} else {
|
|
} else {
|
|
|
this.$message.warning('请将信息补充完整!')
|
|
this.$message.warning('请将信息补充完整!')
|