浏览代码

Merge branch 'master' of http://47.100.37.243:10191/wutt/manHourHousekeeper

Min 1 年之前
父节点
当前提交
7eb94178b7

+ 17 - 2
fhKeeper/formulahousekeeper/timesheet/src/views/workReport/daily.vue

@@ -669,7 +669,8 @@
                         </el-form-item>
 
                         <!-- 拍照上传 -->
-                        <el-form-item label="图片上传" v-if="user.timeType.choseFromAlbum == 1">
+                        <el-form-item label="图片上传" v-if="user.timeType.choseFromAlbum == 1" :prop="'domains.' + index + '.imgListUrl'" 
+                        :rules="isCustomization(user, reportPictureRequired) ? { required: true, message: '请选择图片', trigger: 'blur' } : null">
                             <div class="photos">
                                 <div>
                                     <el-upload
@@ -2214,7 +2215,15 @@
 
                 nameAearch: '', // 企业微信姓名搜索
                 deptMembDataBackups: [], // 企业微信备份代填日报的树形结构
-                deptMembDataLoading: false
+                deptMembDataLoading: false,
+
+                reportPictureRequired: [ // 针对填写日报图片必填得公司
+                    {
+                        id: 4811,
+                        // id: 10,
+                        name: '陕西柘中建设工程有限公司' 
+                    }
+                ]
             };
         },
         watch: {
@@ -2289,6 +2298,12 @@
         },
         methods: {
             ...mapMutations(['upDataLoading']),
+            // 判断当前账号是否有某一块定制权限(返回 boolean 类型)
+            isCustomization(userInfo, permissionArray) {
+                const { companyId } = userInfo
+                const isReportPictureRequired = permissionArray.some(item => item.id == companyId)
+                return isReportPictureRequired
+            },
             //任务被选中
             onTaskSelected(domainItem) {
                 //取服务

+ 32 - 4
fhKeeper/formulahousekeeper/timesheet_h5/src/views/expense/index.vue

@@ -123,11 +123,25 @@
                             @click="addInvoice">添加发票</van-button></div>
                     <!-- 发票-popup -->
                     <span>
-                        <!-- 所属项目 -->
-                        <van-popup v-model="in_projectShow" position="bottom">
+                        <!-- 所属项目 --> 
+                        <!-- <van-popup v-model="in_projectShow" position="bottom">
                             <van-picker value-key="projectName" show-toolbar :columns="inProjectList"
                                 @confirm="inProjectChange" @cancel="in_projectShow = false; $forceUpdate();" />
+                        </van-popup> -->
+                        <van-popup v-model="in_projectShow" position="bottom" style="height: 84%">
+                            <div class="popupDiv">
+                                <div class="popupSearch">
+                                    <van-search v-model.trim="projectSelectVal" shape="round" background="#F4F4F4" placeholder="请输入项目名称/编号" @clear="projectSelect()" @blur="projectSelect()" @search="projectSelect()" @input="projectSelect()"/>
+                                </div>
+                                <div class="popupCon">
+                                    <div v-for="(item, index) in inProjectList" :key="item.id" class="popupItem paddingDiv" @click="inProjectChange(item, index)">
+                                        <p class="popupItemOne" v-if="item.projectName">{{item.projectName}}</p>
+                                        <p class="popupItemTwo" v-if="item.projectCode">{{item.projectCode}}</p> 
+                                    </div>
+                                </div>
+                            </div>
                         </van-popup>
+
                         <!-- 费用日期 -->
                         <van-popup v-model="in_dateShow" position="bottom">
                             <van-datetime-picker type="date" title="选择费用日期" @confirm="inDateChange" v-model="currentDate2"
@@ -312,6 +326,7 @@ export default {
             in_exTypeShow: false,
 
             inProjectList: [],
+            inProjectListCopy: [],
             inTypeList: ['增值税专用发票', '增值税普通发票'],
             allexTypeList: [],
             inexTypeList: [],
@@ -336,8 +351,8 @@ export default {
             },
             expenseMainType: {
                 text: ''
-            }
-
+            },
+            projectSelectVal: ''
         }
     },
     computed: {
@@ -389,6 +404,18 @@ export default {
         this.getAuditType();
     },
     methods: {
+        // 项目搜索
+        projectSelect() {
+            if(this.projectSelectVal.length > 0) {
+                let data = this.inProjectListCopy.filter(item => {return  item.projectName && item.projectName.includes(this.projectSelectVal)});
+                let dataList = this.inProjectListCopy.filter(item => {return  item.projectCode && item.projectCode.includes(this.projectSelectVal)});
+                let dataTree = data.concat(dataList)
+                let arrList = Array.from(new Set(dataTree))
+                this.inProjectList = arrList
+            } else {
+                this.inProjectList = JSON.parse(JSON.stringify(this.inProjectListCopy))
+            }
+        },
         back() {
             sessionStorage.removeItem("page");
             history.back();
@@ -705,6 +732,7 @@ export default {
                 .then(res => {
                     if (res.code == "ok") {
                         this.inProjectList = res.data
+                        this.inProjectListCopy = JSON.parse(JSON.stringify(res.data))
                     } else {
                         this.$toast.fail('获取失败');
                     }