瀏覽代碼

Merge branch 'V0.0.4' of http://10.87.21.221:8000/jzyd_yyds/soc_app into V0.0.4

coys 1 年之前
父節點
當前提交
6d0bd61ce1

文件差異過大導致無法顯示
+ 11727 - 1
package-lock.json


+ 1 - 1
src/components/selectCell/index.vue

@@ -170,7 +170,7 @@ export default {
 }
 .van-cell__label{
   margin: 0;
-  white-space: nowrap; 
+  white-space: nowrap;
   text-overflow: ellipsis;
   overflow: hidden;
   width: 260px;

+ 2 - 2
src/views/menu/securityCheckRegister/add.vue

@@ -30,9 +30,9 @@
       <!--  检查项目    -->
       <fieldset class="fieldset" :disabled="!enable">
         <div class="card">
-          <p class="legend">检查项目 <span v-if="enable" @click="addCheck">添加检查内容</span></p>
+          <p class="legend">检查项目 <span v-if="enable" @click="addCheck">添加检查手册</span></p>
           <!--  搜索框  -->
-          <van-search v-model="itemName" class="van-hairline--top" placeholder="请输入检查项名称" />
+          <van-search v-model="itemName" class="van-hairline--top" placeholder="请输入检查内容" />
           <van-collapse v-model="activeNames" v-for="(v,i) in resultList" :key="v.itemId">
             <van-collapse-item :title="`${i+1}.${v.itemName}`" :name="v.itemName">
               <div v-for="(item, index) in v.pointList" :key="item.pointId" class="collapse-box" :class="{'van-hairline--bottom':item.status}">

+ 9 - 9
src/views/menu/securityCheckRegister/addCheck.vue

@@ -1,14 +1,14 @@
 <template>
   <div class="addCheck">
     <van-nav-bar
-      title="添加检查内容"
+      title="添加检查手册"
       left-arrow
       @click-left="onClickLeft"
     />
     <div class="addCheck-container">
       <div class="search-flex">
-        <van-search v-model="query.key" placeholder="请输入检查子项"  @change="refreshData"/>
-        <select-cell title="选择检查内容库" v-model="query.ruleId" :dataList="ruleList" :prop="prop" @change="refreshData"/>
+        <van-search v-model="query.key" placeholder="请输入检查内容"  @change="refreshData"/>
+        <select-cell title="选择检查内容库" is-all v-model="query.ruleId" :dataList="ruleList" :prop="prop" @change="refreshData"/>
       </div>
       <div class="card-list">
         <Scroll
@@ -65,15 +65,13 @@ export default {
       dataList:[],
       ruleList:[],
       selected:[],
+      //获取到所有的ruleId集合
+      ruleIdList:[],
       prop:{
         label:'name',
         value:'id'
       },
       pullup:false,
-      go:{
-        type:'replace',
-        path:'/securityDetail',
-      }
     }
   },
   mounted(){
@@ -103,7 +101,7 @@ export default {
       let data = {orgType:this.orgType};
       checkItemList(data).then(res=>{
         this.ruleList = res.data;
-        this.query.ruleId = res.data[0].id;
+        this.ruleIdList = res.data.map(v=>{return v.id});
         this.getDataList()
       })
     },
@@ -113,7 +111,9 @@ export default {
         this.$toast('已加载完毕');
         return;
       }
-      checkList(this.query).then(res=>{
+      let data = JSON.parse(JSON.stringify(this.query));
+      data.ruleId = this.query.ruleId || this.ruleIdList;
+      checkList(data).then(res=>{
         if(res.total === '0'){
           this.pullup = false;
           this.$toast('已加载完毕');

+ 3 - 3
src/views/menu/securityCheckRegister/api.js

@@ -42,11 +42,11 @@ export function checkItemList(params){
   });
 }
 //
-export function checkList(params){
+export function checkList(data){
   return request({
     url: "/core/safetycheck/ruleItem/pointSelectionPage",
-    method: "get",
-    params
+    method: "post",
+    data
   });
 }
 

+ 1 - 1
src/views/menu/securityCheckRegister/detail.vue

@@ -20,7 +20,7 @@
       <!--  检查项目    -->
       <div class="card">
           <!--  搜索框  -->
-          <van-search v-model="itemName" class="van-hairline--top" placeholder="请输入检查项名称" />
+          <van-search v-model="itemName" class="van-hairline--top" placeholder="请输入检查内容" />
           <van-collapse v-model="activeNames" v-for="(v,i) in resultList" :key="v.itemId">
             <van-collapse-item :title="`${i+1}.${v.itemName}`" :name="v.itemName">
               <div v-for="(item, index) in v.pointList" :key="item.pointId" class="collapse-box" :class="{'van-hairline--bottom':item.status}">

+ 1 - 1
src/views/menu/visitCheck/detail.vue

@@ -61,7 +61,7 @@
       <div v-if="approveRemark" class="input-box">
         <van-cell title="审批说明" :value="approveRemark"></van-cell>
       </div>
-      <div v-if="approveStatus == 0" class="flex-box">
+      <div v-if="approveStatus == 0 && visitInfo.status == 1" class="flex-box">
         <van-button type="info" style="width: 48%" plain @click="refuse">不同意</van-button>
         <van-button type="info" style="width: 48%" @click="accredit">同意</van-button>
       </div>

+ 150 - 23
src/views/menu/visitRecord/add.vue

@@ -8,25 +8,18 @@
           <template #header>
             <span></span>
           </template>
-<!--          <template #header>-->
-<!--            <van-cell title="状态">-->
-<!--              <template #extra>-->
-<!--                  <span :style="{color:getState(getDictLabel(visitInfo.status,'out_in_approve_status'))}">-->
-<!--                    {{getDictLabel(visitInfo.status,'out_in_approve_status') }}-->
-<!--                  </span>-->
-<!--              </template>-->
-<!--            </van-cell>-->
-<!--          </template>-->
           <div class="panel-box">
-            <select-cell
-              title="来访人员"
-              :prop="prop"
-              is-row
-              @itemInfo="getItemInfo"
-              v-model="selectedUser.id"
-              :data-list="userList"
-              required>
-            </select-cell>
+
+<!--            <select-cell-->
+<!--              title="来访人员"-->
+<!--              :prop="prop"-->
+<!--              is-row-->
+<!--              @itemInfo="getItemInfo"-->
+<!--              v-model="selectedUser.id"-->
+<!--              :data-list="userList"-->
+<!--              required>-->
+<!--            </select-cell>-->
+            <van-cell title="来访人员" :value="selectedUser.userName" required is-link  @click="onClick"/>
             <van-cell title="证件类型" :value="getDictLabel(selectedUser.idType,'letter_id_type')"></van-cell>
             <van-cell title="证件号码" :value="selectedUser.idCard"></van-cell>
             <van-cell title="介绍信类型" :value="getDictLabel(selectedUser.type,'out_in_type')"></van-cell>
@@ -77,13 +70,49 @@
           </div>
         </van-panel>
       </div>
-
     </div>
+
+    <!--  人员选择弹窗  -->
+    <van-popup
+      class="search-data-popup"
+      round
+      lazy-render
+      v-model="showPicker"
+      position="bottom"
+      @click-overlay="clickOverlay"
+      :close-on-click-overlay="true">
+      <div class="header-line">
+        <div class="cancel" @click="onSearchCancel">取消</div>
+        <div class="title">选择人员</div>
+        <div class="sure" @click="onSearchConfirm">确定</div>
+      </div>
+
+      <form action="/">
+        <van-search  placeholder="输入搜索内容" v-model="searchValue" @input="inputSearchValue" />
+      </form>
+
+      <div  v-if="userList.length >0"  class="lists">
+        <div class="list-item">
+          <van-cell
+            :class="{active:item.checked}"
+            v-for="(item, index) in userList"
+            clickable
+            :key="item.id"
+            :title="item.userName"
+            :value="item.companyName"
+            @click="handleClick(item,index)">
+          </van-cell>
+        </div>
+      </div>
+      <div v-else class="lists">
+        <empty description="无数据" />
+      </div>
+    </van-popup>
   </div>
 </template>
 
 <script>
-
+import SearchSelectCell from "@/components/SearchSelectCell/index.vue";
 import DateCell from "@/components/dateCell/index.vue";
 import Uploader from "@/components/upload/gxuploader.vue";
 import {formatDate} from "@/filters/filter";
@@ -92,7 +121,7 @@ import {imgUrl} from "@/utils";
 import { ImagePreview } from 'vant'
 import {userList, userRegister} from './api'
 export default {
-  components: {Uploader, DateCell},
+  components: {SearchSelectCell,Uploader, DateCell},
   data(){
     return {
       minDate:null,
@@ -102,7 +131,7 @@ export default {
       selectedUser:{},
       prop:{
         label:'userName',
-        value:'id'
+        value:'id',
       },
       formData:{
         letterUserId:null,
@@ -111,7 +140,12 @@ export default {
         accompanyingPerson:null,
         checkImage:null,
       },
-      dicts:['out_in_approve_status','letter_id_type','out_in_type']
+      dicts:['out_in_approve_status','letter_id_type','out_in_type'],
+      /*以下为弹窗中的变量*/
+      searchValue:'',
+      showPicker:false,
+      onSelected:null,
+      pList:[],
     }
   },
   computed:{
@@ -122,6 +156,41 @@ export default {
   },
   methods:{
     imgUrl,formatDate,
+    onClick(){
+      this.showPicker = true;
+    },
+    clickOverlay(){
+      this.selected = this.value;
+      this.showPicker = false;
+    },
+    handleClick(v,i){
+      this.userList.forEach(v=>v.checked = false);
+      // this.$nextTick(()=>{
+      //   this.$set(this.userList[i],'checked',!this.userList[i].checked);
+      // })
+      v.checked = !v.checked;
+      this.userList.splice(i,1,v)
+      this.onSelected = v;
+    },
+    onSearchCancel() {
+      this.selected = this.value;
+      this.$emit("cancel");
+      this.showPicker = false;
+    },
+    onSearchConfirm() {
+      this.selectedUser = this.onSelected;
+      this.showPicker = false;
+    },
+    inputSearchValue(query) {
+      //搜索框值发生改变
+      setTimeout(() => {
+        this.userList= this.pList.filter(item => {
+          return item.userName.indexOf(query) > -1;
+        });
+      }, 200);
+    },
+
+
     onSubmit(){
       if(!this.selectedUser.id){
         this.$toast('请选择来访人员');
@@ -179,6 +248,7 @@ export default {
           }
           return v
         })
+        this.pList = res.data;
       })
     },
     preView(val) {
@@ -339,4 +409,61 @@ export default {
     height: 30px;
   }
 }
+.search-data-popup{
+  .header-line {
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    height: 90px;
+  }
+  .header-line .cancel {
+    padding: 0 30px;
+    font-size: 28px;
+    color: #969799;
+  }
+  .header-line .title {
+    font-weight: 500;
+    font-size: 30px;
+    color: #343434;
+  }
+  .header-line .sure {
+    padding: 0 30px;
+    font-size: 28px;
+    color: #1989fa;
+  }
+  .lists {
+    display: flex;
+    flex-direction: column;
+    -padding: 10px 12px 20px 12px;
+    min-height: 300px;
+    max-height: 700px;
+    overflow: auto;
+  }
+  .lists .line {
+    line-height: 40px;
+    font-size: 16px;
+    color: #000;
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+  }
+  .lists .line img {
+    width: 20px;
+    height: 20px;
+  }
+  .tip {
+    color: #666;
+    padding-bottom: 5px;
+  }
+  .van-empty{
+    padding: 0;
+  }
+  .list-item{
+    padding:20px;
+  }
+  .active{
+    color:#1989fa;
+    border-left: 5px solid #1989fa;
+  }
+}
 </style>

+ 2 - 2
vue.config.js

@@ -44,7 +44,7 @@ require('events').EventEmitter.defaultMaxListeners = 0;
 // }
 
 module.exports = defineConfig({
-  
+
   publicPath: './', // 署应用包时的基本 URL。 vue-router hash 模式使用
   outputDir: 'app', //  生产环境构建文件的目录
   assetsDir: 'static', //  outputDir的静态资源(js、css、img、fonts)目录
@@ -68,7 +68,7 @@ module.exports = defineConfig({
           }
       },
       '/jingyuanchao': {
-          target: "http://10.87.11.173:8080",
+          target: "http://10.87.23.57:8080",
           // ws:true,
           changOrigin:true,
           pathRewrite:{

文件差異過大導致無法顯示
+ 719 - 837
yarn.lock


部分文件因文件數量過多而無法顯示