马宇豪
2023-03-13 fb67153f3df0c25863f388b199c5706f4ba801ea
作业申请新增设备
已修改10个文件
194 ■■■■■ 文件已修改
src/api/specialWorkSystem/workApply/index.ts 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workTicket/zysq/components/broken.vue 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workTicket/zysq/components/fire.vue 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workTicket/zysq/components/ground.vue 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workTicket/zysq/components/height.vue 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workTicket/zysq/components/hoist.vue 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workTicket/zysq/components/plate.vue 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workTicket/zysq/components/power.vue 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workTicket/zysq/components/space.vue 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/specialWorkSystem/workTicket/zysq/index.vue 34 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/specialWorkSystem/workApply/index.ts
@@ -20,7 +20,7 @@
            });
        },
        // 分页获取申请列表
        // 获取所有用户
        getAllUsers: () => {
            return request({
                url: import.meta.env.VITE_API_URL + `/account/list`,
@@ -28,6 +28,14 @@
            });
        },
        // 获取所有设备
        getAllDevices: () => {
            return request({
                url: import.meta.env.VITE_API_URL + `/sysAdmin/camera/find/byAll`,
                method: 'get'
            });
        },
        // 导出打印接口
        postPrinting: (data: object) => {
            return request({
src/views/specialWorkSystem/workTicket/zysq/components/broken.vue
@@ -61,6 +61,18 @@
                        />
                    </el-form-item>
                </el-col>
        <el-col :span="12">
          <el-form-item label="关联设备" prop="cameraIds">
            <el-select v-model="form.cameraIds" multiple>
              <el-option
                  v-for="item in deviceList"
                  :key="item.id"
                  :label="item.name"
                  :value="item.id"
              />
            </el-select>
          </el-form-item>
        </el-col>
            </el-row>
                <el-divider border-style="dashed"/>
            <el-row>
@@ -169,7 +181,7 @@
        components: {
      materialDialog: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/zysq/components/materialDialog.vue')),
    },
        props:['workerList','departList'],
        props:['workerList','departList','deviceList'],
        setup(props: any, context: any) {
            const userInfo = useUserInfo()
            const { userInfos } = storeToRefs(userInfo);
@@ -181,6 +193,7 @@
                    workContent: '',
                    workLocation: '',
                    hazardIdentification: '',
          cameraIds: [],
          maBaseId: null,
                    workDetail:{
                        operationDepId: null,
@@ -250,6 +263,7 @@
                workContent: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
                workLocation: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
                hazardIdentification: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
        cameraIds: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
                workTimeLine: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
                "workDetail.operationDepId": [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
                "workDetail.bcReason": [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
src/views/specialWorkSystem/workTicket/zysq/components/fire.vue
@@ -74,6 +74,20 @@
                    </el-form-item>
                </el-col>
            </el-row>
      <el-row>
        <el-col :span="12">
          <el-form-item label="关联设备" prop="cameraIds">
            <el-select v-model="form.cameraIds" multiple>
              <el-option
                  v-for="item in deviceList"
                  :key="item.id"
                  :label="item.name"
                  :value="item.id"
              />
            </el-select>
          </el-form-item>
        </el-col>
      </el-row>
                <el-divider border-style="dashed"/>
            <el-row>
                <el-col :span="12">
@@ -137,7 +151,7 @@
        components: {
      materialDialog: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/zysq/components/materialDialog.vue')),
    },
        props:['workerList'],
        props:['workerList','deviceList'],
        setup(props: any, context: any) {
            const userInfo = useUserInfo()
            const { userInfos } = storeToRefs(userInfo);
@@ -151,6 +165,7 @@
                    workLocation: '',
          maBaseId: null,
                    hazardIdentification: '',
          cameraIds: [],
                    workDetail:{
                        hotMethod: '',
                        otherSpecialWork: []
@@ -218,6 +233,7 @@
                workContent: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
                workLocation: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
                hazardIdentification: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
        cameraIds: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
                workTimeLine: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
                "workDetail.hotMethod": [{ required: true, message: '该内容不能为空', trigger: 'blur' }]
            });
src/views/specialWorkSystem/workTicket/zysq/components/ground.vue
@@ -61,6 +61,18 @@
                        />
                    </el-form-item>
                </el-col>
        <el-col :span="12">
          <el-form-item label="关联设备" prop="cameraIds">
            <el-select v-model="form.cameraIds" multiple>
              <el-option
                  v-for="item in deviceList"
                  :key="item.id"
                  :label="item.name"
                  :value="item.id"
              />
            </el-select>
          </el-form-item>
        </el-col>
            </el-row>
                <el-divider border-style="dashed"/>
            <el-row>
@@ -172,7 +184,7 @@
        components: {
      materialDialog: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/zysq/components/materialDialog.vue')),
    },
        props:['workerList','departList'],
        props:['workerList','departList', 'deviceList'],
        setup(props: any, context: any) {
            const userInfo = useUserInfo()
            const { userInfos } = storeToRefs(userInfo);
@@ -185,6 +197,7 @@
                    workContent: '',
                    workLocation: '',
                    hazardIdentification: '',
          cameraIds: [],
          maBaseId: null,
                    workDetail:{
                        operationDepId: null,
@@ -281,6 +294,7 @@
                workContent: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
                workLocation: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
                hazardIdentification: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
        cameraIds: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
                workTimeLine: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
                "workDetail.operationDepId": [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
                "workDetail.gbScope": [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
src/views/specialWorkSystem/workTicket/zysq/components/height.vue
@@ -74,6 +74,34 @@
                    </el-form-item>
                </el-col>
            </el-row>
        <el-row>
          <el-col :span="12">
            <el-form-item label="关联设备" prop="cameraIds">
              <el-select v-model="form.cameraIds" multiple>
                <el-option
                    v-for="item in deviceList"
                    :key="item.id"
                    :label="item.name"
                    :value="item.id"
                />
              </el-select>
            </el-form-item>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="12">
            <el-form-item label="关联设备" prop="cameraIds">
              <el-select v-model="form.cameraIds" multiple>
                <el-option
                    v-for="item in deviceList"
                    :key="item.id"
                    :label="item.name"
                    :value="item.id"
                />
              </el-select>
            </el-form-item>
          </el-col>
        </el-row>
                <el-divider border-style="dashed"/>
            <el-row>
                <el-col :span="12">
@@ -156,7 +184,7 @@
        components: {
      materialDialog: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/zysq/components/materialDialog.vue')),
    },
        props:['workerList','departList'],
        props:['workerList','departList','deviceList'],
        setup(props: any, context: any) {
            const userInfo = useUserInfo()
            const { userInfos } = storeToRefs(userInfo);
@@ -169,6 +197,7 @@
                    workContent: '',
                    workLocation: '',
                    hazardIdentification: '',
          cameraIds: [],
          maBaseId: null,
                    workDetail:{
                        operationDepId: '',
@@ -286,6 +315,7 @@
                workContent: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
                workLocation: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
                hazardIdentification: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
        cameraIds: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
                workTimeLine: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
                "workDetail.operationDepId": [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
                "workDetail.operationHeight": [{ required: true, message: '该内容不能为空', trigger: 'blur' }]
src/views/specialWorkSystem/workTicket/zysq/components/hoist.vue
@@ -74,6 +74,20 @@
                    </el-form-item>
                </el-col>
            </el-row>
        <el-row>
          <el-col :span="12">
            <el-form-item label="关联设备" prop="cameraIds">
              <el-select v-model="form.cameraIds" multiple>
                <el-option
                    v-for="item in deviceList"
                    :key="item.id"
                    :label="item.name"
                    :value="item.id"
                />
              </el-select>
            </el-form-item>
          </el-col>
        </el-row>
                <el-divider border-style="dashed"/>
            <el-row>
                <el-col :span="12">
@@ -136,7 +150,7 @@
        components: {
      materialDialog: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/zysq/components/materialDialog.vue')),
    },
        props:['workerList'],
        props:['workerList','deviceList'],
        setup(props: any, context: any) {
            const userInfo = useUserInfo()
            const { userInfos } = storeToRefs(userInfo);
@@ -150,6 +164,7 @@
                    workLocation: '',
          maBaseId: null,
                    hazardIdentification: '',
          cameraIds: [],
                    workDetail:{
                        hoistingToolName: '',
                        weightMass: null
@@ -183,6 +198,7 @@
                workContent: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
                workLocation: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
                hazardIdentification: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
        cameraIds: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
                workTimeLine: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
                "workDetail.hoistingToolName": [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
                "workDetail.weightMass": [{ required: true, message: '该内容不能为空', trigger: 'blur' }]
src/views/specialWorkSystem/workTicket/zysq/components/plate.vue
@@ -74,6 +74,20 @@
                    </el-form-item>
                </el-col>
            </el-row>
        <el-row>
          <el-col :span="12">
            <el-form-item label="关联设备" prop="cameraIds">
              <el-select v-model="form.cameraIds" multiple>
                <el-option
                    v-for="item in deviceList"
                    :key="item.id"
                    :label="item.name"
                    :value="item.id"
                />
              </el-select>
            </el-form-item>
          </el-col>
        </el-row>
                <el-divider border-style="dashed"/>
            <el-row>
                <el-col :span="12">
@@ -247,7 +261,7 @@
        components: {
      materialDialog: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/zysq/components/materialDialog.vue')),
    },
        props:['workerList'],
        props:['workerList','deviceList'],
        setup(props: any, context: any) {
            const userInfo = useUserInfo()
            const { userInfos } = storeToRefs(userInfo);
@@ -261,6 +275,7 @@
                    workLocation: '',
          maBaseId: null,
                    hazardIdentification: '',
          cameraIds: [],
                    workDetail:{
                        bpCode: '',
                        mainMedia: '',
@@ -366,6 +381,7 @@
                workContent: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
                workLocation: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
                hazardIdentification: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
        cameraIds: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
                workTimeLine: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
                "workDetail.bpCode": [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
                "workDetail.mainMedia": [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
src/views/specialWorkSystem/workTicket/zysq/components/power.vue
@@ -61,6 +61,18 @@
                        />
                    </el-form-item>
                </el-col>
        <el-col :span="12">
          <el-form-item label="关联设备" prop="cameraIds">
            <el-select v-model="form.cameraIds" multiple>
              <el-option
                  v-for="item in deviceList"
                  :key="item.id"
                  :label="item.name"
                  :value="item.id"
              />
            </el-select>
          </el-form-item>
        </el-col>
            </el-row>
                <el-divider border-style="dashed"/>
            <el-row>
@@ -133,7 +145,7 @@
        components: {
      materialDialog: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/zysq/components/materialDialog.vue')),
    },
        props:['workerList'],
        props:['workerList','deviceList'],
        setup(props: any, context: any) {
            const userInfo = useUserInfo()
            const { userInfos } = storeToRefs(userInfo);
@@ -147,6 +159,7 @@
                    workLocation: '',
          maBaseId: null,
                    hazardIdentification: '',
          cameraIds: [],
                    workDetail:{
                        powerAccessPoint: '',
                        workingVoltage: null,
@@ -166,6 +179,7 @@
                workContent: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
                workLocation: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
                hazardIdentification: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
        cameraIds: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
                workTimeLine: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
                "workDetail.powerAccessPoint": [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
                "workDetail.workingVoltage": [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
src/views/specialWorkSystem/workTicket/zysq/components/space.vue
@@ -61,6 +61,18 @@
                        />
                    </el-form-item>
                </el-col>
        <el-col :span="12">
          <el-form-item label="关联设备" prop="cameraIds">
            <el-select v-model="form.cameraIds" multiple>
              <el-option
                  v-for="item in deviceList"
                  :key="item.id"
                  :label="item.name"
                  :value="item.id"
              />
            </el-select>
          </el-form-item>
        </el-col>
            </el-row>
                <el-divider border-style="dashed" />
            <el-row>
@@ -147,7 +159,7 @@
        components: {
      materialDialog: defineAsyncComponent(() => import('/@/views/specialWorkSystem/workTicket/zysq/components/materialDialog.vue')),
    },
        props:['workerList','departList'],
        props:['workerList','departList','deviceList'],
        setup(props: any, context: any) {
            const userInfo = useUserInfo()
            const { userInfos } = storeToRefs(userInfo);
@@ -161,6 +173,7 @@
                    workLocation: '',
          maBaseId: null,
                    hazardIdentification: '',
          cameraIds: [],
                    workDetail:{
                        csDepId: null,
                        csName: '',
@@ -249,6 +262,7 @@
                workContent: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
                workLocation: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
                hazardIdentification: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
        cameraIds: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
                workTimeLine: [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
                "workDetail.csDepId": [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
                "workDetail.csName": [{ required: true, message: '该内容不能为空', trigger: 'blur' }],
src/views/specialWorkSystem/workTicket/zysq/index.vue
@@ -2,28 +2,28 @@
    <div class="home-container">
        <el-tabs type="border-card" @tab-change="switchTab">
            <el-tab-pane label="动火作业">
                <fire-form ref="fire" :workerList = allWorkers></fire-form>
                <fire-form ref="fire" :workerList = allWorkers :deviceList = allDevices></fire-form>
            </el-tab-pane>
            <el-tab-pane label="受限空间作业">
                <space-form ref="space" :workerList = allWorkers :departList = departmentList></space-form>
                <space-form ref="space" :workerList = allWorkers :departList = departmentList :deviceList = allDevices></space-form>
            </el-tab-pane>
            <el-tab-pane label="吊装作业">
                <hoist-form ref="hoist" :workerList = allWorkers></hoist-form>
                <hoist-form ref="hoist" :workerList = allWorkers :deviceList = allDevices></hoist-form>
            </el-tab-pane>
            <el-tab-pane label="动土作业">
                <ground-form ref="ground" :workerList = allWorkers :departList = departmentList></ground-form>
                <ground-form ref="ground" :workerList = allWorkers :departList = departmentList :deviceList = allDevices></ground-form>
            </el-tab-pane>
            <el-tab-pane label="断路作业">
                <broken-form ref="broken" :workerList = allWorkers :departList = departmentList></broken-form>
                <broken-form ref="broken" :workerList = allWorkers :departList = departmentList :deviceList = allDevices></broken-form>
            </el-tab-pane>
            <el-tab-pane label="高处作业">
                <height-form ref="height" :workerList = allWorkers :departList = departmentList></height-form>
                <height-form ref="height" :workerList = allWorkers :departList = departmentList :deviceList = allDevices></height-form>
            </el-tab-pane>
            <el-tab-pane label="临时用电作业">
                <power-form ref="power" :workerList = allWorkers></power-form>
                <power-form ref="power" :workerList = allWorkers :deviceList = allDevices></power-form>
            </el-tab-pane>
            <el-tab-pane label="盲板抽堵作业">
                <plate-form ref="plate" :workerList = allWorkers></plate-form>
                <plate-form ref="plate" :workerList = allWorkers :deviceList = allDevices></plate-form>
            </el-tab-pane>
        </el-tabs>
    <material-dialog ref="material"></material-dialog>
@@ -45,6 +45,7 @@
    interface stateType {
        allWorkers: Array<any>
        departmentList: Array<any>
    allDevices: Array<any>
    }
    export default defineComponent({
        name: 'apply',
@@ -64,7 +65,8 @@
            const { userInfos } = storeToRefs(userInfo);
            const state  = reactive<stateType>({
                allWorkers: [],
                departmentList: []
                departmentList: [],
        allDevices: []
            });
      const fire = ref()
      const space = ref()
@@ -101,6 +103,19 @@
                }
            };
      // 获取设备列表
      const getAllDevice = async ()=>{
        const res = await workApplyApi().getAllDevices()
        if (res.data.code === '200') {
          state.allDevices = JSON.parse(JSON.stringify(res.data.data))
        } else {
          ElMessage({
            type: 'warning',
            message: res.data.msg
          });
        }
      };
      const switchTab = (name)=>{
        console.log(name,'name')
        fire.value.form.resetFields()
@@ -113,6 +128,7 @@
            onMounted(() => {
                getAll();
                getAllDepartment();
        getAllDevice()
            });
            return {