|
@@ -4,6 +4,7 @@
|
|
|
:title="title"
|
|
|
:is-default-close="false"
|
|
|
width="60%"
|
|
|
+ :show-footer="!disabled"
|
|
|
@confirm="confirmForm()"
|
|
|
@cancel="cancel()"
|
|
|
>
|
|
@@ -20,6 +21,7 @@
|
|
|
:options="directionList"
|
|
|
placeholder="请选择"
|
|
|
clearable
|
|
|
+ :disabled="disabled"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
<el-form-item v-if="type === 'task'" label="技术模块">
|
|
@@ -31,17 +33,18 @@
|
|
|
:options="directionList"
|
|
|
placeholder="请选择"
|
|
|
clearable
|
|
|
+ :disabled="disabled"
|
|
|
/>
|
|
|
</el-form-item>
|
|
|
</el-form>
|
|
|
<el-form ref="form" :model="formData" label-width="100px" label-position="left" :inline="true">
|
|
|
<el-form-item label="跟版客户端">
|
|
|
- <el-select v-model="formData.clientId" placeholder="请选择" size="small">
|
|
|
+ <el-select v-model="formData.clientId" placeholder="请选择" size="small" :disabled="disabled">
|
|
|
<el-option v-for="item in appClientList" :key="'app'+item.code" :label="item.msg" :value="item.code" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
- <el-select v-model="formData.clientVersionId" placeholder="请选择" size="small">
|
|
|
+ <el-select v-model="formData.clientVersionId" placeholder="请选择" size="small" :disabled="disabled">
|
|
|
<el-option v-for="item in clientList" :key="'client'+item.code" :label="item.msg" :value="item.code" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
@@ -49,59 +52,59 @@
|
|
|
<h2 class="form-title">通知条件</h2>
|
|
|
<el-form ref="form" :model="formData" label-width="100px" label-position="left">
|
|
|
<el-form-item v-for="(item,index) in formData.noticeConditionList" :key="'condition'+index" label="条件">
|
|
|
- <el-select v-model="item.type" placeholder="请选择类型" size="small" class="condition-select" @change="changeNoticeItem(item)">
|
|
|
+ <el-select v-model="item.type" placeholder="请选择类型" size="small" class="condition-select" :disabled="disabled" @change="changeNoticeItem(item)">
|
|
|
<el-option v-for="key in typeList" :key="key.label" :label="key.label" :value="key.value" />
|
|
|
</el-select>
|
|
|
- <el-select v-show="item.type === 0" v-model="item.status" placeholder="请选择状态" size="small" class="condition-select">
|
|
|
+ <el-select v-show="item.type === 0" v-model="item.status" placeholder="请选择状态" size="small" class="condition-select" :disabled="disabled">
|
|
|
<el-option v-for="key in statusList" :key="'status'+key.code" :label="key.msg" :value="key.code" />
|
|
|
</el-select>
|
|
|
- <el-select v-show="item.type === 0" v-model="item.triggerEvent" placeholder="请选择" size="small" class="condition-select">
|
|
|
+ <el-select v-show="item.type === 0" v-model="item.triggerEvent" placeholder="请选择" size="small" class="condition-select" :disabled="disabled">
|
|
|
<el-option v-for="key in triggerList" :key="'trigger'+key.code" :label="key.name" :value="key.code" />
|
|
|
</el-select>
|
|
|
- <el-select v-show="item.type === 1" v-model="item.triggerEvent" placeholder="请选择" size="small" class="condition-select">
|
|
|
+ <el-select v-show="item.type === 1" v-model="item.triggerEvent" placeholder="请选择" size="small" class="condition-select" :disabled="disabled">
|
|
|
<el-option v-for="key in noticeEventList" :key="'event'+key.code" :label="key.name" :value="key.code" />
|
|
|
</el-select>
|
|
|
- <el-select v-show="item.type === 0" v-model="item.greaterTime" placeholder="请选择" size="small" class="condition-select">
|
|
|
+ <el-select v-show="item.type === 0" v-model="item.greaterTime" placeholder="请选择" size="small" class="condition-select" :disabled="disabled">
|
|
|
<el-option v-for="key in rangDaysList" :key="'greaterTime'+key.value" :label="key.label" :value="key.value" />
|
|
|
</el-select>
|
|
|
- <el-select v-show="item.type === 1" v-model="item.lessTime" placeholder="请选择" size="small" class="condition-select">
|
|
|
+ <el-select v-show="item.type === 1" v-model="item.lessTime" placeholder="请选择" size="small" class="condition-select" :disabled="disabled">
|
|
|
<el-option v-for="key in aheadDaysList" :key="'lessTime'+key.value" :label="key.label" :value="key.value" />
|
|
|
</el-select>
|
|
|
- <i class="el-icon-remove-outline" @click="removeItem(index)" />
|
|
|
+ <i v-show="!disabled" class="el-icon-remove-outline" @click="removeItem(index)" />
|
|
|
</el-form-item>
|
|
|
- <div class="add-condition" @click="addCondition()"><i class="el-icon-circle-plus-outline" /> 添加条件</div>
|
|
|
+ <div v-show="!disabled" class="add-condition" @click="addCondition()"><i class="el-icon-circle-plus-outline" /> 添加条件</div>
|
|
|
</el-form>
|
|
|
<h2 class="form-title">通知方式(必选)</h2>
|
|
|
<el-form ref="form" :model="formData" label-width="100px" label-position="left">
|
|
|
<!-- 邮件方式 -->
|
|
|
- <el-checkbox v-model="noticeList.Email" class="notice-check">邮件</el-checkbox>
|
|
|
+ <el-checkbox v-model="noticeList.Email" class="notice-check" :disabled="disabled">邮件</el-checkbox>
|
|
|
<el-form-item v-for="(item,index) in EmailList" :key="'email'+index" :label="index===0?'通知人群':''">
|
|
|
- <el-select v-model="item.type" placeholder="请选择" size="small" class="condition-select" @change="changeNoticeType(item)">
|
|
|
+ <el-select v-model="item.type" placeholder="请选择" size="small" class="condition-select" :disabled="disabled" @change="changeNoticeType(item)">
|
|
|
<el-option v-for="key in noticeGroupList" :key="'email-type'+key.label" :label="key.label" :value="key.value" />
|
|
|
</el-select>
|
|
|
- <el-select v-show="item.type===1" v-model="item.teams" placeholder="请选择" size="small" :multiple="true">
|
|
|
+ <el-select v-show="item.type===1" v-model="item.teams" placeholder="请选择" size="small" :multiple="true" :disabled="disabled">
|
|
|
<el-option v-for="key in teamList" :key="'email-team'+key.teamId" :label="key.teamName" :value="key.teamId" />
|
|
|
</el-select>
|
|
|
- <search-people v-show="item.type===2" :value.sync="item.customStaffs" :clearable="false" :multiple="true" />
|
|
|
- <i v-if="index!==0" class="el-icon-remove-outline" @click="removeMembers(EmailList,index)" />
|
|
|
+ <search-people v-show="item.type===2" :value.sync="item.customStaffs" :clearable="false" :multiple="true" :disabled="disabled" />
|
|
|
+ <i v-if="index!==0 && !disabled" class="el-icon-remove-outline" @click="removeMembers(EmailList,index)" />
|
|
|
</el-form-item>
|
|
|
- <div v-show="noticeList.Email" class="add-notice" @click="addMembers(EmailList)"><i class="el-icon-circle-plus-outline" /> 添加人群</div>
|
|
|
+ <div v-show="noticeList.Email && !disabled" class="add-notice" @click="addMembers(EmailList)"><i class="el-icon-circle-plus-outline" /> 添加人群</div>
|
|
|
<!-- DChart系统方式 -->
|
|
|
- <el-checkbox v-model="noticeList.DChart" class="notice-check">DChart系统通知</el-checkbox>
|
|
|
+ <el-checkbox v-model="noticeList.DChart" class="notice-check" :disabled="disabled">DChart系统通知</el-checkbox>
|
|
|
<el-form-item v-for="(item,index) in DChartList" :key="'DChart'+index" :label="index===0?'通知人群':''">
|
|
|
- <el-select v-model="item.type" placeholder="请选择" size="small" class="condition-select" @change="changeNoticeType(item)">
|
|
|
+ <el-select v-model="item.type" placeholder="请选择" size="small" class="condition-select" :disabled="disabled" @change="changeNoticeType(item)">
|
|
|
<el-option v-for="key in noticeGroupList" :key="'DChart-type'+key.label" :label="key.label" :value="key.value" />
|
|
|
</el-select>
|
|
|
- <el-select v-show="item.type===1" v-model="item.teams" placeholder="请选择" size="small" :multiple="true">
|
|
|
+ <el-select v-show="item.type===1" v-model="item.teams" placeholder="请选择" size="small" :multiple="true" :disabled="disabled">
|
|
|
<el-option v-for="key in teamList" :key="'DChart-team'+key.teamId" :label="key.teamName" :value="key.teamId" />
|
|
|
</el-select>
|
|
|
- <search-people v-show="item.type===2" :value.sync="item.customStaffs" :clearable="false" :multiple="true" />
|
|
|
- <i v-if="index!==0" class="el-icon-remove-outline" @click="removeMembers(DChartList,index)" />
|
|
|
+ <search-people v-show="item.type===2" :value.sync="item.customStaffs" :clearable="false" :multiple="true" :disabled="disabled" />
|
|
|
+ <i v-if="index!==0 && !disabled" class="el-icon-remove-outline" @click="removeMembers(DChartList,index)" />
|
|
|
</el-form-item>
|
|
|
- <div v-show="noticeList.DChart" class="add-notice" @click="addMembers(DChartList)"><i class="el-icon-circle-plus-outline" /> 添加人群</div>
|
|
|
+ <div v-show="noticeList.DChart && !disabled" class="add-notice" @click="addMembers(DChartList)"><i class="el-icon-circle-plus-outline" /> 添加人群</div>
|
|
|
<!-- DChart群方式 -->
|
|
|
- <el-checkbox v-model="noticeList.Group" class="notice-check">DChart群通知</el-checkbox>
|
|
|
- <div v-show="noticeList.Group" class="add-condition">
|
|
|
+ <el-checkbox v-model="noticeList.Group" class="notice-check" :disabled="disabled">DChart群通知</el-checkbox>
|
|
|
+ <div v-show="noticeList.Group && !disabled" class="add-condition">
|
|
|
<ul v-show="GroupList.length>0" class="group-list">
|
|
|
<li v-for="(item,index) in GroupList" :key="'gourp-item'+ index" class="group-item">
|
|
|
<div>{{ item.name }}</div>
|
|
@@ -145,6 +148,7 @@
|
|
|
placeholder="任意时间点"
|
|
|
size="small"
|
|
|
value-format="HH:mm:ss"
|
|
|
+ :disabled="disabled"
|
|
|
/>
|
|
|
</div>
|
|
|
</article>
|
|
@@ -181,6 +185,11 @@ export default {
|
|
|
type: String,
|
|
|
default: 'require', // 需求:require,任务:task
|
|
|
required: false
|
|
|
+ },
|
|
|
+ disabled: {// 查看状态,不可修改
|
|
|
+ type: Boolean,
|
|
|
+ default: false,
|
|
|
+ required: false
|
|
|
}
|
|
|
},
|
|
|
data() {
|
|
@@ -274,6 +283,8 @@ export default {
|
|
|
handler(newV, oldV) {
|
|
|
if (newV) {
|
|
|
if (this.EmailList.length === 0) this.EmailList.push({ types: 0, member: false, teams: [], customStaffs: [] })
|
|
|
+ } else {
|
|
|
+ this.EmailList = []
|
|
|
}
|
|
|
}
|
|
|
},
|
|
@@ -281,6 +292,8 @@ export default {
|
|
|
handler(newV, oldV) {
|
|
|
if (newV) {
|
|
|
if (this.DChartList.length === 0) this.DChartList.push({ types: 0, member: false, teams: [], customStaffs: [] })
|
|
|
+ } else {
|
|
|
+ this.DChartList = []
|
|
|
}
|
|
|
}
|
|
|
}
|