Kaynağa Gözat

收入统计

fan 2 yıl önce
ebeveyn
işleme
e6e7973bc4

+ 97 - 4
src/pages/main/incomeExcel/incomeExcelTemplate.vue

@@ -26,10 +26,14 @@
                     <el-table-column prop="typeName" label="模板类型" align="center">
                     </el-table-column>
                     <el-table-column prop="status" label="状态" align="center">
+                        <template slot-scope="scope">
+                            <span v-if="scope.row.status == 0">已创建</span>
+                            <span v-if="scope.row.status == 1">已下发</span>
+                        </template>
                     </el-table-column>
                     <el-table-column label="操作" width="220px" align="center" fixed="right">
                         <template slot-scope="scope">
-                            <el-button size="mini" type="primary">下发</el-button>
+                            <el-button size="mini" type="primary" @click="addNewIssued(scope.row)">下发</el-button>
                             <el-button size="mini" @click="toEdit(scope.row)">编辑</el-button>
                             <el-button size="mini" @click="toView(scope.row)">查看</el-button>
                             <el-button size="mini">删除</el-button>
@@ -40,6 +44,34 @@
                                :total="total">
                 </el-pagination>
             </div>
+            <el-dialog title="下发" :visible.sync="issuedAddStatus" width="40%" :destroy-on-close="true"
+                       :modal-append-to-body="false" :close-on-click-modal="false" :fullscreen="false">
+                <el-form :model="issuedParam" ref="addInfoList">
+                    <div class="info-line">
+                        <el-form-item prop="testInfo">
+                            <span style="width: 6px;color: red">*</span><span>填报事由</span>
+                            <el-input v-model="issuedParam.editReason" placeholder="填报事由"></el-input>
+                        </el-form-item>
+                    </div>
+                    <div class="info-line">
+                        <el-form-item prop="testInfo">
+                            <span style="width: 6px;color: red">*</span><span>填报注意事项</span>
+                            <el-input v-model="issuedParam.editRemark" placeholder="填报注意事项"></el-input>
+                        </el-form-item>
+                    </div>
+                    <div class="info-line">
+                        <el-form-item prop="testInfo">
+                            <span style="width: 6px;color: red">*</span><span>截止时间</span>
+                            <el-date-picker type="date" placeholder="截止时间" v-model="issuedParam.endTime" :picker-options="pickerOptions"></el-date-picker>
+                        </el-form-item>
+                    </div>
+                </el-form>
+                <div slot="footer" class="dialog-footer myfooter">
+
+                    <el-button @click="issuedAddStatus = false">取消</el-button>
+                    <el-button @click="processNewIssued()" type="primary">确定</el-button>
+                </div>
+            </el-dialog>
         </div>
         <myMessage :deleteTag='deleteTag' @closeMessage="processDelete" :centerDialogVisible="centerDialogVisible"
                    v-if="centerDialogVisible"></myMessage>
@@ -66,6 +98,13 @@ export default {
             deleteTag: '',
             centerDialogVisible: false,
             loading: false,
+            issuedAddStatus: false,
+            issuedParam: {},
+            pickerOptions:{
+                disabledDate(time){
+                    return time.getTime() < Date.now();
+                }
+            },
             tooltit: '收入模板管理',
             searchList: [{
                 type: 'input',
@@ -139,6 +178,60 @@ export default {
             var _this = this;
             _this.jumpinfop('/incomeExcelInfo', 3, '查看模板', row.id);
         },
+        addNewIssued(row) {
+            this.issuedParam = {
+                templateId:row.id,
+            };
+            this.issuedAddStatus = true;
+        },
+        processNewIssued() {
+            if (!this.issuedParam.editReason) {
+                this.$message({
+                    message: '填报事由不能为空',
+                    type: 'error'
+                });
+                return;
+            }
+            if (!this.issuedParam.editRemark) {
+                this.$message({
+                    message: '填报注意事项不能为空',
+                    type: 'error'
+                });
+                return;
+            }
+            if (!this.issuedParam.endTime) {
+                this.$message({
+                    message: '截至时间不能为空',
+                    type: 'error'
+                });
+                return;
+            }
+            var _this = this;
+            //执行下发
+            this.$http({
+                url: '/market/cIncomeExcelIssued/addNewIssued',
+                method: "post",
+                headers: {
+                    "Content-Type": "application/json",
+                },
+                data: this.issuedParam,
+            }).then((res) => {
+                this.loading = false;
+                if (res.data.result === 1) {
+                    _this.$message({
+                        message: res.data.desc,
+                        type: 'error'
+                    });
+                } else {
+                    _this.$message({
+                        message: '下发成功',
+                        type: 'success'
+                    });
+                    this.issuedAddStatus = false;
+                    this.getList({}, 1);
+                }
+            });
+        },
         //跳转页面
         jumpinfop(p, v, n, id) {
             this.$router.push({
@@ -205,12 +298,12 @@ export default {
     padding-left: 20px;
 
     div {
-        width: 50%;
+        width: 90%;
         display: inline-block;
     }
 
     span {
-        width: 80px;
+        width: 100px;
         display: inline-block;
         text-align: left;
 
@@ -223,7 +316,7 @@ export default {
 
     .el-select,
     .el-input {
-        width: calc(100% - 100px);
+        width: calc(100% - 150px);
     }
 }