Browse Source

docs: icon 补充

xutongzee 1 year ago
parent
commit
16170c569c

+ 25 - 38
TODO.md

@@ -2,12 +2,11 @@
 
 
 ## Uiiiiii lack todo
 ## Uiiiiii lack todo
 
 
-- [ ] 个人中心`tag`Icons 需要补充
-- [ ] 个人中心头像和签名图片是走钉钉功能。 尚未自测
-- [ ] product-store icon
+- [x] 审批详情 顶部 ICON 需要 设计切图
+- [ ] 个人中心头像和签名图片是走钉钉功能。尚未自测
 - [ ] 审批详情 底部的 各种功能 ICONS 需要设计师给予
 - [ ] 审批详情 底部的 各种功能 ICONS 需要设计师给予
-  - [ ] 撤销
-- [ ] 审批详情 顶部 ICON 需要 设计切图
+  - [x] 撤销
+  - [x] 催办
 - [ ] 满意度调查缺少 花朵的 UI
 - [ ] 满意度调查缺少 花朵的 UI
 
 
 ## 前端 TODO
 ## 前端 TODO
@@ -18,6 +17,19 @@
 - [ ] 添加/修改抄送人
 - [ ] 添加/修改抄送人
 - [ ] 明细缺少 数量修改 - 细节
 - [ ] 明细缺少 数量修改 - 细节
 
 
+- [ ] 申请人 用车
+- [ ] 申请人 请假
+
+- [ ] 学校文件, 前端缺少部门选择
+
+- [ ] 附件上传添加限制。 word/excel/pdf
+
+申购详情缺少
+
+- [ ] 申请合同呈批
+- [ ] 采购明细
+  - [ ] 可在明细详情页面下载
+
 ## RearEnd Bugs And Todo
 ## RearEnd Bugs And Todo
 
 
 - [ ] 待审核的申请单是否展示。 我的 - 待处理中没记录
 - [ ] 待审核的申请单是否展示。 我的 - 待处理中没记录
@@ -25,42 +37,17 @@
   - [ ] 缺少采购人字段
   - [ ] 缺少采购人字段
   - [ ] 缺少商品明细。 只有 `{apply_goods: [{id, info_id, goods_name}]}`
   - [ ] 缺少商品明细。 只有 `{apply_goods: [{id, info_id, goods_name}]}`
   <!-- - [ ] 入库提交 -->
   <!-- - [ ] 入库提交 -->
+- [ ] 创建呈批申请时 `word_size` 字段传值但是回显失败。
+- [ ] 请假申请 开始与结束 同一天的话 提交失败 "请假结束时间必须大于开始时间"
+- [ ] 请假申请 `approveinfo/get_list` 缺失 `start/end_am`字段
 
 
---- 2023/12/18 ---
+- [ ] 合同呈批 - 拟稿日期 ??? keyword.
+- [ ] 重新发起 - api
+- [ ] 详情下载文档接口
 
 
 # 今日完成
 # 今日完成
 
 
-- [x] 申请人中文名称渲染
-- [x] 呈批申请
-  - [x] 提交申请完成
-  - [x] 详情渲染完成
-- [x] 各模块提交后渲染字段 (缺少明细字段展示)
-- [x] 商品库搜索商品功能
-- [ ] 审核审批 80%
-
---- 2023/12/20 ---
-
-- [x] 审核审批完成
-- [x] 维修满意度调查完成
-- [x] 维修流程通过
-- [x] 维修反馈结果
-- [ ] 采购审批单 10%
+- [x] 帮翻译文案
+- [x] 测试各模块提交流程
 
 
 ## 流程
 ## 流程
-
-- [ ] 呈批申请 module = 2
-
-  - [x] 提交申请完成
-  - [x] 详情渲染完成
-
-- [ ] 入库申请, module = 3
-- [x] 领用申请 module = 4 提价申请完成
-  - [ ] 明细报错
-- [ ] 请假申请 module = 6
-- [ ] 用车申请 module = 7
-- [ ] 合同呈批 module = 9
-- [ ] 收文批阅 module = 10
-- [ ] 学校文件 module = 11
-
-- [ ] 申请人 用车
-- [ ] 申请人 请假

BIN
src/assets/approve/Folder up.png


BIN
src/assets/approve/chexiao.png


BIN
src/assets/approve/cuiban.png


BIN
src/assets/approve/feedback.png


BIN
src/assets/approve/flower-fill.png


BIN
src/assets/approve/flower.png


BIN
src/assets/approve/folder-enter.png


BIN
src/assets/approve/yibohui.png


BIN
src/assets/approve/yichexiao.png


BIN
src/assets/approve/yitongguo.png


+ 14 - 20
src/utils/applyfor-item.js

@@ -384,19 +384,19 @@ function getModule6(data) { /* eslint-disable-line */
     },
     },
     {
     {
       title: '请假开始时间',
       title: '请假开始时间',
-      value: apply_user.start_time
+      value: `${module_info.start_time} ${module_info.start_am}`
     },
     },
     {
     {
       title: '请假结束时间',
       title: '请假结束时间',
-      value: apply_user.end_time
+      value: `${module_info.end_time} ${module_info.end_am}`
     },
     },
     {
     {
-      title: '请假时长',
-      value: apply_user.time
+      title: '请假时长(H)',
+      value: module_info.time
     },
     },
     {
     {
       title: '原因',
       title: '原因',
-      value: apply_user.reason
+      value: module_info.reason
     },
     },
     module_info.document_text.length ? {
     module_info.document_text.length ? {
       type: 'files',
       type: 'files',
@@ -414,7 +414,7 @@ function getModule6(data) { /* eslint-disable-line */
     } : undefined,
     } : undefined,
     {
     {
       title: '是否离“深”',
       title: '是否离“深”',
-      value: apply_user.remark
+      value: module_info.remark
     }
     }
   ]
   ]
 }
 }
@@ -590,42 +590,36 @@ function getModule10(data) { /* eslint-disable-line */
       value: create_at
       value: create_at
     },
     },
     {
     {
-      title: '申请人',
+      title: '发起人',
       value: apply_user.name
       value: apply_user.name
     },
     },
-    // 
     {
     {
       title: '创建人',
       title: '创建人',
-      value: apply_user.name
-    },
-    // 
-    {
-      title: '发起人',
-      value: apply_user.name
+      value: module_info.founder
     },
     },
     {
     {
       title: '来文单位名称',
       title: '来文单位名称',
-      value: apply_user.desc
+      value: module_info.desc
     },
     },
     {
     {
       title: '收文序号',
       title: '收文序号',
-      value: apply_user.serial_number
+      value: module_info.serial_number
     },
     },
     {
     {
       title: '文件名称',
       title: '文件名称',
-      value: apply_user.reason
+      value: module_info.reason
     },
     },
     {
     {
       title: '收文日期',
       title: '收文日期',
-      value: apply_user.apply_date
+      value: module_info.apply_date
     },
     },
     {
     {
       title: '内容摘要',
       title: '内容摘要',
-      value: apply_user.remark
+      value: module_info.remark
     },
     },
     {
     {
       title: '缓急程度',
       title: '缓急程度',
-      value: degree2Txt(module_info.desc)
+      value: degree2Txt(module_info.degree)
     },
     },
     module_info.document_text.length ? {
     module_info.document_text.length ? {
       type: 'files',
       type: 'files',

+ 3 - 2
src/utils/approve-item.js

@@ -7,6 +7,7 @@ import store from "@/store"
 const degree2Txt = store.getters['enum/getDegreeText']
 const degree2Txt = store.getters['enum/getDegreeText']
 const getapplyTypeText = store.getters["enum/getapplyTypeText"]
 const getapplyTypeText = store.getters["enum/getapplyTypeText"]
 const getOfferTypeList = store.getters["enum/getOfferTypeList"]
 const getOfferTypeList = store.getters["enum/getOfferTypeList"]
+const getLeaveTypeTypeList = store.getters["enum/getLeaveTypeTypeList"]
 
 
 export function formatApproveItemRow(data, type) {
 export function formatApproveItemRow(data, type) {
     if (typeof type !== 'number') type = Number(type)
     if (typeof type !== 'number') type = Number(type)
@@ -75,7 +76,7 @@ export function formatApproveItemRow(data, type) {
             break
             break
         case 6:
         case 6:
             arrs = [
             arrs = [
-                { label: '请假类型', val: data.type },
+                { label: '请假类型', val: getLeaveTypeTypeList(data.type) },
                 { label: '开始时间', val: `${data.start_time} ${data.start_am}` },
                 { label: '开始时间', val: `${data.start_time} ${data.start_am}` },
                 { label: '结束时间', val: `${data.end_time} ${data.end_am}` }
                 { label: '结束时间', val: `${data.end_time} ${data.end_am}` }
             ]
             ]
@@ -96,7 +97,7 @@ export function formatApproveItemRow(data, type) {
         case 9:
         case 9:
             arrs = [
             arrs = [
                 { label: '合同编号', val: data.reason },
                 { label: '合同编号', val: data.reason },
-                { label: '拟稿日期', val: data.createTime },
+                { label: '拟稿日期', val: data.apply_date },
                 { label: '缓急程度', val: degree2Txt(data.desc) }
                 { label: '缓急程度', val: degree2Txt(data.desc) }
             ]
             ]
             break
             break

+ 6 - 0
src/views/applyfor/ProductStore.vue

@@ -62,6 +62,12 @@
                   <span id="c1">{{ good.goods_name }}</span>
                   <span id="c1">{{ good.goods_name }}</span>
                 </div>
                 </div>
               </div>
               </div>
+              <div class="row__second__main" v-else>
+                <div class="row__third-item flex flex-row flex-row-aic">
+                  <span id="c1">当前分类下暂无商品</span>
+                </div>
+              </div>
+
             </div>
             </div>
           </div>
           </div>
         </div>
         </div>

+ 13 - 3
src/views/applyfor/components/CFlowPath.vue

@@ -344,18 +344,28 @@ export default {
             this.copySelList.splice(idx, 1)
             this.copySelList.splice(idx, 1)
 
 
             // TODO: Update copy data.
             // TODO: Update copy data.
-        }
+        },
+
+
+        __render_a__(arrs) {
+            if (!Array.isArray(arrs)) arrs = this.approve
+            this.approveSelList = [...arrs]
+        },
+        __render_c__(arrs) {
+            if (!Array.isArray(arrs)) arrs = this.copy
+            this.copySelList = [...arrs]
+        },
     },
     },
     watch: {
     watch: {
         approve: {
         approve: {
             handler(arrs) {
             handler(arrs) {
-                if (arrs.length) this.approveSelList = [...arrs]
+                this.__render_a__(arrs)
             },
             },
             deep: true,
             deep: true,
         },
         },
         copy: {
         copy: {
             handler(arrs) {
             handler(arrs) {
-                if (arrs.length) this.copySelList = [...arrs]
+                this.__render_c__(arrs)
             },
             },
             deep: true
             deep: true
         }
         }

+ 8 - 3
src/views/applyfor/components/IndexType6.vue

@@ -19,7 +19,7 @@
 
 
         <c-input title="是否离“深”" input-type="textarea" placeholder="需写清目的地(到街道)、是否涉疫、出行方式及班次" v-model="remark" />
         <c-input title="是否离“深”" input-type="textarea" placeholder="需写清目的地(到街道)、是否涉疫、出行方式及班次" v-model="remark" />
 
 
-        <c-flow-path :approve="approvePeople" :copy="copyPeople" :isAllowCopy="isCopy" />
+        <c-flow-path ref="cFlowPathRef" :approve="approvePeople" :copy="copyPeople" :isAllowCopy="isCopy" />
     </div>
     </div>
 </template>
 </template>
 
 
@@ -94,6 +94,8 @@ export default {
             this.apply_user_id = this.userinfo.userid
             this.apply_user_id = this.userinfo.userid
             this.apply_user_name = this.userinfo.name
             this.apply_user_name = this.userinfo.name
         }
         }
+
+        this.init()
     },
     },
 
 
     methods: {
     methods: {
@@ -236,6 +238,9 @@ export default {
                 this.flow_item = id
                 this.flow_item = id
                 this.getCommonFlowPathData({
                 this.getCommonFlowPathData({
                     flow_item: id
                     flow_item: id
+                }, () => {
+                    this.$refs.cFlowPathRef.__render_a__()
+                    this.$refs.cFlowPathRef.__render_c__()
                 })
                 })
             }
             }
         },
         },
@@ -247,10 +252,10 @@ export default {
         },
         },
 
 
         start_time() {
         start_time() {
-            this.checkTimeAndGetFlow()
+            // this.checkTimeAndGetFlow()
         },
         },
         end_time() {
         end_time() {
-            this.checkTimeAndGetFlow()
+            // this.checkTimeAndGetFlow()
         }
         }
     }
     }
 }
 }

+ 3 - 1
src/views/applyfor/indexMixins.js

@@ -34,7 +34,7 @@ export default {
         /**
         /**
          * @description 普通申请人获取的默认审核流程数据
          * @description 普通申请人获取的默认审核流程数据
          *  */
          *  */
-        async getCommonFlowPathData (options = {}) {
+        async getCommonFlowPathData (options = {}, callback) {
             try {
             try {
                 let module = this.module
                 let module = this.module
                 const params = {
                 const params = {
@@ -56,6 +56,8 @@ export default {
                     this.approvePeople = approve_user
                     this.approvePeople = approve_user
                     this.copyPeople = copy_user
                     this.copyPeople = copy_user
 
 
+
+                    callback && callback()
                 }
                 }
             } catch (e) {
             } catch (e) {
                 console.log(e);
                 console.log(e);

+ 7 - 7
src/views/approve/components/ApproveControl.vue

@@ -145,7 +145,7 @@ export default {
             control: [ // NOTE: [WARNING] 顺序不可更改。
             control: [ // NOTE: [WARNING] 顺序不可更改。
                 {
                 {
                     title: "催办",
                     title: "催办",
-                    img: require('@/assets/icons-ding.png'),
+                    img: require('@/assets/approve/cuiban.png'),
                     event: this.handleDingEvent
                     event: this.handleDingEvent
                 },
                 },
                 {
                 {
@@ -155,7 +155,7 @@ export default {
                 },
                 },
                 {
                 {
                     title: "撤销",
                     title: "撤销",
-                    img: require('@/assets/icons-ding.png'),
+                    img: require('@/assets/approve/chexiao.png'),
                     event: this.handleRevokeEvent
                     event: this.handleRevokeEvent
                 },
                 },
                 {
                 {
@@ -168,22 +168,22 @@ export default {
                     img: require('@/assets/icons-print.png'),
                     img: require('@/assets/icons-print.png'),
                     event: this.handleDownloadFileEvent
                     event: this.handleDownloadFileEvent
                 },
                 },
-                // NOTE: 重新发起
                 {
                 {
                     title: "重新发起",
                     title: "重新发起",
-                    img: require('@/assets/icons-print.png'),
+                    img: require('@/assets/approve/folder-enter.png'),
+                    // TODO: 缺失接口
                     event: this.handleEvent
                     event: this.handleEvent
                 },
                 },
-                // NOTE: 申请呈批(专属。申请呈批)
                 {
                 {
+                    // NOTE: 申请呈批(专属。申请呈批)
                     title: "申请呈批",
                     title: "申请呈批",
                     img: require('@/assets/icons-print.png'),
                     img: require('@/assets/icons-print.png'),
                     event: this.handleEvent
                     event: this.handleEvent
                 },
                 },
-                // NOTE: 我的维修专属
                 {
                 {
+                    // NOTE: 我的维修专属
                     title: '上传反馈结果',
                     title: '上传反馈结果',
-                    img: require('@/assets/icons-print.png'),
+                    img: require('@/assets/approve/feedback.png'),
                     event: this.handleUploadFeedback
                     event: this.handleUploadFeedback
                 }
                 }
             ]
             ]

+ 13 - 8
src/views/approve/detail.vue

@@ -18,8 +18,10 @@
             </div>
             </div>
 
 
             <!-- TODO: 配置审核通过/撤销/拒绝 -->
             <!-- TODO: 配置审核通过/撤销/拒绝 -->
-            <div class="float-status">
-                审核状态标识:{{ dataDetail && dataDetail.status }}
+            <div class="float-status" v-if="dataDetail && [3, 4, 5].includes(dataDetail.status)">
+                <img v-if="dataDetail.status == 3" src="../../assets/approve/yitongguo.png" alt="">
+                <img v-else-if="dataDetail.status == 4" src="../../assets/approve/yibohui.png" alt="">
+                <img v-else-if="dataDetail.status == 5" src="../../assets/approve/yichexiao.png" alt="">
             </div>
             </div>
         </div>
         </div>
 
 
@@ -42,7 +44,9 @@
             <!-- 维修满意度调查 -->
             <!-- 维修满意度调查 -->
             <div class="maintain-form" v-if="dataDetail && dataDetail.module_info.comment_status == 1">
             <div class="maintain-form" v-if="dataDetail && dataDetail.module_info.comment_status == 1">
                 <layout title="满意度评价">
                 <layout title="满意度评价">
-                    <van-rate :size="28" readonly :value="dataDetail.module_info.comment_score" />
+                    <van-rate :void-icon="require('../../assets/approve/flower.png')"
+                        :icon="require('../../assets/approve/flower-fill.png')" :size="28" readonly
+                        :value="dataDetail.module_info.comment_score" />
                 </layout>
                 </layout>
                 <c-input title="评价" :readonly="true" :value="dataDetail.module_info.comment" />
                 <c-input title="评价" :readonly="true" :value="dataDetail.module_info.comment" />
             </div>
             </div>
@@ -431,13 +435,14 @@ export default {
 
 
         .float-status {
         .float-status {
             position: absolute;
             position: absolute;
-            right: 12px;
-            bottom: -30%;
+            right: 22px;
+            bottom: -40%;
             width: 80px;
             width: 80px;
             height: 80px;
             height: 80px;
-            background-color: #eee;
-            border-radius: 80px;
-            overflow: hidden;
+
+            img {
+                width: 110%;
+            }
         }
         }
 
 
         .title {
         .title {