forked from mt-fe-group/mt-yd-ui
finish 基本完成dialog“
This commit is contained in:
parent
5d8f537d05
commit
cfec6ff3f5
@ -15,14 +15,22 @@
|
|||||||
v-if="getType(n, c) === 'input'"
|
v-if="getType(n, c) === 'input'"
|
||||||
:placeholder="configs.fields[(n - 1) * COLUMN_PER_ROW + (c - 1)].placeholder || '...'"
|
:placeholder="configs.fields[(n - 1) * COLUMN_PER_ROW + (c - 1)].placeholder || '...'"
|
||||||
v-model="dataForm[configs.fields[(n - 1) * COLUMN_PER_ROW + (c - 1)].name]"
|
v-model="dataForm[configs.fields[(n - 1) * COLUMN_PER_ROW + (c - 1)].name]"
|
||||||
|
clearable
|
||||||
/>
|
/>
|
||||||
<el-radio v-if="getType(n, c) === 'radio'"></el-radio>
|
<el-radio v-if="getType(n, c) === 'radio'" v-model="dataForm[configs.fields[(n - 1) * COLUMN_PER_ROW + (c - 1)].name]"></el-radio>
|
||||||
<el-checkbox v-if="getType(n, c) === 'check'"></el-checkbox>
|
<el-checkbox v-if="getType(n, c) === 'check'" v-model="dataForm[configs.fields[(n - 1) * COLUMN_PER_ROW + (c - 1)].name]"></el-checkbox>
|
||||||
<el-select v-if="getType(n, c) === 'select'" :placeholder="configs.fields[(n - 1) * COLUMN_PER_ROW + (c - 1)].placeholder || ''"></el-select>
|
<el-select
|
||||||
<el-switch v-if="getType(n, c) === 'switch'"></el-switch>
|
v-if="getType(n, c) === 'select'"
|
||||||
<el-cascader v-if="getType(n, c) === 'tree'"></el-cascader>
|
:placeholder="configs.fields[(n - 1) * COLUMN_PER_ROW + (c - 1)].placeholder || ''"
|
||||||
<el-time-select v-if="getType(n, c) === 'time'"></el-time-select>
|
v-model="dataForm[configs.fields[(n - 1) * COLUMN_PER_ROW + (c - 1)].name]"
|
||||||
<el-date-picker v-if="getType(n, c) === 'date'"></el-date-picker>
|
clearable
|
||||||
|
>
|
||||||
|
<el-option v-for="opt in configs.fields[(n - 1) * COLUMN_PER_ROW + (c - 1)].options" :key="opt.label" :value="opt.value" />
|
||||||
|
</el-select>
|
||||||
|
<el-switch v-if="getType(n, c) === 'switch'" v-model="dataForm[configs.fields[(n - 1) * COLUMN_PER_ROW + (c - 1)].name]"></el-switch>
|
||||||
|
<el-cascader v-if="getType(n, c) === 'tree'" v-model="dataForm[configs.fields[(n - 1) * COLUMN_PER_ROW + (c - 1)].name]"></el-cascader>
|
||||||
|
<el-time-select v-if="getType(n, c) === 'time'" v-model="dataForm[configs.fields[(n - 1) * COLUMN_PER_ROW + (c - 1)].name]"></el-time-select>
|
||||||
|
<el-date-picker v-if="getType(n, c) === 'date'" v-model="dataForm[configs.fields[(n - 1) * COLUMN_PER_ROW + (c - 1)].name]"></el-date-picker>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
</el-row>
|
</el-row>
|
||||||
@ -145,10 +153,10 @@ export default {
|
|||||||
/** 自动请求并填充 */
|
/** 自动请求并填充 */
|
||||||
this.$http({
|
this.$http({
|
||||||
url: this.$http.adornUrl(item.api),
|
url: this.$http.adornUrl(item.api),
|
||||||
methods: 'get'
|
method: 'POST' // 也可以改成动态决定
|
||||||
}).then(({ data: res }) => {
|
}).then(({ data: res }) => {
|
||||||
if (data & (data.code === 0)) {
|
if (res && res.code === 0) {
|
||||||
this.dataFrom[item.name] = res.data // <=== 此处需要对接口
|
this.dataForm[item.name] = res.data // <=== 此处需要对接口
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
} // end if (item.api)
|
} // end if (item.api)
|
||||||
@ -241,15 +249,51 @@ export default {
|
|||||||
this.visible = true
|
this.visible = true
|
||||||
},
|
},
|
||||||
handleClick(btn) {
|
handleClick(btn) {
|
||||||
switch (btn.name) {
|
this.$refs['dataForm'].validate(valid => {
|
||||||
case 'save':
|
if (valid) {
|
||||||
break
|
/** 提取url */
|
||||||
case 'update':
|
const urls = {}
|
||||||
break
|
this.configs.operations.map(item => {
|
||||||
case 'reset':
|
urls[item.name] = item.url
|
||||||
break
|
})
|
||||||
// add more..
|
/** 操作 */
|
||||||
}
|
switch (btn.name) {
|
||||||
|
case 'save':
|
||||||
|
case 'update':
|
||||||
|
this.$http({
|
||||||
|
url: this.$http.adornUrl(urls[btn.name]),
|
||||||
|
method: btn.name === 'save' ? 'POST' : 'PUT',
|
||||||
|
data: this.dataForm
|
||||||
|
}).then(({ data: res }) => {
|
||||||
|
if (data && data.code === 0) {
|
||||||
|
this.$message({
|
||||||
|
message: btn.name === 'save' ? '添加成功!' : '更新成功!',
|
||||||
|
type: 'success',
|
||||||
|
duration: 1500,
|
||||||
|
onClose() {
|
||||||
|
this.$emit('refreshDataList')
|
||||||
|
this.visible = false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
return
|
||||||
|
case 'reset':
|
||||||
|
for (const key of Object.keys(this.dataForm)) {
|
||||||
|
if (typeof this.dataForm[key] === 'string') {
|
||||||
|
this.dataForm[key] = ''
|
||||||
|
} else if (this.dataForm[key] instanceof Array) {
|
||||||
|
this.dataForm[key].splice(0)
|
||||||
|
} else {
|
||||||
|
this.dataForm[key] = null
|
||||||
|
}
|
||||||
|
}
|
||||||
|
console.log('after reset: ', JSON.stringify(this.dataForm))
|
||||||
|
break
|
||||||
|
// add more..
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
},
|
},
|
||||||
handleClose() {
|
handleClose() {
|
||||||
if (this.isAdd || this.isUpdated) this.$emit('refreshDataList')
|
if (this.isAdd || this.isUpdated) this.$emit('refreshDataList')
|
||||||
|
@ -100,7 +100,7 @@ const addOrUpdateConfigs = {
|
|||||||
'name',
|
'name',
|
||||||
{
|
{
|
||||||
name: 'code',
|
name: 'code',
|
||||||
api: 'xx/code'
|
api: '/monitoring/product/getCode'
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
name: 'processTime',
|
name: 'processTime',
|
||||||
|
Loading…
Reference in New Issue
Block a user