秀山需求变更完成
This commit is contained in:
		| @@ -59,9 +59,7 @@ | ||||
|                       <ai-title :title="index"/> | ||||
|                       <el-form-item v-for="e in item" :key="e.id" :label="[e.fieldName,e.fieldNameSuffix].join('')"> | ||||
|                         <el-input :value="getFieldValue(e)" readonly style="width: 100%;" | ||||
|                                   v-if="e.fieldDataType!=5 && e.fieldDataType!=10"/> | ||||
|                         <el-input :value="getAreaName(e)" readonly style="width: 100%;" | ||||
|                                   v-else-if="e.fieldDataType==10"/> | ||||
|                                   v-if="e.fieldDataType!=5"/> | ||||
|                         <el-checkbox-group v-else v-model="!e.fieldValue ? '' : String(e.fieldValue).split(',')"> | ||||
|                           <el-checkbox :label="val.dictValue" disabled | ||||
|                                        v-for="(val,idx) in dict.getDict(e.dictionaryCode)" :key="idx">{{ val.dictName }} | ||||
| @@ -151,7 +149,7 @@ | ||||
|                             <div v-for="(m,i) in item.candidateFieldInfos" :key="i" style="margin-left: 10px;"> | ||||
|                               <div class="desc_div">{{ m.fieldName }} | ||||
|                                 <span v-if="m.fieldNameSuffix" v-text="m.fieldNameSuffix"/> | ||||
|                                 :{{m.dictionaryCode ? dict.getLabel(m.dictionaryCode, m.fieldValue) : m.fieldValue }} | ||||
|                                 :{{ m.dictionaryCode ? dict.getLabel(m.dictionaryCode, m.fieldValue) : m.fieldValue }} | ||||
|                               </div> | ||||
|                             </div> | ||||
|                           </li> | ||||
| @@ -222,7 +220,7 @@ | ||||
|                         :prop="`fieldInfos.${i}.fieldValue`" | ||||
|                         :rules="{required:op.mustFill==1,message:`请输入${op.fieldName}`}"> | ||||
|             <el-input placeholder="请输入..." v-model.number="op.fieldValue" | ||||
|                       clearable v-if="op.fieldDataType=='0'"  show-word-limit :maxlength="op.fieldLength"/> | ||||
|                       clearable v-if="op.fieldDataType=='0'" show-word-limit :maxlength="op.fieldLength"/> | ||||
|  | ||||
|             <el-input type="textarea" :rows="3" placeholder="请输入..." v-model.trim="op.fieldValue" | ||||
|                       clearable v-if="op.fieldDataType=='1'" show-word-limit | ||||
|   | ||||
| @@ -13,9 +13,7 @@ | ||||
|         </el-tabs> | ||||
|       </template> | ||||
|     </ai-list> | ||||
|     <component v-else :is="currentComp" :instance="instance" :dict="dict" | ||||
|                :processType="currentTab.value" :row="row" @back="back" /> | ||||
|  | ||||
|     <component v-else :is="currentComp" :instance="instance" :dict="dict" :processType="currentTab.value" :row="row" @back="back"/> | ||||
|   </section> | ||||
| </template> | ||||
|  | ||||
| @@ -27,7 +25,7 @@ import guidance from "./components/guidance"; | ||||
| export default { | ||||
|   name: "AppMattersConfig", | ||||
|   label: '事项配置(秀山)', | ||||
|   components: {addConfig,guidance}, | ||||
|   components: {addConfig, guidance}, | ||||
|   props: { | ||||
|     instance: Function, | ||||
|     dict: Object, | ||||
| @@ -61,7 +59,7 @@ export default { | ||||
|       this.$router.push({query: {processType: this.currentTab.value}}) | ||||
|     }, | ||||
|  | ||||
|     back () { | ||||
|     back() { | ||||
|       this.$router.push({query: {}}) | ||||
|     } | ||||
|   }, | ||||
|   | ||||
| @@ -17,7 +17,7 @@ | ||||
|           <el-form-item :label="[e.fieldName,e.fieldNameSuffix].join('')" v-for="(e,j) in item.value" | ||||
|                         :key="Math.random()"> | ||||
|             <el-input size="small" v-model="form.checkbox" :disabled="true" clearable placeholder="请输入" | ||||
|                       style="width: 100%;" v-if="['0','1','6'].includes(e.fieldDataType)"/> | ||||
|                       style="width: 100%;" v-if="['0','1','6','10'].includes(e.fieldDataType)"/> | ||||
|  | ||||
|             <el-radio-group style="width: 100%;" v-if="e.fieldDataType==4" disabled> | ||||
|               <el-radio :label="k.dictValue" v-for="(k,m) in dict.getDict(e.dictionaryCode)" :key="Math.random()"> | ||||
| @@ -30,8 +30,7 @@ | ||||
|                            :key="Math.random()"></el-checkbox> | ||||
|             </el-checkbox-group> | ||||
|  | ||||
|             <el-select placeholder="请选择" disabled size="small" clearable style="width: 100%;" | ||||
|                        v-if="e.fieldDataType==9" v-model="e.fieldDataValue"> | ||||
|             <el-select placeholder="请选择" disabled size="small" clearable style="width: 100%;" v-if="e.fieldDataType==9"> | ||||
|               <el-option | ||||
|                   v-for="(item,i) in dict.getDict(e.fieldDbName)" :key="i" | ||||
|                   :label="item.dictName" | ||||
| @@ -108,7 +107,7 @@ export default { | ||||
|             this.form.approvalSteps = res.data.approvalSteps | ||||
|             res.data.tableFieldInfos.map((item, index) => { | ||||
|               if (item.fieldType == 0) { | ||||
|                 if(item.dictionaryCode && dictionaryCodeArr.indexOf(item.dictionaryCode)==-1){ | ||||
|                 if (item.dictionaryCode && dictionaryCodeArr.indexOf(item.dictionaryCode) == -1) { | ||||
|                   dictionaryCodeArr.push(item.dictionaryCode) | ||||
|                 } | ||||
|                 let {groupIndex, groupName} = item | ||||
| @@ -121,11 +120,11 @@ export default { | ||||
|                 arr[groupIndex].value.push({...item}) | ||||
|               } | ||||
|             }) | ||||
|             if(dictionaryCodeArr.length){ | ||||
|               this.$dict.load(dictionaryCodeArr).then(()=>{ | ||||
|             if (dictionaryCodeArr.length) { | ||||
|               this.$dict.load(dictionaryCodeArr).then(() => { | ||||
|                 this.tablelist = arr.filter(e => e) | ||||
|               }) | ||||
|             }else { | ||||
|             } else { | ||||
|               this.tablelist = arr.filter(e => e) | ||||
|             } | ||||
|           } | ||||
| @@ -192,7 +191,8 @@ export default { | ||||
|         margin-left: 24px !important; | ||||
|       } | ||||
|     } | ||||
|     ::v-deep .el-radio{ | ||||
|  | ||||
|     ::v-deep .el-radio { | ||||
|       margin-bottom: 6px; | ||||
|     } | ||||
|   } | ||||
|   | ||||
| @@ -55,14 +55,14 @@ | ||||
|                         v-if="item.candidateApproverType==1"> | ||||
|                 <el-button size="mini" type="primary">选择指定人员</el-button> | ||||
|               </ai-people> --> | ||||
|                | ||||
|  | ||||
|               <!-- <ai-user-picker :instance="instance" v-model="form.portalUserId"/> --> | ||||
|               <ai-person-select | ||||
|                 :chooseUserList="item.candidateList" | ||||
|                 v-if="item.candidateApproverType==1" | ||||
|                 :instance="instance" customRightText url="/user/page" | ||||
|                 headerTitle="人员列表" dialogTitle="选择" :isMultiple="true" | ||||
|                 @selectPerson="e => changeCharge(e, index)"> | ||||
|                   :chooseUserList="item.candidateList" | ||||
|                   v-if="item.candidateApproverType==1" | ||||
|                   :instance="instance" customRightText url="/user/page" | ||||
|                   headerTitle="人员列表" dialogTitle="选择" :isMultiple="true" | ||||
|                   @selectPerson="e => changeCharge(e, index)"> | ||||
|                 <template v-slot:option="{ item }"> | ||||
|                   <span class="iconfont iconProlife">{{ item.name }}</span> | ||||
|                   <span>{{ item.phone }}</span> | ||||
| @@ -75,41 +75,58 @@ | ||||
|     </ai-card> | ||||
|     <el-dialog :title="titleType" class="editStyle" :visible.sync="isAddStep" width="575px" height="380px" | ||||
|                :close-on-click-modal="false"> | ||||
|       <el-form :model="nodeObj" label-width="120px" ref="addForm" :rules="addRules"> | ||||
|         <el-form-item label="审批步骤名称:" prop="nodeName"> | ||||
|           <el-input size="small" v-model="nodeObj.nodeName" placeholder="如:部门主管审批(限10个字)" :maxLength="10" | ||||
|                     clearable></el-input> | ||||
|       <el-form size="small" :model="nodeObj" label-width="120px" ref="addForm" :rules="addRules"> | ||||
|         <el-form-item label="审批步骤名称" prop="nodeName"> | ||||
|           <el-input v-model="nodeObj.nodeName" placeholder="如:部门主管审批(限10个字)" :maxLength="10" | ||||
|                     clearable/> | ||||
|         </el-form-item> | ||||
|         <el-form-item label="审批方式:" prop="nodeType"> | ||||
|         <el-form-item label="审批方式" prop="nodeType"> | ||||
|           <el-radio-group v-model="nodeObj.nodeType"> | ||||
|             <section style="position: relative;top: 10px;margin-bottom: 30px;"> | ||||
|               <el-radio :label="2">或签 | ||||
|                 <el-popover | ||||
|                     placement="top-start" | ||||
|                     width="200" | ||||
|                     trigger="click" | ||||
|                     content="或签是指该节点指定多名负责人审批时,其中任何一人完成审批即可。适合一个事项只需要某个岗位任何一人审批即可的业务场景。"> | ||||
|                   <el-button class="el-icon-warning" slot="reference" | ||||
|                              style="padding:0;height:14px;border:0;"></el-button> | ||||
|                 </el-popover> | ||||
|               </el-radio> | ||||
|               <el-radio :label="3">抄送 | ||||
|                 <el-popover | ||||
|                     placement="top-start" | ||||
|                     width="200" | ||||
|                     trigger="click" | ||||
|                     content="抄送是指一个事项审批完成后,抄送给需要知晓的单位或个人,被抄送的对象可以查阅该事项内容,无需审批。适合一个事项无需对方审批,但审批完成后需要通知对方知晓的业务场景。"> | ||||
|                   <el-button class="el-icon-warning" slot="reference" | ||||
|                              style="padding:0;height:14px;border:0;"></el-button> | ||||
|                 </el-popover> | ||||
|               </el-radio> | ||||
|             </section> | ||||
|             <el-radio :label="2">或签 | ||||
|               <el-popover | ||||
|                   placement="top-start" | ||||
|                   width="200" | ||||
|                   trigger="click" | ||||
|                   content="或签是指该节点指定多名负责人审批时,其中任何一人完成审批即可。适合一个事项只需要某个岗位任何一人审批即可的业务场景。"> | ||||
|                 <el-button class="el-icon-warning" slot="reference" | ||||
|                            style="padding:0;height:14px;border:0;"></el-button> | ||||
|               </el-popover> | ||||
|             </el-radio> | ||||
|             <el-radio :label="3">抄送 | ||||
|               <el-popover | ||||
|                   placement="top-start" | ||||
|                   width="200" | ||||
|                   trigger="click" | ||||
|                   content="抄送是指一个事项审批完成后,抄送给需要知晓的单位或个人,被抄送的对象可以查阅该事项内容,无需审批。适合一个事项无需对方审批,但审批完成后需要通知对方知晓的业务场景。"> | ||||
|                 <el-button class="el-icon-warning" slot="reference" | ||||
|                            style="padding:0;height:14px;border:0;"></el-button> | ||||
|               </el-popover> | ||||
|             </el-radio> | ||||
|           </el-radio-group> | ||||
|         </el-form-item> | ||||
|         <el-form-item label="数据权限" prop="areaFilter"> | ||||
|           <el-radio-group v-model="nodeObj.areaFilter"> | ||||
|             <el-radio :label="0">不限 | ||||
|               <el-popover placement="top-start" width="200" trigger="click" content="审批人员可查看全部申报事项"> | ||||
|                 <el-button class="el-icon-warning" slot="reference" style="padding:0;height:14px;border:0;"/> | ||||
|               </el-popover> | ||||
|             </el-radio> | ||||
|             <el-radio :label="1">村社区 | ||||
|               <el-popover placement="top-start" width="200" trigger="click" content="审批人员可查看本村申报事项"> | ||||
|                 <el-button class="el-icon-warning" slot="reference" style="padding:0;height:14px;border:0;"/> | ||||
|               </el-popover> | ||||
|             </el-radio> | ||||
|             <el-radio :label="2">镇街 | ||||
|               <el-popover placement="top-start" width="200" trigger="click" content="审批人员可查看本镇申报事项"> | ||||
|                 <el-button class="el-icon-warning" slot="reference" style="padding:0;height:14px;border:0;"/> | ||||
|               </el-popover> | ||||
|             </el-radio> | ||||
|           </el-radio-group> | ||||
|         </el-form-item> | ||||
|       </el-form> | ||||
|       <div slot="footer" style="text-align: center;"> | ||||
|         <el-button style="width: 92px;" size="small" @click="isAddStep = false">取消</el-button> | ||||
|         <el-button style="width: 92px;" size="small" type="primary" @click="saveAddProgress('addForm')">确认 | ||||
|         <el-button style="width: 92px;" size="small" type="primary" @click="saveAddProgress">确认 | ||||
|         </el-button> | ||||
|       </div> | ||||
|     </el-dialog> | ||||
| @@ -157,9 +174,8 @@ export default { | ||||
|         nodeName: [ | ||||
|           {required: true, message: '请输入审批节点名称', trigger: 'change'} | ||||
|         ], | ||||
|         nodeType: [ | ||||
|           {required: true, message: '请选择审批方式', trigger: 'change'} | ||||
|         ], | ||||
|         nodeType: [{required: true, message: '请选择审批方式', trigger: 'change'}], | ||||
|         areaFilter: [{required: true, message: '请选择数据权限'}], | ||||
|         candidateApproverType: [ | ||||
|           {required: true, message: '请选择选人方式', trigger: 'change'} | ||||
|         ], | ||||
| @@ -183,7 +199,7 @@ export default { | ||||
|       }) | ||||
|     }, | ||||
|  | ||||
|     changeCharge (e, i) { | ||||
|     changeCharge(e, i) { | ||||
|       this.$set(this.form.processNodeList[i], 'candidateList', e.map(v => { | ||||
|         return { | ||||
|           ...v, | ||||
| @@ -204,6 +220,7 @@ export default { | ||||
|       if (index == 2) { | ||||
|         this.titleType = '编辑审批步骤'; | ||||
|         item.nodeType = item.nodeType * 1; | ||||
|         item.areaFilter = item.areaFilter * 1; | ||||
|         item.candidateApproverType = item.candidateApproverType * 1; | ||||
|         item.scopeCandidates = item.scopeCandidates * 1; | ||||
|         this.nodeObj = JSON.parse(JSON.stringify(item)); | ||||
| @@ -215,8 +232,8 @@ export default { | ||||
|       } | ||||
|     }, | ||||
|     // 确定添加审批步骤 | ||||
|     saveAddProgress(formName) { | ||||
|       this.$refs[formName].validate((valid) => { | ||||
|     saveAddProgress() { | ||||
|       this.$refs.addForm.validate((valid) => { | ||||
|         if (valid) { | ||||
|           if (this.nodeObj.scopeCandidates == 0) this.nodeObj.candidateList = []; | ||||
|           if (this.indexType == 1) { | ||||
| @@ -224,7 +241,7 @@ export default { | ||||
|           } else { | ||||
|             this.form.processNodeList.splice(this.bomIndex, 1, JSON.parse(JSON.stringify(this.nodeObj))); | ||||
|           } | ||||
|           this.$refs[formName].resetFields(); | ||||
|           this.$refs.addForm.resetFields(); | ||||
|           this.isAddStep = false; | ||||
|         } | ||||
|       }) | ||||
| @@ -238,13 +255,12 @@ export default { | ||||
|         nodeType: '', | ||||
|         scopeCandidates: '' | ||||
|       }; | ||||
|       this.$refs['addForm'].resetFields(); | ||||
|       this.$refs.addForm?.resetFields(); | ||||
|     }, | ||||
|   }, | ||||
|   created() { | ||||
|     this.areaId = this.user.info.areaId.substring(0, 6) + '000000' | ||||
|     if (this.config.detailObj?.id) { | ||||
|  | ||||
|       Object.keys(this.form).map(e => this.form[e] = this.config.detailObj[e]) | ||||
|     } | ||||
|   } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user