wenhongquan 2 years ago
parent
commit
b25e10ad74

+ 7 - 0
src/views/IncidentManagementDetail/index.scss

@@ -5,6 +5,13 @@
 .incident-detail-container {
     position: relative;
     margin-top: 46px;
+    .van-tab__panel{
+        padding: 15px;
+        color: var(--van-collapse-item-content-text-color);
+    font-size: var(--van-collapse-item-content-font-size);
+    line-height: var(--van-collapse-item-content-line-height);
+    background: var(--van-collapse-item-content-background-color);
+    }
     .title {
         background: #ffffff;
         line-height: 22px;

+ 248 - 42
src/views/IncidentManagementDetail/index.tsx

@@ -29,6 +29,7 @@ import {
   Dialog,
   ImagePreview,
   Popup,
+  Tab,Tabs
 } from 'vant';
 /** @ts-ignore */
 import icon_communication from '@/assets/icons/incident/communication@2x.png';
@@ -248,11 +249,9 @@ export default defineComponent({
             autoplay="true"
             style="width:100%"></video>
         </Popup>
-        <Collapse v-model={activeNames.value}>
-          <CollapseItem
-            title="事件信息"
-            name="事件信息"
-            v-slots={{ icon: <img class="icon-i" src={icon_information} /> }}>
+
+        <van-tabs color="#1777ff" title-active-color="#1777ff" v-model:active={activeNames.value}>
+          <van-tab title="事件信息">
             <p>
               事件类型:
               {
@@ -286,11 +285,11 @@ export default defineComponent({
             <p>上报人员:{store.incidentDetail?.baseInfo?.createBy}</p>
             <p>联系电话:{store.incidentDetail?.baseInfo?.expr1}</p>
             <p>上报单位:{store.incidentDetail?.baseInfo?.createDept ?? '-'}</p>
-          </CollapseItem>
-          <CollapseItem
-            title="应急预案"
-            name="应急预案"
-            v-slots={{ icon: <img class="icon-i" src={icon_yjya} /> }}>
+
+
+          </van-tab>
+
+          <van-tab title="应急预案">
             {console.log(planOptions.value)}
             {planOptions.value?.map((d, index) => (
               <div style={"margin-bottom:10px"}>
@@ -300,11 +299,9 @@ export default defineComponent({
                 <div style={"font-size:10px;padding-left:15px"}>{d[1]}</div>
               </div>
             ))}
-          </CollapseItem>
-          <CollapseItem
-            title="处置方案"
-            name="处置方案"
-            v-slots={{ icon: <img class="icon-i" src={icon_plan} /> }}>
+          </van-tab>
+
+          <van-tab title="处置方案">
             <Collapse v-model={activeoplanNames.value}>
               {store.incidentDetail.task?.map((i) => (
                 <div class="cz-item">
@@ -329,22 +326,20 @@ export default defineComponent({
                 </div>
               ))}
             </Collapse>
-          </CollapseItem>
-          <CollapseItem
-            title="处置详情"
-            name="处置详情"
-            v-slots={{ icon: <img class="icon-i" src={icon_detail} /> }}>
+          </van-tab>
+
+
+          <van-tab title="处置详情">
             <div>
               {process.value?.map((i, index) => (
                 <div class="czxq-item">
                   <div class="cz-yuan"></div>
                   <div
                     class="cz-line"
-                    style={`display:${
-                      index === (process.value?.length ?? 0) - 1
+                    style={`display:${index === (process.value?.length ?? 0) - 1
                         ? 'none'
                         : 'block'
-                    }`}></div>
+                      }`}></div>
                   <div class="cz-time"> {i.createTime}</div>
                   <div class="cz-des">
                     {' '}
@@ -357,11 +352,10 @@ export default defineComponent({
                           <div class="cz-yuan"></div>
                           <div
                             class="cz-line"
-                            style={`display:${
-                              index === ((i.child ?? [])?.length ?? 0) - 1
+                            style={`display:${index === ((i.child ?? [])?.length ?? 0) - 1
                                 ? 'none'
                                 : 'block'
-                            }`}></div>
+                              }`}></div>
                           <div class="cz-time"> {ii.createTime}</div>
                           <div class="cz-des">
                             <div style={'margin-bottom:8px'}>{ii.des}</div>
@@ -409,7 +403,7 @@ export default defineComponent({
                                               BaseMediaUrl + iim;
                                             videop.value.play();
                                             videop.value.currentTime = 0;
-                                          } catch (error) {}
+                                          } catch (error) { }
                                         }}
                                         src={icon_video}
                                         style={
@@ -454,21 +448,233 @@ export default defineComponent({
                 </div>
               </div>
             </div>
-          </CollapseItem>
-          <CollapseItem
-            title="融合通信"
-            name="融合通信"
-            v-slots={{ icon: <img class="icon-i" src={icon_communication} /> }}>
-            <Button
-              size="small"
-              type="primary"
-              onClick={() => {
-                dohs();
-              }}>
-              发起协同会商
-            </Button>
-          </CollapseItem>
-        </Collapse>
+          </van-tab>
+
+
+        </van-tabs>
+
+        {
+          false && (<Collapse v-model={activeNames.value}>
+            <CollapseItem
+              title="事件信息"
+              name="事件信息"
+              v-slots={{ icon: <img class="icon-i" src={icon_information} /> }}>
+              <p>
+                事件类型:
+                {
+                  commonStore.globalDict['zhdd_incident_type']?.find(
+                    (o) =>
+                      o.dictValue.toString() ===
+                      store.incidentDetail?.baseInfo?.type?.toString(),
+                  )?.dictLabel
+                }
+              </p>
+              <p>
+                事件等级:
+                {
+                  commonStore.globalDict['zhdd_incident_level']?.find(
+                    (o) =>
+                      o.dictValue.toString() ===
+                      store.incidentDetail?.baseInfo?.level?.toString(),
+                  )?.dictLabel
+                }
+              </p>
+              <p>事件时间:{store.incidentDetail?.baseInfo?.createTime}</p>
+              <p>事件地点:{store.incidentDetail?.baseInfo?.addr}</p>
+              <p>
+                事件来源:
+                {commonStore.globalDict['zhdd_incident_source']?.find(
+                  (i) =>
+                    i.dictValue?.toString() ===
+                    (store.incidentDetail?.baseInfo?.source ?? '').toString(),
+                )?.dictLabel ?? '-'}
+              </p>
+              <p>上报人员:{store.incidentDetail?.baseInfo?.createBy}</p>
+              <p>联系电话:{store.incidentDetail?.baseInfo?.expr1}</p>
+              <p>上报单位:{store.incidentDetail?.baseInfo?.createDept ?? '-'}</p>
+            </CollapseItem>
+            <CollapseItem
+              title="应急预案"
+              name="应急预案"
+              v-slots={{ icon: <img class="icon-i" src={icon_yjya} /> }}>
+              {console.log(planOptions.value)}
+              {planOptions.value?.map((d, index) => (
+                <div style={"margin-bottom:10px"}>
+                  <div style={"color:#333"}>
+                    {index + 1}、{d[0]}
+                  </div>
+                  <div style={"font-size:10px;padding-left:15px"}>{d[1]}</div>
+                </div>
+              ))}
+            </CollapseItem>
+            <CollapseItem
+              title="处置方案"
+              name="处置方案"
+              v-slots={{ icon: <img class="icon-i" src={icon_plan} /> }}>
+              <Collapse v-model={activeoplanNames.value}>
+                {store.incidentDetail.task?.map((i) => (
+                  <div class="cz-item">
+                    {i.taskName}
+                    {/* <CollapseItem title={i.taskName} name={i.taskName}>
+                    <div class="cz-zh">
+                      {i.taskPersonVos
+                        ?.map((p) => {
+                          return p.person + p.position;
+                        })
+                        .join('、')}
+                    </div>
+                    <div>
+                      <div class="zl">指令</div>
+                      {i.taskCommandVos.map((c, index) => (
+                        <div>
+                          {index + 1}、{c.command}
+                        </div>
+                      ))}
+                    </div>
+                  </CollapseItem> */}
+                  </div>
+                ))}
+              </Collapse>
+            </CollapseItem>
+            <CollapseItem
+              title="处置详情"
+              name="处置详情"
+              v-slots={{ icon: <img class="icon-i" src={icon_detail} /> }}>
+              <div>
+                {process.value?.map((i, index) => (
+                  <div class="czxq-item">
+                    <div class="cz-yuan"></div>
+                    <div
+                      class="cz-line"
+                      style={`display:${index === (process.value?.length ?? 0) - 1
+                          ? 'none'
+                          : 'block'
+                        }`}></div>
+                    <div class="cz-time"> {i.createTime}</div>
+                    <div class="cz-des">
+                      {' '}
+                      {i.des}
+                      <div
+                        style={'margin-top: 4px;'}
+                        class={i.taskId === currenttaskid.value ? 'active' : ''}>
+                        {(i.child ?? [])?.map((ii, index) => (
+                          <div class="czxq-item">
+                            <div class="cz-yuan"></div>
+                            <div
+                              class="cz-line"
+                              style={`display:${index === ((i.child ?? [])?.length ?? 0) - 1
+                                  ? 'none'
+                                  : 'block'
+                                }`}></div>
+                            <div class="cz-time"> {ii.createTime}</div>
+                            <div class="cz-des">
+                              <div style={'margin-bottom:8px'}>{ii.des}</div>
+
+                              <div
+                                class={'img'}
+                                style={
+                                  ii.pic === '' && ii.video === ''
+                                    ? 'display:none'
+                                    : ''
+                                }>
+                                {((ii.pic ?? '') + ',' + (ii.video ?? '') ?? '')
+                                  .split(',')
+                                  .map((iim, idxq) => {
+                                    iim = iim ?? '';
+                                    if (isImage({ fileName: iim, url: iim })) {
+                                      return (
+                                        <img
+                                          src={BaseMediaUrl + iim}
+                                          onClick={() => {
+                                            ImagePreview({
+                                              images: ii.pic
+                                                .split(',')
+                                                .filter((cc) => cc != '')
+                                                .map((cc) => {
+                                                  return BaseMediaUrl + cc;
+                                                }),
+                                              startPosition: idxq,
+                                            });
+                                          }}
+                                          style={
+                                            'width:20px;height:30px;object-fit: contain;margin-right:10px;padding:0 10px;background:rgb(240 236 236);'
+                                          }></img>
+                                      );
+                                    }
+
+                                    if (isVideo({ fileName: iim, url: iim })) {
+                                      // console.log(iim);
+                                      return (
+                                        <img
+                                          onClick={() => {
+                                            isshowprew.value = true;
+                                            try {
+                                              videopsrc.value =
+                                                BaseMediaUrl + iim;
+                                              videop.value.play();
+                                              videop.value.currentTime = 0;
+                                            } catch (error) { }
+                                          }}
+                                          src={icon_video}
+                                          style={
+                                            'width:20px;height:30px;object-fit: contain;margin-right:10px;background:rgb(240 236 236);padding:0 10px;border-radius:4px'
+                                          }></img>
+                                      );
+                                    }
+                                    return <div></div>;
+                                  })}
+                              </div>
+                            </div>
+                          </div>
+                        ))}
+                      </div>
+                    </div>
+                  </div>
+                ))}
+                <div style={getisbj() ? 'display:none' : ''}>
+                  <Field
+                    v-model={message.value}
+                    autosize
+                    type="textarea"
+                    placeholder="请输入"
+                  />
+                  <div class="cz-action">
+                    <Button
+                      size="small"
+                      type="primary"
+                      onClick={() => {
+                        dosubmitdata();
+                      }}>
+                      保存
+                    </Button>
+                    <Button
+                      size="small"
+                      type="default"
+                      onClick={() => {
+                        message.value = '';
+                      }}>
+                      取消
+                    </Button>
+                  </div>
+                </div>
+              </div>
+            </CollapseItem>
+            <CollapseItem
+              title="融合通信"
+              name="融合通信"
+              v-slots={{ icon: <img class="icon-i" src={icon_communication} /> }}>
+              <Button
+                size="small"
+                type="primary"
+                onClick={() => {
+                  dohs();
+                }}>
+                发起协同会商
+              </Button>
+            </CollapseItem>
+          </Collapse>)
+        }
+        
       </div>
     );
   },

+ 11 - 1
src/views/IncidentManagementDetailLite/index.tsx

@@ -107,7 +107,7 @@ export default defineComponent({
 
     const dohs = () => { 
       try {
-         
+        // console.error("---")
         uni.postMessage({
           data: {
             type: 'RHTX_gotoMeetMember',
@@ -116,6 +116,7 @@ export default defineComponent({
         });
 
       } catch (E) { 
+        
       }
      
     }
@@ -394,6 +395,15 @@ export default defineComponent({
                     取消
                   </Button>
                   <Button
+                    size="small"
+                    style={"width:80px"}
+                    type="primary"
+                    onClick={() => {
+                      dohs();
+                    }}>
+                    发起会商
+                  </Button>
+                  <Button
                     color="red"
                     style={getisbj() ? 'display:none' : ''}
                     size="small"