| 
							
							
							
						 |  |  | @@ -1,5 +1,5 @@ | 
		
	
		
			
				|  |  |  |  | <template> | 
		
	
		
			
				|  |  |  |  |   <ai-detail v-if="pageShow"> | 
		
	
		
			
				|  |  |  |  |   <ai-detail v-if="pageShow" class="add-form"> | 
		
	
		
			
				|  |  |  |  |     <template #title> | 
		
	
		
			
				|  |  |  |  |       <ai-title :title="params.id ? '编辑'+colData.applicationName : '新增' + colData.applicationName" isShowBottomBorder | 
		
	
		
			
				|  |  |  |  |                 isShowBack @onBackClick="onBack(true)"></ai-title> | 
		
	
	
		
			
				
					
					|  |  |  | @@ -13,72 +13,96 @@ | 
		
	
		
			
				|  |  |  |  |               <el-form-item :label="item.fieldName" :prop="item.fieldDbName" style="width: 100%"> | 
		
	
		
			
				|  |  |  |  |                 <!-- 字典下拉选择 --> | 
		
	
		
			
				|  |  |  |  |                 <template v-if="item.type == 'dict'"> | 
		
	
		
			
				|  |  |  |  |                   <ai-select v-model="formData[item.fieldDbName]" :placeholder="item.fieldName" :selectList="dict.getDict(item.dict)" :disabled="item.disable == 1" /> | 
		
	
		
			
				|  |  |  |  |                   <ai-select v-model="formData[item.fieldDbName]" :placeholder="item.fieldName" :selectList="dict.getDict(item.dict)" :disabled="item.disable == 1 || !!(formData.resident_id && item.isInit)" /> | 
		
	
		
			
				|  |  |  |  |                 </template> | 
		
	
		
			
				|  |  |  |  |                 <!-- 单选radio --> | 
		
	
		
			
				|  |  |  |  |                 <template v-else-if="item.type == 'radio'"> | 
		
	
		
			
				|  |  |  |  |                   <el-radio-group v-model="formData[item.fieldDbName]" :disabled="item.disable == 1"> | 
		
	
		
			
				|  |  |  |  |                   <el-radio-group v-model="formData[item.fieldDbName]" :disabled="item.disable == 1 || !!(formData.resident_id && item.isInit)"> | 
		
	
		
			
				|  |  |  |  |                     <el-radio :label="item.dictValue" v-for="(item, i) in dict.getDict(item.dict)" :key="i">{{ item.dictName }}</el-radio> | 
		
	
		
			
				|  |  |  |  |                   </el-radio-group> | 
		
	
		
			
				|  |  |  |  |                 </template> | 
		
	
		
			
				|  |  |  |  |                 <!-- 开关onOff --> | 
		
	
		
			
				|  |  |  |  |                 <template v-else-if="item.type == 'onOff'"> | 
		
	
		
			
				|  |  |  |  |                   <el-switch v-model="formData[item.fieldDbName]" active-color="#26f" inactive-color="#ddd" active-value="1" inactive-value="0" :disabled="item.disable == 1"></el-switch> | 
		
	
		
			
				|  |  |  |  |                   <el-switch v-model="formData[item.fieldDbName]" active-color="#26f" inactive-color="#ddd" active-value="1" inactive-value="0" :disabled="item.disable == 1 || !!(formData.resident_id && item.isInit)"></el-switch> | 
		
	
		
			
				|  |  |  |  |                 </template> | 
		
	
		
			
				|  |  |  |  |                 <!-- 多选checkbox --> | 
		
	
		
			
				|  |  |  |  |                 <template v-else-if="item.type == 'checkbox'"> | 
		
	
		
			
				|  |  |  |  |                   <el-checkbox-group v-model="formData[item.fieldDbName]" :disabled="item.disable == 1"> | 
		
	
		
			
				|  |  |  |  |                   <el-checkbox-group v-model="formData[item.fieldDbName]" :disabled="item.disable == 1 || !!(formData.resident_id && item.isInit)"> | 
		
	
		
			
				|  |  |  |  |                     <el-checkbox v-for="(item, i) in dict.getDict(item.dict)" :label="item.dictValue" :key="i"> | 
		
	
		
			
				|  |  |  |  |                       {{ item.dictName }} | 
		
	
		
			
				|  |  |  |  |                     </el-checkbox> | 
		
	
		
			
				|  |  |  |  |                   </el-checkbox-group> | 
		
	
		
			
				|  |  |  |  |                 </template> | 
		
	
		
			
				|  |  |  |  |                 <!-- 身份证输入框 --> | 
		
	
		
			
				|  |  |  |  |                 <!-- 网格 --> | 
		
	
		
			
				|  |  |  |  |                 <template v-else-if="item.type === 'gird'"> | 
		
	
		
			
				|  |  |  |  |                   <el-input disabled :value="girdName" size="small" placeholder="请选择网格"> | 
		
	
		
			
				|  |  |  |  |                     <template slot="append"> | 
		
	
		
			
				|  |  |  |  |                       <el-button size="small" @click="showGrid = true" :disabled="!!(formData.resident_id && item.isInit)">选择网格</el-button> | 
		
	
		
			
				|  |  |  |  |                     </template> | 
		
	
		
			
				|  |  |  |  |                   </el-input> | 
		
	
		
			
				|  |  |  |  |                 </template> | 
		
	
		
			
				|  |  |  |  |                 <template v-else-if="item.type === 'resident'"> | 
		
	
		
			
				|  |  |  |  |                   <el-input | 
		
	
		
			
				|  |  |  |  |                     v-model="formData.name" | 
		
	
		
			
				|  |  |  |  |                     :placeholder="'请选择'+item.fieldName"> | 
		
	
		
			
				|  |  |  |  |                     <template slot="append"> | 
		
	
		
			
				|  |  |  |  |                       <ai-person-select | 
		
	
		
			
				|  |  |  |  |                         :instance="instance" | 
		
	
		
			
				|  |  |  |  |                         :url="'/app/appresident/list?areaId=' + user.info.areaId" | 
		
	
		
			
				|  |  |  |  |                         :isMultiple="false" dialogTitle="选择" @selectPerson="onChange"> | 
		
	
		
			
				|  |  |  |  |                         <template name="option" v-slot:option="{ item }"> | 
		
	
		
			
				|  |  |  |  |                           <span class="iconfont iconProlife">{{ item.name }}</span> | 
		
	
		
			
				|  |  |  |  |                           <ai-id mode="show" :show-eyes="false" :value="item.idNumber"/> | 
		
	
		
			
				|  |  |  |  |                         </template> | 
		
	
		
			
				|  |  |  |  |                       </ai-person-select> | 
		
	
		
			
				|  |  |  |  |                     </template> | 
		
	
		
			
				|  |  |  |  |                   </el-input> | 
		
	
		
			
				|  |  |  |  |                 </template> | 
		
	
		
			
				|  |  |  |  |                 <template v-else-if="item.type == 'idNumber'"> | 
		
	
		
			
				|  |  |  |  |                   <ai-id v-model="formData[item.fieldDbName]" :disabled="item.disable == 1" /> | 
		
	
		
			
				|  |  |  |  |                   <ai-id v-model="formData[item.fieldDbName]" :disabled="item.disable == 1 || !!(formData.resident_id && item.isInit)" /> | 
		
	
		
			
				|  |  |  |  |                 </template> | 
		
	
		
			
				|  |  |  |  |                 <!-- input输入框 --> | 
		
	
		
			
				|  |  |  |  |                 <template v-else-if="item.type == 'input' || item.type == 'name' || item.type == 'phone'"> | 
		
	
		
			
				|  |  |  |  |                   <el-input v-model="formData[item.fieldDbName]" :placeholder="'请输入'+item.fieldName" clearable :disabled="item.disable == 1" | 
		
	
		
			
				|  |  |  |  |                   <el-input v-model="formData[item.fieldDbName]" :placeholder="'请输入'+item.fieldName" clearable :disabled="item.disable == 1 || !!(formData.resident_id && item.isInit)" | 
		
	
		
			
				|  |  |  |  |                             :maxlength="item.maxLength" show-word-limit></el-input> | 
		
	
		
			
				|  |  |  |  |                 </template> | 
		
	
		
			
				|  |  |  |  |                 <!-- number 输入框 --> | 
		
	
		
			
				|  |  |  |  |                 <template v-else-if="item.type == 'number'"> | 
		
	
		
			
				|  |  |  |  |                   <el-input-number v-model="formData[item.fieldDbName]" :label="'请输入'+item.fieldName" :disabled="item.disable == 1" :precision="item.decimalPlaces" :max="item.maxValue" :min="item.minValue"></el-input-number> | 
		
	
		
			
				|  |  |  |  |                   <el-input-number v-model="formData[item.fieldDbName]" :label="'请输入'+item.fieldName" :disabled="item.disable == 1 || !!(formData.resident_id && item.isInit)" :precision="item.decimalPlaces" :max="item.maxValue" :min="item.minValue"></el-input-number> | 
		
	
		
			
				|  |  |  |  |                 </template> | 
		
	
		
			
				|  |  |  |  |                 <!-- textarea输入框 --> | 
		
	
		
			
				|  |  |  |  |                 <template v-else-if="item.type == 'textarea' || item.type == 'text'"> | 
		
	
		
			
				|  |  |  |  |                   <el-input v-model="formData[item.fieldDbName]" :placeholder="'请输入'+item.fieldName" clearable :disabled="item.disable == 1" | 
		
	
		
			
				|  |  |  |  |                   <el-input v-model="formData[item.fieldDbName]" :placeholder="'请输入'+item.fieldName" clearable :disabled="item.disable == 1 || !!(formData.resident_id && item.isInit)" | 
		
	
		
			
				|  |  |  |  |                             :maxlength="item.maxLength" type="textarea" show-word-limit :rows="3"></el-input> | 
		
	
		
			
				|  |  |  |  |                 </template> | 
		
	
		
			
				|  |  |  |  |                 <!-- 日期选择 --> | 
		
	
		
			
				|  |  |  |  |                 <template v-else-if="item.type == 'date'"> | 
		
	
		
			
				|  |  |  |  |                   <el-date-picker v-model="formData[item.fieldDbName]" type="date" placeholder="请选择" :disabled="item.disable == 1" | 
		
	
		
			
				|  |  |  |  |                   <el-date-picker style="width: 100%;" v-model="formData[item.fieldDbName]" type="date" placeholder="请选择" :disabled="item.disable == 1 || !!(formData.resident_id && item.isInit)" | 
		
	
		
			
				|  |  |  |  |                                   :value-format="item.timePattern"></el-date-picker> | 
		
	
		
			
				|  |  |  |  |                 </template> | 
		
	
		
			
				|  |  |  |  |                 <!-- 日期带时分秒选择 --> | 
		
	
		
			
				|  |  |  |  |                 <template v-else-if="item.type == 'datetime'"> | 
		
	
		
			
				|  |  |  |  |                   <el-date-picker v-model="formData[item.fieldDbName]" type="datetime" placeholder="选择日期时间" :disabled="item.disable == 1" | 
		
	
		
			
				|  |  |  |  |                   <el-date-picker v-model="formData[item.fieldDbName]" type="datetime" placeholder="选择日期时间" :disabled="item.disable == 1 || !!(formData.resident_id && item.isInit)" | 
		
	
		
			
				|  |  |  |  |                                   :value-format="item.timePattern"></el-date-picker> | 
		
	
		
			
				|  |  |  |  |                 </template> | 
		
	
		
			
				|  |  |  |  |                 <!-- 时间-时分秒选择 --> | 
		
	
		
			
				|  |  |  |  |                 <template v-else-if="item.type == 'time'"> | 
		
	
		
			
				|  |  |  |  |                   <el-time-picker v-model="formData[item.fieldDbName]" placeholder="请选择" :disabled="item.disable == 1" | 
		
	
		
			
				|  |  |  |  |                   <el-time-picker v-model="formData[item.fieldDbName]" placeholder="请选择" :disabled="item.disable == 1 || !!(formData.resident_id && item.isInit)" | 
		
	
		
			
				|  |  |  |  |                                   :value-format="item.timePattern"></el-time-picker> | 
		
	
		
			
				|  |  |  |  |                 </template> | 
		
	
		
			
				|  |  |  |  |                 <!-- 附件 --> | 
		
	
		
			
				|  |  |  |  |                 <template v-else-if="item.type == 'upload'"> | 
		
	
		
			
				|  |  |  |  |                   <ai-uploader :instance="instance" isShowTip fileType="file" v-model="formData[item.fieldDbName]" :disabled="item.disable == 1" | 
		
	
		
			
				|  |  |  |  |                   <ai-uploader :instance="instance" isShowTip fileType="file" v-model="formData[item.fieldDbName]" :disabled="item.disable == 1 || !!(formData.resident_id && item.isInit)" | 
		
	
		
			
				|  |  |  |  |                                acceptType=".zip,.rar,.doc,.docx,.xls,.ppt,.pptx,.pdf,.txt,.jpg,.png,.xlsx" | 
		
	
		
			
				|  |  |  |  |                                :limit="item.fileMaxCount" :maxSize="item.fileChoseSize"></ai-uploader> | 
		
	
		
			
				|  |  |  |  |                 </template> | 
		
	
		
			
				|  |  |  |  |                 <!-- 富文本 --> | 
		
	
		
			
				|  |  |  |  |                 <template v-else-if="item.type == 'rtf'"> | 
		
	
		
			
				|  |  |  |  |                   <ai-editor v-model="formData[item.fieldDbName]" :instance="instance"/> | 
		
	
		
			
				|  |  |  |  |                   <ai-editor v-model="formData[item.fieldDbName]" :instance="instance" :disabled="item.disable == 1 || !!(formData.resident_id && item.isInit)"/> | 
		
	
		
			
				|  |  |  |  |                 </template> | 
		
	
		
			
				|  |  |  |  |                 <!-- 地区选择 --> | 
		
	
		
			
				|  |  |  |  |                 <template v-else-if="item.type == 'area'"> | 
		
	
		
			
				|  |  |  |  |                   <ai-area-get :instance="instance" v-model="formData[item.fieldDbName]" :name.sync="formData[item.fieldDbName +'_name']" :disabled="item.disable == 1"/> | 
		
	
		
			
				|  |  |  |  |                   <ai-area-get :instance="instance" v-model="formData[item.fieldDbName]" :name.sync="formData[item.fieldDbName +'_name']" :disabled="item.disable == 1 || !!(formData.resident_id && item.isInit)"/> | 
		
	
		
			
				|  |  |  |  |                 </template> | 
		
	
		
			
				|  |  |  |  |                 <!-- 人员选择 --> | 
		
	
		
			
				|  |  |  |  |                 <div class="especial" v-else-if="item.type == 'user'"> | 
		
	
	
		
			
				
					
					|  |  |  | @@ -92,6 +116,27 @@ | 
		
	
		
			
				|  |  |  |  |           </template> | 
		
	
		
			
				|  |  |  |  |         </ai-card> | 
		
	
		
			
				|  |  |  |  |       </el-form> | 
		
	
		
			
				|  |  |  |  |       <ai-dialog | 
		
	
		
			
				|  |  |  |  |         title="选择网格" | 
		
	
		
			
				|  |  |  |  |         :visible.sync="showGrid" | 
		
	
		
			
				|  |  |  |  |         :destroyOnClose="true" | 
		
	
		
			
				|  |  |  |  |           @close="showGrid = false" | 
		
	
		
			
				|  |  |  |  |           @onConfirm="getCheckedTree" | 
		
	
		
			
				|  |  |  |  |           width="720px"> | 
		
	
		
			
				|  |  |  |  |         <div class="grid"> | 
		
	
		
			
				|  |  |  |  |           <el-tree | 
		
	
		
			
				|  |  |  |  |             :data="treeObj.treeList" | 
		
	
		
			
				|  |  |  |  |             :props="treeObj.defaultProps" | 
		
	
		
			
				|  |  |  |  |             node-key="id" | 
		
	
		
			
				|  |  |  |  |             ref="tree" | 
		
	
		
			
				|  |  |  |  |             :check-strictly="true" | 
		
	
		
			
				|  |  |  |  |             show-checkbox | 
		
	
		
			
				|  |  |  |  |             :default-checked-keys="treeObj.checkedKeys" | 
		
	
		
			
				|  |  |  |  |             default-expand-all | 
		
	
		
			
				|  |  |  |  |             @check="onCheckChange"> | 
		
	
		
			
				|  |  |  |  |           </el-tree> | 
		
	
		
			
				|  |  |  |  |         </div> | 
		
	
		
			
				|  |  |  |  |       </ai-dialog> | 
		
	
		
			
				|  |  |  |  |     </template> | 
		
	
		
			
				|  |  |  |  |     <template #footer> | 
		
	
		
			
				|  |  |  |  |       <el-button class="delete-btn footer-btn" @click="onBack">取消</el-button> | 
		
	
	
		
			
				
					
					|  |  |  | @@ -115,14 +160,26 @@ export default { | 
		
	
		
			
				|  |  |  |  |   }, | 
		
	
		
			
				|  |  |  |  |   data() { | 
		
	
		
			
				|  |  |  |  |     return { | 
		
	
		
			
				|  |  |  |  |       formData: {}, | 
		
	
		
			
				|  |  |  |  |       formData: { | 
		
	
		
			
				|  |  |  |  |         age: 2 | 
		
	
		
			
				|  |  |  |  |       }, | 
		
	
		
			
				|  |  |  |  |       pickerOptions0: { | 
		
	
		
			
				|  |  |  |  |         disabledDate(time) { | 
		
	
		
			
				|  |  |  |  |           return time.getTime() < Date.now() - 8.64e7; | 
		
	
		
			
				|  |  |  |  |         } | 
		
	
		
			
				|  |  |  |  |       }, | 
		
	
		
			
				|  |  |  |  |       girdName: '', | 
		
	
		
			
				|  |  |  |  |       showGrid: false, | 
		
	
		
			
				|  |  |  |  |       formDataList: [], | 
		
	
		
			
				|  |  |  |  |       pageShow: false, | 
		
	
		
			
				|  |  |  |  |       pageShow: true, | 
		
	
		
			
				|  |  |  |  |       treeObj: { | 
		
	
		
			
				|  |  |  |  |         treeList: [], | 
		
	
		
			
				|  |  |  |  |         defaultProps: { | 
		
	
		
			
				|  |  |  |  |           children: "girdList", | 
		
	
		
			
				|  |  |  |  |           label: "girdName", | 
		
	
		
			
				|  |  |  |  |         }, | 
		
	
		
			
				|  |  |  |  |         checkedKeys: [], | 
		
	
		
			
				|  |  |  |  |       }, | 
		
	
		
			
				|  |  |  |  |       colData: {}, | 
		
	
		
			
				|  |  |  |  |       areaId: '' | 
		
	
		
			
				|  |  |  |  |     } | 
		
	
	
		
			
				
					
					|  |  |  | @@ -141,12 +198,77 @@ export default { | 
		
	
		
			
				|  |  |  |  |     } | 
		
	
		
			
				|  |  |  |  |   }, | 
		
	
		
			
				|  |  |  |  |   created() { | 
		
	
		
			
				|  |  |  |  |     this.getGridList() | 
		
	
		
			
				|  |  |  |  |     this.getFormData() | 
		
	
		
			
				|  |  |  |  |     if (this.params.id) { | 
		
	
		
			
				|  |  |  |  |       this.getDetail() | 
		
	
		
			
				|  |  |  |  |     }  | 
		
	
		
			
				|  |  |  |  |   }, | 
		
	
		
			
				|  |  |  |  |   methods: { | 
		
	
		
			
				|  |  |  |  |     getGridList() { | 
		
	
		
			
				|  |  |  |  |       this.instance.post(`/app/appgirdinfo/listAll`).then((res) => { | 
		
	
		
			
				|  |  |  |  |         if (res.code == 0) { | 
		
	
		
			
				|  |  |  |  |           this.treeObj.treeList = this.format(res.data) | 
		
	
		
			
				|  |  |  |  |           if (this.formData.girdId) { | 
		
	
		
			
				|  |  |  |  |             this.$set(this.treeObj, 'checkedKeys', [this.formData.girdId]) | 
		
	
		
			
				|  |  |  |  |           } | 
		
	
		
			
				|  |  |  |  |         } | 
		
	
		
			
				|  |  |  |  |       }) | 
		
	
		
			
				|  |  |  |  |     }, | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     onChange (e) { | 
		
	
		
			
				|  |  |  |  |       Object.keys(this.formData).forEach(item => { | 
		
	
		
			
				|  |  |  |  |         for (var p in e){ | 
		
	
		
			
				|  |  |  |  |           if (item === p) { | 
		
	
		
			
				|  |  |  |  |             this.$set(this.formData, item, e[item]) | 
		
	
		
			
				|  |  |  |  |           } | 
		
	
		
			
				|  |  |  |  |         } | 
		
	
		
			
				|  |  |  |  |       }) | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |       const idNumberInfo = this.idCardNoUtil.getIdCardInfo(e.idNumber) | 
		
	
		
			
				|  |  |  |  |       this.formData.resident_id = e.id | 
		
	
		
			
				|  |  |  |  |       this.$set(this.formData, 'birthDate', idNumberInfo.birthday) | 
		
	
		
			
				|  |  |  |  |       this.formData.photo = e.photo ? [{ | 
		
	
		
			
				|  |  |  |  |         url: e.photo | 
		
	
		
			
				|  |  |  |  |       }] : [] | 
		
	
		
			
				|  |  |  |  |     }, | 
		
	
		
			
				|  |  |  |  |     getCheckedTree() { | 
		
	
		
			
				|  |  |  |  |       const gird = this.$refs.tree.getCheckedNodes() | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |       if (gird.length) { | 
		
	
		
			
				|  |  |  |  |         this.girdName = gird[0].girdName | 
		
	
		
			
				|  |  |  |  |         this.formData.gird_id = gird[0].id | 
		
	
		
			
				|  |  |  |  |       } else { | 
		
	
		
			
				|  |  |  |  |         this.girdName = '' | 
		
	
		
			
				|  |  |  |  |         this.formData.gird_id = '' | 
		
	
		
			
				|  |  |  |  |       } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |       this.showGrid = false | 
		
	
		
			
				|  |  |  |  |     }, | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     onCheckChange (e) { | 
		
	
		
			
				|  |  |  |  |       this.$nextTick(() => { | 
		
	
		
			
				|  |  |  |  |         this.$refs.tree.getCheckedKeys().forEach(v => { | 
		
	
		
			
				|  |  |  |  |           this.$refs.tree.setChecked(v, false) | 
		
	
		
			
				|  |  |  |  |         }) | 
		
	
		
			
				|  |  |  |  |         this.$refs.tree.setChecked(e.id, true) | 
		
	
		
			
				|  |  |  |  |       }) | 
		
	
		
			
				|  |  |  |  |     }, | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     format (list) { | 
		
	
		
			
				|  |  |  |  |       return list.map(item => { | 
		
	
		
			
				|  |  |  |  |         if (item.girdLevel !== '2') { | 
		
	
		
			
				|  |  |  |  |           item.disabled = true | 
		
	
		
			
				|  |  |  |  |         } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |         if (item.girdList && item.girdList.length) { | 
		
	
		
			
				|  |  |  |  |           item.girdList = this.format(item.girdList) | 
		
	
		
			
				|  |  |  |  |         } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |         return item | 
		
	
		
			
				|  |  |  |  |       }) | 
		
	
		
			
				|  |  |  |  |     }, | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |     initForm(data) { | 
		
	
		
			
				|  |  |  |  |       this.colData = data | 
		
	
		
			
				|  |  |  |  |       let dictList = [] | 
		
	
	
		
			
				
					
					|  |  |  | @@ -184,6 +306,11 @@ export default { | 
		
	
		
			
				|  |  |  |  |             colItem.fieldValue = val | 
		
	
		
			
				|  |  |  |  |           } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |         } else if (item.type === 'upload') { | 
		
	
		
			
				|  |  |  |  |           colItem = { | 
		
	
		
			
				|  |  |  |  |             ...item, | 
		
	
		
			
				|  |  |  |  |             fieldValue: [] | 
		
	
		
			
				|  |  |  |  |           } | 
		
	
		
			
				|  |  |  |  |         } else if (item.type == 'onOff') { | 
		
	
		
			
				|  |  |  |  |           colItem = { | 
		
	
		
			
				|  |  |  |  |             ...item, | 
		
	
	
		
			
				
					
					|  |  |  | @@ -195,8 +322,10 @@ export default { | 
		
	
		
			
				|  |  |  |  |           colItem = { | 
		
	
		
			
				|  |  |  |  |             ...item, | 
		
	
		
			
				|  |  |  |  |             type: item.type, | 
		
	
		
			
				|  |  |  |  |             min: item.minValue || '', | 
		
	
		
			
				|  |  |  |  |             max: item.maxValue || '' | 
		
	
		
			
				|  |  |  |  |             min: item.minValue || 1, | 
		
	
		
			
				|  |  |  |  |             max: item.maxValue || 1000000000, | 
		
	
		
			
				|  |  |  |  |             minValue: item.minValue || 1, | 
		
	
		
			
				|  |  |  |  |             maxValue: item.maxValue || 1000000000 | 
		
	
		
			
				|  |  |  |  |           } | 
		
	
		
			
				|  |  |  |  |           if (!this.params.id) { | 
		
	
		
			
				|  |  |  |  |             colItem.fieldValue = Number(item.defaultValue) || 0 | 
		
	
	
		
			
				
					
					|  |  |  | @@ -222,7 +351,11 @@ export default { | 
		
	
		
			
				|  |  |  |  |         } | 
		
	
		
			
				|  |  |  |  |         // console.log(colItem) | 
		
	
		
			
				|  |  |  |  |         formList[item.groupIndex]?.push(colItem) || (formList[item.groupIndex] = [colItem]) | 
		
	
		
			
				|  |  |  |  |         this.$set(this.formData, colItem.fieldDbName, colItem.fieldValue || "") | 
		
	
		
			
				|  |  |  |  |         if (item.type === 'number') { | 
		
	
		
			
				|  |  |  |  |           this.$set(this.formData, item.fieldDbName, 1) | 
		
	
		
			
				|  |  |  |  |         } else { | 
		
	
		
			
				|  |  |  |  |           this.$set(this.formData, item.fieldDbName, colItem.fieldValue || '') | 
		
	
		
			
				|  |  |  |  |         } | 
		
	
		
			
				|  |  |  |  |       }) | 
		
	
		
			
				|  |  |  |  |       this.formDataList = Object.values(formList) | 
		
	
		
			
				|  |  |  |  |  | 
		
	
	
		
			
				
					
					|  |  |  | @@ -240,12 +373,21 @@ export default { | 
		
	
		
			
				|  |  |  |  |     getDetail() { | 
		
	
		
			
				|  |  |  |  |       this.instance.post(`/app/appapplicationinfo/queryDetailById?appId=${this.appId}&id=${this.params.id}`).then((res) => { | 
		
	
		
			
				|  |  |  |  |         if (res?.data) { | 
		
	
		
			
				|  |  |  |  |           this.formData = res.data | 
		
	
		
			
				|  |  |  |  |           this.configs.tableInfos.map((item) => { | 
		
	
		
			
				|  |  |  |  |             this.formData[item.fieldDbName] = res.data[item.fieldDbName] || '' | 
		
	
		
			
				|  |  |  |  |             if(item.type == 'checkbox') { | 
		
	
		
			
				|  |  |  |  |               var checkList = this.formData[item.fieldDbName]?.split(',') | 
		
	
		
			
				|  |  |  |  |               this.formData[item.fieldDbName] = checkList | 
		
	
		
			
				|  |  |  |  |             } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |             if (item.type === 'gird' && this.formData[item.fieldDbName]) { | 
		
	
		
			
				|  |  |  |  |               this.girdName = res.data.gird_id_name | 
		
	
		
			
				|  |  |  |  |               this.girdName = res.data.gird_id_name | 
		
	
		
			
				|  |  |  |  |             } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |             if (item.type === 'upload' && !this.formData[item.fieldDbName]) { | 
		
	
		
			
				|  |  |  |  |               this.formData[item.fieldDbName] = [] | 
		
	
		
			
				|  |  |  |  |             } | 
		
	
		
			
				|  |  |  |  |           }) | 
		
	
		
			
				|  |  |  |  |         } | 
		
	
		
			
				|  |  |  |  |       }) | 
		
	
	
		
			
				
					
					|  |  |  | @@ -264,12 +406,12 @@ export default { | 
		
	
		
			
				|  |  |  |  |                 if (items.type == 'checkbox' && this.formData[items.fieldDbName].length) { //多选 | 
		
	
		
			
				|  |  |  |  |                   this.formData[items.fieldDbName] = this.formData[items.fieldDbName]?.toString() | 
		
	
		
			
				|  |  |  |  |                 } | 
		
	
		
			
				|  |  |  |  |                 if (items.type == 'upload' && this.formData[items.fieldDbName].length) { //附件 只传id | 
		
	
		
			
				|  |  |  |  |                   var files = [] | 
		
	
		
			
				|  |  |  |  |                   this.formData[items.fieldDbName].map((item) => { | 
		
	
		
			
				|  |  |  |  |                     files.push(item.id) | 
		
	
		
			
				|  |  |  |  |                   }) | 
		
	
		
			
				|  |  |  |  |                   this.formData[items.fieldDbName] = files.join(',') | 
		
	
		
			
				|  |  |  |  |                 if (items.type == 'upload') { | 
		
	
		
			
				|  |  |  |  |                   this.formData[items.fieldDbName] = this.formData[items.fieldDbName].map(v => v.url).join(',') | 
		
	
		
			
				|  |  |  |  |                 } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  |                 if(items.type == 'gird' && this.formData[items.fieldDbName]) { | 
		
	
		
			
				|  |  |  |  |                   this.formData[items.fieldDbName] = this.formData[items.fieldDbName] + '_' + this.girdName | 
		
	
		
			
				|  |  |  |  |                 } | 
		
	
		
			
				|  |  |  |  |                 if(items.type == 'area' && this.formData[items.fieldDbName]) { | 
		
	
		
			
				|  |  |  |  |                   var area = [] | 
		
	
	
		
			
				
					
					|  |  |  | @@ -314,6 +456,19 @@ export default { | 
		
	
		
			
				|  |  |  |  |   vertical-align: top; | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | .add-form { | 
		
	
		
			
				|  |  |  |  |   ::v-deep .AiPersonSelect { | 
		
	
		
			
				|  |  |  |  |     .el-button { | 
		
	
		
			
				|  |  |  |  |       border-color: transparent; | 
		
	
		
			
				|  |  |  |  |     background-color: transparent; | 
		
	
		
			
				|  |  |  |  |     color: inherit; | 
		
	
		
			
				|  |  |  |  |     border-top: 0; | 
		
	
		
			
				|  |  |  |  |     border-bottom: 0; | 
		
	
		
			
				|  |  |  |  |     background: transparent; | 
		
	
		
			
				|  |  |  |  |     } | 
		
	
		
			
				|  |  |  |  |   } | 
		
	
		
			
				|  |  |  |  | } | 
		
	
		
			
				|  |  |  |  |  | 
		
	
		
			
				|  |  |  |  | .especial { | 
		
	
		
			
				|  |  |  |  |   margin-bottom: 12px; | 
		
	
		
			
				|  |  |  |  |  | 
		
	
	
		
			
				
					
					|  |  |  |   |