Browse Source

房屋审核

Shannon_mu 3 years ago
parent
commit
0f706c15dc

+ 2 - 1
energyManagement/src/views/instrumentManagement/popups/tabIndex.vue

@@ -158,7 +158,8 @@ export default {
                     prop: 'operationResult',
                     format(val, data) {
                         let name = '';
-                        if (_this.mixins_query.categoryId === 1) {
+                        debugger;
+                        if (_this.$parent.detail.categoryId === 1) {
                             name = '阀';
                         } else {
                             name = '闸';

+ 9 - 1
operationSupport/src/views/operationManagement/workOrders/index.vue

@@ -105,6 +105,7 @@ export default {
                     slot: 'opt'
                 }
             ],
+            findUser: [],
             mixins_post: 'get'
         };
     },
@@ -113,6 +114,7 @@ export default {
         this.mixins_dataUrl = '/sc-community-web/workOrder/page';
         this.mixins_query = {};
         this.mixins_search();
+        this.getUserList();
     },
     mounted() {},
     methods: {
@@ -126,15 +128,21 @@ export default {
 
                 .catch(function () {});
         },
+        getUserList() {
+            this.$http.get('/sc-user-center/user/findUserList').then(({ data, status, msg }) => {
+                this.findUser = data;
+            });
+        },
         dispatchTask(data = {}) {
             new Promise((resolve) => {
                 let title = '派单';
                 this.$store.dispatch('addPopup', {
                     url: '/operationManagement/workOrders/stepPage/dispatchTsk.vue',
                     width: '500px',
-                    height: '100px',
+                    height: '300px',
                     props: {
                         data,
+                        arrData:this.findUser,
                         callback: resolve
                     },
                     title: title

+ 11 - 28
operationSupport/src/views/operationManagement/workOrders/records.vue

@@ -33,7 +33,7 @@
             <template slot-scope="scope" slot="opt">
                 <div class="opt">
                     <el-tooltip effect="light" placement="bottom" content="详情">
-                        <i class="zoniot_font zoniot-icon-xiangqing" @click="dispatchTask(scope.row)"></i>
+                        <i class="zoniot_font zoniot-icon-xiangqing" @click="lookDetails(scope.row)"></i>
                     </el-tooltip>
                 </div>
             </template>
@@ -113,6 +113,7 @@ export default {
                     slot: 'opt'
                 }
             ],
+            times: [],
             mixins_post: 'get'
         };
     },
@@ -142,38 +143,20 @@ export default {
 
                 .catch(function () {});
         },
-        dispatchTask(row) {
-            console.log(row);
-        },
-        closeTask(data = {}) {
-            new Promise((resolve) => {
-                let title = '关闭工单';
-                this.$store.dispatch('addPopup', {
-                    url: '/operationManagement/workOrders/stepPage/closeTsk.vue',
-                    width: '500px',
-                    height: '100px',
-                    props: {
-                        data,
-                        callback: resolve
-                    },
-                    notip: true,
-                    title: title
-                });
-            }).then(() => {
-                this.mixins_search();
-            });
-        },
-        addOrEdit() {
+        lookDetails(row) {
             new Promise((resolve) => {
-                let title = '添加工单';
                 this.$store.dispatch('addPopup', {
-                    url: '/operationManagement/workOrders/stepPage/add.vue',
-                    width: '500px',
-                    height: '500px',
+                    url: '/operationManagement/workOrders/stepPage/details.vue',
+                    width: '900px',
+                    height: '581px',
                     props: {
+                        id: row.id,
                         callback: resolve
                     },
-                    title: title
+                    showConfirmButton: true,
+                    showCancelButton: true,
+                    hideStar: true,
+                    title: '账单详情'
                 });
             }).then(() => {
                 this.mixins_search();

+ 178 - 0
operationSupport/src/views/operationManagement/workOrders/stepPage/details.vue

@@ -0,0 +1,178 @@
+<template>
+    <div class="lookDetail">
+        <div class="left">
+            <div class="list-item">
+                <div class="formContent-item_title">工单信息</div>
+                <el-form ref="form" label-width="110px">
+                    <template v-for="(item, index) in formLook">
+                        <el-col :span="!!item.span ? item.span : 12" :key="index">
+                            <el-form-item :label="item.label">
+                                <template v-if="item.slot">
+                                    <template v-if="item.slot === 'orderType'">
+                                        <span v-if="thisItem['orderType'] == 1">业主报修</span>
+                                        <span v-else>内部报修</span>
+                                    </template>
+                                </template>
+                                <template v-else>
+                                    {{ thisItem[item.prop] || '--' }}
+                                </template>
+                            </el-form-item>
+                        </el-col>
+                    </template>
+                </el-form>
+            </div>
+            <div class="list-item">
+                <div class="formContent-item_title">处理信息</div>
+                <el-form ref="form" label-width="110px">
+                    <template v-for="(item, index) in formLook2">
+                        <el-col :span="!!item.span ? item.span : 12" :key="index">
+                            <el-form-item :label="item.label">
+                                <template v-if="item.slot">
+                                    <template v-if="item.slot === 'urgencyDegree'">
+                                        <span v-if="thisItem['urgencyDegree'] == 2" class="redText">紧急</span>
+                                        <span v-else class="greenText">普通</span>
+                                    </template>
+                                    <template v-if="item.slot === 'handleResult'">
+                                        <span v-if="thisItem['handleResult'] == 2" class="redText">无法处理</span>
+                                        <span v-else class="greenText">成功处理</span>
+                                    </template>
+                                </template>
+                                <template v-else>
+                                    {{ thisItem[item.prop] || '--' }}
+                                </template>
+                            </el-form-item>
+                        </el-col>
+                    </template>
+                </el-form>
+            </div>
+        </div>
+        <div class="right">
+            <div class="list-item">
+                <div class="formContent-item_title">工单进度追踪</div>
+                <div style="height:300px">
+                    <el-steps direction="vertical" :active="1">
+                        <el-step title="步骤 1" icon="el-icon-full-screen"></el-step>
+                        <el-step title="步骤 2" icon="el-icon-full-screen"></el-step>
+                        <el-step title="步骤 3" icon="el-icon-full-screen" description="这是一段很长很长很长的描述性文字"></el-step>
+                    </el-steps>
+                </div>
+            </div>
+        </div>
+    </div>
+</template>
+<script >
+export default {
+    props: ['params'],
+    data() {
+        return {
+            formLook: [
+                {
+                    label: '所属社区:',
+                    prop: 'communityName'
+                },
+                {
+                    label: '地址:',
+                    prop: 'address'
+                },
+                {
+                    label: '报修人:',
+                    prop: 'repairName'
+                },
+                {
+                    label: '手机号:',
+                    prop: 'repairPhone'
+                },
+                {
+                    label: '报修时间:',
+                    prop: 'createDate'
+                },
+                {
+                    label: '工单类型:',
+                    prop: 'orderType',
+                    slot: 'orderType'
+                },
+                {
+                    label: '报修内容:',
+                    prop: 'repairContent',
+                    span: 24
+                },
+                {
+                    label: '图片/视频:',
+                    prop: 'repairFile',
+                    span: 24
+                }
+            ],
+            formLook2: [
+                {
+                    label: '维修人员:',
+                    prop: 'handleName'
+                },
+                {
+                    label: '紧急程度:',
+                    prop: 'urgencyDegree',
+                    slot: 'urgencyDegree'
+                },
+                {
+                    label: '预期完成时间:',
+                    prop: 'expectCompletionTime'
+                },
+                {
+                    label: '实际完成时间:',
+                    prop: 'completionTime'
+                },
+                {
+                    label: '处理结果:',
+                    prop: 'handleResult',
+                    slot: 'handleResult',
+                    span: 24
+                },
+                {
+                    label: '图片/视频:',
+                    prop: 'handleFile',
+                    span: 24
+                }
+            ],
+            thisItem: {}
+        };
+    },
+
+    methods: {
+        getDatali(id) {
+            this.$http
+                .get('/sc-community/workOrder/find/' + id)
+                .then(({ data, msg, status }) => {
+                    if (status == 0) {
+                        this.thisItem = data;
+                    }
+                })
+                .catch(() => {});
+        }
+    },
+    created() {
+        this.getDatali(this.params.id);
+    }
+};
+</script>
+<style lang="scss" scoped>
+@import '@assets/css/public-style.scss';
+.lookDetail {
+    /deep/ .el-form-item__label,
+    /deep/.el-form-item__content {
+        font-size: 12px;
+    }
+    display: flex;
+    justify-content: space-between;
+    .formContent-item_title {
+        clear: both;
+    }
+    .left {
+        width: 600px;
+    }
+    .right {
+        width: calc(100% - 620px);
+    }
+    .list-item {
+        clear: inherit;
+    }
+}
+</style>

+ 77 - 10
operationSupport/src/views/operationManagement/workOrders/stepPage/dispatchTsk.vue

@@ -1,27 +1,82 @@
 <template>
-    <zz-form :cols="formCols" :data="formData" :rules="formRules" labelWidth="90" ref="form"> </zz-form>
+    <zz-form :cols="formCols" :data="formData" :rules="formRules" labelWidth="90" ref="form">
+        <el-select class="width65" v-model="formData.urgencyDegree" clearable slot="urgencyDegree">
+            <el-option :label="item.label" :value="item.value" v-for="item in urgencyDegreeArr" :key="item.value"></el-option>
+        </el-select>
+        <template slot="type">
+            <el-radio-group v-model="formData.type" @change="typeToggle">
+                <el-radio :label="1">当天</el-radio>
+                <el-radio :label="2">其他</el-radio>
+            </el-radio-group>
+            <span style="margin-left: 15px" v-if="formData.type == 2">
+                <el-date-picker
+                    v-model="formData.completionTime"
+                    type="datetime"
+                    value-format="yyyy-MM-dd HH:mm:ss"
+                    placeholder="选择时间"
+                    :clearable="false"
+                >
+                </el-date-picker>
+            </span>
+        </template>
+        <el-cascader
+            ref="userName"
+            v-model="formData.userId"
+            :props="defaultProps"
+            slot="userId"
+            :options="findUser"
+            @change="findUserToggle"
+        ></el-cascader>
+    </zz-form>
 </template>
 <script >
 export default {
     props: ['params'],
     data() {
         return {
+            urgencyDegreeArr: [
+                { label: '普通', value: 1 },
+                { label: '紧急', value: 2 }
+            ],
+            findUser: [],
             formData: {
-                cause: '',
-                orderId: ''
+                orderId: '',
+                urgencyDegree: '',
+                completionTime: '',
+                userId: '',
+                username: '',
+                type: 1
             },
             formRules: {
-                cause: [this.$valid.inputRequired('关闭原因')]
+                urgencyDegree: [this.$valid.selectRequired('紧急程度')],
+                userId: [this.$valid.selectRequired('维修人员')]
             },
             formCols: [
                 [
                     {
-                        label: '关闭原因',
-                        prop: 'cause',
-                        input: true
+                        label: '紧急程度',
+                        prop: 'urgencyDegree',
+                        slot: 'urgencyDegree'
+                    },
+                    {
+                        label: '完成时间',
+                        prop: 'type',
+                        slot: 'type',
+                        showRequired: true
+                    },
+                    {
+                        label: '维修人员',
+                        prop: 'userId',
+                        slot: 'userId'
                     }
                 ]
-            ]
+            ],
+            defaultProps: {
+                value: 'id', // 唯一标识
+                label: 'label', // 标签显示
+                children: 'children',
+                emitPath: false
+            }
         };
     },
 
@@ -31,7 +86,7 @@ export default {
                 this.$refs.form.validate(resolve);
             }).then(() => {
                 var loading = this.$loading();
-                let url = '/sc-community/workOrder/close';
+                let url = '/sc-community/workOrder/dispatch';
                 this.$http
                     .post(url, this.formData)
                     .then(({ status, msg }) => {
@@ -48,10 +103,22 @@ export default {
                         loading.close();
                     });
             });
+        },
+        typeToggle(v) {
+            if (v == 1) {
+                this.formData.completionTime = '';
+            } else {
+                this.formData.completionTime = this.$moment().format('yyyy-MM-DD HH:mm:ss');
+            }
+        },
+        findUserToggle() {
+            this.formData.username = this.$refs.userName.getCheckedNodes()[0].label;
         }
     },
     created() {
-        this.formData.orderId = JSON.parse(JSON.stringify(this.params.data)).id;
+        let newda = JSON.parse(JSON.stringify(this.params.data));
+        this.formData.orderId = newda.id;
+        this.findUser = this.params.arrData;
     }
 };
 </script>

+ 9 - 7
operationSupport/src/views/ownerManagement/ownerReview/index.vue

@@ -28,7 +28,7 @@
         >
             <template slot-scope="scope" slot="opt">
                 <div class="opt">
-                    <el-tooltip effect="light" placement="bottom" :content="scope.row.auditStatus == 0?'已经审核':'审核'">
+                    <el-tooltip effect="light" placement="bottom" :content="scope.row.auditStatus == 0 ? '审核' : '无法审核'">
                         <i v-if="scope.row.auditStatus == 0" class="zoniot_font zoniot-icon-yanshou1" @click="Review(scope.row)"></i>
                         <i class="zoniot_font zoniot-icon-yanshou1 ashText" v-else></i>
                     </el-tooltip>
@@ -45,7 +45,7 @@ import list from '@/js/list.js';
 import addOwner from '../stepPage/add.vue';
 export default {
     mixins: [list],
-    name:"ownerManagementOwnerReview",
+    name: 'ownerManagementOwnerReview',
     components: { addOwner },
     data() {
         return {
@@ -77,11 +77,11 @@ export default {
                     prop: 'householdType',
                     format(val) {
                         let va = '';
-                        if (val === 1) {
+                        if (val == 1) {
                             va = '业主';
-                        } else if (val === 2) {
+                        } else if (val == 2) {
                             va = '亲属';
-                        } else if (val === 3) {
+                        } else if (val == 3) {
                             va = '租客';
                         }
                         return va;
@@ -92,10 +92,12 @@ export default {
                     prop: 'auditStatus',
                     format(val) {
                         let va = '';
-                        if (val === 0) {
+                        if (val == 0) {
                             va = '未审核';
-                        } else if (val === 1) {
+                        } else if (val == 1) {
                             va = '已审核';
+                        } else if (val == 2) {
+                            va = '审核未通过';
                         }
                         return va;
                     }

+ 11 - 11
operationSupport/src/views/ownerManagement/stepPage/add.vue

@@ -64,7 +64,9 @@
                         <template slot="idNumber">{{ formData.idNumber }}</template>
                         <template slot="permanentAddress">{{ formData.permanentAddress }}</template>
                         <template slot="issuingAuthority">{{ formData.issuingAuthority }}</template>
-                        <template slot="effectiveDate">{{ formData.effectiveDateStart + '  ——  ' + formData.effectiveDateStart }}</template>
+                        <template slot="effectiveDate">{{
+                            !!formData.effectiveDateStart ? formData.effectiveDateStart + '  ——  ' + formData.effectiveDateStart : ''
+                        }}</template>
                         <template slot="nationality">{{ formData.nationality | matchingVal(nationalityArray) }}</template>
                         <template slot="nativePlace">{{ formData.nativePlace | matchingVal(nativePlaceArray) }}</template>
                         <template slot="nation">{{ formData.nation | matchingVal(nationArray) }}</template>
@@ -227,16 +229,6 @@ export default {
             default: true
         }
     },
-    computed: {
-        islooks() {
-            if (this.islook) {
-                this.lookFormCols('formCols');
-                this.lookFormCols('formCols2');
-                this.lookFormCols('formCols3');
-            }
-            return this.islook;
-        }
-    },
     filters: {
         matchingVal(val, arr) {
             let v = '';
@@ -468,6 +460,14 @@ export default {
         },
         nativePlaceArray() {
             return this.$store.getters['getNativeArray'];
+        },
+        islooks() {
+            if (this.islook) {
+                this.lookFormCols('formCols');
+                this.lookFormCols('formCols2');
+                this.lookFormCols('formCols3');
+            }
+            return this.islook;
         }
     },
     methods: {