| | |
| | | }); |
| | | }, |
| | | |
| | | // 查询特殊作业人员 |
| | | getSpList: (data: object) => { |
| | | return request({ |
| | | url: import.meta.env.VITE_API_URL + `/account/special/list`, |
| | | method: 'post', |
| | | data: data |
| | | }); |
| | | }, |
| | | |
| | | // 受限空间申请 |
| | | postSpaceApply: (data: object) => { |
| | | return request({ |
对比新文件 |
| | |
| | | import request from '/@/utils/request'; |
| | | |
| | | export function certApi() { |
| | | return { |
| | | // v2 |
| | | getCerttypeList: (data: object) => { |
| | | return request({ |
| | | url: import.meta.env.VITE_API_URL + `/certtype/page/list`, |
| | | method: 'post', |
| | | data: data |
| | | }); |
| | | }, |
| | | // v2 |
| | | addCerttype: (data: object) => { |
| | | return request({ |
| | | url: import.meta.env.VITE_API_URL + `/certtype/add`, |
| | | method: 'post', |
| | | data: data |
| | | }); |
| | | }, |
| | | // v2 |
| | | modCerttype: (data: object) => { |
| | | return request({ |
| | | url: import.meta.env.VITE_API_URL + `/certtype/mod`, |
| | | method: 'post', |
| | | data: data |
| | | }); |
| | | }, |
| | | // v2 |
| | | deleteCerttype: (id: number) => { |
| | | return request({ |
| | | url: import.meta.env.VITE_API_URL + `/certtype/del?id=${id}`, |
| | | method: 'get' |
| | | }); |
| | | }, |
| | | |
| | | getCertUsers: (data: object) => { |
| | | return request({ |
| | | url: import.meta.env.VITE_API_URL + `/account/user/certtype/list`, |
| | | method: 'post', |
| | | data: data |
| | | }); |
| | | }, |
| | | |
| | | getCertUnvalid: (data: object) => { |
| | | return request({ |
| | | url: import.meta.env.VITE_API_URL + `/account/user/cert/unvalid/list`, |
| | | method: 'post', |
| | | data: data |
| | | }); |
| | | } |
| | | }; |
| | | } |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="监护人" prop="guardianUids"> |
| | | <el-select v-model="form.guardianUids" multiple @change="getSafetyIds" clearable> |
| | | <el-select v-model="form.guardianUids" filterable multiple @change="getSafetyIds" clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | v-for="item in spList.jhList" |
| | | :key="item.uid" |
| | | :label="item.username" |
| | | :label="item.realName" |
| | | :value="item.uid" |
| | | /> |
| | | </el-select> |
| | |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业负责人" prop="headUids"> |
| | | <el-select v-model="form.headUids" multiple @change="getStartEndIds" clearable> |
| | | <el-select v-model="form.headUids" filterable multiple @change="getStartEndIds" clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.uid" |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业人及证件编号" prop="operatorUids"> |
| | | <el-select v-model="form.operatorUids" multiple clearable> |
| | | <el-select v-model="form.operatorUids" filterable multiple clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | v-for="item in spList.opList" |
| | | :key="item.uid" |
| | | :label="item.username" |
| | | :label="item.realName" |
| | | :value="item.uid" |
| | | /> |
| | | </el-select> |
| | |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12" class="valueSelect"> |
| | | <el-form-item label="关联其他特殊作业" prop="involveOtherWork"> |
| | | <el-form-item label="关联其他特殊作业"> |
| | | <!-- <el-select v-model="form.involveOtherWork" multiple clearable>--> |
| | | <!-- <el-option--> |
| | | <!-- v-for="item in otherWorkList"--> |
| | |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="安全措施确认人" prop="safetyMeasureUids"> |
| | | <el-select v-model="form.safetyMeasureUids" multiple clearable> |
| | | <el-select v-model="form.safetyMeasureUids" filterable multiple clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.uid" |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="approvalUids" label="审批人" align="center"> |
| | | <template #default="scope"> |
| | | <el-select v-model="scope.row.approvalUids" multiple :disabled="isFirstRow(scope.$index)" clearable> |
| | | <el-select v-model="scope.row.approvalUids" filterable multiple :disabled="isFirstRow(scope.$index)" clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.uid" |
| | |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="完工验收" prop="acceptUid"> |
| | | <el-select v-model="form.acceptUid" clearable> |
| | | <el-select v-model="form.acceptUid" filterable clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.uid" |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="现场开始结束确认人" prop="startOrEndUids"> |
| | | <el-select v-model="form.startOrEndUids" multiple clearable> |
| | | <el-select v-model="form.startOrEndUids" filterable multiple clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.uid" |
| | |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="签字人" prop="workDetail.signUid"> |
| | | <el-select v-model="form.workDetail.signUid" clearable> |
| | | <el-select v-model="form.workDetail.signUid" filterable clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.uid" |
| | |
| | | export default defineComponent({ |
| | | name: 'brokenForm', |
| | | components: {workSelect}, |
| | | props:['departList','departList2','workerList','deviceList','otherWorks'], |
| | | props:['departList','departList2','workerList','deviceList','otherWorks','spList'], |
| | | setup(props: any, context: any) { |
| | | const userInfo = useUserInfo() |
| | | const { userInfos } = storeToRefs(userInfo); |
| | |
| | | workDepId: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | headUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | analystUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | involveOtherWork: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | guardianUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | riskIdentification: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | cameraIds: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业人及证件编号" prop="operatorUids"> |
| | | <el-select v-model="form.operatorUids" multiple clearable> |
| | | <el-select v-model="form.operatorUids" filterable multiple clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | v-for="item in spList.opList" |
| | | :key="item.uid" |
| | | :label="item.username" |
| | | :label="item.realName" |
| | | :value="item.uid" |
| | | /> |
| | | </el-select> |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业负责人" prop="headUids"> |
| | | <el-select v-model="form.headUids" multiple @change="getStartEndIds" clearable> |
| | | <el-select v-model="form.headUids" multiple filterable @change="getStartEndIds" clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.uid" |
| | |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="分析人" prop="analystUids"> |
| | | <el-select v-model="form.analystUids" multiple clearable> |
| | | <el-select v-model="form.analystUids" filterable multiple clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.uid" |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12" class="valueSelect"> |
| | | <el-form-item label="关联其他特殊作业" prop="involveOtherWork"> |
| | | <el-form-item label="关联其他特殊作业"> |
| | | <el-select v-model="form.involveOtherWork" multiple clearable :teleported="false" @click="openWorkSelect"> |
| | | <el-option v-for="item in otherWorks" :key="item.workApplyId" :label="item.workContent" :value="item.workApplyId"> |
| | | </el-option> |
| | |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="监护人" prop="guardianUids"> |
| | | <el-select v-model="form.guardianUids" multiple @change="getSafetyIds" clearable> |
| | | <el-select v-model="form.guardianUids" filterable multiple @change="getSafetyIds" clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | v-for="item in spList.jhList" |
| | | :key="item.uid" |
| | | :label="item.username" |
| | | :label="item.realName" |
| | | :value="item.uid" |
| | | /> |
| | | </el-select> |
| | |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="安全措施确认人" prop="safetyMeasureUids"> |
| | | <el-select v-model="form.safetyMeasureUids" multiple clearable> |
| | | <el-select v-model="form.safetyMeasureUids" filterable multiple clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.uid" |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="approvalUids" label="审批人" align="center"> |
| | | <template #default="scope"> |
| | | <el-select v-model="scope.row.approvalUids" multiple :disabled="isFirstRow(scope.$index)" clearable> |
| | | <el-select v-model="scope.row.approvalUids" filterable multiple :disabled="isFirstRow(scope.$index)" clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.uid" |
| | |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="完工验收" prop="acceptUid"> |
| | | <el-select v-model="form.acceptUid" clearable> |
| | | <el-select v-model="form.acceptUid" filterable clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.uid" |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="现场开始结束确认人" prop="startOrEndUids"> |
| | | <el-select v-model="form.startOrEndUids" multiple clearable> |
| | | <el-select v-model="form.startOrEndUids" filterable multiple clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.uid" |
| | |
| | | export default defineComponent({ |
| | | name: 'fireForm', |
| | | components: {workSelect}, |
| | | props:['departList','departList2','workerList','deviceList','otherWorks'], |
| | | props:['departList','departList2','workerList','deviceList','otherWorks','spList'], |
| | | setup(props: any, context: any) { |
| | | const userInfo = useUserInfo() |
| | | const { userInfos } = storeToRefs(userInfo); |
| | |
| | | workDepId: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | headUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | analystUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | involveOtherWork: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | guardianUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | riskIdentification: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | cameraIds: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | |
| | | <el-form-item label="作业人及证件编号" prop="operatorUids"> |
| | | <el-select v-model="form.operatorUids" multiple clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | v-for="item in spList.opList" |
| | | :key="item.uid" |
| | | :label="item.username" |
| | | :label="item.realName" |
| | | :value="item.uid" |
| | | /> |
| | | </el-select> |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业负责人" prop="headUids"> |
| | | <el-select v-model="form.headUids" multiple @change="getStartEndIds" clearable> |
| | | <el-select v-model="form.headUids" multiple filterable @change="getStartEndIds" clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.uid" |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12" class="valueSelect"> |
| | | <el-form-item label="关联其他特殊作业" prop="involveOtherWork"> |
| | | <el-form-item label="关联其他特殊作业"> |
| | | <!-- <el-select v-model="form.involveOtherWork" multiple clearable>--> |
| | | <!-- <el-option--> |
| | | <!-- v-for="item in otherWorkList"--> |
| | |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="监护人" prop="guardianUids"> |
| | | <el-select v-model="form.guardianUids" multiple @change="getSafetyIds" clearable> |
| | | <el-select v-model="form.guardianUids" filterable multiple @change="getSafetyIds" clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | v-for="item in spList.jhList" |
| | | :key="item.uid" |
| | | :label="item.username" |
| | | :label="item.realName" |
| | | :value="item.uid" |
| | | /> |
| | | </el-select> |
| | |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="安全措施确认人" prop="safetyMeasureUids"> |
| | | <el-select v-model="form.safetyMeasureUids" multiple clearable> |
| | | <el-select v-model="form.safetyMeasureUids" filterable multiple clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.uid" |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="approvalUids" label="审批人" align="center"> |
| | | <template #default="scope"> |
| | | <el-select v-model="scope.row.approvalUids" multiple :disabled="isFirstRow(scope.$index)" clearable> |
| | | <el-select v-model="scope.row.approvalUids" filterable multiple :disabled="isFirstRow(scope.$index)" clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.uid" |
| | |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="完工验收" prop="acceptUid"> |
| | | <el-select v-model="form.acceptUid" clearable> |
| | | <el-select v-model="form.acceptUid" filterable clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.uid" |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="现场开始结束确认人" prop="startOrEndUids"> |
| | | <el-select v-model="form.startOrEndUids" multiple clearable> |
| | | <el-select v-model="form.startOrEndUids" filterable multiple clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.uid" |
| | |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="签字人" prop="workDetail.signUid"> |
| | | <el-select v-model="form.workDetail.signUid" clearable> |
| | | <el-select v-model="form.workDetail.signUid" filterable clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.uid" |
| | |
| | | export default defineComponent({ |
| | | name: 'groundForm', |
| | | components: {workSelect}, |
| | | props:['departList','departList2','workerList','deviceList','otherWorks'], |
| | | props:['departList','departList2','workerList','deviceList','otherWorks','spList'], |
| | | setup(props: any, context: any) { |
| | | const userInfo = useUserInfo() |
| | | const { userInfos } = storeToRefs(userInfo); |
| | |
| | | operatorUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workDepId: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | headUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | involveOtherWork: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | guardianUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | riskIdentification: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | cameraIds: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业人及证件编号" prop="operatorUids"> |
| | | <el-select v-model="form.operatorUids" multiple clearable> |
| | | <el-select v-model="form.operatorUids" filterable multiple clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | v-for="item in spList.opList" |
| | | :key="item.uid" |
| | | :label="item.username" |
| | | :label="item.realName" |
| | | :value="item.uid" |
| | | /> |
| | | </el-select> |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业负责人" prop="headUids"> |
| | | <el-select v-model="form.headUids" multiple @change="getStartEndIds" clearable> |
| | | <el-select v-model="form.headUids" filterable multiple @change="getStartEndIds" clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.uid" |
| | |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="监护人" prop="guardianUids"> |
| | | <el-select v-model="form.guardianUids" multiple @change="getSafetyIds" clearable> |
| | | <el-select v-model="form.guardianUids" filterable multiple @change="getSafetyIds" clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | v-for="item in spList.jhList" |
| | | :key="item.uid" |
| | | :label="item.username" |
| | | :label="item.realName" |
| | | :value="item.uid" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12" class="valueSelect"> |
| | | <el-form-item label="关联其他特殊作业" prop="involveOtherWork"> |
| | | <el-form-item label="关联其他特殊作业"> |
| | | <!-- <el-select v-model="form.involveOtherWork" multiple clearable>--> |
| | | <!-- <el-option--> |
| | | <!-- v-for="item in otherWorkList"--> |
| | |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="安全措施确认人" prop="safetyMeasureUids"> |
| | | <el-form-item label="安全措施确认人" filterable prop="safetyMeasureUids"> |
| | | <el-select v-model="form.safetyMeasureUids" multiple clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | |
| | | </el-form-item> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="approvalUids" label="审批人" align="center"> |
| | | <el-table-column prop="approvalUids" filterable label="审批人" align="center"> |
| | | <template #default="scope"> |
| | | <el-select v-model="scope.row.approvalUids" multiple :disabled="isFirstRow(scope.$index)" clearable> |
| | | <el-option |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="现场开始结束确认人" prop="startOrEndUids"> |
| | | <el-form-item label="现场开始结束确认人" filterable prop="startOrEndUids"> |
| | | <el-select v-model="form.startOrEndUids" multiple clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | |
| | | export default defineComponent({ |
| | | name: 'heightForm', |
| | | components: {workSelect}, |
| | | props:['departList','departList2','workerList','deviceList','otherWorks'], |
| | | props:['departList','departList2','workerList','deviceList','otherWorks','spList'], |
| | | setup(props: any, context: any) { |
| | | const userInfo = useUserInfo() |
| | | const { userInfos } = storeToRefs(userInfo); |
| | |
| | | operatorUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workDepId: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | headUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | involveOtherWork: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | guardianUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | riskIdentification: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | cameraIds: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="吊装作业人及证件编号" prop="operatorUids"> |
| | | <el-select v-model="form.operatorUids" multiple clearable> |
| | | <el-select v-model="form.operatorUids" filterable multiple clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | v-for="item in spList.opList" |
| | | :key="item.uid" |
| | | :label="item.username" |
| | | :label="item.realName" |
| | | :value="item.uid" |
| | | /> |
| | | </el-select> |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="指挥人员" prop="headUids"> |
| | | <el-select v-model="form.headUids" multiple @change="getStartEndIds" clearable> |
| | | <el-form-item label="作业负责人" prop="headUids"> |
| | | <el-select v-model="form.headUids" multiple filterable @change="getStartEndIds" clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.uid" |
| | |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="司索人" prop="workDetail.solicitorUids"> |
| | | <el-select v-model="form.workDetail.solicitorUids" multiple clearable> |
| | | <el-select v-model="form.workDetail.solicitorUids" filterable multiple clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.uid" |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12" class="valueSelect"> |
| | | <el-form-item label="关联其他特殊作业" prop="involveOtherWork"> |
| | | <el-form-item label="关联其他特殊作业"> |
| | | <!-- <el-select v-model="form.involveOtherWork" multiple clearable>--> |
| | | <!-- <el-option--> |
| | | <!-- v-for="item in otherWorkList"--> |
| | |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="监护人" prop="guardianUids"> |
| | | <el-select v-model="form.guardianUids" multiple @change="getSafetyIds" clearable> |
| | | <el-select v-model="form.guardianUids" filterable multiple @change="getSafetyIds" clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | v-for="item in spList.jhList" |
| | | :key="item.uid" |
| | | :label="item.username" |
| | | :label="item.realName" |
| | | :value="item.uid" |
| | | /> |
| | | </el-select> |
| | |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="安全措施确认人" prop="safetyMeasureUids"> |
| | | <el-select v-model="form.safetyMeasureUids" multiple clearable> |
| | | <el-select v-model="form.safetyMeasureUids" filterable multiple clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.uid" |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="approvalUids" label="审批人" align="center"> |
| | | <template #default="scope"> |
| | | <el-select v-model="scope.row.approvalUids" multiple :disabled="isFirstRow(scope.$index)" clearable> |
| | | <el-select v-model="scope.row.approvalUids" filterable multiple :disabled="isFirstRow(scope.$index)" clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.uid" |
| | |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="完工验收" prop="acceptUid"> |
| | | <el-select v-model="form.acceptUid" clearable> |
| | | <el-select v-model="form.acceptUid" filterable clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.uid" |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="现场开始结束确认人" prop="startOrEndUids"> |
| | | <el-select v-model="form.startOrEndUids" multiple clearable> |
| | | <el-select v-model="form.startOrEndUids" filterable multiple clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.uid" |
| | |
| | | export default defineComponent({ |
| | | name: 'hoistForm', |
| | | components: {workSelect}, |
| | | props:['departList','departList2','workerList','deviceList','otherWorks'], |
| | | props:['departList','departList2','workerList','deviceList','otherWorks','spList'], |
| | | setup(props: any, context: any) { |
| | | const userInfo = useUserInfo() |
| | | const { userInfos } = storeToRefs(userInfo); |
| | |
| | | workDepId: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | headUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | analystUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | involveOtherWork: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | guardianUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | riskIdentification: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | cameraIds: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业人及证件编号" prop="operatorUids"> |
| | | <el-select v-model="form.operatorUids" multiple clearable> |
| | | <el-select v-model="form.operatorUids" filterable multiple clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | v-for="item in spList.opList" |
| | | :key="item.uid" |
| | | :label="item.username" |
| | | :label="item.realName" |
| | | :value="item.uid" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12" class="valueSelect"> |
| | | <el-form-item label="关联其他特殊作业" prop="involveOtherWork"> |
| | | <el-form-item label="关联其他特殊作业"> |
| | | <!-- <el-select v-model="form.involveOtherWork" multiple clearable>--> |
| | | <!-- <el-option--> |
| | | <!-- v-for="item in otherWorkList"--> |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业负责人" prop="headUids"> |
| | | <el-select v-model="form.headUids" multiple @change="getStartEndIds" clearable> |
| | | <el-select v-model="form.headUids" multiple filterable @change="getStartEndIds" clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.uid" |
| | |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="监护人" prop="guardianUids"> |
| | | <el-select v-model="form.guardianUids" multiple @change="getSafetyIds" clearable> |
| | | <el-select v-model="form.guardianUids" multiple filterable @change="getSafetyIds" clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | v-for="item in spList.jhList" |
| | | :key="item.uid" |
| | | :label="item.username" |
| | | :label="item.realName" |
| | | :value="item.uid" |
| | | /> |
| | | </el-select> |
| | |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="安全措施确认人" prop="safetyMeasureUids"> |
| | | <el-select v-model="form.safetyMeasureUids" multiple clearable> |
| | | <el-select v-model="form.safetyMeasureUids" filterable multiple clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.uid" |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="approvalUids" label="审批人" align="center"> |
| | | <template #default="scope"> |
| | | <el-select v-model="scope.row.approvalUids" multiple :disabled="isFirstRow(scope.$index)" clearable> |
| | | <el-select v-model="scope.row.approvalUids" filterable multiple :disabled="isFirstRow(scope.$index)" clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.uid" |
| | |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="完工验收" prop="acceptUid"> |
| | | <el-select v-model="form.acceptUid" clearable> |
| | | <el-select v-model="form.acceptUid" filterable clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.uid" |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="现场开始结束确认人" prop="startOrEndUids"> |
| | | <el-select v-model="form.startOrEndUids" multiple clearable> |
| | | <el-select v-model="form.startOrEndUids" filterable multiple clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.uid" |
| | |
| | | export default defineComponent({ |
| | | name: 'fireForm', |
| | | components: {workSelect}, |
| | | props:['departList','departList2','workerList','deviceList','otherWorks'], |
| | | props:['departList','departList2','workerList','deviceList','otherWorks','spList'], |
| | | setup(props: any, context: any) { |
| | | const userInfo = useUserInfo() |
| | | const { userInfos } = storeToRefs(userInfo); |
| | |
| | | operatorUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | workDepId: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | headUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | involveOtherWork: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | guardianUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | riskIdentification: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | cameraIds: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业人及证件编号" prop="operatorUids"> |
| | | <el-select v-model="form.operatorUids" multiple clearable> |
| | | <el-select v-model="form.operatorUids" filterable multiple clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | v-for="item in spList.opList" |
| | | :key="item.uid" |
| | | :label="item.username" |
| | | :label="item.realName" |
| | | :value="item.uid" |
| | | /> |
| | | </el-select> |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业负责人" prop="headUids"> |
| | | <el-select v-model="form.headUids" multiple @change="getStartEndIds" clearable> |
| | | <el-select v-model="form.headUids" multiple filterable @change="getStartEndIds" clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.uid" |
| | |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="分析人" prop="analystUids"> |
| | | <el-select v-model="form.analystUids" multiple clearable> |
| | | <el-select v-model="form.analystUids" filterable multiple clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.uid" |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12" class="valueSelect"> |
| | | <el-form-item label="关联其他特殊作业" prop="involveOtherWork"> |
| | | <el-form-item label="关联其他特殊作业"> |
| | | <!-- <el-select v-model="form.involveOtherWork" multiple clearable>--> |
| | | <!-- <el-option--> |
| | | <!-- v-for="item in otherWorkList"--> |
| | |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="监护人" prop="guardianUids"> |
| | | <el-select v-model="form.guardianUids" multiple @change="getSafetyIds" clearable> |
| | | <el-select v-model="form.guardianUids" multiple filterable @change="getSafetyIds" clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | v-for="item in spList.jhList" |
| | | :key="item.uid" |
| | | :label="item.username" |
| | | :label="item.realName" |
| | | :value="item.uid" |
| | | /> |
| | | </el-select> |
| | |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="安全措施确认人" prop="safetyMeasureUids"> |
| | | <el-select v-model="form.safetyMeasureUids" multiple clearable> |
| | | <el-select v-model="form.safetyMeasureUids" filterable multiple clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.uid" |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="approvalUids" label="审批人" align="center"> |
| | | <template #default="scope"> |
| | | <el-select v-model="scope.row.approvalUids" multiple :disabled="isFirstRow(scope.$index)" clearable> |
| | | <el-select v-model="scope.row.approvalUids" filterable multiple :disabled="isFirstRow(scope.$index)" clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.uid" |
| | |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="完工验收" prop="acceptUid"> |
| | | <el-select v-model="form.acceptUid" clearable> |
| | | <el-select v-model="form.acceptUid" filterable clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.uid" |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="现场开始结束确认人" prop="startOrEndUids"> |
| | | <el-select v-model="form.startOrEndUids" multiple clearable> |
| | | <el-select v-model="form.startOrEndUids" filterable multiple clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.uid" |
| | |
| | | export default defineComponent({ |
| | | name: 'powerForm', |
| | | components: {workSelect}, |
| | | props:['departList','departList2','workerList','deviceList','otherWorks'], |
| | | props:['departList','departList2','workerList','deviceList','otherWorks','spList'], |
| | | setup(props: any, context: any) { |
| | | const userInfo = useUserInfo() |
| | | const { userInfos } = storeToRefs(userInfo); |
| | |
| | | workDepId: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | headUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | analystUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | involveOtherWork: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | guardianUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | riskIdentification: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | cameraIds: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业人" prop="operatorUids"> |
| | | <el-select v-model="form.operatorUids" multiple clearable> |
| | | <el-select v-model="form.operatorUids" filterable multiple clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | v-for="item in spList.opList" |
| | | :key="item.uid" |
| | | :label="item.username" |
| | | :label="item.realName" |
| | | :value="item.uid" |
| | | /> |
| | | </el-select> |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="作业负责人" prop="headUids"> |
| | | <el-select v-model="form.headUids" multiple @change="getStartEndIds" clearable> |
| | | <el-select v-model="form.headUids" multiple filterable @change="getStartEndIds" clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.uid" |
| | |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="分析人" prop="analystUids"> |
| | | <el-select v-model="form.analystUids" multiple clearable> |
| | | <el-select v-model="form.analystUids" filterable multiple clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.uid" |
| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12" class="valueSelect"> |
| | | <el-form-item label="关联其他特殊作业" prop="involveOtherWork"> |
| | | <el-form-item label="关联其他特殊作业"> |
| | | <el-select v-model="form.involveOtherWork" multiple clearable :teleported="false" @click="openWorkSelect"> |
| | | <el-option v-for="item in otherWorks" :key="item.workApplyId" :label="item.workContent" :value="item.workApplyId"> |
| | | </el-option> |
| | |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="监护人" prop="guardianUids"> |
| | | <el-select v-model="form.guardianUids" multiple @change="getSafetyIds" clearable> |
| | | <el-select v-model="form.guardianUids" multiple filterable @change="getSafetyIds" clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | v-for="item in spList.jhList" |
| | | :key="item.uid" |
| | | :label="item.username" |
| | | :label="item.realName" |
| | | :value="item.uid" |
| | | /> |
| | | </el-select> |
| | |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="安全措施确认人" prop="safetyMeasureUids"> |
| | | <el-select v-model="form.safetyMeasureUids" multiple clearable> |
| | | <el-select v-model="form.safetyMeasureUids" filterable multiple clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.uid" |
| | |
| | | </el-table-column> |
| | | <el-table-column prop="approvalUids" label="审批人" align="center"> |
| | | <template #default="scope"> |
| | | <el-select v-model="scope.row.approvalUids" multiple :disabled="isFirstRow(scope.$index)" clearable> |
| | | <el-select v-model="scope.row.approvalUids" filterable multiple :disabled="isFirstRow(scope.$index)" clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.uid" |
| | |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="完工验收" prop="acceptUid"> |
| | | <el-select v-model="form.acceptUid" clearable> |
| | | <el-select v-model="form.acceptUid" filterable clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.uid" |
| | |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="现场开始结束确认人" prop="startOrEndUids"> |
| | | <el-select v-model="form.startOrEndUids" multiple clearable> |
| | | <el-select v-model="form.startOrEndUids" filterable multiple clearable> |
| | | <el-option |
| | | v-for="item in workerList" |
| | | :key="item.uid" |
| | |
| | | export default defineComponent({ |
| | | name: 'spaceForm', |
| | | components: {workSelect}, |
| | | props:['departList','departList2','workerList','deviceList', 'otherWorks'], |
| | | props:['departList','departList2','workerList','deviceList', 'otherWorks','spList'], |
| | | setup(props: any, context: any) { |
| | | const userInfo = useUserInfo() |
| | | const { userInfos } = storeToRefs(userInfo); |
| | |
| | | workDepId: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | headUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | analystUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | involveOtherWork: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | guardianUids: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | riskIdentification: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | | cameraIds: [{ required: true, message: '该内容不能为空', trigger: 'blur' }], |
| | |
| | | <div class="home-container"> |
| | | <el-tabs type="border-card" v-model="activeName" @tab-click="handleClick"> |
| | | <el-tab-pane label="动火作业" name="fire"> |
| | | <fire-form ref="fire" :workerList = allWorkers :deviceList = allDevices :departList=departmentList :departList2=departmentList2 :otherWorks="otherWorks"></fire-form> |
| | | <fire-form ref="fire" :workerList = allWorkers :deviceList = allDevices :departList=departmentList :departList2=departmentList2 :otherWorks="otherWorks" :spList="spList"></fire-form> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="受限空间作业" name="space"> |
| | | <space-form ref="space" :workerList = allWorkers :departList = departmentList :departList2=departmentList2 :deviceList = allDevices :otherWorks="otherWorks"></space-form> |
| | | <space-form ref="space" :workerList = allWorkers :departList = departmentList :departList2=departmentList2 :deviceList = allDevices :otherWorks="otherWorks" :spList="spList"></space-form> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="吊装作业" name="hoist"> |
| | | <hoist-form ref="hoist" :workerList = allWorkers :departList = departmentList :departList2=departmentList2 :deviceList = allDevices :otherWorks="otherWorks"></hoist-form> |
| | | <hoist-form ref="hoist" :workerList = allWorkers :departList = departmentList :departList2=departmentList2 :deviceList = allDevices :otherWorks="otherWorks" :spList="spList"></hoist-form> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="动土作业" name="ground"> |
| | | <ground-form ref="ground" :workerList = allWorkers :departList = departmentList :departList2=departmentList2 :deviceList = allDevices :otherWorks="otherWorks"></ground-form> |
| | | <ground-form ref="ground" :workerList = allWorkers :departList = departmentList :departList2=departmentList2 :deviceList = allDevices :otherWorks="otherWorks" :spList="spList"></ground-form> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="断路作业" name="broken"> |
| | | <broken-form ref="broken" :workerList = allWorkers :departList = departmentList :departList2=departmentList2 :deviceList = allDevices :otherWorks="otherWorks"></broken-form> |
| | | <broken-form ref="broken" :workerList = allWorkers :departList = departmentList :departList2=departmentList2 :deviceList = allDevices :otherWorks="otherWorks" :spList="spList"></broken-form> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="高处作业" name="height"> |
| | | <height-form ref="height" :workerList = allWorkers :departList = departmentList :departList2=departmentList2 :deviceList = allDevices :otherWorks="otherWorks"></height-form> |
| | | <height-form ref="height" :workerList = allWorkers :departList = departmentList :departList2=departmentList2 :deviceList = allDevices :otherWorks="otherWorks" :spList="spList"></height-form> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="临时用电作业" name="power"> |
| | | <power-form ref="power" :workerList = allWorkers :departList = departmentList :departList2=departmentList2 :deviceList = allDevices :otherWorks="otherWorks"></power-form> |
| | | <power-form ref="power" :workerList = allWorkers :departList = departmentList :departList2=departmentList2 :deviceList = allDevices :otherWorks="otherWorks" :spList="spList"></power-form> |
| | | </el-tab-pane> |
| | | <el-tab-pane label="盲板抽堵作业" name="plate"> |
| | | <plate-form ref="plate" :workerList = allWorkers :departList = departmentList :departList2=departmentList2 :deviceList = allDevices :otherWorks="otherWorks"></plate-form> |
| | | <plate-form ref="plate" :workerList = allWorkers :departList = departmentList :departList2=departmentList2 :deviceList = allDevices :otherWorks="otherWorks" :spList="spList"></plate-form> |
| | | </el-tab-pane> |
| | | </el-tabs> |
| | | <!-- <material-dialog ref="material"></material-dialog>--> |
| | |
| | | departmentList2: Array<any> |
| | | otherWorks: Array<any> |
| | | allDevices: Array<any> |
| | | spList:{ |
| | | opList: Array<any> |
| | | jhList: Array<any> |
| | | sfList: Array<any> |
| | | } |
| | | } |
| | | export default defineComponent({ |
| | | name: 'apply', |
| | |
| | | departmentList: [], |
| | | departmentList2:[], |
| | | otherWorks: [], |
| | | allDevices: [] |
| | | allDevices: [], |
| | | spList:{ |
| | | opList: [], |
| | | jhList: [], |
| | | sfList: [] |
| | | } |
| | | }); |
| | | const fire = ref() |
| | | const space = ref() |
| | |
| | | getAll(); |
| | | getAllDepartment(); |
| | | getAllDevice(); |
| | | getOtherWork() |
| | | getOtherWork(); |
| | | spWorker() |
| | | }); |
| | | |
| | | // 获取用户列表 |
| | |
| | | } |
| | | }; |
| | | |
| | | const spWorker = async ()=>{ |
| | | for(let id of ['17','18','19']){ |
| | | const res = await workApplyApi().getSpList({roleId: id}) |
| | | if(id == '17'){ |
| | | if (res.data.code === '200') { |
| | | state.spList.opList = res.data.data |
| | | } else { |
| | | ElMessage({ |
| | | type: 'warning', |
| | | message: res.data.msg |
| | | }); |
| | | } |
| | | } |
| | | if(id == '18'){ |
| | | if (res.data.code === '200') { |
| | | state.spList.jhList = res.data.data |
| | | } else { |
| | | ElMessage({ |
| | | type: 'warning', |
| | | message: res.data.msg |
| | | }); |
| | | } |
| | | } |
| | | if(id == '19'){ |
| | | if (res.data.code === '200') { |
| | | state.spList.sfList = res.data.data |
| | | } else { |
| | | ElMessage({ |
| | | type: 'warning', |
| | | message: res.data.msg |
| | | }); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | // 获取部门列表 |
| | | const getAllDepartment = async () => { |
| | | let res = await teamManageApi().getAllDepartment(); |
对比新文件 |
| | |
| | | <template> |
| | | <div class="system-add-role-container"> |
| | | <el-dialog :title="title" v-model="isShowDialog" width="769px"> |
| | | <el-form :model="roleForm" size="default" label-width="90px"> |
| | | <el-row :gutter="35"> |
| | | <el-col :xs="24" :sm="24" :md="24" :lg="24" :xl="24" class="mb20"> |
| | | <el-form-item label="证书名称"> |
| | | <el-input v-model="roleForm.name" placeholder="请输入证书名称" clearable style="width: 100%"></el-input> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | </el-form> |
| | | <template #footer> |
| | | <span class="dialog-footer"> |
| | | <el-button @click="isShowDialog = !isShowDialog" size="default">取 消</el-button> |
| | | <el-button type="primary" @click="onSubmit" v-throttle size="default">{{ buttonName }}</el-button> |
| | | </span> |
| | | </template> |
| | | </el-dialog> |
| | | </div> |
| | | </template> |
| | | |
| | | <script lang="ts"> |
| | | import { ElMessage } from 'element-plus'; |
| | | import { reactive, toRefs, defineComponent } from 'vue'; |
| | | import {certApi} from "/@/api/systemManage/certificate"; |
| | | |
| | | // 定义接口来定义对象的类型 |
| | | interface MenuDataTree { |
| | | id: number; |
| | | label: string; |
| | | children?: MenuDataTree[]; |
| | | } |
| | | interface RoleState { |
| | | title: string; |
| | | buttonName: string; |
| | | isShowDialog: boolean; |
| | | roleForm: { |
| | | id: null | number |
| | | name: string; |
| | | }; |
| | | menuData: Array<MenuDataTree>; |
| | | menuProps: { |
| | | children: string; |
| | | label: string; |
| | | }; |
| | | } |
| | | |
| | | export default defineComponent({ |
| | | name: 'certificateDialog', |
| | | setup(prop, context) { |
| | | const state = reactive<RoleState>({ |
| | | isShowDialog: false, |
| | | title: '', |
| | | buttonName: '', |
| | | roleForm: { |
| | | id: null, |
| | | name: '', // 证书名称 |
| | | }, |
| | | menuData: [], |
| | | menuProps: { |
| | | children: 'children', |
| | | label: 'label' |
| | | } |
| | | }); |
| | | // 打开弹窗 |
| | | const openDialog = (type: string, value: any) => { |
| | | state.isShowDialog = true; |
| | | if (type === '新增') { |
| | | state.title = '新增证书'; |
| | | state.buttonName = '新增'; |
| | | state.roleForm = { |
| | | id: null, |
| | | name: '' |
| | | }; |
| | | } else { |
| | | state.title = '修改证书'; |
| | | state.buttonName = '修改'; |
| | | state.roleForm.id = JSON.parse(JSON.stringify(value)).id |
| | | state.roleForm.name = JSON.parse(JSON.stringify(value)).name |
| | | } |
| | | }; |
| | | // 新增 |
| | | const onSubmit = async () => { |
| | | if (state.title === '新增证书') { |
| | | let res = await certApi().addCerttype({name: state.roleForm.name}); |
| | | if (res.data.code === '200') { |
| | | ElMessage({ |
| | | type: 'success', |
| | | message: '证书新增成功', |
| | | duration: 2000 |
| | | }); |
| | | state.isShowDialog = false; |
| | | context.emit('refreshCertList'); |
| | | } else { |
| | | ElMessage({ |
| | | type: 'warning', |
| | | message: res.data.msg |
| | | }); |
| | | } |
| | | } else { |
| | | let res = await certApi().modCerttype(state.roleForm); |
| | | if (res.data.code === '200') { |
| | | ElMessage({ |
| | | type: 'success', |
| | | message: '证书修改成功', |
| | | duration: 2000 |
| | | }); |
| | | state.isShowDialog = false; |
| | | context.emit('refreshCertList'); |
| | | } else { |
| | | ElMessage({ |
| | | type: 'warning', |
| | | message: res.data.msg |
| | | }); |
| | | } |
| | | } |
| | | }; |
| | | // 获取菜单结构数据 |
| | | return { |
| | | onSubmit, |
| | | openDialog, |
| | | ...toRefs(state) |
| | | }; |
| | | } |
| | | }); |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | .system-add-role-container { |
| | | .menu-data-tree { |
| | | width: 100%; |
| | | border: 1px solid var(--el-border-color); |
| | | border-radius: var(--el-input-border-radius, var(--el-border-radius-base)); |
| | | padding: 5px; |
| | | } |
| | | } |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <el-dialog v-model="dialogCertificate" :title="title"> |
| | | <div class="system-user-search mb15"> |
| | | <el-input size="default" v-model.trim="listQuery.searchParams.userName" placeholder="请输入用户名" style="max-width: 180px"> </el-input> |
| | | <el-button size="default" type="primary" class="ml10" @click="handleSearch"> |
| | | <el-icon> |
| | | <ele-Search /> |
| | | </el-icon> |
| | | 查询 |
| | | </el-button> |
| | | </div> |
| | | <el-table |
| | | :data="tableData" |
| | | highlight-current-row |
| | | style="width: 100%;margin-top: 20px" |
| | | border |
| | | :header-cell-style="{background: '#fafafa'}" |
| | | > |
| | | <el-table-column property="userName" label="姓名"/> |
| | | <el-table-column property="depName" label="所属部门"/> |
| | | <el-table-column property="certTypeName" label="证书类型"/> |
| | | <el-table-column property="certExpiredAt" label="到期时间"/> |
| | | </el-table> |
| | | <br /> |
| | | <el-pagination @size-change="onHandleSizeChange" @current-change="onHandleCurrentChange" class="page-position" :pager-count="5" :page-sizes="[10]" v-model:current-page="listQuery.pageIndex" background v-model:page-size="listQuery.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="total"> </el-pagination> |
| | | <br /> |
| | | <br /> |
| | | </el-dialog> |
| | | </template> |
| | | |
| | | <script lang="ts"> |
| | | import {toRefs, reactive, defineComponent, ref, defineAsyncComponent, onMounted} from 'vue'; |
| | | import { storeToRefs } from 'pinia'; |
| | | import { initBackEndControlRoutes } from '/@/router/backEnd'; |
| | | import {useUserInfo} from "/@/stores/userInfo"; |
| | | import { Session } from '/@/utils/storage'; |
| | | import { Search, Delete, Edit, View, Plus } from '@element-plus/icons-vue' |
| | | import {ElMessage, ElMessageBox, ElTable} from 'element-plus' |
| | | import {certApi} from "/@/api/systemManage/certificate"; |
| | | |
| | | |
| | | interface stateType { |
| | | title: string |
| | | dialogCertificate: boolean |
| | | tableData: Array<any> |
| | | listQuery: { |
| | | pageIndex: number |
| | | pageSize: number |
| | | searchParams: { |
| | | userName: string |
| | | certTypeId: number | null |
| | | } |
| | | } |
| | | total: number | null |
| | | } |
| | | export default defineComponent({ |
| | | name: 'certificateMember', |
| | | components: {}, |
| | | props:[], |
| | | setup() { |
| | | const userInfo = useUserInfo() |
| | | const { userInfos } = storeToRefs(userInfo); |
| | | const state = reactive<stateType>({ |
| | | title: '', |
| | | dialogCertificate: false, |
| | | tableData: [], |
| | | total: null, |
| | | listQuery: { |
| | | pageIndex: 1, |
| | | pageSize: 10, |
| | | searchParams: { |
| | | userName:'', |
| | | certTypeId: null |
| | | } |
| | | } |
| | | }); |
| | | // 页面载入时执行方法 |
| | | onMounted(() => { |
| | | |
| | | }); |
| | | const ctfRef = ref() |
| | | const openDialog = (type:string,value: any) => { |
| | | state.tableData = [] |
| | | state.total = null |
| | | state.listQuery.searchParams.certTypeId = value.id |
| | | state.dialogCertificate = true |
| | | if(type == '人员'){ |
| | | state.title = '证书人员' |
| | | getUserData() |
| | | }else{ |
| | | state.title = '证书即将到期' |
| | | getUnvalidData() |
| | | } |
| | | } |
| | | |
| | | const getUserData = async () => { |
| | | let res = await certApi().getCertUsers(state.listQuery); |
| | | if (res.data.code === '200') { |
| | | state.tableData = res.data.data |
| | | state.total = res.data.total |
| | | } else { |
| | | ElMessage({ |
| | | type: 'warning', |
| | | message: res.data.msg |
| | | }); |
| | | } |
| | | } |
| | | |
| | | const getUnvalidData = async () => { |
| | | let res = await certApi().getCertUnvalid(state.listQuery); |
| | | if (res.data.code === '200') { |
| | | state.tableData = res.data.data |
| | | state.total = res.data.total |
| | | } else { |
| | | ElMessage({ |
| | | type: 'warning', |
| | | message: res.data.msg |
| | | }); |
| | | } |
| | | } |
| | | |
| | | |
| | | const onHandleSizeChange = (val: number) => { |
| | | state.listQuery.pageSize = val; |
| | | if(state.title == '证书人员'){ |
| | | getUserData(); |
| | | }else{ |
| | | getUnvalidData() |
| | | } |
| | | } |
| | | |
| | | const onHandleCurrentChange = (val: number) => { |
| | | state.listQuery.pageIndex = val; |
| | | if(state.title == '证书人员'){ |
| | | getUserData(); |
| | | }else{ |
| | | getUnvalidData() |
| | | } |
| | | } |
| | | |
| | | const handleSearch = () => { |
| | | state.listQuery.pageIndex = 1 |
| | | if(state.title == '证书人员'){ |
| | | getUserData(); |
| | | }else{ |
| | | getUnvalidData() |
| | | } |
| | | } |
| | | |
| | | const renderMenu = async (value: string) => { |
| | | Session.set('projectId',value) |
| | | userInfos.value.projectId = value |
| | | await initBackEndControlRoutes(); |
| | | }; |
| | | return { |
| | | renderMenu, |
| | | openDialog, |
| | | ctfRef, |
| | | Search, |
| | | Delete, |
| | | Edit, |
| | | View, |
| | | Plus, |
| | | onHandleSizeChange, |
| | | onHandleCurrentChange, |
| | | handleSearch, |
| | | ...toRefs(state), |
| | | }; |
| | | }, |
| | | }); |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | .home-container { |
| | | height: 100%; |
| | | overflow: hidden; |
| | | position: relative; |
| | | .homeCard{ |
| | | width: 100%; |
| | | padding: 0 20px; |
| | | box-sizing: border-box; |
| | | background: #fff; |
| | | border-radius: 4px; |
| | | } |
| | | .applyBtn{ |
| | | width: 100%; |
| | | background: #fff; |
| | | padding-top: 15px; |
| | | z-index: 5; |
| | | box-shadow: 0 -3px 8px rgba(150,150,150,.1); |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | } |
| | | .el-row{ |
| | | margin-bottom: 20px; |
| | | } |
| | | .el-row:last-child { |
| | | margin-bottom: 0; |
| | | } |
| | | .el-input{ |
| | | width: 100% !important; |
| | | } |
| | | .el-date-editor::v-deep{ |
| | | width: 100%; |
| | | } |
| | | .el-select{ |
| | | width: 100%; |
| | | } |
| | | .el-cascader{ |
| | | width: 100% !important; |
| | | } |
| | | } |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <el-dialog v-model="dialogMes" :title="title"> |
| | | <el-table |
| | | :data="tableData" |
| | | highlight-current-row |
| | | style="width: 100%;margin-top: 20px" |
| | | border |
| | | :header-cell-style="{background: '#fafafa'}" |
| | | > |
| | | <el-table-column property="id" label="发送时间"/> |
| | | <el-table-column property="roleId" label="预警信息内容"/> |
| | | <el-table-column property="workTypeDesc" label="预警级别"/> |
| | | <el-table-column property="roleId" label="接收人"> |
| | | <template #default="scope"> |
| | | {{ roleList.find(i=>i.roleId == scope.row.roleId)?.roleName }} |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </el-dialog> |
| | | </template> |
| | | |
| | | <script lang="ts"> |
| | | import {toRefs, reactive, defineComponent, ref, defineAsyncComponent, onMounted} from 'vue'; |
| | | import { storeToRefs } from 'pinia'; |
| | | import { initBackEndControlRoutes } from '/@/router/backEnd'; |
| | | import {useUserInfo} from "/@/stores/userInfo"; |
| | | import { Session } from '/@/utils/storage'; |
| | | import { Search, Delete, Edit, View, Plus } from '@element-plus/icons-vue' |
| | | import {ElMessage, ElMessageBox, ElTable} from 'element-plus' |
| | | import {userApi} from "/@/api/systemManage/user"; |
| | | |
| | | |
| | | interface stateType { |
| | | title: string |
| | | dialogMes: boolean |
| | | tableData: Array<any> |
| | | roleList: Array<any> |
| | | uid: number | null |
| | | } |
| | | export default defineComponent({ |
| | | name: 'historyMessages', |
| | | components: {}, |
| | | props:[], |
| | | setup() { |
| | | const userInfo = useUserInfo() |
| | | const { userInfos } = storeToRefs(userInfo); |
| | | const state = reactive<stateType>({ |
| | | title: '', |
| | | dialogMes: false, |
| | | tableData: [], |
| | | roleList: [], |
| | | uid: null |
| | | }); |
| | | // 页面载入时执行方法 |
| | | onMounted(() => { |
| | | |
| | | }); |
| | | const ctfRef = ref() |
| | | const openDialog = (value: any) => { |
| | | state.dialogMes = true |
| | | } |
| | | |
| | | // const getRoleData = async () => { |
| | | // let res = await useRoleApi().getRoleList(); |
| | | // if (res.data.code === '200') { |
| | | // state.roleList = res.data.data; |
| | | // } else { |
| | | // ElMessage({ |
| | | // type: 'warning', |
| | | // message: res.data.msg |
| | | // }); |
| | | // } |
| | | // }; |
| | | // |
| | | // const getCtf = async()=>{ |
| | | // let res = await userApi().getCtf({uid: state.uid}) |
| | | // if(res.data.code == 200){ |
| | | // state.tableData = res.data.data |
| | | // }else{ |
| | | // ElMessage({ |
| | | // type: 'warning', |
| | | // message: res.data.msg |
| | | // }) |
| | | // } |
| | | // } |
| | | |
| | | const renderMenu = async (value: string) => { |
| | | Session.set('projectId',value) |
| | | userInfos.value.projectId = value |
| | | await initBackEndControlRoutes(); |
| | | }; |
| | | return { |
| | | renderMenu, |
| | | openDialog, |
| | | ctfRef, |
| | | Search, |
| | | Delete, |
| | | Edit, |
| | | View, |
| | | Plus, |
| | | ...toRefs(state), |
| | | }; |
| | | }, |
| | | }); |
| | | </script> |
| | | |
| | | <style scoped lang="scss"> |
| | | .home-container { |
| | | height: 100%; |
| | | overflow: hidden; |
| | | position: relative; |
| | | .homeCard{ |
| | | width: 100%; |
| | | padding: 0 20px; |
| | | box-sizing: border-box; |
| | | background: #fff; |
| | | border-radius: 4px; |
| | | } |
| | | .applyBtn{ |
| | | width: 100%; |
| | | background: #fff; |
| | | padding-top: 15px; |
| | | z-index: 5; |
| | | box-shadow: 0 -3px 8px rgba(150,150,150,.1); |
| | | display: flex; |
| | | align-items: center; |
| | | justify-content: center; |
| | | } |
| | | .el-row{ |
| | | margin-bottom: 20px; |
| | | } |
| | | .el-row:last-child { |
| | | margin-bottom: 0; |
| | | } |
| | | .el-input{ |
| | | width: 100% !important; |
| | | } |
| | | .el-date-editor::v-deep{ |
| | | width: 100%; |
| | | } |
| | | .el-select{ |
| | | width: 100%; |
| | | } |
| | | .el-cascader{ |
| | | width: 100% !important; |
| | | } |
| | | } |
| | | </style> |
对比新文件 |
| | |
| | | <template> |
| | | <div class="system-role-container"> |
| | | <el-card shadow="hover"> |
| | | <div class="system-user-search mb15"> |
| | | <el-input size="default" v-model.trim="listQuery.searchParams.name" placeholder="请输入证书类型" style="max-width: 180px"> </el-input> |
| | | <el-button size="default" type="primary" class="ml10" @click="handleSearch"> |
| | | <el-icon> |
| | | <ele-Search /> |
| | | </el-icon> |
| | | 查询 |
| | | </el-button> |
| | | <el-button size="default" type="success" class="ml10" @click="onOpenDialogRef('新增', '')"> |
| | | <el-icon> |
| | | <ele-FolderAdd /> |
| | | </el-icon> |
| | | 新增 |
| | | </el-button> |
| | | </div> |
| | | <el-table :data="tableData.data" style="width: 100%"> |
| | | <el-table-column prop="name" label="证书类型" show-overflow-tooltip></el-table-column> |
| | | <el-table-column prop="personCount" label="关联证书人员" show-overflow-tooltip> |
| | | <template #default="scope"> |
| | | <el-button v-if="scope.row.personCount && scope.row.personCount>0" link type="primary" @click="openMembers('人员',scope.row)">{{scope.row.personCount}}</el-button> |
| | | <span v-else>0</span> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="unValidCount" label="三个月证书到期" show-overflow-tooltip> |
| | | <template #default="scope"> |
| | | <el-button v-if="scope.row.unValidCount && scope.row.unValidCount>0" link type="danger" @click="openMembers('到期',scope.row)">{{scope.row.unValidCount}}</el-button> |
| | | <span v-else>0</span> |
| | | </template> |
| | | </el-table-column> |
| | | <!-- <el-table-column prop="warnCount" label="历史预警信息" show-overflow-tooltip>--> |
| | | <!-- <template #default="scope">--> |
| | | <!-- <el-button v-if="scope.row.warnCount && scope.row.warnCount>0" link type="danger" @click="openMes(scope.row)">{{scope.row.warnCount}}</el-button>--> |
| | | <!-- <span v-else>0</span>--> |
| | | <!-- </template>--> |
| | | <!-- </el-table-column>--> |
| | | <el-table-column label="操作" width="150"> |
| | | <template #default="scope"> |
| | | <el-button size="small" text type="primary" @click="onOpenDialogRef('修改', scope.row)">修改</el-button> |
| | | <el-button size="small" style="color: red" text type="primary" @click="onRowDel(scope.row)">删除</el-button> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <br /> |
| | | <el-pagination @size-change="onHandleSizeChange" @current-change="onHandleCurrentChange" class="page-position" :pager-count="5" :page-sizes="[10]" v-model:current-page="listQuery.pageIndex" background v-model:page-size="listQuery.pageSize" layout="total, sizes, prev, pager, next, jumper" :total="tableData.total"> </el-pagination> |
| | | <br /> |
| | | <br /> |
| | | </el-card> |
| | | <certificateDialog ref="certificateRef" @refreshCertList="initRoleTableData" /> |
| | | <certificate-member ref="certificateMemRef"></certificate-member> |
| | | <messages ref="mesRef"></messages> |
| | | </div> |
| | | </template> |
| | | |
| | | <script lang="ts"> |
| | | import { toRefs, reactive, onMounted, ref, defineComponent } from 'vue'; |
| | | import { ElMessageBox, ElMessage } from 'element-plus'; |
| | | import certificateDialog from '/@/views/system/certificate/component/certificateDialog.vue' |
| | | import certificateMember from '/@/views/system/certificate/component/certificateMember.vue' |
| | | import messages from '/@/views/system/certificate/component/messages.vue' |
| | | import { certApi } from '/@/api/systemManage/certificate'; |
| | | import { useMenuApi } from '/@/api/systemManage/menu'; |
| | | import { Session } from '/@/utils/storage'; |
| | | import { initBackEndControlRoutes } from '/@/router/backEnd'; |
| | | import {useUserInfo} from "/@/stores/userInfo"; |
| | | import {storeToRefs} from "pinia"; |
| | | |
| | | // 定义接口来定义对象的类型 |
| | | interface TableData { |
| | | roleName: string; |
| | | roleSign: string; |
| | | describe: string; |
| | | sort: number; |
| | | status: boolean; |
| | | createTime: string; |
| | | } |
| | | interface TableDataState { |
| | | tableData: { |
| | | data: Array<TableData>; |
| | | total: number; |
| | | loading: boolean; |
| | | }; |
| | | listQuery: { |
| | | pageIndex: number |
| | | pageSize: number |
| | | searchParams: { |
| | | name: string |
| | | } |
| | | }; |
| | | } |
| | | |
| | | export default defineComponent({ |
| | | name: 'certificate', |
| | | components: {messages, certificateMember, certificateDialog }, |
| | | setup() { |
| | | const userInfo = useUserInfo(); |
| | | const { userInfos } = storeToRefs(userInfo); |
| | | const certificateRef = ref(); |
| | | const certificateMemRef = ref(); |
| | | const mesRef = ref(); |
| | | const state = reactive<TableDataState>({ |
| | | tableData: { |
| | | data: [], |
| | | total: 0, |
| | | loading: false, |
| | | }, |
| | | listQuery: { |
| | | pageIndex: 1, |
| | | pageSize: 10, |
| | | searchParams: { |
| | | name:'' |
| | | } |
| | | } |
| | | }); |
| | | // 初始化表格数据 |
| | | const initRoleTableData = async () => { |
| | | let res = await certApi().getCerttypeList(state.listQuery); |
| | | if (res.data.code === '200') { |
| | | state.tableData.data = res.data.data; |
| | | state.tableData.total = res.data.total |
| | | } else { |
| | | ElMessage({ |
| | | type: 'warning', |
| | | message: res.data.msg |
| | | }); |
| | | } |
| | | }; |
| | | |
| | | const onOpenDialogRef = (type: string, value: any) => { |
| | | certificateRef.value.openDialog(type, value); |
| | | }; |
| | | |
| | | const openMembers = (type: string, value: any) => { |
| | | certificateMemRef.value.openDialog(type,value) |
| | | } |
| | | |
| | | const openMes = (value: any) => { |
| | | mesRef.value.openDialog(value) |
| | | } |
| | | const onRowDel = (row: any) => { |
| | | ElMessageBox.confirm(`此操作将永久删除角色名称:“${row.name}”,是否继续?`, '提示', { |
| | | confirmButtonText: '确认', |
| | | cancelButtonText: '取消', |
| | | type: 'warning' |
| | | }) |
| | | .then(async () => { |
| | | let res = await certApi().deleteCerttype(row.id); |
| | | if (res.data.code === '200') { |
| | | ElMessage({ |
| | | type: 'success', |
| | | duration: 2000, |
| | | message: '删除成功' |
| | | }); |
| | | await initRoleTableData(); |
| | | } else { |
| | | ElMessage({ |
| | | type: 'warning', |
| | | message: res.data.msg |
| | | }); |
| | | } |
| | | }) |
| | | .catch(() => {}); |
| | | }; |
| | | const handleSearch = () => { |
| | | state.listQuery.pageIndex = 1 |
| | | initRoleTableData(); |
| | | }; |
| | | |
| | | // 分页改变 |
| | | const onHandleSizeChange = (val: number) => { |
| | | state.listQuery.pageSize = val; |
| | | initRoleTableData(); |
| | | }; |
| | | // 分页改变 |
| | | const onHandleCurrentChange = (val: number) => { |
| | | state.listQuery.pageIndex = val; |
| | | initRoleTableData(); |
| | | }; |
| | | // 页面加载时 |
| | | onMounted(() => { |
| | | initRoleTableData(); |
| | | }); |
| | | return { |
| | | onRowDel, |
| | | handleSearch, |
| | | certificateRef, |
| | | certificateMemRef, |
| | | mesRef, |
| | | onOpenDialogRef, |
| | | openMembers, |
| | | openMes, |
| | | initRoleTableData, |
| | | onHandleSizeChange, |
| | | onHandleCurrentChange, |
| | | ...toRefs(state) |
| | | }; |
| | | } |
| | | }); |
| | | </script> |