Browse Source

Merge remote-tracking branch 'origin/productization2' into productization2

LAPTOP-UBJMM5MG\user 9 months ago
parent
commit
8e3483fbcd

+ 16 - 0
js_sdk/http.js

@@ -338,6 +338,13 @@ export function getHandleSizeTypes(e) {
         e, {})
 }
 
+// 获取待办列表
+export function handleListAll(e) {
+    return $http.post(
+        '/wx/workPaneController/handleListAll',
+        e, {})
+}
+
 
 // handleList?
 export function findCompanyTags(e) {
@@ -1004,12 +1011,21 @@ export function meetingAppointEdit(data) {
     )
 }
 
+// 共享资源预约 详情
 export function meetingAppointDetail(e) {
     return $http.post(
         '/wx/meetingAppoint/meetingAppointDetail', e, {}
     )
 }
 
+// // 共享资源预约 审核
+export function meetingAppointConfirmAudit(e) {
+    return $http.post(
+        '/wx/meetingAppoint/confirmAudit', e, {}
+    )
+}
+
+
 // 查询用户部门
 export function getUserDept(data) {
     return $http.post(

+ 9 - 1
pages/index/index.vue

@@ -73,6 +73,7 @@
 // import {demo} from "@/js_sdk/http"
 import { getUserPower, getUserLocalStorageInfo, getReadSizeByTypes } from "@/js_sdk/http";
 import EnterpriseSide from "./components/enterpriseSide.vue";
+import {getHandleSizeTypes} from "../../js_sdk/http";
 export default {
   components: { EnterpriseSide },
   data() {
@@ -217,6 +218,7 @@ export default {
   onShow() {
     this.getUserPower();
     this.getReadSize()
+    this.getHandleSize()
   },
   onLoad(e) {
     // uni.$on("userType", (userType) => {
@@ -236,7 +238,13 @@ export default {
       })
     },
     getHandleSize(){
-
+      const data = {
+        userId: getUserLocalStorageInfo().userId,
+        types: '0,1,8,9,10,11'
+      }
+      getHandleSizeTypes(data).then(res=>{
+        this.handleSize = res
+      })
     },
     toMsgPage(e) {
       uni.navigateTo({

+ 0 - 1
pages/subPackages/resourceReservation_manage/edit.vue

@@ -221,7 +221,6 @@ export default {
           this.startTime = this.form.useTime
           let index = this.timeList.findIndex((e) => e.value == this.form.timeSlot)
           this.timeListStr = this.timeList[index].label
-          console.log('form.appointTime', this.form.appointTime)
         }
       })
     },

+ 29 - 17
pages/subPackages/todo/index.vue

@@ -1,47 +1,59 @@
 <template>
   <div class="todoIndex">
       <div class="todoItem" v-for="item in todoList" @tap.stop="toDetail(item)">
-        <div class="tagTip">{{ item.tag }}</div>
-         <div class="todoItemTitle">{{ item.name }}</div>
-         <div class="submitTime">提交时间:2024-05-21</div>
-         <div class="submitPerson">提交人:吴凯旋</div>
+        <div class="handleTypeStrTip">{{ item.handleTypeStr }}</div>
+         <div class="todoItemTitle">{{ item.title }}</div>
+         <div class="submitTime">提交时间:{{ item.createdAt }}</div>
+         <div class="submitPerson">提交人:{{ item.srcUserName }}</div>
       </div>
   </div>
 </template>
 
 <script>
-import { getUserLocalStorageInfo } from "@/js_sdk/http";
+import { getUserLocalStorageInfo, handleListAll, userHandle, getContractById } from "@/js_sdk/http.js"
 export default {
   components: {
   },
+  onShow(){
+    this.getList()
+  },
   data() {
     return {
       getUserLocalStorageInfo: getUserLocalStorageInfo(),
       todoList:[
-        {name:'2024年01月26日~2024年...',tag:'企业房源预定'},
-        {name:'空调坏了,不能使用',tag:'报事报修-派单'},
-        {name:'上月水费不太对,怀疑水表',tag:'报事报修-处理'},
-        {name:'XXXXXXX企业入库审核',tag:'企业入库审核'},
-        {name:'2024年01月26日~2024年...',tag:'企业房源预定'},
-        {name:'XXXXXXX',tag:'资源预约审核'},
+        // {name:'2024年01月26日~2024年...',handleTypeStr:'企业房源预定'},
+        // {name:'空调坏了,不能使用',handleTypeStr:'报事报修-派单'},
+        // {name:'上月水费不太对,怀疑水表',handleTypeStr:'报事报修-处理'},
+        // {name:'XXXXXXX企业入库审核',handleTypeStr:'企业入库审核'},
+        // {name:'2024年01月26日~2024年...',handleTypeStr:'企业房源预定'},
+        // {name:'XXXXXXX',handleTypeStr:'资源预约审核'},
       ]
     };
   },
   methods:{
+    getList(){
+      const data = {
+        userId: getUserLocalStorageInfo().userId,
+        types: '0,1,8,9,10,11'
+      }
+      handleListAll(data).then(res=>{
+        this.todoList = res
+      })
+    },
     toDetail(item) {
-      if(item.tag === '企业房源预定'){
+      if(item.handleTypeStr === '企业房源预定'){
         uni.navigateTo({
           url:'/pages/subPackages/todo/predetermineDetail'
         })
-      }else if(item.tag.includes('报事报修')){
+      }else if(item.handleTypeStr.includes('报事报修')){
         uni.navigateTo({
           url:'/pages/subPackages/todo/repairAcceptance'
         })
-      }else if(item.tag.includes('资源预约审核')){
+      }else if(item.handleTypeStr.includes('资源预约审核')){
         uni.navigateTo({
-          url:'/pages/subPackages/todo/resourceReview'
+          url:'/pages/subPackages/todo/resourceReview?appointId=' + item.routeParam.replace('id=','')
         })
-      }else if(item.tag.includes('企业入库审核')){
+      }else if(item.handleTypeStr.includes('企业入库审核')){
         uni.navigateTo({
           url:'/pages/subPackages/todo/inventoryReview'
         })
@@ -64,7 +76,7 @@ export default {
         border-radius: 16rpx;
         box-sizing: border-box;
         margin-left: 32rpx;
-        .tagTip{
+        .handleTypeStrTip{
           position: absolute;
           right: 0;
           top: 0;

+ 132 - 33
pages/subPackages/todo/resourceReview.vue

@@ -6,23 +6,23 @@
         </li>
         <li class="detailLi">
           <span class="liName">当前企业</span>
-          <span class="liInfo">无锡XXXXX有限公司</span>
+          <span class="liInfo">{{ appointForm.unit }}</span>
         </li>
         <li class="detailLi">
           <span class="liName">位置</span>
-          <span class="liInfo">XXXXXXXXXXXXXXXXX</span>
+          <span class="liInfo">{{ meetingRoomForm.position }}</span>
         </li>
         <li class="detailLi">
           <span class="liName">容纳人数</span>
-          <span class="liInfo">120</span>
+          <span class="liInfo">{{ meetingRoomForm.seatNumber }}</span>
         </li>
         <li class="detailLi">
           <span class="liName">配套</span>
-          <span class="liInfo">XXXX</span>
+          <span class="liInfo">{{ meetingRoomForm.matchGoods }}</span>
         </li>
-        <li class="detailLi" style="border-bottom: none">
+        <li class="detailLi">
           <span class="liName">说明</span>
-          <span class="liInfo">XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX</span>
+          <span class="liInfo">{{ meetingRoomForm.remark }}</span>
         </li>
       </ul>
       <div class="resourceAddDetail">
@@ -31,72 +31,75 @@
             <div class="topTitle" style="padding: 48rpx 0 24rpx 0">预约详情</div>
             <div class="choosTimeBox">
               <span class="msg">使用时间</span>
-              <input placeholder="请选择日期" class="choosIpt" disabled>
-              <input placeholder="请选择时间段" class="choosIpt" disabled>
+<!--              <input placeholder="请选择日期" class="choosIpt" disabled>-->
+<!--              <input placeholder="请选择时间段" class="choosIpt" disabled>-->
+              <span class="choosIpt" >{{ startTime }} </span>
+              <span class="choosIpt" >{{ timeListStr }} </span>
             </div>
           </li>
           <li class="detailLi">
             <span class="liName">主题</span>
-            <span >
-               <input class="liInfo" placeholder="" v-model="theme" disabled>
+            <span>
+               <input class="liInfo" placeholder="请填写" v-model="appointForm.subject">
           </span>
           </li>
           <li class="detailLi">
             <span class="liName">容纳人数</span>
-            <span >
-               <input class="liInfo" placeholder="请填写整数">
+            <span>
+               <input class="liInfo" placeholder="请填写整数" v-model="appointForm.peopleNumber">
           </span>
           </li>
           <li class="detailLi">
             <span class="liName">联系人</span>
-            <span >
-               <input class="liInfo" placeholder="请填写">
+            <span>
+               <input class="liInfo" placeholder="请填写" v-model="appointForm.contacts">
           </span>
           </li>
           <li class="detailLi">
             <span class="liName">联系电话</span>
-            <span >
-               <input class="liInfo" placeholder="请填写">
+            <span>
+               <input class="liInfo" placeholder="请填写" v-model="appointForm.phone">
           </span>
           </li>
           <li class="detailLi2" style="border-bottom: none">
-            <div class="titleBox" >
+            <div class="titleBox">
               <span class="liName">备注</span>
             </div>
             <van-field
-                :value="postData.constant"
+                :value="appointForm.remarks"
                 autosize
                 type="textarea"
                 placeholder="请输入"
                 class="myField"
                 maxlength="2000"
                 show-word-limit
+                @change="changeMsg"
             />
           </li>
         </ul>
         <ul class="predetermineUl">
           <li class="detailLi">
             <span class="liName">预约单位</span>
-            <span >
-               <input class="liInfo" placeholder="" v-model="unit">
+            <span>
+               <input class="liInfo" placeholder="" v-model="appointForm.unit">
           </span>
           </li>
           <li class="detailLi">
             <span class="liName">容纳人数</span>
             <span >
-               <input class="liInfo" placeholder="请填写整数">
+               <input class="liInfo" placeholder="请填写整数" v-model="appointForm.peopleNumber">
           </span>
           </li>
           <li class="detailLi">
             <span class="liName">预约人</span>
             <span >
-               <input class="liInfo" placeholder="请填写" value="吴凯旋">
+               <input class="liInfo" placeholder="请填写" v-model="appointForm.appointUserName">
           </span>
           </li>
           <li class="detailLi" style="border-bottom: none">
             <span class="liName">预约时间</span>
-            <span >
-               <input class="liInfo" placeholder="请填写" value="YYYYY-MM-DD  HH:MM ">
+            <span>
+               <input class="liInfo" placeholder="请填写" v-model="appointForm.appointTime" disabled>
           </span>
           </li>
         </ul>
@@ -110,45 +113,138 @@
               <van-radio name="2" style="margin-left: 48rpx">取消</van-radio>
             </van-radio-group>
             <van-field
-                :value="postData.constant"
+                v-if="reasonFlag"
+                :value="cancelReason"
                 autosize
                 type="textarea"
                 placeholder="请输入取消原因(必填)"
                 class="myField"
                 maxlength="200"
                 show-word-limit
+                @change="changeMsg"
             />
           </li>
           <li class="detailLi">
             <span class="liName">办理人</span>
-            <span class="liInfo">自动带出</span>
+            <span class="liInfo">{{ examineName }}</span>
           </li>
           <li class="detailLi" style="border-bottom: none">
             <span class="liName">办理时间</span>
-            <span class="liInfo">自动带出提交时间(年月日时分秒)</span>
+            <span class="liInfo">{{ examineTime }}</span>
           </li>
         </ul>
         <div class="buttonBox" >
-          <button class="btn zcBtn">暂存</button>
-          <button class="btn tjBtn">提交</button>
+          <button class="btn zcBtn" @click="cancel">关闭</button>
+          <button class="btn tjBtn" @click="submit">提交</button>
         </div>
       </div>
     </div>
 </template>
 
 <script>
+import {getByCodes, meetingRoomDetail, meetingAppointDetail, getUserLocalStorageInfo, meetingAppointConfirmAudit} from "@/js_sdk/http";
+import dayjs from "dayjs";
+
 export default {
   name: "resoureceReview",
+  created(){
+    this.getByCodes()
+  },
+  onLoad(options){
+    this.appointId = options.appointId
+    this.getAppointDetail()
+  },
   data() {
     return{
+      dc_key: ['timeSlot'],
       theme:'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX',
       unit:'XXXXXXXXXXXXXX',
       postData: {},
-      radio: '1'
+      radio: '1',
+      companyName: '',
+      appointId: '',
+      roomId: '',
+      meetingRoomForm:{
+
+      },
+      appointForm: {
+
+      },
+      dic_SelectList: [],
+      timeList: [], //  时间段列表
+      startTime: '',
+      timeListStr: '',
+      cancelReason: '',
+      confirmType: '',
+      reasonFlag: false,
+      examineName: getUserLocalStorageInfo().username,
+      examineTime: dayjs().format('YYYY-MM-DD HH:mm:ss'),
     }
   },
   methods:{
-    onChange(){
+    async getByCodes() {
+      let data = await getByCodes(JSON.stringify(this.dc_key));
+      this.dic_SelectList = this.$common.handleDicList(data);
+      this.timeList = this.dic_SelectList.timeSlot
+    },
+    // 会议室详情
+    getMeetingRoomDetail(){
+      const data = {
+        id: this.roomId
+      }
+      meetingRoomDetail(data).then(res => {
+        if (res.code === 200) {
+          this.meetingRoomForm = res.data
+        }
+      })
+    },
+    // 预约详情
+    getAppointDetail(){
+      const data = {
+        id: this.appointId
+      }
+      meetingAppointDetail(data).then(res => {
+        if (res.code === 200) {
+          this.appointForm = res.data.oderDetial
+          this.meetingRoomForm = res.data.roomDetial
+          this.startTime = this.appointForm.useTime
+          let index = this.timeList.findIndex((e) => e.value == this.appointForm.timeSlot)
+          this.timeListStr = this.timeList[index].label
+          // this.roomId = res.data.roomIds
+          // this.getMeetingRoomDetail()
+        }
+      })
+    },
+    changeMsg(e){
+      this.cancelReason = e.detail
+    },
+    onChange(e){
+      this.confirmType = e.detail
+      if(this.confirmType == '1'){
+        this.reasonFlag = false
+      }else {
+        this.reasonFlag = true
+      }
+    },
+    cancel(){
+      uni.navigateBack({})
+    },
+    submit(){
+      const data = {
+        id: this.appointId,
+        userId: getUserLocalStorageInfo().userId,
+        useType: getUserLocalStorageInfo().userType,
+        confirmType: this.confirmType,
+        reason: this.cancelReason
+      }
+      meetingAppointConfirmAudit(data).then(res=>{
+          if(res.code == '200'){
+            this.$showToast("审核成功");
+            this.cancel()
+          }else {
+            this.$showToast(res.msg);
+          }
+      })
 
     }
   }
@@ -210,10 +306,13 @@ export default {
             font-size: 32rpx;
             white-space: nowrap;
           }
-          .choosIpt{
+          .choosIpt {
+            display: flex;
+            align-items: center;
+            justify-content: center;
             width: 260rpx;
             height: 96rpx;
-            padding-left: 50rpx;
+            font-size: 32rpx;
             background: rgba(245, 247, 250, 1);
             box-sizing: border-box;
           }