| | |
| | | return { value: DateFormatter.LongToDateTime(row.create_time) } |
| | | } |
| | | ``` |
| | | 7. 表åæç´¢é¡¹çº§è |
| | | ``` |
| | | { |
| | | type: 'select', |
| | | dataIndex: 'orgId', |
| | | label: '主ååä½', |
| | | placeholder: 'è¯·éæ©', |
| | | defaultValue: '', |
| | | options: [], |
| | | cascader: [{key:'orgDeptId',queryKey: 'parentId'}], |
| | | optionsConfig: { |
| | | label: 'label', |
| | | value: 'id', |
| | | url: SettingIplatform.apiBaseURL + '/base/dept/select/treeDept' |
| | | } |
| | | }, |
| | | { |
| | | type: 'select', |
| | | dataIndex: 'orgDeptId', |
| | | label: '主åé¨é¨', |
| | | placeholder: 'è¯·éæ©', |
| | | defaultValue: '', |
| | | // éæ©åä¼è§¦ååªäºé¡¹çå è½½ï¼æ¯æå¤ä¸ªï¼ parentId |
| | | // ä¼èªå¨å¨æå®é¡¹å ä¸{[dataIndex]: value}çç鿡件 |
| | | options: [], |
| | | optionsConfig: { |
| | | label: 'deptName', |
| | | value: 'id', |
| | | url: SettingIplatform.apiBaseURL + '/base/dept/selectDeptByParentId' |
| | | } |
| | | }, |
| | | ``` |
| | | |
| | |
| | | item: Object, |
| | | }, |
| | | created() { |
| | | if (this.item.type === 'select' && this.item.optionsConfig) { |
| | | if (this.$axios === undefined) { |
| | | console.error('请å
é
ç½®this.$axios'); |
| | | return; |
| | | } |
| | | request({ |
| | | url: this.item.optionsConfig.url, |
| | | method: 'get', |
| | | }).then((res) => { |
| | | const data = res || []; |
| | | this.item.options = []; |
| | | data.forEach((v) => { |
| | | this.item.options.push({ |
| | | label: v[this.item.optionsConfig.label || 'label'], |
| | | value: v[this.item.optionsConfig.value || 'value'], |
| | | }); |
| | | }); |
| | | }); |
| | | } |
| | | if (this.item.type === 'cascader' && this.item.optionsConfig) { |
| | | if (this.$axios === undefined) { |
| | | console.error('请å
é
ç½®this.$axios'); |
| | | return; |
| | | } |
| | | request({ |
| | | url: this.item.optionsConfig.url, |
| | | method: 'get', |
| | | }).then((res) => { |
| | | const data = res || []; |
| | | this.item.options = []; |
| | | this.item.options = data; |
| | | }); |
| | | } |
| | | if (this.item.type === 'tree-select' && this.item.optionsConfig) { |
| | | if (this.$axios === undefined) { |
| | | console.error('请å
é
ç½®this.$axios'); |
| | | return; |
| | | } |
| | | if (this.item.asyncLoad) { |
| | | this.asyncLoad({value: 0}).then((res) => { |
| | | this.treeData = res; |
| | | }); |
| | | } else { |
| | | this.asyncLoad({}).then((res) => { |
| | | this.treeData = res; |
| | | }); |
| | | } |
| | | } |
| | | this.initData({}) |
| | | }, |
| | | watch: { |
| | | value(v) { |
| | |
| | | }; |
| | | }, |
| | | methods: { |
| | | clearData() { |
| | | this.item.options = [] |
| | | this.treeData = [] |
| | | }, |
| | | initData(params) { |
| | | this.val = this.item.defaultValue |
| | | if (this.item.type === 'select' && this.item.optionsConfig) { |
| | | if (this.$axios === undefined) { |
| | | console.error('请å
é
ç½®this.$axios'); |
| | | return; |
| | | } |
| | | request({ |
| | | url: this.item.optionsConfig.url, |
| | | method: 'get', |
| | | params |
| | | }).then((res) => { |
| | | const data = res || []; |
| | | this.item.options = []; |
| | | data.forEach((v) => { |
| | | this.item.options.push({ |
| | | label: v[this.item.optionsConfig.label || 'label'], |
| | | value: v[this.item.optionsConfig.value || 'value'], |
| | | }); |
| | | }); |
| | | }); |
| | | } |
| | | if (this.item.type === 'cascader' && this.item.optionsConfig) { |
| | | if (this.$axios === undefined) { |
| | | console.error('请å
é
ç½®this.$axios'); |
| | | return; |
| | | } |
| | | request({ |
| | | url: this.item.optionsConfig.url, |
| | | method: 'get', |
| | | params |
| | | }).then((res) => { |
| | | const data = res || []; |
| | | this.item.options = []; |
| | | this.item.options = data; |
| | | }); |
| | | } |
| | | if (this.item.type === 'tree-select' && this.item.optionsConfig) { |
| | | if (this.$axios === undefined) { |
| | | console.error('请å
é
ç½®this.$axios'); |
| | | return; |
| | | } |
| | | if (this.item.asyncLoad) { |
| | | params.value = 0 |
| | | this.asyncLoad(params).then((res) => { |
| | | this.treeData = res; |
| | | }); |
| | | } else { |
| | | this.asyncLoad(params).then((res) => { |
| | | this.treeData = res; |
| | | }); |
| | | } |
| | | } |
| | | }, |
| | | panelChange(v, type) { |
| | | var info = null |
| | | if (v && this.item.type !== 'date-time-picker') { |
| | |
| | | <div class="table-page-search-wrapper" style="padding: 0 10px 10px 10px"> |
| | | <el-form :model="form" inline ref="formData" size="small"> |
| | | <el-form-item :label="item.label" :prop="item.dataIndex" v-for="(item, i) in myItems1" :key="i"> |
| | | <search-item :item="item" @change="formChange($event, i)" :value="item.value" /> |
| | | <search-item :ref="item.dataIndex" :item="item" @change="formChange($event, i)" :value="item.value" /> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <div class="table-page-search-submitButtons"> |
| | |
| | | }); |
| | | }, |
| | | formChange(e, i) { |
| | | const item = this.items[i] |
| | | if(item.cascader&&item.cascader.length>0){ |
| | | item.cascader.map(obj=>{ |
| | | const st = this.$refs[obj.key] |
| | | if(st&&st[0]){ |
| | | |
| | | if(!e){ |
| | | st[0].clearData() |
| | | let cur = this.items.find(t=>t.dataIndex==obj.key) |
| | | cur.value = '' |
| | | this.form[cur.dataIndex] = ''; |
| | | // this.$set |
| | | }else{ |
| | | st[0].initData({ |
| | | [obj.queryKey]: e |
| | | }) |
| | | } |
| | | |
| | | } |
| | | }) |
| | | } |
| | | this.form[this.items[i].dataIndex] = e; |
| | | this.items[i].value = e; |
| | | this.$forceUpdate(); |