xutongzee 1 anno fa
parent
commit
268450fd2e

+ 6 - 14
TODO.md

@@ -2,31 +2,28 @@
 
 ## Uiiiiii lack todo
 
-- [x] 审批详情 顶部 ICON 需要 设计切图
 - [ ] 个人中心头像和签名图片是走钉钉功能。尚未自测
-- [ ] 审批详情 底部的 各种功能 ICONS 需要设计师给予
-  - [x] 撤销
-  - [x] 催办
-- [ ] 满意度调查缺少 花朵的 UI
 
 ## 前端 TODO
 
 - [ ] 路由标题配置。 通过 dingtalk Set title
 - [ ] 我的出差-同行人员需要机器测试
-- [ ] 商品库搜索商品接口
-- [ ] 添加/修改抄送人
+- [ ] 添加/修改抄送人 - 需要机器测试
 - [ ] 明细缺少 数量修改 - 细节
 
 - [ ] 申请人 用车
+
 - [ ] 申请人 请假
 
 - [ ] 学校文件, 前端缺少部门选择
 
 - [ ] 附件上传添加限制。 word/excel/pdf
 
+- [ ] Empty 状态 UI
+
 申购详情缺少
 
-- [ ] 申请合同呈批
+- [x] 申请合同呈批
 - [ ] 采购明细
   - [ ] 可在明细详情页面下载
 
@@ -36,7 +33,6 @@
 - [ ] 采购单接口
   - [ ] 缺少采购人字段
   - [ ] 缺少商品明细。 只有 `{apply_goods: [{id, info_id, goods_name}]}`
-  <!-- - [ ] 入库提交 -->
 - [ ] 创建呈批申请时 `word_size` 字段传值但是回显失败。
 - [ ] 请假申请 开始与结束 同一天的话 提交失败 "请假结束时间必须大于开始时间"
 - [ ] 请假申请 `approveinfo/get_list` 缺失 `start/end_am`字段
@@ -44,10 +40,6 @@
 - [ ] 合同呈批 - 拟稿日期 ??? keyword.
 - [ ] 重新发起 - api
 - [ ] 详情下载文档接口
+- [ ] 合同申请添加一个关联采购单 Id 的字段
 
 # 今日完成
-
-- [x] 帮翻译文案
-- [x] 测试各模块提交流程
-
-## 流程

BIN
src/assets/approve/chexiao.png


+ 0 - 0
src/assets/approve/Folder up.png → src/assets/approve/folder-up.png


BIN
src/assets/approve/procure.png


+ 1 - 1
src/store/modules/user.js

@@ -10,7 +10,7 @@ const state = {
     schoolName: '深圳市第二特殊教育学校',
     mobile: '',
     userinfo: {},
-    signatureStateText: '',  // 个签
+    signatureStateText: '', // 个签
 
     // 徐同泽
     token: 'eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1aWQiOiIxOSIsImlzcyI6Imh0dHBzOlwvXC96YWluLmNvbSIsImF1ZCI6Imh0dHBzOlwvXC96YWluLmNvbSIsImlhdCI6MTcwMjY5NzQ0NCwibmJmIjoxNzAyNjk3NDQ0LCJleHAiOjE3Mjg2MTc0NDR9.BOU8yu57KZrgUbcIGuS0a8AB91oLhH6nHawxYUQwt7U',

+ 11 - 1
src/utils/applyfor-item.js

@@ -103,9 +103,14 @@ const getEvectionTypeList = store.getters["enum/getEvectionTypeList"]
 const getLeaveTypeTypeList = store.getters["enum/getLeaveTypeTypeList"]
 const getContractTypeList = store.getters["enum/getContractTypeList"]
 
+// 修改明细中arrsJSON
+const formatList = arrs => (arrs.map(item => ({...item, goods_stock: JSON.parse(item.goods_stock)})))
+
 // 申购审批详情
 function getModule1(data){ /* eslint-disable-line */
-  const { order_no, department_data, create_at, module_info, apply_user } = data
+  const { order_no, department_data, create_at, module_info, apply_user, apply_goods } = data
+  console.log('%c ----- >>>', 'background: blue; color: #fff', formatList(apply_goods));
+  
   return [
     {
       title: '审批编号',
@@ -136,6 +141,11 @@ function getModule1(data){ /* eslint-disable-line */
     // TODO: 待办
     // 申购明细
     {
+      type: 'product',
+      title: '申购明细',
+      value: formatList(apply_goods)
+    },
+    {
       title: '总金额',
       value: module_info.total_amount || '-'
     },

+ 7 - 6
src/views/applyfor/components/CSelectImitate.vue

@@ -5,7 +5,7 @@
                 <div v-if="value" class="value">{{ value }}</div>
                 <div v-else class="default">{{ placeholder }}</div>
             </div>
-            <div class="right">
+            <div class="right" v-if="hideRemove ? false : true">
                 <van-icon v-if="value" :size="20" color="#A2A3A4" name="clear" @click="$emit('clear')" />
                 <van-icon color="#A2A3A4" :size="20" name="arrow" @click="$emit('click')" />
             </div>
@@ -20,6 +20,7 @@
 import Layout from './Layout.vue';
 export default {
     name: 'CSelectImitate',
+
     components: {
         Layout
     },
@@ -32,12 +33,12 @@ export default {
         placeholder: {
             type: String,
             default: '请选择'
+        },
+        hideRemove: {
+            type: Boolean,
+            default: false
         }
-    },
-
-    data: () => ({
-
-    })
+    }
 }
 </script>
 

+ 16 - 5
src/views/applyfor/components/IndexType9.vue

@@ -2,7 +2,11 @@
     <div class="type6-container">
         <c-select title="合同类型" :list="contractTypeList" pickerValueKey="name" pickerValueId="id" v-model="type" />
 
-        <c-input title="合同编号" :required="true" v-model="reason" />
+        <c-select-imitate v-if="about_order_no" title="关联申购申请-采购订单" :value="about_order_no" :hide-remove="true" />
+
+        <!--
+            useless.
+            <c-input title="合同编号" :required="true" v-model="reason" /> -->
 
         <c-select title="缓急程度" :required="true" :list="degreeList" pickerValueKey="name" pickerValueId="id"
             v-model="desc" />
@@ -47,7 +51,7 @@ export default {
             way: 'create',
             id: '',
             module: 9,
-            reason: '', // 合同编号
+            // reason: '', // 合同编号
             type: '', // 合同类型
             desc: '', // 缓急程度
             document: [], // 附件
@@ -56,14 +60,21 @@ export default {
             scope: '', // 发放范围
             legal_opinion: '',  // 法务意见
             approve_user: [],
-            copy_user: []
+            copy_user: [],
             // formData end
+            about_order_no: '',
         }
     },
 
     created() {
         this.getCommonFlowPathData()
         this.postApi = postCreateInfo
+
+
+        // 关联采购订单
+        if (this.$route.query.order_no) {
+            this.about_order_no = this.$route.query.order_no
+        }
     },
 
     methods: {
@@ -111,11 +122,11 @@ export default {
         },
         validate(data) {
             let mapTxt = {
-                'reason': '合同编号',
+                // 'reason': '合同编号',
                 'desc': '缓急程度'
             }
             let requiredKey = [
-                'reason',
+                // 'reason',
                 'desc'
             ]
             return this.__validtor__({

+ 37 - 2
src/views/approve/components/ApproveControl.vue

@@ -9,6 +9,10 @@
             3通过: 催办(disabled),修改(disabled), 撤销,下载
             4已驳回:催办(disabled),修改,撤销,下载
             5撤销:重新发起
+
+            TODO:
+            采购通过
+                申请合同呈批、采购明细、撤销(dis)、下载文件
          -->
 
         <!-- 
@@ -82,10 +86,9 @@ export default {
                     case 2:
                         temparr = [
                             urging,
-                            // TEMPORARY: 临时取消注释展示
                             {
                                 ...edit,
-                                disable: false
+                                disable: true
                             },
                             revoke,
                             print
@@ -113,6 +116,25 @@ export default {
                         ]
                         break;
                 }
+
+                // 通过状态
+                if (state === 3 && [1, 2].includes(this.module)) {
+                    // 采购申请
+                    if (this.module === 1) {
+                        temparr.splice(0, 2, ...[
+                            {
+                                title: "申请合同呈批",
+                                img: require('@/assets/approve/folder-up.png'),
+                                event: this.handleJump2Contract
+                            },
+                            {
+                                title: "采购明细",
+                                img: require('@/assets/approve/procure.png'),
+                                event: this.handleEvent
+                            }
+                        ])
+                    }
+                }
             } else if (flag === 'approve') {
                 switch (state) {
                     // 2待审核,3已审核,4收到的;三种状态
@@ -258,6 +280,7 @@ export default {
             })
         },
 
+        // 跳转审核页面
         handleGoExaminePage(type) {
             const query = {
                 id: this.id,
@@ -274,6 +297,18 @@ export default {
                 query
             })
         },
+
+        // 跳转合同申请页面
+        handleJump2Contract() {
+            this.$router.replace({
+                name: 'Applyfor',
+                query: {
+                    type: 9,
+                    'order_no': this.editData.order_no
+                }
+            })
+        },
+
     }
 }
 </script>